Fork me on GitHub






popup émoticônes de tiny
Régulier
Inscrit: 26/12/2008 12:45
Messages: 127
Bonjour,
je viens de faire une modif pour que cette popup ne se ferme plus automatiquement après l'insertion d'une émoticône.

Néanmoins, je recherche maintenant quoi modifier dans les deux pages de scripts comment laisser cette popup au premier plan après l'insertion d'une émoticône.

Merci pour votre aide.


la page popup : emotions.php

<?php
// $Id: emotions.php,v 1.3 2006/04/28 07:35:27 frankblacksf Exp $
//  ------------------------------------------------------------------------ //
//                XOOPS - PHP Content Management System                      //
//                    Copyright (c) 2000 XOOPS.org                           //
//                       <http://www.xoops.org/>   ... nbsp;   //
//  ------------------------------------------------------------------------ //
//  This program is free software; you can redistribute it and/or modify     //
//  it under the terms of the GNU General Public License as published by     //
//  the Free Software Foundation; either version 2 of the License, or        //
//  (at your option) any later version.                                      //
//                                                                           //
//  You may not change or alter any portion of this comment or credits       //
//  of supporting developers from this source code or any supporting         //
//  source code which is considered copyrighted (c) material of the          //
//  original comment or credit authors.                                      //
//                                                                           //
//  This program is distributed in the hope that it will be useful,          //
//  but WITHOUT ANY WARRANTY; without even the implied warranty of           //
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //
//  GNU General Public License for more details.                             //
//                                                                           //
//  You should have received a copy of the GNU General Public License        //
//  along with this program; if not, write to the Free Software              //
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
//  ------------------------------------------------------------------------ //

    
if (file_exists('../../../../mainfile.php')) include_once '../../../../mainfile.php';

    if (
file_exists('../../../../../mainfile.php')) include_once '../../../../../mainfile.php';

    if (
file_exists('../../../../../../mainfile.php')) include_once '../../../../../../mainfile.php';

    if (
file_exists('../../../../../../../mainfile.php')) include_once '../../../../../../../mainfile.php';

    if (
file_exists('../../../mainfile.php')) include_once '../../../mainfile.php';

    if (
file_exists('../../mainfile.php')) include_once '../../mainfile.php';

    if (
file_exists('../mainfile.php')) include_once '../mainfile.php';

    if (!
defined('XOOPS_ROOT_PATH'))
        exit();

$sql "SELECT smile_url, emotion FROM ".$xoopsDB->prefix('smiles')." WHERE display = 1";
$result $xoopsDB->query($sql);
?><html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>{$lang_emotions_title}</title>
    <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
    <script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
    <base target="_self" />
</head>
<body style="display: none">
    <div align="center">
        <div class="title">{$lang_emotions_title}:<br /><br /></div>
        <table border="0" cellspacing="0" cellpadding="4">
          <tr><td><?php
          
while(list($smile_url$emotion) = $xoopsDB->fetchRow($result)) {
              
$smile_url XOOPS_URL.'/uploads/'.$smile_url;
              echo 
"<a href="javascript:insertEmotion('".$smile_url."','".$emotion."');"><img src="".$smile_url."" border="0" alt="".$emotion."" title="".$emotion."" style="floatleftpadding2px;" /></a>";
          }
        
?></td></tr></table>
    </div>
</body>
</html>


tiny_mce_popup.js

// Some global instances, this will be filled later
var tinyMCE nulltinyMCELang null;

function 
TinyMCE_Popup() {
};

TinyMCE_Popup.prototype = {
    
findWin : function(w) {
        var 
c;

        
// Check parents
        
w;
        while (
&& (c.parent) != null) {
            if (
typeof(c.tinyMCE) != "undefined")
                return 
c;
        }

        
// Check openers
        
w;
        while (
&& (c.opener) != null) {
            if (
typeof(c.tinyMCE) != "undefined")
                return 
c;
        }

        
// Try top
        
if (typeof(top.tinyMCE) != "undefined")
            return 
top;

        return 
null;
    },

    
init : function() {
        var 
win window.opener window.opener window.dialogArgumentsc;
        var 
inst;

        if (!
win)
            
win this.findWin(window);

        if (!
win) {
            
alert("tinyMCE object reference not found from popup.");
            return;
        }

        
window.opener win;
        
this.windowOpener win;
        
this.onLoadEval "";

        
// Setup parent references
        
tinyMCE win.tinyMCE;
        
tinyMCELang win.tinyMCELang;

        
inst tinyMCE.selectedInstance;
        
this.isWindow tinyMCE.getWindowArg('mce_inside_iframe'false) == false;
        
this.storeSelection = (tinyMCE.isRealIE) && !this.isWindow && tinyMCE.getWindowArg('mce_store_selection'true);

        if (
this.isWindow)
            
window.focus();

        
// Store selection
        
if (this.storeSelection)
            
inst.selectionBookmark inst.selection.getBookmark(true);

        
// Setup dir
        
if (tinyMCELang['lang_dir'])
            
document.dir tinyMCELang['lang_dir'];

        
// Setup title
        
var re = new RegExp('{|\$|}''g');
        var 
title document.title.replace(re"");
        if (
typeof tinyMCELang[title] != "undefined") {
            var 
divElm document.createElement("div");
            
divElm.innerHTML tinyMCELang[title];
            
document.title divElm.innerHTML;

            if (
tinyMCE.setWindowTitle != null)
                
tinyMCE.setWindowTitle(windowdivElm.innerHTML);
        }

        
// Output Popup CSS class
        
document.write('<link href="' tinyMCE.getParam("popups_css") + '" rel="stylesheet" type="text/css">');

        if (
tinyMCE.getParam("popups_css_add")) {
            
tinyMCE.getParam("popups_css_add");

            
// Is relative
            
if (c.indexOf('://') == -&& c.charAt(0) != '/')
                
tinyMCE.documentBasePath "/" c;

            
document.write('<link href="' '" rel="stylesheet" type="text/css">');
        }

        
tinyMCE.addEvent(window"load"this.onLoad);
    },

    
onLoad : function() {
        var 
dirielmsbody document.body;

        if (
tinyMCE.getWindowArg('mce_replacevariables'true))
            
body.innerHTML tinyMCE.applyTemplate(body.innerHTMLtinyMCE.windowArgs);

        
dir tinyMCE.selectedInstance.settings['directionality'];
        if (
dir == "rtl" && document.forms && document.forms.length 0) {
            
elms document.forms[0].elements;
            for (
i=0i<elms.lengthi++) {
                if ((
elms[i].type == "text" || elms[i].type == "textarea") && elms[i].getAttribute("dir") != "ltr")
                    
elms[i].dir dir;
            }
        }

        if (
body.style.display == 'none')
            
body.style.display 'block';

        
// Execute real onload (Opera fix)
        
if (tinyMCEPopup.onLoadEval != "")
            eval(
tinyMCEPopup.onLoadEval);
    },

    
executeOnLoad : function(str) {
        if (
tinyMCE.isOpera)
            
this.onLoadEval str;
        else
            eval(
str);
    },

    
resizeToInnerSize : function() {
        
// Netscape 7.1 workaround
        
if (this.isWindow && tinyMCE.isNS71) {
            
window.resizeBy(010);
            return;
        }

        if (
this.isWindow) {
            var 
doc document;
            var 
body doc.body;
            var 
oldMarginwrapperiframenodesdxdy;

            if (
body.style.display == 'none')
                
body.style.display 'block';

            
// Remove margin
            
oldMargin body.style.margin;
            
body.style.margin '0';

            
// Create wrapper
            
wrapper doc.createElement("div");
            
wrapper.id 'mcBodyWrapper';
            
wrapper.style.display 'none';
            
wrapper.style.margin '0';

            
// Wrap body elements
            
nodes doc.body.childNodes;
            for (var 
i=nodes.length-1i>=0i--) {
                if (
wrapper.hasChildNodes())
                    
wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild);
                else
                    
wrapper.appendChild(nodes[i].cloneNode(true));

                
nodes[i].parentNode.removeChild(nodes[i]);
            }

            
// Add wrapper
            
doc.body.appendChild(wrapper);

            
// Create iframe
            
iframe document.createElement("iframe");
            
iframe.id "mcWinIframe";
            
iframe.src document.location.href.toLowerCase().indexOf('https') == -"about:blank" tinyMCE.settings['default_document'];
            
iframe.width "100%";
            
iframe.height "100%";
            
iframe.style.margin '0';

            
// Add iframe
            
doc.body.appendChild(iframe);

            
// Measure iframe
            
iframe document.getElementById('mcWinIframe');
            
dx tinyMCE.getWindowArg('mce_width') - iframe.clientWidth;
            
dy tinyMCE.getWindowArg('mce_height') - iframe.clientHeight;

            
// Resize window
            // tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy);
            
window.resizeBy(dxdy);

            
// Hide iframe and show wrapper
            
body.style.margin oldMargin;
            
iframe.style.display 'none';
            
wrapper.style.display 'block';
        }
    },

    
resizeToContent : function() {
        var 
isMSIE = (navigator.appName == "Microsoft Internet Explorer");
        var 
isOpera = (navigator.userAgent.indexOf("Opera") != -1);

        if (
isOpera)
            return;

        if (
isMSIE) {
            try { 
window.resizeTo(1010); } catch (e) {}

            var 
elm document.body;
            var 
width elm.offsetWidth;
            var 
height elm.offsetHeight;
            var 
dx = (elm.scrollWidth width) + 4;
            var 
dy elm.scrollHeight height;

            try { 
window.resizeBy(dxdy); } catch (e) {}
        } else {
            
window.scrollBy(10001000);
            if (
window.scrollX || window.scrollY 0) {
                
window.resizeBy(window.innerWidth 2window.innerHeight 2);
                
window.sizeToContent();
                
window.scrollTo(00);
                var 
parseInt(screen.width 2.0) - (window.outerWidth 2.0);
                var 
parseInt(screen.height 2.0) - (window.outerHeight 2.0);
                
window.moveTo(xy);
            }
        }
    },

    
getWindowArg : function(namedefault_value) {
        return 
tinyMCE.getWindowArg(namedefault_value);
    },

    
restoreSelection : function() {
        if (
this.storeSelection) {
            var 
inst tinyMCE.selectedInstance;

            
inst.getWin().focus();

            if (
inst.selectionBookmark)
                
inst.selection.moveToBookmark(inst.selectionBookmark);
        }
    },

    
execCommand : function(commanduser_interfacevalue) {
        var 
inst tinyMCE.selectedInstance;

        
this.restoreSelection();
        
inst.execCommand(commanduser_interfacevalue);

        
// Store selection
        
if (this.storeSelection)
            
inst.selectionBookmark inst.selection.getBookmark(true);
    },

    
// close : function() {
    //    tinyMCE.closeWindow(window);
    //}, 

    
pickColor : function(eelement_id) {
        
tinyMCE.selectedInstance.execCommand('mceColorPicker'true, {
            
element_id element_id,
            
document document,
            
window window,
            
store_selection false
        
});
    },

    
openBrowser : function(element_idtypeoption) {
        var 
cb tinyMCE.getParam(optiontinyMCE.getParam("file_browser_callback"));
        var 
url document.getElementById(element_id).value;

        
tinyMCE.setWindowArg("window"window);
        
tinyMCE.setWindowArg("document"document);

        
// Call to external callback
        
if (eval('typeof(tinyMCEPopup.windowOpener.' cb ')') == "undefined")
            
alert("Callback function: " cb " could not be found.");
        else
            eval(
"tinyMCEPopup.windowOpener." cb "(element_id, url, type, window);");
    },

    
importClass : function(c) {
        
window[c] = function() {};

        for (var 
n in window.opener[c].prototype)
            
window[c].prototype[n] = window.opener[c].prototype[n];

        
window[c].constructor window.opener[c].constructor;
    }

    };

// Setup global instance
var tinyMCEPopup = new TinyMCE_Popup();

tinyMCEPopup.init();


functions.js

function init() {
    
tinyMCEPopup.resizeToInnerSize();
}

function 
insertEmotion(file_nametitle) {
    
title tinyMCE.getLang(title);

    if (
title == null)
        
title "";

    
// XML encode
    
title title.replace(/&/g'&amp;');
    
title title.replace(/"/g, '"');
    title = title.replace(/</g, '
<');
    title = title.replace(/>/g, '
>');

    var html = '
<img src="' + file_name + '" mce_src="' + file_name + '" border="0" alt="' + title + '" title="' + title + '" />';


    tinyMCE.execCommand('
mceInsertContent', false, html);
    // tinyMCEPopup.close(); */
}

Posté le : 02/02/2009 11:51
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

99 Personne(s) en ligne (78 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 99 | Plus ...