Voir les messages sans réponses | Voir les sujets actifs Nous sommes le 28 Mar 2024 15:43



Répondre au sujet  [ 19 messages ] 
 [informatique] - Code PHP 
Auteur Message
Barde
Avatar de l’utilisateur

Inscription: 09 Oct 2004 23:30
Messages: 93
Localisation: Orbe (Suisse - VD) / Genève (Suisse - GE)
Répondre en citant le message
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. ;)

_________________


16 Aoû 2012 19:50
Profil Site Internet
Skeleton In The Forum
Avatar de l’utilisateur

Inscription: 14 Mar 2004 23:12
Messages: 9025
Localisation: Savigny sur orge (91)
Répondre en citant le message
Message 
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?)


20 Aoû 2012 10:21
Profil Site Internet
Long Distance Runner
Avatar de l’utilisateur

Inscription: 15 Mar 2004 17:04
Messages: 3541
Répondre en citant le message
Message 
Mais non ! Les empoignades récentes sont un signe de bonne santé ! :D

_________________
"So the choice is often between a well made master that used less than today's best gear or a very poorly made master that was captured accurately by more modern gear." Barry Diament


20 Aoû 2012 10:23
Profil
En ligne
Ce mec a floodé, je l'ai vu !
Avatar de l’utilisateur

Inscription: 14 Mar 2004 20:49
Messages: 25256
Localisation: Cambrai
Répondre en citant le message
Message 
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!

_________________
It's the nexus of the crisis and the origin of storms


20 Aoû 2012 10:24
Profil Site Internet
Barde
Avatar de l’utilisateur

Inscription: 09 Oct 2004 23:30
Messages: 93
Localisation: Orbe (Suisse - VD) / Genève (Suisse - GE)
Répondre en citant le message
Message 
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à ;)

_________________


20 Aoû 2012 12:16
Profil Site Internet
Long Distance Runner
Avatar de l’utilisateur

Inscription: 29 Mai 2004 22:27
Messages: 4420
Localisation: Paris
Répondre en citant le message
Message 
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.

_________________
Ma page Last.fm
Ma page RYM


20 Aoû 2012 12:30
Profil
Crimson Idol
Avatar de l’utilisateur

Inscription: 30 Sep 2008 18:53
Messages: 2866
Répondre en citant le message
Message 
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.

_________________
His hope was to remind the world that fairness, justice, and freedom are more than words, they are perspectives.


20 Aoû 2012 12:49
Profil
Long Distance Runner
Avatar de l’utilisateur

Inscription: 29 Mai 2004 22:27
Messages: 4420
Localisation: Paris
Répondre en citant le message
Message 
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)

_________________
Ma page Last.fm
Ma page RYM


20 Aoû 2012 12:58
Profil
Long Distance Runner
Avatar de l’utilisateur

Inscription: 14 Mar 2004 13:10
Messages: 4247
Localisation: Caeen
Répondre en citant le message
Message 
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.

_________________
L'art de la citation est l'art de ceux qui ne savent pas réfléchir par eux-même.

Voltaire


20 Aoû 2012 16:26
Profil
Barde
Avatar de l’utilisateur

Inscription: 09 Oct 2004 23:30
Messages: 93
Localisation: Orbe (Suisse - VD) / Genève (Suisse - GE)
Répondre en citant le message
Message 
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à ;)

_________________


20 Aoû 2012 17:02
Profil Site Internet
Long Distance Runner
Avatar de l’utilisateur

Inscription: 29 Mai 2004 22:27
Messages: 4420
Localisation: Paris
Répondre en citant le message
Message 
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).

_________________
Ma page Last.fm
Ma page RYM


21 Aoû 2012 13:26
Profil
Barde
Avatar de l’utilisateur

Inscription: 09 Oct 2004 23:30
Messages: 93
Localisation: Orbe (Suisse - VD) / Genève (Suisse - GE)
Répondre en citant le message
Message 
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.

_________________


21 Aoû 2012 23:40
Profil Site Internet
Long Distance Runner
Avatar de l’utilisateur

Inscription: 29 Mai 2004 22:27
Messages: 4420
Localisation: Paris
Répondre en citant le message
Message 
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.

_________________
Ma page Last.fm
Ma page RYM


22 Aoû 2012 19:47
Profil
Barde
Avatar de l’utilisateur

Inscription: 09 Oct 2004 23:30
Messages: 93
Localisation: Orbe (Suisse - VD) / Genève (Suisse - GE)
Répondre en citant le message
Message 
Tu as toujours eu ce même pseudo depuis le début sur IRC ?

_________________


22 Aoû 2012 21:14
Profil Site Internet
Grand'ma
Avatar de l’utilisateur

Inscription: 14 Mar 2004 14:08
Messages: 1463
Localisation: Au ranch.
Répondre en citant le message
Message 
Juste pour info Must, pour moi le module ne fonctionne pas plus en passant par H&H qu'ailleurs.

_________________
Avertissement: Écouter du Prog nuit gravement à votre intégrité physique et peut provoquer des mutations imprévisibles.


22 Aoû 2012 22:18
Profil Site Internet
Barde
Avatar de l’utilisateur

Inscription: 09 Oct 2004 23:30
Messages: 93
Localisation: Orbe (Suisse - VD) / Genève (Suisse - GE)
Répondre en citant le message
Message 
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 :?

_________________


22 Aoû 2012 23:18
Profil Site Internet
Long Distance Runner
Avatar de l’utilisateur

Inscription: 29 Mai 2004 22:27
Messages: 4420
Localisation: Paris
Répondre en citant le message
Message 
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)

_________________
Ma page Last.fm
Ma page RYM


23 Aoû 2012 11:05
Profil
Barde
Avatar de l’utilisateur

Inscription: 09 Oct 2004 23:30
Messages: 93
Localisation: Orbe (Suisse - VD) / Genève (Suisse - GE)
Répondre en citant le message
Message 
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:

_________________


23 Aoû 2012 13:00
Profil Site Internet
Long Distance Runner
Avatar de l’utilisateur

Inscription: 29 Mai 2004 22:27
Messages: 4420
Localisation: Paris
Répondre en citant le message
Message 
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)

_________________
Ma page Last.fm
Ma page RYM


23 Aoû 2012 15:54
Profil
Afficher les messages postés depuis:  Trier par  
Répondre au sujet   [ 19 messages ] 

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 17 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
Powered by phpBB® Forum Software © phpBB Group
Designed by STSoftware for PTF.
Traduction par: phpBB-fr.com