Astuces Forumactif
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Membres connectés récemment
Voir tous les membres

[PHPBB3] Déplacer un sujet

Voir le sujet précédent Voir le sujet suivant Aller en bas

avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Sam 27 Juin 2020 - 18:54

  • Version du forum :
    PHPBB3
  • Templates modifiés :
    oui
  • Navigateur :
    Firefox
Bonjour à tous les milouzien,

Je tente une demande à tout hasard.

Dans la dernière version des likes, on à le nombre de like mis.

Est-il possible de déplacer automatiquement un sujet du forum /f4 vers le forum /f1 quand le nombre de like (best dans mon forum) atteint 3.

Merci pour votre aide.


Dernière édition par photoclic le Dim 28 Juin 2020 - 13:14, édité 1 fois
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Sam 27 Juin 2020 - 19:50

Hello Serge,

alors sur ton fofo on utilise un display none sur les autres likes, donc par défaut, je vais te donner un script qui va regarder le nombre de likes et a partir du troisième:
On aura une alerte ( que tu pourras modifier dans cette variable):
Code:
var texte="Le nombre de likes maximum est atteint, merci de déplacer ce sujet dans forum xxx";
Pour les membres ayant droit de modération.
Ensuite, une fois que le membre aura acquitté cette alerte, il sera redirigé vers le déplacement vers un forum.


Modules/HTML&JAVASCRIPT/Gestion des codes Javascript/Créer un nouveau Javascript

Mettre un titre explicite.

Cocher Sur les sujets

Déposer ceci:

Code:

$(function(){
var moder=$('a[href^="/modcp?mode=move"]').length;
if(moder)
{
  //LE TEXTE DE L ALERTE
var texte="Le nombre de likes maximum est atteint, merci de déplacer ce sujet dans forum xxx";
$('span[class="rep-nb"]:first').each(function(){
var liketest=$(this).text();
if(liketest==3&&moder)

alert(texte);
$('a[href^="/modcp?mode=move"] img').click();   
}});}});

Penser a cliquer sur le bouton Valid




avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Sam 27 Juin 2020 - 21:28

Bonjour Phil,

Tiens, je n'ai à nouveau plus de mail quand un message est mis sur un sujet suivi. J'ai bien fait de repasser par là.

Bonne idée ton script merci Phil, et ça marche super
Faudrait juste y ajouter un test pour vérifier que le message n' est pas déjà dns le forum /f1 et dans ce cas ne pas envoyer l'alerte.


Par contre faut que je t'explique comment cela fonctionne sur mon fofo. C'est assez vicieux et astucieux; c'était une idée originale de Neptunia à l'époque.

Pour déplacer un sujet dans le forum les Best, un modérateur clique sur le bouton de "la poubelle" en bas du sujet et le sujet est automatiquement mis dans Les best (/f1).
Je ne sais plus comment cela a été fait à l'époque mais ce forum reçoit donc ce qui est mis à la poubelle. Et l'image du bouton de la poubelle a été modifié pour s'appeler best avec l'infobulle qui va avec.

Pour revenir au script, ce qui serait donc mieux, c'est qu'au clic sur l'alerte on arrive plutôt en bas de page pour que le modo n'ait plus qu'à cliquer sur ce bouton.

Ou pour aller plus loin si cela est possible, afficher l'alerte pour dire "Ce sujet a reçu 3 Best. Il va être déplacer dans le forum Les Best", et au clic mettre directement le sujet dans le forum les best (donc à la poubelle).
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 28 Juin 2020 - 6:33

Salut Serge,
oui, il y a une certaine latence pour la réception des émail depuis hier....

Par contre faut que je t'explique comment cela fonctionne sur mon fofo. C'est assez vicieux et astucieux;

C'est le cas ici aussi clin oeil .


Alors on va choisir (pour aller plus loin) .

Ce script devrait fonctionner Serge,il est commenté cher ami:


Modules/HTML&JAVASCRIPT/Gestion des codes Javascript/Créer un nouveau Javascript

Mets un titre explicite.

Coches  Sur les sujets

Déposes ceci:

Code:

$(function(){
//ON VERIFIE SI ON A LE DROIT DE CORBEILLER LE SUJET
var moder=$('a[href^="/modcp?mode=trash"]').length;
if(moder)
{
//ON VERIFIE SI ON EST SUR LE FORUM F4
var t=$('a.nav[href^="/f4-"]').length;
  //LE TEXTE DE L ALERTE
var texte="Ce sujet a reçu 3 Bests. Il va être déplacer dans le forum Les Bests";
$('span[class="rep-nb"]:first').each(function(){
var liketest=$(this).text();
//SI 3 LIKES , SI SUR FORUM F4 ET SI DROIT DE CORBEILLER
if(liketest==3&&t&&moder)
{  
//ON LANCE L ALERTE
alert(texte);
$('a[href^="/modcp?mode=trash"] img').click();    
}});}});

Penses a cliquer sur le bouton Valid


Ou ce script un peu plus développé:

Code:
$(function(){
//ON VERIFIE SI ON A LE DROIT DE CORBEILLER LE SUJET
var moder=$('a[href^="/modcp?mode=trash"]').length;


if(moder)
{
//ON RECUPERE LE TEXTE DU SUJET
var texttopic=$('.postbody:first h2.topic-title ').find('a[href^="/t"]').text();
//ON VERIFIE SI ON EST SUR LE FORUM F4
var t=$('a.nav[href^="/f4-"]').length;
var a=_userdata["username"];
//LES TEXTES DE L ALERTE EN TROIS PARTIES
var texte1="Le sujet:";
var texte2="A reçu 3 Bests.";
var texte3="Il va être déplacer dans le forum Les Bests";
$('span[class="rep-nb"]:first').each(function(){
var liketest=$(this).text();
//SI 3 LIKES , SI SUR FORUM F4 ET SI DROIT DE CORBEILLER
if(liketest==3&&t&&moder){  
//ON LANCE L ALERTE
alert('Bonjour '+a+',\n'+texte1+'\n'+texttopic+'\n'+texte2+'\n'+texte3+'');$('a[href^="/modcp?mode=trash"] img').click();}});

}

  
});



Ou encore celui-ci qui va poster dans la réponse rapide:

Code:
$(function(){
//ON VERIFIE SI ON A LE DROIT DE CORBEILLER LE SUJET
var moder=$('a[href^="/modcp?mode=trash"]').length;


if(moder)
{
//ON RECUPERE LE PSEUDO
var textuser=$('.postbody:first').find('p.author a[href^="/u"]').text();
//ON RECUPERE LE TEXTE DU SUJET
var texttopic=$('.postbody:first h2.topic-title ').find('a[href^="/t"]').text();
//ON VERIFIE SI ON EST SUR LE FORUM F4
var t=$('a.nav[href^="/f4-"]').length;
var a=_userdata["username"];
//LE TEXTE DE L ALERTE EN QUATRE PARTIES
var texte1="Le sujet:";
var texte2="A reçu 3 Bests.";
var texte3="Il va être déplacer dans le forum Les Bests";
//TEXTE DE LA REPONSE RAPIDE
var texte4="Bonjour";
var texte5="Il vient d'être déplacé dans ce forum";
$('span[class="rep-nb"]:first').each(function(){
var liketest=$(this).text();
//SI 3 LIKES , SI SUR FORUM F4 ET SI DROIT DE CORBEILLER
if(liketest==3&&t&&moder)
{
//ON LANCE L ALERTE
alert('Bonjour '+a+',\n'+texte1+'\n'+texttopic+'\n'+texte2+'\n'+texte3+'');
$('#quick_reply textarea').val(''+texte4+' '+textuser+',\n'+texte1+'\n'+texttopic+'\n'+texte2+'\n'+texte5);
  $('input[name="post"]').each(function(){
    $(this).click();$(this).unbind();});

$('a[href^="/modcp?mode=trash"] img').click();
}

});

}

  
});



Avec ce dernier script, le résultat:
[PHPBB3] Déplacer un sujet 1149


Ou celui-ci identique au précédent mais inclut une class dans la réponse rapide:

Ce qui a pour but de personnaliser le tag envoyé.
Il affiche aussi dans le tag, le pseudo du membre ayant déplacé le sujet.

Code:

$(function(){
//ON VERIFIE SI ON A LE DROIT DE CORBEILLER LE SUJET
var moder=$('a[href^="/modcp?mode=trash"]').length;


if(moder)
{
//ON RECUPERE LE PSEUDO
var textuser=$('.postbody:first').find('p.author a[href^="/u"]').text();
//ON RECUPERE LE TEXTE DU SUJET
var texttopic=$('.postbody:first h2.topic-title ').find('a[href^="/t"]').text();
//ON VERIFIE SI ON EST SUR LE FORUM F4
var t=$('a.nav[href^="/f4-"]').length;
var a=_userdata["username"];
//LE TEXTE DE L ALERTE EN QUATRE PARTIES
var texte1="Le sujet:";
var texte2="A reçu 3 Bests.";
var texte3="Il va être déplacer dans le forum Les Bests";
//TEXTE DE LA REPONSE RAPIDE
var texte4="Bonjour";
var texte5="Il vient d'être déplacé dans ce forum";
$('span[class="rep-nb"]:first').each(function(){
var liketest=$(this).text();
//SI 3 LIKES , SI SUR FORUM F4 ET SI DROIT DE CORBEILLER
if(liketest==3&&t&&moder)
{
//ON LANCE L ALERTE
alert('Bonjour '+a+',\n'+texte1+'\n'+texttopic+'\n'+texte2+'\n'+texte3+'');
$('#quick_reply textarea').val('<div class="M14_mov_trash">'+texte4+' '+textuser+',\n'+texte1+'\n'+texttopic+'\n'+texte2+'\n'+texte5+' <span class="M14_user_move"></span></div>');
$('input[name="post"]').each(function(){$(this).click();$(this).unbind();});
$('a[href^="/modcp?mode=trash"] img').click();
}

});

}

  
});

$(function(){
var fofoF1=$('a.nav[href^="/f1-"]').length;
if(fofoF1)
{
$('.M14_mov_trash').each(function(){
var pres=$(this).length;
if(pres)
{
var usermoderat=$(this).closest('.postbody').find('p.author a[href^="/u"]').text();
  $(this).find('.M14_user_move').text('par  '+usermoderat+'');
}
});
}
});







Dans la feuille de style:
Affichage/Images et Couleurs/Couleurs/Feuille de style

Ajouter ceci:

Code:

/*LE TAG DU SUJET AYANT RECU 3 TAGS*/

.M14_mov_trash
{
  margin-top:30px;
 background-color:#666;
  color:#fff;
margin-left: 10%;
padding: 6px 6px 6px 20px;
  border:2px solid darkgreen;
  width:60%;
 
  font-size:14px;
  font-style:italic;
}
/*LE TAG DU SUJET AYANT RECU 3 TAGS PSEUDO*/
.M14_user_move
{
 letter-spacing:2px;
  color:orange;
}

Penser a cliquer sur le bouton [PHPBB3] Déplacer un sujet Sans_t10


Le résultat imagé:

[PHPBB3] Déplacer un sujet 1151
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 28 Juin 2020 - 10:55

Bonjour Philippe,

Magnifique développement Phil, merci.
Ravi que cette demande t'ait également inspirée.

Les 3 scripts fonctionnent à merveille  super

Comme tu me laisses le choix, j'ai choisi le second sans le tag dans la réponse :-)


Un petit complément si tu veux bien:

Dans l'alerte, tu ne laisses pas le choix de déplacer ou non le sujet.
Serait-t-il possible d'y garder le "OK" à droite qui au clic met le sujet à la poubelle, et
d'ajouter à gauche un autre bouton "Non merci" qui au clic ferme l'alerte sans déplacer le sujet et reste sur le sujet.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 28 Juin 2020 - 11:15

Re Serge,


Ravi que cette demande t'ait également inspirée.

Vi, comme je n'avais rien a faire et ce genre de codage m'est très apprécié alors!!!

Encore une fois Serge:


Est-il possible de déplacer automatiquement un sujet du forum /f4 vers le forum /f1 quand le nombre de like (best dans mon forum) atteint 3.


Dans l'alerte, tu ne laisses pas le choix de déplacer ou non le sujet.
Serait-t-il possible d'y garder le "OK" à droite qui au clic met le sujet à la poubelle, et
d'ajouter à gauche un autre bouton "Non merci" qui au clic ferme l'alerte et reste sur le sujet.

Avec une alerte, ce n'est pas possible Serge.
Et à la base, il ne devait pas y en avoir.


J'ai donc revu le script afin d'avoir une confirmation, si cliqué sur Oui on déplace si Non on annule.
Remplaces alors le script par celui-ci Serge:

Code:
$(function(){
    //ON VERIFIE SI ON A LE DROIT DE CORBEILLER LE SUJET
    var moder=$('a[href^="/modcp?mode=trash"]').length;


    if(moder)
    {
    //ON RECUPERE LE TEXTE DU SUJET
    var texttopic=$('.postbody:first h2.topic-title ').find('a[href^="/t"]').text();
    //ON VERIFIE SI ON EST SUR LE FORUM F4
    var t=$('a.nav[href^="/f4-"]').length;
    var a=_userdata["username"];
    //LES TEXTES DE L ALERTE EN TROIS PARTIES
    var texte1="Le sujet:";
    var texte2="A reçu 3 Bests.";
    var texte3="Il va être déplacer dans le forum Les Bests";
    $('span[class="rep-nb"]:first').each(function(){
    var liketest=$(this).text();
    //SI 3 LIKES , SI SUR FORUM F4 ET SI DROIT DE CORBEILLER
    if(liketest==3&&t&&moder){  
    //ON LANCE L ALERTE
    alert('Bonjour '+a+',\n'+texte1+'\n'+texttopic+'\n'+texte2+'\n'+texte3+'');
if ( confirm( "Confirmation!!!" ) ) {
      
      $('a[href^="/modcp?mode=trash"] img').click();
}
else{}
    
    }
    });

    }

      
    });
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 28 Juin 2020 - 11:35

Re Phil,

Désolé pour mon imprécision.
J'aurais du écrire automatiquement après validation.

J'essaie dès que possible et je reviens.

Je ne peux plus accéder à mon forum. J'ai la page "Maintenance en cours" dans toutes les langues.
Je crois que FA est en train de bosser.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 28 Juin 2020 - 11:44

Pas de soucis Serge,
pour la maintenance tout est redevenu à la normale.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 28 Juin 2020 - 11:57

Pas chez moi Phil.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 28 Juin 2020 - 12:39

Ah merdouille,
on se revoit ce soir désormais clin oeil
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 28 Juin 2020 - 12:53

OK Philippe,

Je suis en train de tester tout me semble OK.

Bonne journée.
A ce soir.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 28 Juin 2020 - 13:10

C'est tout bon Philippe.

J'ai même aussi utilisé ton tout premier script avec l'alerte pour le forum des séries /f5 où là le déplacement doit se faire à partir du panneau de modération (vers f/19).

Un grand merci l'ami pour ces nouvelles pépites tape la
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 28 Juin 2020 - 15:07

De rien Serge,


Hello


Sujet résolu et déplacé dans le forum adéquate

A bientôt pour une prochaine demande clin oeil



Voir le sujet précédent Voir le sujet suivant Revenir en haut

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum