Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Pages : 1
Yayou,
Je "travaille" actuellement sur un nouveau plugile , un truc permettant d'uploader des fichiers. (un genre de Attachment mod en moins poussé mais sans tous les inconvénients d'installation^^)
J'ai presque bouclé le machin, mais je viens d'avoir l'idée de créer un système pour utiliser cette mod directement au niveau des messages du forum. Seulement, j'ai de grosses lacunes en Javascript donc je bloque sévère
Voilà pourquoi je me tourne vers vous^^
L'idée est que sur la page post.php, à côté des liens : # BBCode: actif # Balise [img]: actif # Émoticônes: actif, il y ait un lien du style : # Upload : actif ouvrant un pop-up. Dans ce pop-up apparait la liste de tous les fichiers déjà uploadé par le membre (et la possibilité d'en ajouter de nouveaux) et à côté de chaque fichier, un bouton [Ajouter]. Lorsque l'on clique sur le bouton [Ajouter], ça ferme le pop-up, ça va dans le textarea de la fenêtre principale, et ça inscrit à l'endroit du curseur [c][img]urldufichierséléctionné[/img][/c]. (comme pour le pop-up des smilies ou du choix de la couleur dans la PunToolbar)
Seulement voilà, fermer la fenêtre ça va... aller dans le textarea de la fenêtre principale ça devrait le faire. Bon, ouvrir un pop-up, je devrais réussir. Mais le reste, je ne maitrise vraiment pas encore assez le Javascript pour réussir.
Est-ce quelqu'un aurait envi de me guider ? (ou de le faire si vous préférez, ça me dérange pas du tout
)
Merci d'avance !
P.S : Pour l'instant, sur le pop-up au niveau de la liste des articles, j'ai ça :
<tr>
<td class="tc1"><input style="float: right;" type="button" name="ajouter" value="Ajouter" onClick="send_image(<?php echo $image; ?>);"> <a href="<?php echo $image; ?>"><?php echo 'img/members/'.$pun_user['id'].'/'.$nom_image_brut; ?></a> [<?php echo $size_image; ?>Ko]</th>
<td class="tc3"><input type="checkbox" name="supprimer_<?php echo $boucle_id++; ?>" value="<?php echo $nom_image_brut; ?>" tabindex="<?php echo $tabindex++; ?>" /></td>
</tr>Avec pour la fonction send_image() une reprise presque pur et dur du code de Vin100 : (j'ai tenté de le comprendre, mais j'ai pas encore réussi...)
<script type="text/javascript">
//<![CDATA[
var textarea = window.opener.document.getElementById('req_message');
function send_image(txt)
{
encloseSelection(txt, '');
window.close();
}
function encloseSelection(prefix, suffix, fn)
{
textarea.focus();
var start, end, sel, scrollPos, subst;
if (typeof(window.opener.document["selection"]) != "undefined") {
sel = window.opener.document.selection.createRange().text;
} else if (typeof(textarea["setSelectionRange"]) != "undefined") {
start = textarea.selectionStart;
end = textarea.selectionEnd;
scrollPos = textarea.scrollTop;
sel = textarea.value.substring(start, end);
}
if (sel.match(/ $/)) { // exclude ending space char, if any
sel = sel.substring(0, sel.length - 1);
suffix = suffix + " ";
}
if (typeof(fn) == 'function') {
var res = (sel) ? fn(sel) : fn('');
} else {
var res = (sel) ? sel : '';
}
subst = prefix + res + suffix;
if (typeof(window.opener.document["selection"]) != "undefined") {
var range = window.opener.document.selection.createRange().text = subst;
textarea.caretPos -= suffix.length;
} else if (typeof(textarea["setSelectionRange"]) != "undefined") {
textarea.value = textarea.value.substring(0, start) + subst +
textarea.value.substring(end);
if (sel) {
textarea.setSelectionRange(start + subst.length, start + subst.length);
} else {
textarea.setSelectionRange(start + prefix.length, start + prefix.length);
}
textarea.scrollTop = scrollPos;
}
}
//]]>
</script>Dernière modification par BN (10-04-2007 13:01:47)
Hors ligne
en fait si tu pouvait préciser là où tu as besoin d'aide, je t'avouerais qu'avec tous ce temps passé je ne le comprend plus moi-même ce code 
Hors ligne
J'ai installé la mod sur un forum de test pour vous montrer.
Forum de test (je crois que tu y es déjà inscris Vin100)
En allant dans votre profil, vous pouvez voir comment fonctionne le truc.
Après, suivez Ce lien (Nouveau message) Il vous reste plus qu'à cliquer sur le lien Upload (sous le textarea) ça ouvre une nouvelle fenêtre (j'aimerai que ce soit un pop-up, mais j'y arrive pas) et vous avez accès à la liste de vos uploads. Et le but c'est qu'en cliquant sur le bouton [Ajouter] bah ça ajoute le lien vers ce fichier dans le textarea.
En fait, je n'arrive pas à être très clair^^ Mais dites moi si vous comprenez en regardant le forum de test 
Hors ligne
oui je pense avoir compris
bon déjà il faut que tu corrige l'erreur :
onClick="send_image(../img/members/19/chemin.img);"en
onClick="send_image('../img/members/19/chemin.img');"c'est une chaine de caractère, il lui faut des guillemets autour
ensuite je ne sais pas de quel fichier tu t'es inspiré pour ce code javascript mais dans le color picker en dessous de la focntion il y a une partie importante qui est :
encloseSelection('', '', function(str) {return '[color=+new_color+]'+str+'[/color]'});donc si je comprend bien tu voudrait que ton fichier soit mis entre balise dans la zone de saisie, donc il te reste juste à remplacer :
encloseSelection('', '', function(str) {return '[img]'+str+'[/img]'});Hors ligne
T'as trouvé comment il faut faire ?
Sinon j'peut te proposé ça :
function insimg(src){
textarea = document.getElementById('req_message')['0'];
textarea.value = textarea.value+'[img]'+src+'[/img]';
}Pour insérer l'image dans le textarea il suffis de mettre un lien de type :
<a href="javascript:self.close();" onclick="opener.insimg('../img/members/19/chemin.img')">Ajouter</a>Voilà 
Dernière modification par fightsoul (27-06-2007 11:28:19)
Hors ligne
bonjour BN
Pourquoi ne pas mettre la partie "mes uploads actuelles" du fichier UPP_Mes_uploads.php directement sous la partie Textarea de viewtopic.php et de post.php comme ça cela afficherai les images perso du membre en dessous du message à taper et avec un bouton à côté du fichier à envoyer qui enverrai un bbcode dans le textearea
j'ai deja commencé mais la je bute sur l'aperçu des fichiers du membres car par défaut il va chercher dans img/membres un repetoire 3 quelque soit le membre
mais par contre si on n'est pas identifier il n'affiche pas la partie "mes uploads actuelles"
A+
Gargoyle
Hors ligne
Pages : 1