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] Auteur du post sur image déplacée

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

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

Messagephotoclic Jeu 30 Juil 2020 - 11:16

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

Arnaud m'a écrit ce script qui déplace une photo dans un sujet particulier correspondant au vote de la semaine.

Serait-il possible d'ajouter à côté du titre "Vote", l'auteur de la photo comme ici?
Spoiler:

Le Script:
Code:

$(function(){
try{
var minWidth=10,minHeight=8;
var activeOn=["f1","f4"];
/*Ne rien modifier de ce qui suit*/
tstRegs=[];
photovote=false;
$vB=$(".postbody .vote-button:first a").first();
$poll=$vB.parentsUntil('.vote').parent();
for( i in activeOn){
  tstRegs.push(new RegExp("^\/"+activeOn[i]+"-","i"));
}

$(".pathname-box:first a").each(function(){
for(i in tstRegs){
  if(photovote=tstRegs[i].test($(this).attr("href")))break;
}
});

if(photovote&&/^\/t\d+-/g.test(document.location.pathname)){

$.get("/f12-",function(d){
var coll=[],id_subject=false;
var $img_s=$vB.parentsUntil(".postbody").parent().find(".content img");
$img_s.each(function(){
if(this.width>=minWidth&&this.height>=minHeight)coll.push('[img]'+this.src+'[/img]')}
);
/*id_subject ...*/
$(".announcement .topictitle[href]",d).each(function(){if(/^Semaine\W+du\W+\d+/i.test($(this).text()))id_subject=$(this).attr("href").match(/^\/t(\d+)/)[1]});
if(!coll.length||!id_subject)return;

$vB.html('<img id="bouton_voter" src="https://i.servimg.com/u/f84/18/97/96/21/bouton10.png" alt="Voter" title="Je vote pour cette photo" />');
$vB.parentsUntil(".postbody").parent().find(".profile-icons").append($("<li/>"));
$poll.attr('class','vote-photo');
$poll.html($vB);
$poll.appendTo($vB.parentsUntil(".postbody").parent().find(".profile-icons li:last"));
$vB.click(function(ev){
ev.preventDefault();
$.get($(this).attr("href"));
$.post('/post',{mode:'reply',t:id_subject,subject:'vote',message:coll.join('<br />'),post:'Envoyer'});
$poll.html('<img src="https://2img.net/i/fa/optimisation_fdf/common/buttonok_off.png"  alt="Vote enregistré" title="Vote enregistré" />');
  });
$('img#bouton_voter').tooltipster({
      animation : 'fade',
      arrow : true,
      speed : 300,
      delay : 300,
      onlyOne : true,
      theme : 'tooltipster-default'
});  
})
/***/
};

Merci pour votre aide.


Dernière édition par photoclic le Ven 31 Juil 2020 - 16:32, édité 1 fois
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Jeu 30 Juil 2020 - 18:13

Re Serge,

on va essayer tout de même.

si je comprends bien ,on part de ces forums f1 et f4 .

Ensuite on se base sur quoi pour déposer dans le fofo f12?
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Jeu 30 Juil 2020 - 18:20

Alors quand un membre clique sur le bouton Vote qui se trouve sur le premier message du forum f4 ou f1, la photo du message est transférée automatiquement dans un sujet spécifique du forum f12.

Ce sujet spécifique commence obligatoirement par "Semaine du" et est en Note dans ce forum.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Jeu 30 Juil 2020 - 18:31

Oki merci et sur les fofos f1 et f4 aucun titre particulier?

On devrait avoir des boutons suivants:
[PHPBB3] Auteur du post sur image déplacée Bouton10

[PHPBB3] Auteur du post sur image déplacée Buttonok_off

Ce script est-il coché sur toutes les pages ?


Il me manque des infos Serge.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Jeu 30 Juil 2020 - 18:52

Non, pas de titre particulier sur f1 et f4.

Oui, c'est bien ce bouton vote qui se trouve en haut à droite du premier message.
Puis après avoir cliqué dessus on a le second bouton que tu as mis.

Je crois que pour ce second bouton, c'est ce script:
Code:

$(".vote").each(function(){
  if(photovote){photovote=0;return}
$(this).find(".vote-button:first a").html('<img src="https://2img.net/i/fa/empty.gif" alt="Voter" title="Je vote pour ce message" />').click(function(ev){
ev.preventDefault();
$.get($(this).attr("href"));
$(this).parent().html('<img src="https://2img.net/i/fa/optimisation_fdf/common/buttonok_off.png"  alt="Vote enregistré" title="Vote enregistré" />')}
                                                                                                                                              
);
$(this).closest(".postbody").find("ul.profile-icons").append("<li />").find("li:last").append($(this).find(".vote-button:first a")).append($(this).find(".vote-bar").length?' <div class="vote-count" title="Nombre de votes positifs">'+$(this).find(".vote-bar").attr("title").replace(/^.*\(([0-9]*) .*?\)$/,"$1"):"")+'</div>';
$(this).remove()
}
)}
catch(e){
console.log(e)}
});

Oui, ces codes sont sur toutes les pages.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Jeu 30 Juil 2020 - 18:58

Merci Serge,
je n'ai pas ces boutons qui s'affichent de mon côté,
il manque des informations car j'ai une erreur dans la console...

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

Messagephotoclic Jeu 30 Juil 2020 - 19:05

Pour que ça fonctionne, ne pas interdire les formulaires non officiels dans général->sécurité.

je crois pas qu'il y ait autre chose.
Les erreurs sont peut-être dues au fait que tu n'as pas de forum f12 qui s'appelle Photovote, et/ou qu'il n'y a pas la Note qui commence par "Semaine du ....."
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Jeu 30 Juil 2020 - 19:09

Tu n'as pas non plus le bouton sur ton propre message, car tu ne peux voter pour ta propre photo.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Jeu 30 Juil 2020 - 19:14

Tout est réunis Serge pour que tout fonctionne,
il fallait savoir que le forum devait se nommer Photovote .

Bref malgré ce changement je n'ai toujours rien de mon côté.

Tu n'as pas non plus le bouton sur ton propre message, car tu ne peux voter pour ta propre photo.

Je m'en suis douté Serge.
J'avais prit les devants clin oeil .

[PHPBB3] Auteur du post sur image déplacée 1163
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Jeu 30 Juil 2020 - 19:17

Tu as toujours une erreur dans la console?

Je t'ai remis en admis, si cela peut t'aider.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Jeu 30 Juil 2020 - 19:22



Je t'ai remis en admis, si cela peut t'aider.

Merci, mais cela ne m'aide pas mon ami.

Peu importe l'erreur de la console Serge,
si il fonctionne sur ton fofo il doit fonctionner sur mon fofo de tests.





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

Messagephotoclic Jeu 30 Juil 2020 - 19:28

Oui, ça devrait fonctionner aussi chez toi.

Je cherche aussi de mon coté ce qui pourrait manqué comme info.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Jeu 30 Juil 2020 - 19:33

Oki Serge,
je verrais désormais cela demain matin hinhin .

Bonne soirée l'ami et à demain.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Jeu 30 Juil 2020 - 19:36

D'après l'image que tu m'as mise, tu as cette barre verte quand tu as voté.
Pour remplacer la barre verte, j'ai ce css:

Code:

