HEAVEN AND HELL
http://heavenandhell.fr/

[informatique] - Code PHP
http://heavenandhell.fr/viewtopic.php?f=7&t=9815
Page 1 sur 1

Auteur:  MetallicaMust [ 16 Aoû 2012 19:50 ]
Sujet du message:  [informatique] - Code PHP

On a parlé un peu de code PHP avec Sasayaki no karasu sur le Chat IRC. Du coup, pour présenter du code, c'est mieux de le faire sur forum, donc voilà, je commence :p


----

Pour ceux qui ne le savent pas encore, je me suis servi d'un module de "client IRC online" en Java pour en faire un module se servant de la base de donnée des forum phpBB 3, et ce, sans touché au code natif du forum. alors voilà comment j'ai procédé pour y parvenir.

Déjà, il fallait récupérer les sessions du forum...

J'avais aucune idée de comment faire. En cherchant un peu j'ai trouvé ca :
http://www.tutoriels-video.fr/utiliser-les-sessions-dun-forum-phpbb3/

Donc mon code commence comme suit :


Code:
<?php
    define
('IN_PHPBB', true);
    $phpbb_root_path = '../';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();
?>



Après, il fallait que la personne soit obligatoirement connecté au forum pour avoir accès au module de chat IRC, j'ai donc créer la condition suivante :
    

Code:
<?php
    if 
($user->data['is_registered']) // une petite condition simple pour savoir si il est connecte ou non
        {
            // le membre est connecte, on ne fait rien de particulier ...
        }
    else // sinon
        {
            header("location:../ucp.php?mode=login"); // pas connecte on revoie à la page de connexion du forum...
        }
?>



Après quoi, il faut récupérer quelques données. Le fichier var.inc contient les paramètre de connexion au serveur IRC et le salon dans le quel doit atterrir directement le visiteur de la page. Après on récupère le pseudo du visiteur dans la base de donnée du forum et le thème graphique. En dernier lieu, le nom du forum.


Code:
<?php
    include
("var.inc"); // on ajoute les variables
        
    $pseudo 
= $user->data['username']; // on recupere son pseudo
    
    $theme 
= $user->theme['template_path']; // on recupere le chemin vers son thème
    
    $nom 
= $config['sitename']; // on recupere le nom du forum
?>



Pour finir, il faut savoir que ce module, ne permet pas d'avoir de caractères accentué dans les pseudos et pas de caractères spéciaux, donc il faut une fonction qui analyse les pseudos et qui remplace les caractères invalide. par exemple les caractère : "áàâäã" sont remplacé par "a" et "ÉÈÊË" par "E". Les espace sont remplacé par des _ . Cela fait on va ensuite supprimé tous les autre caractère indésirable avec ce bout de code : [^a-zA-Z0-9_-] qui dit que la chaine de caractère doit entièrement contenir des caractère de "a" à "z" en minuscule et majuscule et des chiffre de 0 à 9 et qu'il faut supprimer tous les autre caractère


Code:
<?php
    function basic_string
($str)
        {
            $entree = array('#[áàâäã]#','#[ÁÀÂÄÃ]#','#[éèêë]#','#[ÉÈÊË]#','#[íìîï]#','#[ÍÌÎÏ]#','#[óòôöõ]#','#[ÓÒÔÖÕ]#','#[úùûü]#','#[ÚÙÛÜ]#','#ÿ#','#Ÿ#','#ç#','#Ç#','# #','#[^a-zA-Z0-9_-]#'); // caractères à remplacr + le reste à supprimer
    
            $sortie 
= array('a','A','e','E','i','I','o','O','u','U','y','Y','c','C','_',''); // Caractères de remplacement
    
            return preg_replace
($entree,$sortie,$str); // A executer
        }
?>



Après ce traitement le pseudo "^Wedge^" par exemple sera transformé en "Wedge" et le pseudo "Sasayaki no karasu" sera transformé en "Sasayaki_no_karasu".



Voilà, le module a maintenant tout ce qu'il faut pour fonctionné immédiatement après l'arrivée de l'utilisateur, sans qu'il n'ait rien à faire et sera directement envoyé dans le bon salon. ;)

Auteur:  Dark Schtroumph [ 20 Aoû 2012 10:21 ]
Sujet du message:  Re: [informatique] - Code PHP

Hum... Très intéressant tout ça même si j'y comprends rien..

Bon, blague à part, j'ai vu ton message sur le chat IRC et franchement félicitations, c'est du bon boulot.

Mais il y'a encore du monde qui va sur l'IRC?


Sinon je suis un peu surpris quand même Metallicamust : ton dernier message datait du 21 août 2006 et là 6 ans après, en trois jours trois messages de ta part...où tu débarques un peu de nul part et où l'on apprend que tu gères des trucs techniques pour le forum... c'est un peu surprenant quand même! (mais rien de grave hein, d'ailleurs si d'autres anciens forumeurs pouvaient faire leur come-back ça ne serait pas un mal, je trouve que le forum n'a jamais été aussi...tristounet, non?)

Auteur:  Janéthefuckinjurist [ 20 Aoû 2012 10:23 ]
Sujet du message:  Re: [informatique] - Code PHP

Mais non ! Les empoignades récentes sont un signe de bonne santé ! :D

Auteur:  noise [ 20 Aoû 2012 10:24 ]
Sujet du message:  Re: [informatique] - Code PHP

En fait on s'est croisé y a 3 semaines et on a pas mal causé forum et tout et tout avec Must, d’où ce retour et son aide précieuse pour mettre en place un lien vers metalclub où oui nous sommes encore pas mal à aller!

Auteur:  MetallicaMust [ 20 Aoû 2012 12:16 ]
Sujet du message:  Re: [informatique] - Code PHP

Effectivement Dark Schtroumph, de prime à bord ça surprend et c'est une longue histoire... Tu sais, en tant que "Webmaster" ayant plusieurs site internet et plusieurs forums à m'occuper, il est vrai que c'est difficile d'être partout... D'ailleurs, mon site principale (http://www.metallicamust.com) est un peu à l'abandon depuis plus de 2 ans faute de temps. Par contre, je n'ai jamais été très loin de ce forum puisque je venais de temps en temps voir ce qui s'y passait sans me connecté parce que je m'étais retrouvé avec un bug pendant pas mal de temps (...longue histoire...).

Bref, pour ce qui nous concerne plus directement noise résume assez bien l'affaire. Par contre, qu'il soit bien claire : je ne gère rien du tout ! Ce que l'on a parlé avec noise concernait uniquement IRC et comment essayé de faire en sorte de le rendre plus vivant avec un minimum de contrainte pour l'utilisateur régulier et/ou occasionnel.

J'ai donc proposé à noise de tenter de créer ce module. (j'aime rendre service pour autant que ce soit dans mes possibilité).

Je me suis fixé comme objectif de faire que ce module soit aussi simple pour l'utilisateur que pour le "webmaster" qui pourrait l'utiliser. Donc 2 conditions :

1. Ce module fonctionne sur la base des compte utilisateur des forums phpBB 3.
2. Il ne doit en rien touché au code natif des forums phpbb 3.

Ainsi le module est entièrement contenu dans un seul dossier qu'il suffit de supprimé du serveur le jour où l'on ne voudrait plus de lui.

Pour ceux qui connaissent bien phpBB, ceux-ci savent que des MODs qui ne touche pas au code natif de phpBB 3 sont inexistant, il y a toujours au minimum 3 fichiers de phpBB 3 à modifié pour le fonctionnement de MOD. Donc là c'est une optique plus simple et plus légère.


---


Cela fait, je l'ai mis à disposition de H&H.
Je précise que j'ai juste mis a disposition, les boss de H&H avaient le choix de prendre ou pas. Mais c'est vrai que ca fait plaisir de voir que son travail a été approuvé et qu'il est utilisé.

Et après une période de fonctionnement plus ou moins longue de fonctionnement (je veux voir si des amélioration sont possible, nécessaire, souhaitable, etc...) je le mettrai à disposition de l'ensemble de la communauté de phpBB, qui eux, n'auront qu'à entrer les coordonnée de connexion à IRC dans un fichier avant de Up-loader sur leurs serveurs.


---


Pour finir avec la petite histoire, j'ai promis a noise d'essayé de venir plus souvent et de me remettre a participé la moindre à ce forum. Ce petit module force un peu le premier pas du retour :p

Quoi qu'il en soit, même si l'on ne me vois pas, je suis toujours a disposition par e-mail ou par MP, mais encore une fois, je vais essayé de participé plus ici et sur IRC ;)

Voilà ;)

Auteur:  Muscu [ 20 Aoû 2012 12:30 ]
Sujet du message:  Re: [informatique] - Code PHP

Question, qu'est-ce qu'il se passe si un pseudo utilisé sur le forum est déjà pris par quelqu'un d'autre sur worldnet ?
Ca te connecte en anonyme ou ça plante ? Si ça plante, y'a un message ?

(si on prend "Max" par exemple, y'a de fortes chances que quelqu'un utilise déjà ce pseudo sur IRC. Sur certains serveurs y'a déjà un "Muscu" aussi, mais là en général sur worldnet ça va)

Perso, comme d'hab, j'traine tout le temps sur IRC quand j'suis chez moi, mais pas sur le même serveur, donc j'pense jamais à me re-connecter aussi sur worldnet (le fait d'avoir changé de pc et perdu tous les "perform" de mon client mIRC n'ayant pas aidé).

Edit:
Autre question, plus factuelle cette fois :
Quand je suis l'url j'ai pas d'applet java qui se lance.
Faut une version particulière de JRE ? (j'suis au boulot, win XP SP3 + Firefox + JRE 1.6.0_30 et j'pourrai pas installer de 1.7 sur ce poste là pour raison d'incompatibilité avec certaines appli métier)
J'testerai chez moi ce soir au pire.

Auteur:  ZoSo [ 20 Aoû 2012 12:49 ]
Sujet du message:  Re: [informatique] - Code PHP

Je sais pas si ça répond de manière certaine à ta question mais moi ça marchait pas, j'ai installé 1.7, et ça marche.

Auteur:  Muscu [ 20 Aoû 2012 12:58 ]
Sujet du message:  Re: [informatique] - Code PHP

Ouais c'est ce que je me disais.
Bon bah j'l'utiliserai pas au boulot, tant pis.
(j'suis pas censé trainer sur IRC au boulot tu me diras)

Auteur:  Rabbitman [ 20 Aoû 2012 16:26 ]
Sujet du message:  Re: [informatique] - Code PHP

Muscu a écrit:
Question, qu'est-ce qu'il se passe si un pseudo utilisé sur le forum est déjà pris par quelqu'un d'autre sur worldnet ?
Ca te connecte en anonyme ou ça plante ? Si ça plante, y'a un message ?

Ca plante, et il y a un message qui dit que le pseudo est déjà pris.

Auteur:  MetallicaMust [ 20 Aoû 2012 17:02 ]
Sujet du message:  Re: [informatique] - Code PHP

Muscu a écrit:
Question, qu'est-ce qu'il se passe si un pseudo utilisé sur le forum est déjà pris par quelqu'un d'autre sur worldnet ?
Ca te connecte en anonyme ou ça plante ? Si ça plante, y'a un message ?
Rabbitman a écrit:
Ca plante, et il y a un message qui dit que le pseudo est déjà pris.


Euh... Le terme de "planté" n'est pas correcte dans ce cas.

Le module, comme tout client IRC commence par se synchronisé avec le serveur IRC. A ce moment là, si le pseudo est déjà existant il te met un message (en rouge) t'invitant à changer ou modifié ton pseudo. Tu as alors 1 minute (sauf erreur) avant d'être déconnecté du serveur.

Le pseudo se trouve en haut à gauche du module. Habituellement on ajoute un tiret bas pour entrer dans le salon et, si on le souhaite, c'est après qu'on prend le temps de choisir un autre pseudo.

C'est la même chose si ton pseudo est protégé par mot de passe sur IRC, tu auras 1 minute pour t'identifier avec ton mot de passe à NickServ.

Muscu a écrit:
Quand je suis l'url j'ai pas d'applet java qui se lance.
Faut une version particulière de JRE ?


Il ne faut pas de version particulière de Java, simplement l'une des dernière version. moi j'ai la version JRE 1.6.0_33 et ca fonctionne parfaitement.

Par contre, je sais que d'autre personnes ont des problèmes malgré avoir tout mis en ordre et là je pense que c'est l'antivirus qui doit intervenir pour bloqué le lancement de Java en vue d'une connexion externe. Mais ça, ça reste une supposition.

Voilà ;)

Auteur:  Muscu [ 21 Aoû 2012 13:26 ]
Sujet du message:  Re: [informatique] - Code PHP

J'ai pas eu le temps de tester chez moi, mais au boulot y'a rien qui gueule au niveau de l'antivirus (c'est moi qui le gère dans ma boîte).
Pas de blocages particuliers niveau proxy ou firewall non plus a priori.

Faudrait que je tente depuis un autre navigateur pour voir (mais là tout de suite j'me souviens pas de mon mot de passe, haha ;D).

Auteur:  MetallicaMust [ 21 Aoû 2012 23:40 ]
Sujet du message:  Re: [informatique] - Code PHP

Si vraiment ca ne fonctionne pas tu peux utiliser le module complémentaire de FireFox ChatZilla qui est un un Client IRC de base. Ou alors utiliser un client IRC traditionnel, voilà une petite liste.

Auteur:  Muscu [ 22 Aoû 2012 19:47 ]
Sujet du message:  Re: [informatique] - Code PHP

T'inquiète j'connais pas mal IRC, ça doit faire 11 ans que j'traine là-dessus, je scriptais même un peu à une époque. Mais merci, ça servira sans doute à d'autres.
Que ça marche pas au boulot ça me gêne pas en soi, j'aimerais juste trouver pourquoi, par curiosité.

Chez moi j'viens de tester et ça marche nickel en tout cas.

Auteur:  MetallicaMust [ 22 Aoû 2012 21:14 ]
Sujet du message:  Re: [informatique] - Code PHP

Tu as toujours eu ce même pseudo depuis le début sur IRC ?

Auteur:  maynine [ 22 Aoû 2012 22:18 ]
Sujet du message:  Re: [informatique] - Code PHP

Juste pour info Must, pour moi le module ne fonctionne pas plus en passant par H&H qu'ailleurs.

Auteur:  MetallicaMust [ 22 Aoû 2012 23:18 ]
Sujet du message:  Re: [informatique] - Code PHP

Ouais, mais je n'ai aucune explication. La seule hypothèse que j'ai c'est que ton antivirus ou le Firewall bloque l’exécution du module sans message. Il perçoit un danger et il bloque de manière préventive.

Je ne vois pas d'autre explication :?

Auteur:  Muscu [ 23 Aoû 2012 11:05 ]
Sujet du message:  Re: [informatique] - Code PHP

MetallicaMust a écrit:
Tu as toujours eu ce même pseudo depuis le début sur IRC ?

Ouais, j'traine surtout sur Epiknet.
(j'ai pas que des passages très glorieux dans mon historique ircéen, genre quand mon pseudo était interdit au même titre que Hitler à force de faire chier les ircops c'était un peu spécial ;D)

Auteur:  MetallicaMust [ 23 Aoû 2012 13:00 ]
Sujet du message:  Re: [informatique] - Code PHP

Si tu étais sur tout sur Epiknet ça explique pourquoi je n'ai aucun souvenir de toi sur IRC ;)

Muscu a écrit:
j'ai pas que des passages très glorieux dans mon historique ircéen, genre quand mon pseudo était interdit au même titre que Hitler à force de faire chier les ircops


Serais-tu devenu sage depuis cette époque ? :siffle:

Auteur:  Muscu [ 23 Aoû 2012 15:54 ]
Sujet du message:  Re: [informatique] - Code PHP

Avec le temps on finit par se lasser.
Et puis c'est fatiguant de contourner les bannissements, à force.
(j'me souviens qu'on allait flooder des chans érotico-bizarres comme #charme ou #plaisir-solitaire-feminin, haha, la bonne époque)

Page 1 sur 1 Heures au format UTC + 1 heure
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/