Intégration de X7Chat
Bonjour a tous,
C’est mon premier sujet dans le forum de pragmamx.fr
Après plusieurs tentatives j’ai réussi a intégré X7Chat dans le forum SMF qui et lui aussi intégrer à pragmaMX, je veut dire par intégré d’utilisé la même BD que SMF, par la suite les utilisateurs enregistrés dans pragmaMX n’aurons plus obligés a s’enregistrer a nouveau dans X7Chat, et lorsqu’ils cliquent sur le lien présent dans le forum (ou un module indépendant dans pragmaMX), ils seront automatiquement reconnus sans passer par la page (login), a condition qu’on active les cookies dans le fichiers (settings.php)
Voici la procédure :
1 téléchargement de la dernière version de X7chat a :
http://www.x7chat.com/ (
http://x7chat.com/releases/v2/x7chat2_0_5.zip) v2.05
2 copier le contenue du repertoir x7chat » /modules/Forum/smf/chat « vous pouvez le nommé comme vous voulez ex :chat
2 créé un fichier .php et donnez lui le nom de pragmamx.php par exemple
copier dedans ce code:
<?PHP
// PragmaMX With SMF 1.1.1
// This file holds data on authentication
$auth_ucookie = "X7C2U";
$auth_pcookie = "X7C2P";
$auth_register_link = "../../../../modules.php?name=Your_Account&op=new_user";
$auth_disable_guest = false;
// Preserve X7 Chat $prefix variable
$temp_prefix = $prefix;
include("./pragmamx.php"); // get configuration from SMF setting file.
//include("../../../../modules/Userinfo/view.php");
$pragmamx_prefix = $prefix."_";
$prefix = $temp_prefix;
// Make a database connection to the PragmaMX database
$pragmamxdb = new x7chat_db($dbhost,$dbuname,$dbpass,$dbname);
if(isset($HTTP_COOKIE_VARS['user']) && @$HTTP_COOKIE_VARS['user'] != ""){
$cookie = $HTTP_COOKIE_VARS['user'];
$cookie = base64_decode($cookie);
$cookie = explode(":", $cookie);
$_COOKIE['X7C2U'] = @$cookie[1];
$_COOKIE['X7C2P'] = @$cookie[2];
}
function auth_encrypt($data){
return md5($data);
}
function auth_getpass($auth_ucookie){
GLOBAL $pragmamxdb,$pragmamx_prefix,$txt,$db,$g_default_settings,$prefix,$x7c;
$query = $pragmamxdb->DoQuery("SELECT pass FROM {$pragmamx_prefix}users WHERE uname='$_COOKIE[$auth_ucookie]'");
$password = $pragmamxdb->Do_Fetch_Row($query);
// Check if they have an X7 Chat account
if($password[0] != ""){
$query = $db->DoQuery("SELECT * FROM {$prefix}users WHERE username='$_COOKIE[$auth_ucookie]'");
$row = $db->Do_Fetch_Row($query);
if($row[0] == ""){
// Create an X7 Chat account for them.
$time = time();
$ip = $_SERVER['REMOTE_ADDR'];
$db->DoQuery("INSERT INTO {$prefix}users (id,username,password,status,user_group,time,settings,hideemail,ip) VALUES('0','$_COOKIE[$auth_ucookie]','$password[0]','$txt[150]','{$x7c->settings['usergroup_default']}','$time','{$g_default_settings}','0','$ip')");
}
}
return $password[0];
}
function change_pass($user,$newpass){
GLOBAL $pragmamxdb,$pragmamx_prefix;
$newpass = auth_encrypt($newpass);
$query = $pragmamxdb->DoQuery("UPDATE {$pragmamx_prefix}members SET passwd='$newpass' WHERE membername='$user'");
}
?>
Mettez ce fichier dans /modules/Forum/smf/chat/lib/auth
Créé un autre fichier , nommé le pragmamx.php, mettez le dans /modules/Forum/smf/chat
Voici son contenue :
<?php
$dbhost = ""; //nom du serveur (localhost)
$dbuname = "";//tapez nom d'utilisateur de la BD
$dbpass = ""; // tappez le mot de psse
$dbname = ""; // le nom de la BD de pragmamx
$prefix = ""; // le préfix de la table
$user_prefix = ""; //......
$dbtype = "MySQL";
$gfx_chk = 0;
$subscription_url = "";
$admin_file = "admin";
$nuke_editor = 1;
$display_errors = false;
//$cookiename = "mx";
?>
il ne reste plus qu' lancer l'installation de x7chat,
dans la première phase de l'installtion il ya une liste déroulante des mode d'integration. choisissez le fichier que vous avez créé
(pragmamx), lasuite et un peut facile..
n'oubliez pas d'activer les cookies dans config.php
$mxConf['mxCreateNukeCookie'] = '1';
pour le module, créé un répertoir ex "chat" dans /modules/
créé un fichier index.php
mettez dedans ce code:
<?PHP
if (!eregi("modules.php", $_SERVER['PHP_SELF'])) {
die ("Vous ne pouvez pas accéder à ce dossier directement...");
}
$module_name = basename(dirname(__FILE__));
include("header.php");
OpenTable();
echo ' <script language="javascript" type="text/javascript">
window.open(".http://votre-site/modules/Forum/smf/chat/","Chat"); // changer votre-site par ????
</script>
Le Chat ce charge dans une nouvelle fenêtre......';
CloseTable();
include("footer.php");
?>
pour le lien dans le forum (c + pratique) ça sera pour la prochaine x
je vous consiel de tester dabord en local(c'est plus sûr)
merci.