1
svaha
Chat module
  • 2006/3/7 12:18

  • svaha

  • Just can't stay away

  • Posts: 896

  • Since: 2003/8/2 2


I found a very good chat for my forum X7 chat(see for yourself)

This chat can be connected with the xoops_database to recieve info on user/password and fill this info into its own database.
To 'do' this it uses an 'aut' file

PHP
/////////////////////////////////////////////////////////////// 
//
//        X7 Chat Version 2.0.0
//        Released July 27, 2005
//        Copyright (c) 2004-2005 By the X7 Group
//        Website: http://www.x7chat.com
//
//        This program is free software.  You may
//        modify and/or redistribute it under the
//        terms of the included license as written  
//        and published by the X7 Group.
//  
//        By using this software you agree to the         
//        terms and conditions set forth in the
//        enclosed file "license.txt".  If you did
//        not recieve the file "license.txt" please
//        visit our website and obtain an official
//        copy of X7 Chat.
//
//        Removing this copyright and/or any other
//        X7 Group or X7 Chat copyright from any
//        of the files included in this distribution
//        is forbidden and doing so will terminate
//        your right to use this software.
//    
////////////////////////////////////////////////////////////////EOH
?>    // For XOOPS 2.2.4 

    // This file holds data on authentication
    
$auth_ucookie "X7C2U";
    
$auth_pcookie "X7C2P";
    
$auth_register_link "../register.php";
    
$auth_disable_guest true;
    
    
// Get the XOOPS config file
    
$xoopsOption['nocommon'] = 1;
    require(
"../mainfile.php");
    
    
// Make a database connection to the XOOPS database
    
$xoopsdb = new x7chat_db(XOOPS_DB_HOST,XOOPS_DB_USER,XOOPS_DB_PASS,XOOPS_DB_NAME);
    
$table_prefix XOOPS_DB_PREFIX."_";
    
    if(isset(
$_COOKIE["PHPSESSID"])){
        
$cvalue $_COOKIE["PHPSESSID"];
        
$q $xoopsdb->DoQuery("SELECT sess_data FROM {$table_prefix}session WHERE sess_id='$cvalue'");
        
        
$cinfo $xoopsdb->Do_Fetch_Row($q);
        if(
$cinfo[0] != ""){
            
// Get user ID
            
eregi("^xoopsUserId|[^;]*",$cinfo[0],$match);
            
$match[0] = eregi_replace("xoopsUserID|","",$match[0]);
            
$suid unserialize($match[0]);

// changed uname to loginname            
            
$q $xoopsdb->DoQuery("SELECT loginname,pass FROM {$table_prefix}users WHERE uid='$suid'");
            
$xoopsname $xoopsdb->Do_Fetch_Row($q);
            
$_COOKIE['X7C2U'] = $xoopsname[0];
            
$_COOKIE['X7C2P'] = $xoopsname[1];
        }
    }
    
    function 
auth_encrypt($data){
        return 
md5($data);
    }
    
    function 
auth_getpass($auth_ucookie){
        GLOBAL 
$xoopsdb,$table_prefix,$txt,$db,$g_default_settings,$prefix,$x7c;
        
// Changed uname in loginname
        
$query $xoopsdb->DoQuery("SELECT pass FROM {$table_prefix}users WHERE loginname='$_COOKIE[$auth_ucookie]'");
        
$password $xoopsdb->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 $table_prefix,$xoopsdb;
//        $newpass = auth_encrypt($newpass);
// changed uname in loginname
//        $query = $xoopsdb->DoQuery("UPDATE {$table_prefix}users SET pass='$newpass' WHERE loginname='$user'");
    
}

?>


Now all is wel, with exception of users that autologin to my site, they can't get into the chat because of a fatal error.

Now I wonder if it's possible to turn this chat into a module, so there is no need for authorisation of a user?

Login

Who's Online

271 user(s) are online (180 user(s) are browsing Support Forums)


Members: 0


Guests: 271


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Nov 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits