Edition des icônes depuis la liste des sujets
+5
Labulle
Chacha
Bipo
manbcr
Arlem
9 participants
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 2 sur 8 • Partagez
Page 2 sur 8 • 1, 2, 3, 4, 5, 6, 7, 8
Edition des icônes depuis la liste des sujets
Rappel du premier message :
Bonjour à tous ^^
Suite à la demande de Matriochka, je poste mon propre topic ici.
Ea > J'ai essayé de mettre en place votre code, mais mes outils de modération ne s'affichent plus.
Votre code :
Mon ancien code (qui marche !) est le suivant (c'est celui que j'ai actuellement) :
Si vous avez une idée de ce qu'il faudrait modifier pour que les modérateurs puissent avoir les boutons de modérations au survol d'un topic ainsi que la possibilité de modifier le titre du topic depuis la liste des sujets...
Bonne journée.
Bonjour à tous ^^
Suite à la demande de Matriochka, je poste mon propre topic ici.
Ea > J'ai essayé de mettre en place votre code, mais mes outils de modération ne s'affichent plus.
Votre code :
- Code:
var lock_img = "http://img11.hostingpics.net/pics/689379lock.png";
var unlock_img = "http://img11.hostingpics.net/pics/269944lockunlock.png";
var trash_img = "http://img11.hostingpics.net/pics/781353bin.png";
var delete_img = "http://img11.hostingpics.net/pics/204355cross.png";
var rename_img = "http://i39.tinypic.com/2dkha3p.png";
var cookie = my_getcookie('fa_nara_jdrforum_com_sid');
$(function () {
if ($('#is_allowed:contains("modérer")').length > 0) {
$('.mod_tools').each(function () {
if ($(this).parent().parent().children('.row1').children('img').attr('title').slice(13, 19) == "verrou") {
$(this).append('<img src="' + rename_img + '" class="mod_rename"/><img src="' + unlock_img + '" class="mod_unlock"/><img src="' + trash_img + '" class="mod_trash"/><img src="' + delete_img + '" class="mod_delete"/>')
} else {
$(this).append('<img src="' + rename_img + '" class="mod_rename"/><img src="' + lock_img + '" class="mod_lock"/><img src="' + trash_img + '" class="mod_trash"/><img src="' + delete_img + '" class="mod_delete"/>')
}
})
}
$('.mod_unlock').click(function () {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t=' + $(this).parent().parent().find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]).*$/, '$1') + '&mode=unlock&sid=' + cookie);
$(this).addClass('mod_lock').removeClass('mod_unlock');
$(this).attr('src', lock_img)
}
});
$('.mod_lock').click(function () {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t=' + $(this).parent().parent().find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]).*$/, '$1') + '&mode=lock&sid=' + cookie);
$(this).addClass('mod_unlock').removeClass('mod_lock');
$(this).attr('src', unlock_img)
}
});
$('.mod_trash').click(function () {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t=' + $(this).parent().parent().find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]).*$/, '$1') + '&mode=trash&sid=' + cookie)
}
});
$(this).closest('tr').remove();
$('.mod_delete').click(function () {
if (confirm('Vraiment supprimer ?')) {
$(this).closest('tr').remove()
}
var tid = $("input[name=tid]:first").val() || ($("a[href*='&tid=']:first").attr("href") || "").replace(/^.*&tid=([a-f0-9]*)?.*$/, "$1");
var fid = location.href.replace(/^.*\/f([0-9]+)[p-].*$/, '$1');
var topic_id = $(this).parent().parent().find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/, '$1');
$.post("/modcp?tid=" + tid, {
f: fid,
t: topic_id,
tid: tid,
mode: "delete",
confirm: "1"
})
})
$('.mod_rename').click(function () {
var b = $(this);
if (b.data('topictitle')) {
b.closest('td').find('.modiftitle').replaceWith(b.data('topictitle'));
b.removeData('topictitle');
} else {
var title = b.closest('td').find('a.topictitle').first();
var num = title.attr('href').replace(/^\/t([1-9][0-9]*)(p[0-9]+)?-.*$/, "$1")
b.data('topictitle', title.parent().html());
$('<span class="modiftitle"><input type="text" value="' + title.html().replace(/"/g, """) + '" style="width:150px"> <input type="button" value="Mettre à jour" /></span>').replaceAll(title).find('input').last().click(function () {
/* saisie d'une page du sujet */
$.get("/t" + num + "-", function (c) {
/* prendre identifiant du premier message */
var first_post_id = $(".post a[name]", c).first().attr("name");
/* si pas on fait rien */
if (!first_post_id) {
return
}
/* saisie du formulaire d'édition du message */
$.get("/post?p=" + first_post_id + "&mode=editpost", function (c) {
/* envoi de ce formulaire en ayant changé le titre */
var nouveau_titre = $('this').parent().find('input').first().val();
$.post("/post", $('form[name="post"]', c).serialize().replace(/(^|&)subject=[^&]+(&|$)/, "$1subject=" + encodeURIComponent(nouveau_titre) + "$2") + "&post=1", function (c) {
/* test pour voir si ça s'est bien passé */
if (c.indexOf('Message enregistré avec succès') != -1) $(b.data()).replaceAll($(this).parent()).text(nouveau_titre);
})
})
});
});
}
});
});
Mon ancien code (qui marche !) est le suivant (c'est celui que j'ai actuellement) :
- Code:
/* adresse img modération lock */
var lock_img = "http://2img.net/i/fa/subsilver/topic_lock.gif";
/* adresse img modération unlock */
var unlock_img = "http://2img.net/i/fa/subsilver/topic_unlock.gif";
/* adresse img modération corbeille */
var trash_img = "http://2img.net/i/fa/subsilver/topic_trashcan.gif";
/* adresse img modération supprimer */
var delete_img = "http://2img.net/i/fa/subsilver/topic_delete.gif";
/* adresse cookie contenant le sid (ne pas éditer) */
var cookie = my_getcookie('fa_'+location.hostname.replace(/\./g,'_')+'_sid');
$(function() {
/* Si l'utilisateur a les droits de modération, on affiche les outils de modération */
if($('#is_allowed:contains("modérer")').length > 0) {
$('.mod_tools').each(function() {
/* Si le topic est verrouillé on affiche le bouton déverrouiller */
if($(this).children('img').attr('alt').slice(13,19) == "verrou") {
$(this).append('<img src="'+unlock_img+'" class="mod_unlock"/><img src="'+trash_img+'" class="mod_trash"/><img src="'+delete_img+'" class="mod_delete"/>');
}
/* Sinon on affiche le bouton verrouiller */ else {
$(this).append('<img src="'+lock_img+'" class="mod_lock"/><img src="'+trash_img+'" class="mod_trash"/><img src="'+delete_img+'" class="mod_delete"/>');
}
}
);
}
/* Clic sur le bouton déverrouiller */
$('.mod_unlock').click(function() {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t='+$(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=unlock&sid='+cookie);
$(this).addClass('mod_lock').removeClass('mod_unlock');
$(this).attr('src',lock_img);
}
}
);
/* Clic sur le bouton verrouiller */
$('.mod_lock').click(function() {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t='+$(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=lock&sid='+cookie);
$(this).addClass('mod_unlock').removeClass('mod_lock');
$(this).attr('src',unlock_img);
}
}
);
/* Clic sur le bouton corbeille */
$('.mod_trash').click(function() {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t='+$(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=trash&sid='+cookie);
$(this).closest('tr').remove();
}
}
);
/* Clic sur le bouton supprimer */
$('.mod_delete').click(function() {
if (confirm("Êtes-vous sûr ?")) {
// prendre le tid
var tid= $("input[name=tid]:first").val() || ($("a[href*='&tid=']:first").attr("href")||"").replace(/^.*&tid=([a-f0-9]*)?.*$/,"$1");
// prendre le fid
var fid= location.href.replace(/^.*\/f([0-9]+)[p-].*$/,'$1');
// prendre le topic_id
var topic_id= $(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1');
$.post("/modcp?tid="+tid, {
f:fid, t:topic_id, tid: tid, mode:"delete",confirm:"1"
}
);
$(this).closest('tr').remove();
}
}
);
}
);
Si vous avez une idée de ce qu'il faudrait modifier pour que les modérateurs puissent avoir les boutons de modérations au survol d'un topic ainsi que la possibilité de modifier le titre du topic depuis la liste des sujets...
Bonne journée.
Dernière édition par Zeste le Sam 24 Mai 2014 - 21:10, édité 2 fois
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Re: Edition des icônes depuis la liste des sujets
Bonjour, Où en-est votre problème ? Deux solutions :
A bientôt sur ForumActif |
Ea- Aidactif
- Messages : 23583
Inscrit(e) le : 04/04/2008
Re: Edition des icônes depuis la liste des sujets
Juste une question, savez vous si on peut également modifier les icônes de sujets depuis la liste des sujets ? Ce serait bien plus pratique au lieu d'éditer à chaque fois le topic pour changer l'icône.
UP
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Re: Edition des icônes depuis la liste des sujets
Bonjour,
Où en est votre problème ?
Cordialement.
Où en est votre problème ?
Cordialement.
Ea- Aidactif
- Messages : 23583
Inscrit(e) le : 04/04/2008
Re: Edition des icônes depuis la liste des sujets
Bonsoir,
J'attends une réponse à propos de la question que j'ai posé plus haut.
J'attends une réponse à propos de la question que j'ai posé plus haut.
Juste une question, savez vous si on peut également modifier les icônes de sujets depuis la liste des sujets ? Ce serait bien plus pratique au lieu d'éditer à chaque fois le topic pour changer l'icône.
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Re: Edition des icônes depuis la liste des sujets
On peut mais ce n'est pas simple.
Par exemple pour mettre l'icône 5 au sujet avec le message 5555, on pourrait utiliser ce code javascript :
Par exemple pour mettre l'icône 5 au sujet avec le message 5555, on pourrait utiliser ce code javascript :
- Code:
$.get('/post?p=5555&mode=editpost', function(c){
var fields= $('form[name="post"]', c).serializeArray();
for(var i in fields)
if(fields[i].name=="post_icon")
fields[i].value= 5;
$.post("/post", $.param(fields) + "&post=1");
});
Ea- Aidactif
- Messages : 23583
Inscrit(e) le : 04/04/2008
Re: Edition des icônes depuis la liste des sujets
J'ai mis en place le code, sauf qu'il y a un petit problème.
Actuellement j'ai un icône 1 sur un topic X. Seulement lorsque je place votre code :
Moi ce que je cherche à faire c'est que le modérateur puisse changer l'icône du sujet depuis la liste des sujets.
Et il y a aussi un autre petit soucis c'est qu'il faudrait que l'administrateur n'est pas à sélectionner le numéro du post auquel le code doit s'appliquer mais à l'ensemble des sujets.
Je me doute bien que ce n'est pas si simple...
Actuellement j'ai un icône 1 sur un topic X. Seulement lorsque je place votre code :
- Code:
fields[i].value= 5;
Moi ce que je cherche à faire c'est que le modérateur puisse changer l'icône du sujet depuis la liste des sujets.
Et il y a aussi un autre petit soucis c'est qu'il faudrait que l'administrateur n'est pas à sélectionner le numéro du post auquel le code doit s'appliquer mais à l'ensemble des sujets.
Je me doute bien que ce n'est pas si simple...
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Re: Edition des icônes depuis la liste des sujets
Le code ne fait que ça, mettre l'icône de sujet 5 à un sujet dans lequel il y a le message 5555.
Pour l'avoir dans la liste de sujet, il faut l'adapter comme voulu.
Par exemple :
Pour l'avoir dans la liste de sujet, il faut l'adapter comme voulu.
Par exemple :
- Code:
// une fois la page ouverte
$(function () {
// les numeros d'icone <-> url
var icons = [
[5, "http://r24.imgfast.net/users/2913/10/00/00/smiles/187540.png"],
[3, "http://r24.imgfast.net/users/2913/10/00/00/smiles/505812.png"]
];
// pour chaque titre de la liste de sujet
$('h2.topic-title a.topictitle').each(function () {
var e = $(this);
// pour chaque icône
for (var num_icon in icons) {
// on ajoute l'icone dans la liste des sujets
$('<img src="' + icons[num_icon][1] + '" />').appendTo(e.closest('td')).click(function () {
// on charge la page pour avoir l'id du premier message
$.get(e.attr('href'), function (c) {
// on charge la page d'edition de ce message
$.get('/post?p=' + $('tr.post', c).first().attr('id').substr(1) + '&mode=editpost', function (c) {
// on modifie l'icone
var fields = $('form[name="post"]', c).serializeArray();
for (var i in fields)
if (fields[i].name == "post_icon")
fields[i].value = icons[num_icon][0];
// on poste le message modifie
$.post("/post", $.param(fields) + "&post=1")
})
})
})
}
})
});
Ea- Aidactif
- Messages : 23583
Inscrit(e) le : 04/04/2008
Re: Edition des icônes depuis la liste des sujets
Bonsoir
J'en avais fait une version qui s'ajoute à la fonction d'édition du titre comme ceci :
Le code est le suivant :
J'en avais fait une version qui s'ajoute à la fonction d'édition du titre comme ceci :
Le code est le suivant :
- Code:
/* Clic sur le bouton edit */
$('.edit_topic').click(function() {
var nawak = $(this).parent().parent().parent();
nawak.find('.title_edited').remove()
if(nawak.find('a.topictitle').is(":visible")) {
nawak.find('a.topictitle').hide();
if(nawak.find('#new_title').length) {
nawak.find('#new_title,.edit_title,select[name="postIcon"]').show()
} else {
nawak.find('a.topictitle').after('<input type="text" id="new_title" value="'+nawak.find('a.topictitle').text()+'"/><select name="postIcon"><option value="-1">Choisir l\'icone</option><option value="0">Aucun</option><option value="2">Etoilé</option><option value="4">En cours</option><option value="3">Résolu</option><option value="5">A évaluer</option><option value="6">Evalué</option><option value="8">En attente</option></select><input type="button" value="Changer" class="edit_title"/>');
}
} else {
nawak.find('a.topictitle').show();
nawak.find('#new_title,.edit_title').hide()
nawak.find('select[name="postIcon"]').hide();
}
}
);
$('.edit_title').live('click', function() {
var temp = $(this);
temp.closest('.container').find('a.topictitle').show().text($('#new_title').val());
temp.parent().find('#new_title').hide();
temp.parent().find('select[name="postIcon"]').hide();
temp.parent().find('.edit_title').hide();
temp.parent().find('.title_edited').remove()
/* saisie d'une page du sujet */
$.get($(this).closest('.container').find('a.topictitle').attr('href'), function(c) {
/* prendre identifiant du premier message */
var first_post_id = $(".msg-time a", c).first().attr("href").replace(/^#([1-9][0-9]*)$/,'$1');
/* si pas on fait rien */
if(!first_post_id) {
return
}
/* saisie du formulaire d'édition du message */
$.get("/post?p=" + first_post_id + "&mode=editpost", function(c) {
/* récupération du formulaire */
var fields= $('form[name="post"]', c).serializeArray();
for (i=0;i<fields.length;i++) {
/* changement du titre */
if(fields[i].name=="subject") fields[i].value= temp.parent().find('#new_title').val();
if((fields[i].name=="post_icon") && ($("select[name='postIcon'] option:selected").val() != -1)) fields[i].value= $("select[name='postIcon'] option:selected").val();
fields[i]=escape(fields[i].name)+'='+escape(fields[i].value)
}
/* envoi formulaire d'édition */
$.post("/post", fields.join('&')+"&post=1",function(c) {
temp.parent().find('.title_edited').remove()
/* test pour voir si ça s'est bien passé */
if(c.indexOf('Message enregistré avec succès')!=-1) {
temp.after('<img src="http://nsa31.casimages.com/img/2013/02/10/130210020722226189.png" alt="sent" class="title_edited" />');
val = $("select[name='postIcon'] option:selected").val();
if (val == 0) temp.parent().find('.f_icon img').attr('src',"http://2img.net/i/fa/empty.gif").removeClass('posticon2');
if (val == 2) temp.parent().find('.f_icon img').attr('src',"http://sd-1.archive-host.com/membres/images/142586199450897653/LFD/ico-1.png").addClass('posticon2');
if (val == 4) temp.parent().find('.f_icon img').attr('src',"http://sd-1.archive-host.com/membres/images/142586199450897653/LFD/V4/icones/encours.png").addClass('posticon2');
if (val == 3) temp.parent().find('.f_icon img').attr('src',"http://sd-1.archive-host.com/membres/images/142586199450897653/LFD/V4/icones/resolu.png").addClass('posticon2');
if (val == 5) temp.parent().find('.f_icon img').attr('src',"http://sd-1.archive-host.com/membres/images/142586199450897653/LFD/V4/icones/aevaluer.png").addClass('posticon2');
if (val == 6) temp.parent().find('.f_icon img').attr('src',"http://sd-1.archive-host.com/membres/images/142586199450897653/LFD/V4/icones/evalue.png").addClass('posticon2');
if (val == 8) temp.parent().find('.f_icon img').attr('src',"http://sd-1.archive-host.com/membres/images/142586199450897653/LFD/V4/icones/attente.png").addClass('posticon2');
} else {
temp.after('<img src="http://sd-2.archive-host.com/membres/up/102033098234604628/fermer-croix-supprimer-erreurs-sortie-icone-4368-16_2.png" alt="notSent" class="title_edited" />');
}
}
)
}
)
}
);
}
);
Arlem- Membre actif
- Messages : 2550
Inscrit(e) le : 30/06/2009
Re: Edition des icônes depuis la liste des sujets
dans ceci :
mais sinon si il y a un nouveau message, il me semble que le #post_id n'est pas présent et qu'il y a à la place ?view=newest
enfin à ma connaissance il faut soit :
ou bien peut-être que je loupe quelque chose d'évident.
Cordialement.
- Code:
var first_post_id = $(".msg-time a", c).first().attr("href").replace(/^#([1-9][0-9]*)$/,'$1');
mais sinon si il y a un nouveau message, il me semble que le #post_id n'est pas présent et qu'il y a à la place ?view=newest
enfin à ma connaissance il faut soit :
- s'arrangé pour mettre tout le sujet en lu et recharger la page
- charger la page du sujet et chopper l'identifiant du premier message ( comme fait dans mon message au dessus )
- ne pas permettre de changer l'icône sur un sujet non lu
ou bien peut-être que je loupe quelque chose d'évident.
Cordialement.
Ea- Aidactif
- Messages : 23583
Inscrit(e) le : 04/04/2008
Re: Edition des icônes depuis la liste des sujets
Salut Ea,
"charger la page du sujet et chopper l'identifiant du premier message ( comme fait dans mon message au dessus )" -> C'est ce que je fais en fait, mais adapté à un forum où les templates ont été pas mal modifiés donc les classes ne sont pas forcément les mêmes ce qui t'as peut-être induit en erreur (ou alors c'est moi qui n'ait pas compris ta remarque, ce qui est possible o/).
"charger la page du sujet et chopper l'identifiant du premier message ( comme fait dans mon message au dessus )" -> C'est ce que je fais en fait, mais adapté à un forum où les templates ont été pas mal modifiés donc les classes ne sont pas forcément les mêmes ce qui t'as peut-être induit en erreur (ou alors c'est moi qui n'ait pas compris ta remarque, ce qui est possible o/).
Arlem- Membre actif
- Messages : 2550
Inscrit(e) le : 30/06/2009
Re: Edition des icônes depuis la liste des sujets
ah okay, ça explique aussi l'expression régulière =p
Ea- Aidactif
- Messages : 23583
Inscrit(e) le : 04/04/2008
Re: Edition des icônes depuis la liste des sujets
Bonjour,
Pour le moment j'ai placé ce code : (en changeant juste les urls des icônes par les miens.
Toutefois, il faut changer encore des choses et je ne sais pas vraiment magner le JS.
Lorsque je valide, cela ne fait rien. Et mes icônes sur la liste des sujets ont disparu. Voici le code qui affiche les outils de modérations sur la liste des sujets :
Si vous avez une petite idée...
Pour le moment j'ai placé ce code : (en changeant juste les urls des icônes par les miens.
- Code:
/* Clic sur le bouton edit */
$('.edit_topic').click(function() {
var nawak = $(this).parent().parent().parent();
nawak.find('.title_edited').remove()
if(nawak.find('a.topictitle').is(":visible")) {
nawak.find('a.topictitle').hide();
if(nawak.find('#new_title').length) {
nawak.find('#new_title,.edit_title,select[name="postIcon"]').show()
} else {
nawak.find('a.topictitle').after('<input type="text" id="new_title" value="'+nawak.find('a.topictitle').text()+'"/><select name="postIcon"><option value="-1">Choisir l\'icone</option><option value="0">Aucun</option><option value="2">Etoilé</option><option value="4">En cours</option><option value="3">Résolu</option><option value="5">A évaluer</option><option value="6">Evalué</option><option value="8">En attente</option></select><input type="button" value="Changer" class="edit_title"/>');
}
} else {
nawak.find('a.topictitle').show();
nawak.find('#new_title,.edit_title').hide()
nawak.find('select[name="postIcon"]').hide();
}
}
);
$('.edit_title').live('click', function() {
var temp = $(this);
temp.closest('.container').find('a.topictitle').show().text($('#new_title').val());
temp.parent().find('#new_title').hide();
temp.parent().find('select[name="postIcon"]').hide();
temp.parent().find('.edit_title').hide();
temp.parent().find('.title_edited').remove()
/* saisie d'une page du sujet */
$.get($(this).closest('.container').find('a.topictitle').attr('href'), function(c) {
/* prendre identifiant du premier message */
var first_post_id = $(".msg-time a", c).first().attr("href").replace(/^#([1-9][0-9]*)$/,'$1');
/* si pas on fait rien */
if(!first_post_id) {
return
}
/* saisie du formulaire d'édition du message */
$.get("/post?p=" + first_post_id + "&mode=editpost", function(c) {
/* récupération du formulaire */
var fields= $('form[name="post"]', c).serializeArray();
for (i=0;i<fields.length;i++) {
/* changement du titre */
if(fields[i].name=="subject") fields[i].value= temp.parent().find('#new_title').val();
if((fields[i].name=="post_icon") && ($("select[name='postIcon'] option:selected").val() != -1)) fields[i].value= $("select[name='postIcon'] option:selected").val();
fields[i]=escape(fields[i].name)+'='+escape(fields[i].value)
}
/* envoi formulaire d'édition */
$.post("/post", fields.join('&')+"&post=1",function(c) {
temp.parent().find('.title_edited').remove()
/* test pour voir si ça s'est bien passé */
if(c.indexOf('Message enregistré avec succès')!=-1) {
temp.after('<img src="http://nsa31.casimages.com/img/2013/02/10/130210020722226189.png" alt="sent" class="title_edited" />');
val = $("select[name='postIcon'] option:selected").val();
if (val == 0) temp.parent().find('.f_icon img').attr('src',"http://i45.servimg.com/u/f45/15/75/02/96/2012-097.png").removeClass('posticon2');
if (val == 2) temp.parent().find('.f_icon img').attr('src',"http://i45.servimg.com/u/f45/15/75/02/96/mis-a-10.png").addClass('posticon2');
if (val == 3) temp.parent().find('.f_icon img').attr('src',"http://i45.servimg.com/u/f45/15/75/02/96/icone-12.png").addClass('posticon2');
if (val == 4) temp.parent().find('.f_icon img').attr('src',"http://i45.servimg.com/u/f45/15/75/02/96/pas-a-10.png").addClass('posticon2');
if (val == 5) temp.parent().find('.f_icon img').attr('src',"http://i45.servimg.com/u/f45/15/75/02/96/icone-11.png").addClass('posticon2');
if (val == 6) temp.parent().find('.f_icon img').attr('src',"http://i45.servimg.com/u/f45/15/75/02/96/2012-099.png").addClass('posticon2');
if (val == 7) temp.parent().find('.f_icon img').attr('src',"http://i45.servimg.com/u/f45/15/75/02/96/2012-098.png").addClass('posticon2');
if (val == 8) temp.parent().find('.f_icon img').attr('src',"http://i45.servimg.com/u/f45/15/75/02/96/2012-098.png").addClass('posticon2');
} else {
temp.after('<img src="http://2img.net/i/fa/fdf3/subject_locked.png" alt="notSent" class="title_edited" />');
}
}
)
}
)
}
);
}
);
Toutefois, il faut changer encore des choses et je ne sais pas vraiment magner le JS.
Lorsque je valide, cela ne fait rien. Et mes icônes sur la liste des sujets ont disparu. Voici le code qui affiche les outils de modérations sur la liste des sujets :
- Code:
/* adresse img modération edit */
var edit_img= "http://2img.net/i/fa/prosilver/icon_user_profile.png";
/* adresse img modération lock */
var lock_img = "http://2img.net/i/fa/subsilver/topic_lock.gif";
/* adresse img modération unlock */
var unlock_img = "http://2img.net/i/fa/subsilver/topic_unlock.gif";
/* adresse img modération corbeille */
var trash_img = "http://2img.net/i/fa/subsilver/topic_trashcan.gif";
/* adresse img modération supprimer */
var delete_img = "http://2img.net/i/fa/subsilver/topic_delete.gif";
/* adresse cookie contenant le sid (ne pas éditer) */
var cookie = my_getcookie('fa_'+location.hostname.replace(/\./g,'_')+'_sid');
$(function() {
/* Si l'utilisateur a les droits de modération, on affiche les outils de modération */
if($('#is_allowed:contains("modérer")').length > 0) {
$('.mod_tools').each(function() {
/* Si le topic est verrouillé on affiche le bouton déverrouiller */
if($(this).children('img').attr('alt').slice(13,19) == "verrou") {
$(this).append('<img src="'+edit_img+'" class="edit_topic"><img src="'+unlock_img+'" class="mod_unlock"/><img src="'+trash_img+'" class="mod_trash"/><img src="'+delete_img+'" class="mod_delete"/>');
}
/* Sinon on affiche le bouton verrouiller */ else {
$(this).append('<img src="'+edit_img+'" class="edit_topic"><img src="'+lock_img+'" class="mod_lock"/><img src="'+trash_img+'" class="mod_trash"/><img src="'+delete_img+'" class="mod_delete"/>');
}
}
);
}
/* Clic sur le bouton déverrouiller */
$('.mod_unlock').click(function() {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t='+$(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=unlock&sid='+cookie);
$(this).addClass('mod_lock').removeClass('mod_unlock');
$(this).attr('src',lock_img);
}
}
);
/* Clic sur le bouton verrouiller */
$('.mod_lock').click(function() {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t='+$(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=lock&sid='+cookie);
$(this).addClass('mod_unlock').removeClass('mod_lock');
$(this).attr('src',unlock_img);
}
}
);
/* Clic sur le bouton corbeille */
$('.mod_trash').click(function() {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t='+$(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=trash&sid='+cookie);
$(this).closest('tr').remove();
}
}
);
/* Clic sur le bouton supprimer */
$('.mod_delete').click(function() {
if (confirm("Êtes-vous sûr ?")) {
// prendre le tid
var tid= $("input[name=tid]:first").val() || ($("a[href*='&tid=']:first").attr("href")||"").replace(/^.*&tid=([a-f0-9]*)?.*$/,"$1");
// prendre le fid
var fid= location.href.replace(/^.*\/f([0-9]+)[p-].*$/,'$1');
// prendre le topic_id
var topic_id= $(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1');
$.post("/modcp?tid="+tid, {
f:fid, t:topic_id, tid: tid, mode:"delete",confirm:"1"
}
);
$(this).closest('tr').remove();
}
}
);
/* Clic sur le bouton edit */
$('.edit_topic').click(function() {
$(this).closest('tr').find('a.topictitle').hide().after('<input type="text" id="new_title" value="'+$(this).closest('tr').find('a.topictitle').html()+'"/><input type="submit" class="edit_title"/>');
}
);
$('.edit_title').live('click', function() {
var temp = $(this);
/* saisie d'une page du sujet */
$.get($(this).closest('tr').find('a.topictitle').attr('href'), function(c) {
/* prendre identifiant du premier message */
var first_post_id = $(".post a[name]", c).first().attr("name");
/* si pas on fait rien */
if(!first_post_id) {
return
}
/* saisie du formulaire d'édition du message */
$.get("/post?p=" + first_post_id + "&mode=editpost", function(c) {
/* envoi de ce formulaire en ayant changé le titre */
$.post("/post", $('form[name="post"]', c).serialize().replace(/(^|&)subject=[^&]+(&|$)/, "$1subject=" + encodeURIComponent($('#new_title').val()) + "$2") + "&post=1",function(c) {
/* test pour voir si ça s'est bien passé */
if(c.indexOf('Message enregistré avec succès')!=-1) {
temp.closest('tr').find('a.topictitle').show().text($('#new_title').val());
temp.parent().find('#new_title').hide();
temp.parent().find('.edit_title').hide();
}
}
)
}
)
});
});
});
Si vous avez une petite idée...
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Re: Edition des icônes depuis la liste des sujets
Bonsoir,
Tu pourrais donner ton topic_list_box et ton viewforum_body ? Comme ça je suis quasi sûr de faire un code qui fonctionnera chez toi.
Tu pourrais donner ton topic_list_box et ton viewforum_body ? Comme ça je suis quasi sûr de faire un code qui fonctionnera chez toi.
Arlem- Membre actif
- Messages : 2550
Inscrit(e) le : 30/06/2009
Re: Edition des icônes depuis la liste des sujets
Bonjour,
Voici les deux templates :
topics_list_box
viewforum_body
Cordialement
Voici les deux templates :
topics_list_box
- Code:
<script type="text/javascript">
function check_uncheck_main_{topics_list_box.row.header_table.BOX_ID}() {
var all_checked = true;
for (i = 0; (i < document.{topics_list_box.FORMNAME}.elements.length) && all_checked; i++) {
if (document.{topics_list_box.FORMNAME}.elements[i].name == '{topics_list_box.FIELDNAME}[]{topics_list_box.row.header_table.BOX_ID}') {
all_checked = document.{topics_list_box.FORMNAME}.elements[i].checked;
}
}
document.{topics_list_box.FORMNAME}.all_mark_{topics_list_box.row.header_table.BOX_ID}.checked = all_checked;
}
function check_uncheck_all_{topics_list_box.row.header_table.BOX_ID}() {
for (i = 0; i < document.{topics_list_box.FORMNAME}.length; i++) {
if (document.{topics_list_box.FORMNAME}.elements[i].name == '{topics_list_box.FIELDNAME}[]{topics_list_box.row.header_table.BOX_ID}') {
document.{topics_list_box.FORMNAME}.elements[i].checked = document.{topics_list_box.FORMNAME}.all_mark_{topics_list_box.row.header_table.BOX_ID}.checked;
}
}
}
</script>
<!-- END multi_selection -->
<table class="forumline tfa" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="tfa_th0">
<th class="tfa_th1" colspan="3" align="center" nowrap="nowrap">Listes de sujets</th>
<th class="tfa_th2"colspan="4" align="center" nowrap="nowrap" width="250">Derniers messages</th>
<!-- BEGIN multi_selection -->
<th align="center" nowrap="nowrap" width="20"><input onclick="check_uncheck_all_{topics_list_box.row.header_table.BOX_ID}();" type="checkbox" name="all_mark_{topics_list_box.row.header_table.BOX_ID}" value="0" /></th>
<!-- END multi_selection -->
</tr>
<!-- BEGIN pagination -->
<tr class="tfa_tr">
<td class="row1 tfa" colspan="7" align="right"><span class="gensmall">{PAGINATION}</span></td>
</tr>
<!-- END pagination -->
<!-- END header_table -->
<!-- BEGIN header_row -->
<tr class="tfa_tr">
<td class="row3 tfa" colspan="7"><span class="gensmall"> <b>{topics_list_box.row.L_TITLE}</b></span></td>
</tr>
<!-- END header_row -->
<!-- BEGIN topic -->
{topics_list_box.row.END_TABLE_STICKY}
<tr class="tfa_tr">
<!-- BEGIN single_selection -->
<td class="{topics_list_box.row.ROW_CLASS}" align="center" valign="middle" width="20"><input type="radio" name="{topics_list_box.FIELDNAME}" value="{topics_list_box.row.FID}" {topics_list_box.row.L_SELECT} /></td>
<!-- END single_selection -->
<!-- ICONE DE MESSAGE -->
<td class="{topics_list_box.row.ROW_FOLDER_CLASS} row_tfa" align="center" valign="middle" width="20">
<img title="{topics_list_box.row.L_TOPIC_FOLDER_ALT}" src="{topics_list_box.row.TOPIC_FOLDER_IMG}" alt="{topics_list_box.row.L_TOPIC_FOLDER_ALT}" />
</td>
<!-- BEGIN icon -->
<td class="{topics_list_box.row.ROW_CLASS}" align="center" valign="middle" width="20">{topics_list_box.row.ICON}</td>
<!-- END icon -->
<!-- TITRE ET AUTEUR DU SUJET -->
<td class="{topics_list_box.row.ROW_CLASS}" onmouseover='this.className="row2"' onmouseout='this.className="{topics_list_box.row.ROW_CLASS}"' width="100%">
<div class="list_descrip">
<div class="topictitle">
{topics_list_box.row.NEWEST_POST_IMG}{topics_list_box.row.PARTICIPATE_POST_IMG}{topics_list_box.row.TOPIC_TYPE}
<h2 class="topic-title">
<a class="topictitle" href="{topics_list_box.row.U_VIEW_TOPIC}">{topics_list_box.row.TOPIC_TITLE}</a>
<span class="name">
<img src="http://i45.servimg.com/u/f45/11/95/30/70/fd111.png" alt="" style="vertical-align: middle; height: 15px;" />
Sujet ouvert par : {topics_list_box.row.TOPIC_AUTHOR}
</span>
</h2>
</div>
<div class="mod_tools">
<img src="{topics_list_box.row.TOPIC_FOLDER_IMG}" alt="{topics_list_box.row.L_TOPIC_FOLDER_ALT}" style="display:none;" />
</div>
<!-- BEGIN switch_description -->
<span class="genmed">
{topics_list_box.row.topic.switch_description.TOPIC_DESCRIPTION}
</span>
<!-- END switch_description -->
<span class="gensmall">{topics_list_box.row.TOPIC_ANNOUNCES_DATES}{topics_list_box.row.TOPIC_CALENDAR_DATES}</span>
<span class="gensmall">{topics_list_box.row.GOTO_PAGE}<!-- BEGIN nav_tree -->{topics_list_box.row.TOPIC_NAV_TREE} <!-- END nav_tree --></span>
</div>
</td>
<td class="row2 tfa" align="left" valign="middle" colspan="4" width="250" style="min-width: 250px !important;">
<span class="postdetails tfa">
Ce sujet a eu <span class="chiffres">{topics_list_box.row.REPLIES}</span>
réponse(s), et a été consulté <span class="chiffres">{topics_list_box.row.VIEWS}</span> fois.
Derniers messages {topics_list_box.row.LAST_POST_TIME} par {topics_list_box.row.LAST_POST_AUTHOR} {topics_list_box.row.LAST_POST_IMG}
</span>
</td>
<!-- BEGIN multi_selection -->
<td class="row2" align="center" valign="middle">
<span class="postdetails"><input onclick="javascript:check_uncheck_main_{topics_list_box.row.BOX_ID}();" type="checkbox" name="{topics_list_box.FIELDNAME}[]{topics_list_box.row.BOX_ID}" value="{topics_list_box.row.FID}" {topics_list_box.row.L_SELECT} />
</span>
</td>
<!-- END multi_selection -->
</tr>
<!-- END topic -->
<!-- BEGIN no_topics -->
<tr class="tfa_tr">
<td class="row1" colspan="{topics_list_box.row.COLSPAN}" align="center" valign="middle" height="30"><span class="gen">{topics_list_box.row.L_NO_TOPICS}</span></td>
</tr>
<!-- END no_topics --><!-- BEGIN bottom -->
<tr class="tfa_bottom">
<td class="catBottom tfa" colspan="{topics_list_box.row.COLSPAN}" valign="middle">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> <span class="gensmall">{PAGINATION}</span></td>
<td align="right"><a href="#top">{L_BACK_TO_TOP}</a> </td>
</tr>
</table>
</td>
</tr>
<!-- END bottom --><!-- BEGIN footer_table -->
</table><!-- END footer_table --><!-- BEGIN spacer --><br class="gensmall" /><!-- END spacer --><!-- END row -->
<!-- END topics_list_box -->
viewforum_body
- Code:
{BOARD_INDEX}
<table width="100%" border="0" cellspacing="2" cellpadding="0" align="center">
<tr>
<td align="left" valign="middle" width="50">
<!-- BEGIN switch_user_authpost -->
<a href="{U_POST_NEW_TOPIC}" rel="nofollow"><img src="{POST_IMG}" id="{POST_IMG_ID}" alt="{L_POST_NEW_TOPIC}" border="0" /></a>
<!-- END switch_user_authpost -->
</td>
<td class="nav" valign="middle" width="100%"><div class="nav"><a class="nav" href="{U_INDEX}">{L_INDEX}</a>{NAV_CAT_DESC}</div></td>
<td class="gensmall" align="right" valign="bottom" nowrap="nowrap">
<span class="nav">
<script type="text/javascript">//<![CDATA[
var url_newposts = '{U_NEWPOSTS_JS_PLUS_MENU}';
var url_egosearch = '{U_EGOSEARCH_JS_PLUS_MENU}';
var url_unanswered = '{U_UNANSWERED_JS_PLUS_MENU}';
var url_watchsearch = '{U_WATCHSEARCH_JS_PLUS_MENU}';
var url_tellfriend = '{U_TELLFRIEND_JS_PLUS_MENU}';
insert_plus_menu('f{FORUM_ID}&f={FORUM_ID}','{JS_SESSION_ID}', {JS_AUTH_FAVOURITES});
//]]>
</script>
</span>
</td>
</tr>
</table>
{TOPICS_LIST_BOX}
<div id="info_open" style="display:''">
<table class="forumline" width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td class="row1" align="left" valign="top"><span class="gensmall"><a href="{U_MARK_READ}">{L_MARK_TOPICS_READ}</a></span></td>
<td class="row1" align="right" valign="top"><span class="gensmall">{S_WATCH_FORUM}</span></td>
</tr>
<tr>
<td class="row2" colspan="2" valign="top"><span class="gensmall"><b>{LOGGED_IN_USER_LIST}</b></span></td>
</tr>
<tr>
<td class="row2" valign="top" width="150"><span class="gensmall"><b>{L_MODERATOR}:</b></span></td>
<td class="row1" valign="top"><span class="gensmall">{MODERATORS}</span></td>
</tr>
<tr>
<td class="row2" valign="top" width="150"><span class="gensmall">{L_TABS_PERMISSIONS}</span></td>
<td class="row1" valign="top"><span class="gensmall" id="is_allowed">{S_AUTH_LIST}</span></td>
</tr>
<tr>
<td class="catBottom" colspan="2" height="28">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="nav" valign="middle" width="100%"><div class="nav"> <a class="nav" href="{U_INDEX}">{L_INDEX}</a>{NAV_CAT_DESC_SECOND}</div></td>
<td align="right" valign="middle"><span class="gensmall"><a href="javascript:ShowHideLayer('info_open','info_close');"><img src="{TABS_LESS_IMG}" alt="-" align="middle" border="0" /></a></span></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div id="info_close" style="display:none">
<table class="forumline" width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td class="row1" colspan="2" align="right" valign="top"><span class="gensmall"><a href="{U_MARK_READ}">{L_MARK_TOPICS_READ}</a></span></td>
</tr>
<tr>
<td class="row2" colspan="2" valign="top"><span class="gensmall"><b>{LOGGED_IN_USER_LIST}</b></span></td>
</tr>
<tr>
<td class="catBottom" colspan="2" height="28">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="nav" valign="middle" width="100%"><span class="nav"> <a class="nav" href="{U_INDEX}">{L_INDEX}</a>{NAV_CAT_DESC_SECOND}</span></td>
<td align="right" valign="middle"><span class="gensmall"><a href="javascript:ShowHideLayer('info_open','info_close');"><img src="{TABS_MORE_IMG}" alt="+" align="middle" border="0" /></a></span></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<form action="{S_JUMPBOX_ACTION}" method="get" name="jumpbox" onsubmit="if(document.jumpbox.f.value == -1){return false;}">
<table width="100%" border="0" cellspacing="2" cellpadding="0" align="center">
<tr>
<td align="left" valign="middle" width="50">
<!-- BEGIN switch_user_logged_in -->
<a href="{U_POST_NEW_TOPIC}" rel="nofollow"><img src="{POST_IMG}" id="{POST_IMG_ID}1" alt="{L_POST_NEW_TOPIC}" border="0" /></a>
<!-- END switch_user_logged_in -->
</td>
<td align="right" nowrap="nowrap"><span class="gensmall">{L_JUMP_TO}: {S_JUMPBOX_SELECT} <input class="liteoption" type="submit" value="{L_GO}" /></span></td>
</tr>
</table>
</form>
Cordialement
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Zeste- Membre habitué
-
Messages : 1366
Inscrit(e) le : 28/11/2010
Page 2 sur 8 • 1, 2, 3, 4, 5, 6, 7, 8
Sujets similaires
» Outils de modération depuis la liste des sujets pour forum phpBB3
» Supprimer l'affichage de la légende des icones sujets sous la liste des sujets
» Outils de modération depuis la liste des sujets
» Éditer le titre depuis la liste des sujets
» Impossibilité de verrouiller ou déverrouillé les sujets (via outils de modération sur la liste de sujets)
» Supprimer l'affichage de la légende des icones sujets sous la liste des sujets
» Outils de modération depuis la liste des sujets
» Éditer le titre depuis la liste des sujets
» Impossibilité de verrouiller ou déverrouillé les sujets (via outils de modération sur la liste de sujets)
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 2 sur 8
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum