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] Mp spécifique dans un sujet


2 participants

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

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

Messagephotoclic Mar 13 Avr 2021 - 15:11

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

Philippe m'avait développé ceci qui permet entre autre d'envoyer un mp.
https://www.milouze14.com/t32737-resoluphpbb3-envoyer-un-mp-sur-evenement

Serait-il possible dans le même esprit :
. dans le forum /f16-photos-gagnantes d'ajouter un bouton "Envoyer un MP" en bas à gauche de la 1ière photo et destiné uniquement aux admins et modérateurs.
. Au clic sur ce bouton, envoyer un message à l'auteur de la 1ière photo postée avec ce texte:
"Bonjour  et félicitations xxxx, ta photo yyyyy a été élue photo Best-of de la semaine".
. Ce bouton ne serait plus visible une fois le mail envoyé comme pour le développement précédent.

xxxx étant l'auteur de la photo, et yyyyy le lien de la photo.

Merci pour votre aide.


Dernière édition par photoclic le Mer 14 Avr 2021 - 19:44, édité 1 fois

Milouze14 aime ce message

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

Messagephotoclic Mar 13 Avr 2021 - 15:40

Oh, je viens de me rendre compte que j'ai un problème avec cette demande car la photo postée dans ce forum est récupérée dans le post de l'auteur puis postée par un admin ou modo qui crée le sujet automatiquement à l'aide d'un bouton et ajoute  la photo.

Donc l'auteur de la photo d'origine n'y est pas.

Faudrait donc qu'à la création du sujet, ajouté l'auteur, mais je ne sais comment faire et sous quelle forme.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mar 13 Avr 2021 - 16:09

Hello Serge,

alors là , je ne comprends strictement rien à ta demande lOL ,

ne serais tu pas le créateur du schmilblick MdR .

Bon sérieusement on va commencer par le début.

Faudrait donc qu'à la création du sujet, ajouté l'auteur, mais je ne sais comment faire et sous quelle forme.

C'est déjà le cas Serge!!
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Mar 13 Avr 2021 - 18:54

Bonjour Philippe,

C'est vrai que ma demande n'est ni claire ni simple, un peu à mon image finalement MdR1

Mais comme je suis en perpétuelle réflexion, je vais essayer de faire plus simple au niveau demande et réalisation.

Alors le 1ier message du post dans le forum /f16-photos-gagnantes avec le bouton "Envoyer un MP" :
Spoiler:

Au clic sur ce bouton, une fenêtre d'envoi de mp s'ouvre avec le texte "Bonjour et félicitations xxxx, ta photo yyyyy a été élue photo Best-of de la semaine".
. Ce bouton si cela est possible ne serait plus visible une fois le mail envoyé.

xxxx étant l'auteur de la photo, et yyyyy le lien de la photo seront complété par le modérateur ou admin.

Merci pour ta patience Philippe.

Milouze14 aime ce message

Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mer 14 Avr 2021 - 7:10

Hello Serge,
alors après réflexion,

si on veut masquer le lien du mp après avoir envoyé le mp on doit afficher une icône de message différente,
donc je vais partir de là car on ne pourra pas procéder autrement.

Voir la procédure:
https://forum.forumactif.com/t183061-les-icones-de-messages#1783800

Rien ne s'affichera car j'ai imposé une boite de confirmation:
Si on accepte alors on affiche:

[PHPBB3] Mp spécifique dans un sujet 331

Sinon annule alors:

[PHPBB3] Mp spécifique dans un sujet 415

Le script affichera donc le lien et le lien de la première photo si une icône de message précise n'est pas réellement définie.


Je reviendrais vers toi pour cela après avoir terminé le script.

Si l’icône n'est pas présente alors on affiche le lien de l'image (sélection au click( copier/coller) et le lien du mp en dessous.

Ce bloc sera positionné juste avant la première image:

Aperçus imagés:

[PHPBB3] Mp spécifique dans un sujet 1284

Au click sur le lien du MP:

[PHPBB3] Mp spécifique dans un sujet 2110
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mer 14 Avr 2021 - 10:32

Le script est prêt, il faut ajouter cette image Serge dans la gestion des icône de message:
Donner les droits aux modérateurs:

https://i.servimg.com/u/f20/20/11/87/27/serge11.png

Ensuite dès que le modo ou admin passe sur le message, il verra ceci:
Le code html déposé dans le textarea (qui au clic sera sélectionné il suffira de copier coller le contenu ) .
L'avantage de procéder ainsi, c'est l'insertion du contenu dans le MP.


Une fois le contenu copié , il restera plus qu'à injecter le contenu copié dans le corps de message du message privé.

Ensuite il est impératif de cliquer sur le bouton nommé"Modifier l icône du sujet"
, le script s'occupera du reste si tu respectes bien le lien de l'image donné plus haut: c'est à dire:

https://i.servimg.com/u/f20/20/11/87/27/serge11.png

Le visuel :

[PHPBB3] Mp spécifique dans un sujet 1285



Si tu modifies l'image ci dessus, il faudra la modifier aussi dans le script au début ici:
Code:
//SI L ICONE DE MESSAGE SUIVANT ALORS ON ANNULE L ACTION
if($('h2.topic-title img[src="https://i.servimg.com/u/f20/20/11/87/27/serge11.png"]').length)return;
Et aussi à la fin ici:
Code:
 
$('img[src="https://i.servimg.com/u/f20/20/11/87/27/serge11.png"]').closest('label').find('input').click();
 


Le script dans sa totalité:


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

Mettre un titre explicite.

Cocher sur toutes les pages.


Déposer ceci:

Code:

$(function(){        
//SI L ICONE DE MESSAGE SUIVANT ALORS ON ANNULE L ACTION
if($('h2.topic-title img[src="https://i.servimg.com/u/f20/20/11/87/27/serge11.png"]').length)return;
var M14_LiNk_mp=$('.postprofile:first a[href^="/privmsg?mode=post"]').attr('href');
//ON VERIFIE SI ON A LE DROIT DE SUPPRIMER LE SUJET
var moder=$('a[href^="/modcp?mode=delete"]').length;
if(moder)
{        
var edit=$('.postbody:first .profile-icons a[href$="mode=editpost"]');
//ON VERIFIE SI ON EST SUR LE FORUM F16
var t=$('a.nav[href^="/f16-"]').length;
var a=_userdata["username"];
//LES TEXTES DE CONFIRMATION
var texte1="Hello ";
var texte2="désirez vous voir le lien du sujet et de la photo et l'envoyer en message privé?";
//LE TEXTE SI ACTION ANNULEE
var nonconfirm="Action annulée";
$('span[class="rep-nb"]:first').each(function(){
var liketest=$(this).text();
  //ON RECHERCHE LA PREMIERE PHOTO NON SMILEY/EMOJI
var photo=$('.postbody:first .content img:first:not([longdesc]):not([src*="twemoji"])').attr('src');
var linktopic=$('.postbody:first h2.topic-title a[href^="/t"]').attr('href');  
//SI 3 LIKES//FORUM//SI MODERATION//SI PHOTO
if(liketest==3&&t&&moder&&photo)
{
//ON LANCE LA COMMANDE
if ( confirm(''+texte1+' '+a+', \n '+texte2+'') )
{
var linkedit=edit.attr('href');
var $this=linkedit.match(/\d+/);
$('.postbody:first .content div:first').before('<div class="M14_importe_link">
<textarea onclick="this.select();" title="Selectionner le contenu"><br /><a href="'+linktopic+'" title="Voir le sujet de la photo"><img src="'+photo+'"/></a></textarea> <br /> <a id="M14_dialMp" target="_blank"href='+M14_LiNk_mp+'&testmp=true>Envoyer un MP</a><br /><a href="'+linkedit+'&testedit"target="_blank">Modifier l icone du sujet</a></div>');
}
else {alert(nonconfirm);}

}        
});
}      

if(location.href.match(/&testmp=true/))
{
var m=$('form[action="/privmsg"]').length;
 if(m)
 {
var member=$('input[id="username"]').val();
 //LE TEXTE DU SUJET
var sujet="Félicitations";
//LE CONTENU DU ESSAGE
var hello="Bonjour et félicitations ";
var espace=" , ";
var message="\ncette photo a été élue photo Best-of de la semaine.\n\n";
var hr="[hr]";  
$('input[name="subject"]:first').val(''+sujet+' '+member+'!!!');
$("#text_editor_textarea").val(''+hello+member+espace+message+hr+'');
 }
}  
if(location.href.match(/testedit/))
{
$('form[method="post"][name="post"]').each(function(){
$('img[src="https://i.servimg.com/u/f20/20/11/87/27/serge11.png"]').closest('label').find('input').click();
$('input[name="post"][value="Envoyer"]').click();  });
}
  
});

Penser a cliquer sur le bouton Valid


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

Ajouter ceci:

Code:

.M14_importe_link{background:#666;color: #20aec8;width:90%;margin: 5px;text-align: center;padding:10px;}
.M14_importe_link a{color:#20aec8;}

Penser a cliquer sur le bouton [PHPBB3] Mp spécifique dans un sujet Sans_t10




Et voilou, si tu respectes tout cela tout devrait fonctionner clin oeil
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mer 14 Avr 2021 - 10:51

@photoclic ,

Serge,

oups, pour les tests j'avais positionné la valeur des likes à 1,
je viens de modifier le script.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Mer 14 Avr 2021 - 10:58

Bonjour Philippe,

Merci pour tout ce travail.

Ah, tu es parti sur une piste totalement différente de ce que tu m'avais fait dans le lien cité tout en haut:
https://www.milouze14.com/t32737-resoluphpbb3-envoyer-un-mp-sur-evenement
Le bouton disparaissait bien après avoir cliqué dessus.
Mais ta nouvelle piste me plait aussi.


Alors, il me semble avoir fait tout comme tu m'as dit mais cela n'envoie pas le mp.

J'ai bien ajouté l'icone dans les images de message.
Si j'ai bien compris, cette icone est à cocher lors de la création du message.

J'ai édité un message pour qu'elle apparaisse bien à droite du titre du sujet.

Quand je clique sur cette icone, j'ai l'infobulle de l'image, mais je n'enclenche pas l'envoi de mp.

Par ailleurs, cette icone apparait sur tous les messages, ce serait mieux si elle était que sur le premier message.

Je l'ai fait sur 2 messages, l'un en note, l'autre en normal, respectivement ici:
https://photoclic.forum-pro.fr/t23343-photo-gagnante-semaine-14#M14
https://photoclic.forum-pro.fr/t23259-photo-gagnante-semaine-12#M14








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

Messagephotoclic Mer 14 Avr 2021 - 11:00

Nos messages se sont croisés.

Philippe, je ne comprends pas pourquoi tu me parles des likes ici.
Il n'y a pas de système de like dans le forum /f16.

Je dois m'absenter, je reviens en fin d'après midi.

Je t'ai mis en admin si tu veux voir.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mer 14 Avr 2021 - 11:46

@photoclic  ,
ah merdouille, j'étais resté sur l'ancienne astuce.
Alors j'ai modifié le script :
Code:
//Envoi MP pour photos gagnantes

$(function(){        
//SI L ICONE DE MESSAGE SUIVANT ALORS ON ANNULE L ACTION
if($('h2.topic-title img[src="https://i.servimg.com/u/f20/20/11/87/27/serge11.png"],h2.topic-title img[src="https://i.servimg.com/u/f20/20/11/87/27/annonc10.png"],h2.topic-title img[src="https://i.servimg.com/u/f20/20/11/87/27/note10.png"]').length)return;
var M14_LiNk_mp=$('.postprofile:first a[href^="/privmsg?mode=post"]').attr('href');
//ON VERIFIE SI ON A LE DROIT DE SUPPRIMER LE SUJET
var moder=$('a[href^="/modcp?mode=delete"]').length;
if(moder)
{        
var edit=$('.postbody:first .profile-icons a[href$="mode=editpost"]');
//ON VERIFIE SI ON EST SUR LE FORUM F16
var t=$('a.nav[href^="/f16-"]').length;
var a=_userdata["username"];
//LES TEXTES DE CONFIRMATION
var texte1="Hello ";
var texte2="désirez vous voir le lien du sujet et de la photo et l'envoyer en message privé?";
//LE TEXTE SI ACTION ANNULEE
var nonconfirm="Action annulée";

  //ON RECHERCHE LA PREMIERE PHOTO NON SMILEY/EMOJI
var photo=$('.postbody:first .content img:first:not([longdesc]):not([src*="twemoji"])').attr('src');
var linktopic=$('.postbody:first h2.topic-title a[href^="/t"]').attr('href');  
//SI 3 LIKES//FORUM//SI MODERATION//SI PHOTO
if(t&&moder&&photo)
{
//ON LANCE LA COMMANDE
if ( confirm(''+texte1+' '+a+', \n '+texte2+'') )
{
var linkedit=edit.attr('href');
var $this=linkedit.match(/\d+/);
$('.postbody:first .content div:first').before('<div class="M14_importe_link">
<textarea onclick="this.select();" title="Selectionner le contenu"><br /><a href="'+linktopic+'" title="Voir le sujet de la photo"><img src="'+photo+'"/></a></textarea> <br /> <a id="M14_dialMp" target="_blank"href='+M14_LiNk_mp+'&testmp=true>Envoyer un MP</a><br /><a href="'+linkedit+'&testedit"target="_blank">Modifier l icone du sujet</a></div>');
}
else {alert(nonconfirm);}

}        

}      

if(location.href.match(/&testmp=true/))
{
var m=$('form[action="/privmsg"]').length;
 if(m)
 {
var member=$('input[id="username"]').val();
 //LE TEXTE DU SUJET
var sujet="Félicitations";
//LE CONTENU DU ESSAGE
var hello="Bonjour et félicitations ";
var espace=" , ";
var message="\ncette photo a été élue photo Best-of de la semaine.\n\n";
var hr="[hr]";  
$('input[name="subject"]:first').val(''+sujet+' '+member+'!!!');
$("#text_editor_textarea").val(''+hello+member+espace+message+hr+'');
 }
}  
if(location.href.match(/testedit/))
{
$('form[method="post"][name="post"]').each(function(){
$('img[src="https://i.servimg.com/u/f20/20/11/87/27/serge11.png"]').closest('label').find('input').click();
$('input[name="post"][value="Envoyer"]').click();  });
}
  
});


Pour que le script fonctionne avec les confirmations,
il est impératif de ne pas mettre l'image donnée.

J'en ai profité pour désactiver l'option sur les annonces et les notes comme la condition ci-après:
Code:
if($('h2.topic-title img[src="https://i20.servimg.com/u/f20/20/11/87/27/811.png"],h2.topic-title img[src="https://i.servimg.com/u/f20/20/11/87/27/annonc10.png"],h2.topic-title img[src="https://i.servimg.com/u/f20/20/11/87/27/note10.png"]').length)return;

Le script va fonctionner sur ce sujet:
https://photoclic.forum-pro.fr/t23259-photo-gagnante-semaine-12#292978
L'icône est une image vide ( d'ailleurs je ne vois pas pourquoi!! ) :

Comme le montre cette capture

[PHPBB3] Mp spécifique dans un sujet 1286


J'ai modifié l'image dans tes icônes de messages par celle-ci:

https://i.servimg.com/u/f20/20/11/87/27/811.png

J'en ai aussi profité pour ajouter le lien de cette image:
https://i.servimg.com/u/f20/20/11/87/27/balloo13.png
sur l'icône par défaut afin que tout fonctionne parfaitement.
Tu peux modifier cette dernière par une autre, cela n'a pas d'incidence Serge.
Par contre l'autre il faudra la modifier aussi dans le script à deux reprises.

J'ai aussi ajouté ceci dans ta feuille de style:
Code:
/*CORRECTION SUR LES ICONES DE MESSAGE AJOUTES SUR LA LISTE DES MESSAGES*/
.topics dl.icon dd.dterm{background-image:none!important;}

Cela empêche l'affichage des icônes de messages de venir se superposer sur les icônes de base sur le liste des sujets.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Mer 14 Avr 2021 - 19:00

Re Phil,

Merci Philippe.
Alors j'ai essayé tout ça et quelques précisions me sont nécessaires.

Lorsque j'accepte l'envoi de mp, une fenêtre s'ouvre me proposant le lien de l'image.
Si j'ai bien compris, je sélectionne le contenu et le copie pour ensuite cliquer sur "Envoyer un mp" et le coller ensuite dans le message du mp.

Jusque là tout va bien.

En bas du message avant envoi, j'ai
Code:
[hr]
.C'est pour tracer une ligne, mais où doit-elle apparaitre?

Ensuite une confusion Phil. Le destinataire n'est pas le posteur du message (le posteur du message est toujours un admin ou un modo), mais l'auteur de la photo.
Tu ne peux pas connaitre l'auteur ici, c'est pour cela que celui-ci doit obligatoirement être renseigné par le modo.
Donc après hello, il faudrait mettre xxxx et le modo remplacera ça par le pseudo de l'auteur de la photo.

Tu proposes aussi le bouton modifier l'icone du sujet. Pourrais-tu me préciser sa fonction et quand l'utiliser.

Voilà Phil, je poursuis mes essais.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mer 14 Avr 2021 - 19:13

Re Serge,




Lorsque j'accepte l'envoi de mp, une fenêtre s'ouvre me proposant le lien de l'image.


Oui faut copier le code html.
Et l'insérer après la ligne que tu mentionnes.


alors cette barre sert de séparation, présente dans le script ici:

Code:
var hr="[hr]";  

et ici:
Code:
$("#text_editor_textarea").val(''+hello+member+espace+message+hr+'');



Édit, cela doit être bon pour l'auteur, le modo ou l'admin pourra renseigner l'auteur  impeccable .


Laisses moi les accès au PA.

Tu proposes aussi le bouton modifier l'icone du sujet. Pourrais-tu me préciser sa fonction et quand l'utiliser.

Je pensais avoir été clair ici:
https://www.milouze14.com/t32986-phpbb3-mp-specifique-dans-un-sujet#629405

Il est impératif de modifier l'icône de message afin de ne plus avoir les confirmations Serge.
Donc comme chaque lien s'ouvre dans une nouvelle fenêtre ,
l'icône de message se fera automatiquement.
Et le mp, tu connais la procédure .
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Mer 14 Avr 2021 - 19:36

Merci Phil pour ces compléments d'infos.

J'avais en fait quasiment tout saisi, mais je voulais être sur.

Tu es en admin Philippe et tu as les accès PA depuis le début.

Je pense avoir tout tester. et c'est tout bon.
Encore une excellente réalisation!

Un grand merci l'ami pour tout ça  tape la
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Jeu 15 Avr 2021 - 5:42

Hello Serge,
si tout est bon pour toi alors c'est bon aussi pour moi hinhin .
De rien et bientôt cher ami .


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