Comment simplifier la vie de Orion???

Une simple question, pas de souci, nous sommes là pour y répondre.
Règles du forum
Pour toute demande d'aide commencez par indiquer :
  • votre matériel complet et votre système d'exploitation.
  • Si ces conditions ne sont pas remplies, où bien incomplètes le sujet ne sera pas traité.
  • Et surtout donnez de vos nouvelles sans laisser traîner pendant des semaines, voire des mois !
Ikki
    unknown unknown

Comment simplifier la vie de Orion???

Message par Ikki »

Bonjour à tous,

Etant modo de notre super forum, je me dois de regarder tous les nouveaux sujets/prez/réponses sur les différents topics.
Pour se faire, j’utilise la page http://www.team-aaz.com/search.php?search_id=newposts" onclick="window.open(this.href);return false;
Et je clique droit / nouvel onglet sur" Voir le premier message non lu" ( carré orange à gauche de chaque topic).

Quand il y a qu'une dizaine de topics non lus ça va, mais quand y en a 2 voir 3 pages ( après une absence de plus de 24h), celà devient chiant de faire clic droit ouvrir un nouvel onglet sur chaque carré orange.

Donc je cherche un plug in ou un script qui pourrait me le faire automatiquement dès que je l'active ou autre.
Ah oui, je n'utilise que Firefox ( version 4.0 actuellement ) de ma Liberkey.

Je fais donc appel aux dev et autres techniciens qui ont envie de se casser la tête sur ce challenge.

Je reste à votre disposition pour plus de renseignements ou différents tests.

merci bien à vous tous.

PS: Si celà marche pour ce forum, je l'appliquerais à bon nombre de mes autres forums.
Avatar du membre
oOZz
Visiteurs
Visiteurs
Messages : 1028
Enregistré le : ven. 7 janv. 2011 11:10
    unknown unknown

Re: Comment simplifier la vie de Orion???

Message par oOZz »

installe l'extension Greasemonkey, trouve quelqu'un qui sait écrire en javascript

Le script doit faire:
- recherche de l'élément "icon_topic_newest.gif"
- lire le lien dans la balise href précédente :

Code : Tout sélectionner

<a href="./viewtopic.php?f=4&t=2619&view=unread#unread"><img src="./styles/subsilver2/imageset/icon_topic_newest.gif" width="18" height="9" alt="Voir le premier message non lu" title="Voir le premier message non lu"></a>
- envoyer un nouvel onglet avec ce lien

y a ka comme on dit.

Je peut te donner un début de structure, faudrait s'y pencher un peu plus pour les commandes d'éxécution:

Code : Tout sélectionner

// ==UserScript==
// @name           TeamAAZ Read Unread messages in Tab
// @namespace      
// @identifier     
// @version        0.1
// @date           05-04-2011
// @description    Ouvre les nouveaux mesages non lu dans des onglets
// @include        http://www.team-aaz.com/search.php?search_id=unreadposts
// @include        http://www.team-aaz.com/search.php?search_id=newposts
// ==/UserScript==

// ChangeLog
// 0.1     05-04-2011     Creation

// ------------------------------------------------------
window.addEventListener('load', function() {
var doc=unsafeWindow.document;

// ------------------------------------------------------
ecrire ici le code javascript (une RegEXP dans le contenu html irait bien) pour rechercher la chaine: "icon_topic_newest.gif"

régler une variable (exemple: Allhref) avec les valeurs des href précédent chaque itération avec la fonction xpath ça devrais le faire, du genre:
var Allhref=doc.evaluate(xpath,doc,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);

envoyer la fonction firefox d'ouvrir tous les liens de la variable Allhref dans des onglets, doit pouvoir trouver ça sur https://developer.mozilla.org/fr/docs

Mais attention tu va souffrir de ralentissements s'il y a 25 liens vois 50... 50 onglet lol ! j'y pense même pas !

// ------------------------------------------------------
}, false);
"J’adorerais changer le monde, mais ils ne veulent pas me fournir le code source!"
:tmi:
"$! v0u$ p0uv32 1!r3 c3c!, v0u$ 4v32 vr4!m3n7 83$0!n d3 r!3n !"
gibe
Membre VIP
Membre VIP
Messages : 4215
Enregistré le : jeu. 2 déc. 2010 08:43
A remercié : 7 fois
A été remercié : 10 fois
    unknown unknown

Re: Comment simplifier la vie de Orion???

Message par gibe »

+1 d'autant que souvent certains répondent avant les admin et/ou les modérateurs du coup on ne sait plus où on en est des nouveaux inscrits ; souhaitant la bienvenue même si la présentation est mauvais et on a des relances : "pkoi ke chui po ok" ?
Quand tu auras ton script tu pourras le diffuser stp ?
Merci :)
Image Parfois je me dis que les gens vont se rendre compte de l'arnaque de la mondialisation, du tout électrique, de la cancel culture et qu'ils vont faire la révolution. Puis je réalise que les gens regardent Hanouna, Plus belle la vie, etc.
Ikki
    unknown unknown

Re: Comment simplifier la vie de Orion???

Message par Ikki »

Merci de l'aide, je vais étudier ça même si je pense que ça doit déjà exister..
Avatar du membre
oOZz
Visiteurs
Visiteurs
Messages : 1028
Enregistré le : ven. 7 janv. 2011 11:10
    unknown unknown

Re: Comment simplifier la vie de Orion???

Message par oOZz »

tien, j'en ai trouvé un de tout fait. Il faut juste le mettre à jour car plus développé.

http://userscripts.org/scripts/show/4681" onclick="window.open(this.href);return false;

Sous FF4, je ne sais pas quelle fonction n'est pas à jour mais le script n'ouvre pas les onglet

Installe le script, et quand tu es sur la page http://www.team-aaz.com/search.php?search_id=newposts" onclick="window.open(this.href);return false;

clic droit sur greasemonkey, menu "User Script commands..." t'a le choix: Tout ouvrir, ouvrir les 5 premiers, les 10 premiers.

Le script est prévu pour que ça fonctionne sur:
- les nouveau messages ( */search.php?*search_id=newposts* )
- Les forums ( */viewforum.php?f=* )

si tu veux le faire marcher sur d'autres pages il te suffit d'ajouter une ligne par exemple:

Code : Tout sélectionner

// @include        */search.php?*search_id=unreadposts*
Après recherches j'y suis presque.

Voici ce que donne le script épuré, simplifié mais pas encore tout à fait fonctionnel:

Code : Tout sélectionner

// ==UserScript==
// @name           Open recent message
// @namespace      
// @description    
// @include        */search.php?*search_id=newposts*
// @include        */search.php?*search_id=unreadposts*
// @include        */viewforum.php?f=*
// ==/UserScript==
//
// --------------------------//

//--- Je défini mes variables ---
var strLabel;
var allLinks, thisLink, maxLinks;
var i;

// -- Définition titres des commandes
LabelAll = "Tous les nouveaux messages";
LabelOnly05 = "Voir les 5 premier messages";
LabelOnly10 = "Voir les 10 premier messages";

// -- Définition des commandes --
GM_registerMenuCommand(LabelAll, openRecentPostsAll);
GM_registerMenuCommand(LabelOnly05, openRecentPosts05);
GM_registerMenuCommand(LabelOnly10, openRecentPosts10);

// Recherche des liens qui sont sur l'icone icon_topic_newest.gif
allLinks = document.evaluate(
      "//a[contains(@href, 'unread#unread')]",
      document, null,   XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null
      );

// -- Envoi des commandes
function openRecentPostsAll() {
   openRecentPosts(0);
   }
function openRecentPosts05() {
   openRecentPosts(5);
   }
function openRecentPosts10() {
   openRecentPosts(10);
   }

// -- Ouverture des liens dans des onglets      
function openRecentPosts(maxLinks) {
   if (maxLinks == 0) {
      maxLinks = allLinks.snapshotLength;
      }
   for (var i = 0; i < maxLinks; i++) {
      if (i == maxLinks) {
         break;
         }
      thisLink = allLinks.snapshotItem(i);
//      alert(thisLink.href);
      GM_openInTab(thisLink.href);
      }
   }
Le problème c'est que la commande GM_openInTab casse la boucle for.
Et donc je n'ai qu'un onglet qui s'ouvre, le premier trouvé.

J'ai ajouté " // alert(thisLink.href); " pour la vérification qu'il trouve bien les liens. décommente la ligne, "commente" la suivante en ajoutant // et tu verras.


EDIT:

Tiens change la dernière section par ça:

Code : Tout sélectionner

// -- Ouverture des liens dans des onglets      
function openRecentPosts(maxLinks) {
   if (maxLinks == 0) {
      maxLinks = allLinks.snapshotLength;
      }
   for (var i = 0; i < maxLinks; i++) {
      if (i == maxLinks) {
         break;
         }
      //thisLink = allLinks.snapshotItem(i);
      //alert(thisLink.href);
      //GM_openInTab(thisLink.href);
      window.open(allLinks.snapshotItem(i).href);
      }
   }
ça marche, sauf que tu dois impérativement forcer firefox à ouvrir les liens dans des onglet (dans les options).

je regarde pour ajouter les fonction directement en haut dans un des menu du fofo.
"J’adorerais changer le monde, mais ils ne veulent pas me fournir le code source!"
:tmi:
"$! v0u$ p0uv32 1!r3 c3c!, v0u$ 4v32 vr4!m3n7 83$0!n d3 r!3n !"
Ikki
    unknown unknown

Re: Comment simplifier la vie de Orion???

Message par Ikki »

Merci de ton aide. Je vais tester ça cette nuit tranquille au taffe..
Avatar du membre
oOZz
Visiteurs
Visiteurs
Messages : 1028
Enregistré le : ven. 7 janv. 2011 11:10
    unknown unknown

Re: Comment simplifier la vie de Orion???

Message par oOZz »

moi j'ai eu de ERREUR 500 de la part du serveur. 10 requètes en même temps (dans la même seconde) sur le fofo... houlaaaa... Prof va pas aimer...
"J’adorerais changer le monde, mais ils ne veulent pas me fournir le code source!"
:tmi:
"$! v0u$ p0uv32 1!r3 c3c!, v0u$ 4v32 vr4!m3n7 83$0!n d3 r!3n !"
Avatar du membre
Prof
Administrateur du site
Administrateur du site
Messages : 8259
Enregistré le : lun. 5 avr. 2010 20:07
Localisation : Vosges
A remercié : 3 fois
A été remercié : 8 fois
Contact :
    unknown unknown

Re: Comment simplifier la vie de Orion???

Message par Prof »

Il lui en faut plus... :twisted: :twisted:
Règlement du forum
Toute demande d'aide ou de liens par MP est inutile !
gibe
Membre VIP
Membre VIP
Messages : 4215
Enregistré le : jeu. 2 déc. 2010 08:43
A remercié : 7 fois
A été remercié : 10 fois
    unknown unknown

Re: Comment simplifier la vie de Orion???

Message par gibe »

...il y a du ban dans l'air....
Image Parfois je me dis que les gens vont se rendre compte de l'arnaque de la mondialisation, du tout électrique, de la cancel culture et qu'ils vont faire la révolution. Puis je réalise que les gens regardent Hanouna, Plus belle la vie, etc.
Ikki
    unknown unknown

Re: Comment simplifier la vie de Orion???

Message par Ikki »

Pas grave si il mets de spages 500 sur chaque onglet, je les relancerai avec actualiser les onglets et comme j'utilisais load progressively tabs, ca ne chargerais pas en même temps.
Mince Load ne marche pas sous FF4, faut que je lui trouve un remplaçant, je trouvais aussi FF4 plus long à charger
Verrouillé