/*remplacement barre verte vote par smiley à voté*/
.vote .vote-bar-plus
    {
      background-color: transparent;
      background-image:url(https://i.servimg.com/u/f31/19/32/37/01/hzzv2813.png);
      background-repeat:no-repeat;
      background-position:center;      
      width:50px;
      margin-left: -35px;
    border: none !important;
    }

.vote .vote-bar {
 border: none;
}

Cette fois je crois que tu as tout Philippe

Bonne soirée, à demain.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Ven 31 Juil 2020 - 4:22

Hello Serge,
bon déjà il y a de l'avancement dans la demande.
Revenant de ton fofo et ayant accès au PA.
Le script n'est pas celui-ci:
Code:

    $(function(){
    try{
    var minWidth=10,minHeight=8;
    var activeOn=["f1","f4"];
    /*Ne rien modifier de ce qui suit*/
    tstRegs=[];
    photovote=false;
    $vB=$(".postbody .vote-button:first a").first();
    $poll=$vB.parentsUntil('.vote').parent();
    for( i in activeOn){
      tstRegs.push(new RegExp("^\/"+activeOn[i]+"-","i"));
    }

    $(".pathname-box:first a").each(function(){
    for(i in tstRegs){
      if(photovote=tstRegs[i].test($(this).attr("href")))break;
    }
    });

    if(photovote&&/^\/t\d+-/g.test(document.location.pathname)){

    $.get("/f12-",function(d){
    var coll=[],id_subject=false;
    var $img_s=$vB.parentsUntil(".postbody").parent().find(".content img");
    $img_s.each(function(){
    if(this.width>=minWidth&&this.height>=minHeight)coll.push('[img]'+this.src+'[/img]')}
    );
    /*id_subject ...*/
    $(".announcement .topictitle[href]",d).each(function(){if(/^Semaine\W+du\W+\d+/i.test($(this).text()))id_subject=$(this).attr("href").match(/^\/t(\d+)/)[1]});
    if(!coll.length||!id_subject)return;

    $vB.html('<img id="bouton_voter" src="https://i.servimg.com/u/f84/18/97/96/21/bouton10.png" alt="Voter" title="Je vote pour cette photo" />');
    $vB.parentsUntil(".postbody").parent().find(".profile-icons").append($("<li/>"));
    $poll.attr('class','vote-photo');
    $poll.html($vB);
    $poll.appendTo($vB.parentsUntil(".postbody").parent().find(".profile-icons li:last"));
    $vB.click(function(ev){
    ev.preventDefault();
    $.get($(this).attr("href"));
    $.post('/post',{mode:'reply',t:id_subject,subject:'vote',message:coll.join('<br />'),post:'Envoyer'});
    $poll.html('<img src="https://2img.net/i/fa/optimisation_fdf/common/buttonok_off.png"  alt="Vote enregistré" title="Vote enregistré" />');
      });
    $('img#bouton_voter').tooltipster({
          animation : 'fade',
          arrow : true,
          speed : 300,
          delay : 300,
          onlyOne : true,
          theme : 'tooltipster-default'
    }); 
    })
    /***/
    };

Car incomplet, mais celui-ci:

Code:

//Bouton voter sur sujets no-way ttes pages
//Ne pas interdire les formulaires non officiels dans général->sécurité
$(function(){
try{
var minWidth=10,minHeight=8;
var activeOn=["f1","f4"];
/*Ne rien modifier de ce qui suit*/
tstRegs=[];
photovote=false;
$vB=$(".postbody .vote-button:first a").first();
$poll=$vB.parentsUntil('.vote').parent();
for( i in activeOn){
  tstRegs.push(new RegExp("^\/"+activeOn[i]+"-","i"));
}

$(".pathname-box:first a").each(function(){
for(i in tstRegs){
  if(photovote=tstRegs[i].test($(this).attr("href")))break;
}
});

if(photovote&&/^\/t\d+-/g.test(document.location.pathname)){

$.get("/f4-",function(d){
var coll=[],id_subject=false;
var $img_s=$vB.parentsUntil(".postbody").parent().find(".content img");
$img_s.each(function(){
if(this.width>=minWidth&&this.height>=minHeight)coll.push('[img]'+this.src+'[/img]')}
);
/*id_subject ...*/
$(".announcement .topictitle[href]",d).each(function(){if(/^Semaine\W+du\W+\d+/i.test($(this).text()))id_subject=$(this).attr("href").match(/^\/t(\d+)/)[1]});
if(!coll.length||!id_subject)return;

$vB.html('<img id="bouton_voter" src="https://i.servimg.com/u/f84/18/97/96/21/bouton10.png" alt="Voter" title="Je vote pour cette photo" />');
$vB.parentsUntil(".postbody").parent().find(".profile-icons").append($("<li/>"));
$poll.attr('class','vote-photo');
$poll.html($vB);
$poll.appendTo($vB.parentsUntil(".postbody").parent().find(".profile-icons li:last"));
$vB.click(function(ev){
ev.preventDefault();
$.get($(this).attr("href"));
$.post('/post',{mode:'reply',t:id_subject,subject:'vote',message:coll.join('<br />'),post:'Envoyer'});
$poll.html('<img src="https://2img.net/i/fa/optimisation_fdf/common/buttonok_off.png"  alt="Vote enregistré" title="Vote enregistré" />');
  });
$('img#bouton_voter').tooltipster({
      animation : 'fade',
      arrow : true,
      speed : 300,
      delay : 300,
      onlyOne : true,
      theme : 'tooltipster-default'
}); 
})
/***/
};

$(".vote").each(function(){
  if(photovote){photovote=0;return}
$(this).find(".vote-button:first a").html('<img src="https://2img.net/i/fa/empty.gif" alt="Voter" title="Je vote pour ce message" />').click(function(ev){
ev.preventDefault();
$.get($(this).attr("href"));
$(this).parent().html('<img src="https://2img.net/i/fa/optimisation_fdf/common/buttonok_off.png"  alt="Vote enregistré" title="Vote enregistré" />')}
                                                                                                                                             
);
$(this).closest(".postbody").find("ul.profile-icons").append("<li />").find("li:last").append($(this).find(".vote-button:first a")).append($(this).find(".vote-bar").length?' <div class="vote-count" title="Nombre de votes positifs">'+$(this).find(".vote-bar").attr("title").replace(/^.*\(([0-9]*) .*?\)$/,"$1"):"")+'</div>';
$(this).remove()
}
)}
catch(e){
console.log(e)}
});

Le script est désormais fonctionnel, reste plus qu'à trouver la parade pour l'auteur.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 31 Juil 2020 - 11:28

Bonjour Philippe,

Ravi que tout soit cette fois fonctionnel chez toi aussi.
Une parade pas évidente à trouver j'imagine.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Ven 31 Juil 2020 - 16:11

Re Serge,

si j'avais eu le script dans sa totalité dès le départ pascontentGrrrrrr .

Il devrait être fonctionnel Serge.

Code:
//Bouton voter sur sujets no-way ttes pages
//Ne pas interdire les formulaires non officiels dans général->sécurité
$(function(){
try{
var minWidth=10,minHeight=8;
var activeOn=["f1","f4"];
/*Ne rien modifier de ce qui suit*/
tstRegs=[];
photovote=false;
$vB=$(".postbody .vote-button:first a").first();
$poll=$vB.parentsUntil('.vote').parent();
for( i in activeOn){
  tstRegs.push(new RegExp("^\/"+activeOn[i]+"-","i"));
}

$(".pathname-box:first a").each(function(){
for(i in tstRegs){
  if(photovote=tstRegs[i].test($(this).attr("href")))break;
}
});

if(photovote&&/^\/t\d+-/g.test(document.location.pathname)){

$.get("/f12-",function(d){
var coll=[],id_subject=false;
var $img_s=$vB.parentsUntil(".postbody").parent().find(".content img");
$img_s.each(function(){
if(this.width>=minWidth&&this.height>=minHeight)coll.push('[img]'+this.src+'[/img]')}
);
/*id_subject ...*/
$(".announcement .topictitle[href]",d).each(function(){
if(/^Semaine\W+du\W+\d+/i.test($(this).text()))id_subject=$(this).attr("href").match(/^\/t(\d+)/)[1]});
if(!coll.length||!id_subject)return;

$vB.html('<img id="bouton_voter" src="https://i.servimg.com/u/f84/18/97/96/21/bouton10.png" alt="Voter" title="Je vote pour cette photo" />');
$vB.parentsUntil(".postbody").parent().find(".profile-icons").append($("<li/>"));
$poll.attr('class','vote-photo');
$poll.html($vB);
$poll.appendTo($vB.parentsUntil(".postbody").parent().find(".profile-icons li:last"));
$vB.click(function(ev){
 var auteur=$(this).closest('.postbody').find('.author a[href^="/u"]').text();
ev.preventDefault();
$.get($(this).attr("href"));
$.post('/post',{mode:'reply',t:id_subject,subject:'vote pour '+auteur+'',message:coll.join('<br />'),post:'Envoyer'});
$poll.html('<img src="https://2img.net/i/fa/optimisation_fdf/common/buttonok_off.png"  alt="Vote enregistré" title="Vote enregistré" />');
  });
$('img#bouton_voter').tooltipster({
      animation : 'fade',
      arrow : true,
      speed : 300,
      delay : 300,
      onlyOne : true,
      theme : 'tooltipster-default'
}); 
})
/***/
};

$(".vote").each(function(){
  if(photovote){photovote=0;return}
$(this).find(".vote-button:first a").html('<img src="https://2img.net/i/fa/empty.gif" alt="Voter" title="Je vote pour ce message" />').click(function(ev){
ev.preventDefault();
$.get($(this).attr("href"));
$(this).parent().html('<img src="https://2img.net/i/fa/optimisation_fdf/common/buttonok_off.png"  alt="Vote enregistré" title="Vote enregistré" />')}
                                                                                                                                             
);
$(this).closest(".postbody").find("ul.profile-icons").append("<li />").find("li:last").append($(this).find(".vote-button:first a")).append($(this).find(".vote-bar").length?' <div class="vote-count" title="Nombre de votes positifs">'+$(this).find(".vote-bar").attr("title").replace(/^.*\(([0-9]*) .*?\)$/,"$1"):"")+'</div>';
$(this).remove()
}
)}
catch(e){
console.log(e)}
});
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 31 Juil 2020 - 16:31

Re Phil,

Oui désolé de t'avoir donné ça en 2 fois.
Pris dans mes sauvegardes au lieu de le prendre directement sur mon fofo où je ne le trouvais plus voulant aller vite pascontentGrrrrrr

Sinon c'est génial Philippe c'est impec!

Un grand merci l'ami tape la
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mar 23 Mar 2021 - 6:26

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