Fork me on GitHub






Ajouter liste des 10 premiers smileys sous la textarea dans l'éditeur "dhtml"
Régulier
Inscrit: 06/06/2004 21:24
De Paris
Messages: 245
Bonjour,

Comme indiqué en titre de post, je cherchais a créer un accès direct aux smileys, sous la textarea de l'éditeur dhtml, comme à l'époque des xoops 2.0.X
Cela permet d'éviter l'ouverture d'une popup aux utilisateurs… J'ai vu que c'était remonter comme une demande sur les xoops 2.3.X

Alors en bon bidouilleur, j'ai ouvert mon fichier se trouvant dans class/xoopsform/formdhtmltextarea.php dans un vieux xoops 2.0.18 et celui de la 2.5 et j'ai essayer d'ajouter sous la textarea du fichier de la 2.5 la ligne qui appelé cette fonction :
$ret .= $this->_renderSmileys();


J'ai ajouter également la fonction :
function _renderSmileys()
    {
        
$myts =& MyTextSanitizer::getInstance();
        
$smiles =& $myts->getSmileys();
        
$ret '';
        
$count count($smiles);
        
$ele_name $this->getName();
        for (
$i 0$i $count$i++) {
            
$ret .= "<img onclick='xoopsCodeSmilie("".$ele_name."", " ".$smiles[$i]['code']." ");' onmouseover='style.cursor="hand"' src='".XOOPS_UPLOAD_URL."/".htmlspecialchars($smiles[$i]['smile_url'], ENT_QUOTES)."' border='0' alt='' />";
        }
        
$ret .= "&nbsp;[<a href='#moresmiley' onclick='javascript:openWithSelfMain("".XOOPS_URL."/misc.php?action=showpopups&type=smilies&target=".$ele_name."","smilies",300,475);'>"._MORE."</a>]";
        return 
$ret;
    }


Il semblerait que cela fonctionne... donc si ça intéresse ben je vous partage l'astuce
bonne bidouille a tous

Posté le : 01/12/2010 15:03
Partager Twitter Partagez cette article sur GG+
Re: Ajouter liste des 10 premiers smileys sous la textarea dans l'éditeur "dhtml"
Régulier
Inscrit: 06/06/2004 21:24
De Paris
Messages: 245
Je rencontre juste un souci que j'aimerai résoudre avec votre aide,

le curseur texte reste avant le smiley inséré, serait-il possible qu'il bascule après ?

merci d'avance pour votre aide

Posté le : 21/12/2010 11:11
Partager Twitter Partagez cette article sur GG+
Re: Ajouter liste des 10 premiers smileys sous la textarea dans l'éditeur "dhtml"
Régulier
Inscrit: 06/06/2004 21:24
De Paris
Messages: 245
ptit up merci

Posté le : 29/12/2010 18:22
Partager Twitter Partagez cette article sur GG+
Re: Ajouter liste des 10 premiers smileys sous la textarea dans l'éditeur "dhtml"
Xoops accro
Inscrit: 20/02/2008 20:27
De Belgium
Messages: 2708
Il faut examiner le code JavaScript pour insérer le smiley pour ça.

Posté le : 30/12/2010 11:12

Salutations, Gerard.
PS: Excusez mon mauvais français.
De la bonne manière de poser les questions
Partager Twitter Partagez cette article sur GG+
Re: Ajouter liste des 10 premiers smileys sous la textarea dans l'éditeur "dhtml"
Régulier
Inscrit: 06/06/2004 21:24
De Paris
Messages: 245
Merci Ghia pour cette piste que j'essai de remonter...
J'en suis arrivé au code javascript dans include/xoops.js et la fonction : function xoopsInsertText(domobj, text)

Seulement j'y connais rien au javascript donc je suis un peu embêté.

Mais je trouve ça vraiment perturbant, en fait, c'est pas uniquement pour les smiley, mais pour tous les éléments insérés. Et le fait que le curseur reste positionné avant l'insertion est vraiment un élément ralentissant la saisie...

donc si qqu'un veut bien aider a résoudre ce petit soucis, je pense que cela pourrait etre profitable à l'ensemble de la communauté

merci d'avance a tous. je met ci-dessous la fonction javascript concernée...

function xoopsInsertText(domobjtext)
{
    if (
domobj.selectionEnd) {
        var 
str1 domobj.value.substring(0domobj.selectionStart);
        var 
str2 domobj.value.substring(domobj.selectionEnddomobj.value.length);
        
domobj.value str1 text str2;
        
domobj.selectionEnd domobj.selectionStart;
        
domobj.blur();    
    } else if (
domobj.createTextRange && domobj.caretPos) {
        var 
caretPos domobj.caretPos;
        
caretPos.text caretPos.text.charAt(caretPos.text.length 1) == ' ' text ' ' text;  
    } else if (
domobj.getSelection && domobj.caretPos) {
        var 
caretPos domobj.caretPos;
        
caretPos.text caretPos.text.charat(caretPos.text.length 1) == ' ' text ' ' text;
    } else {
        
domobj.value domobj.value text;
    }
}


Posté le : 04/01/2011 13:58
Partager Twitter Partagez cette article sur GG+
Re: Ajouter liste des 10 premiers smileys sous la textarea dans l'éditeur "dhtml"
Xoops accro
Inscrit: 20/02/2008 20:27
De Belgium
Messages: 2708
Cette fonction n'est pas à modifiée, car normalement, elle est toujours suivi par une focus.
xoopsInsertText(textareaDomsmilieCode);
    
textareaDom.focus();

Il faut donc modifier au place d'appelle (après).

Posté le : 05/01/2011 11:14

Salutations, Gerard.
PS: Excusez mon mauvais français.
De la bonne manière de poser les questions
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

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