Vcomputadoras.com

flashchat-6-0-8 and PHP fusion V7.02.03

Flashchat 6.0.8 and PHP-FUSION V7.02.03 Integration.
Works also with older version PHP-FUSION v7.02.01 in fact the script was created using this version then tested the version previously announced..

Download available PHP-FUSION v7.02.03

In the v7.01.04 and maybe lower the php-fusion team still used md5() hashed to encrypt the user_passoword, but in version 7.02.01 and over the encryption was updated for use of more secured hashes..
This is good, better protection overall..

  • Connect the usernames from database.
  • Super Admin becomes Admin in Flashchat 6.0.8
  • Admin user Without any privileges in PHP-FUSION becomes Moderator in Flashchat 6.0.8
  • Auto login when user is logged in PHP-FUSION V7 site.
  • Login to the chat and to the site using Flashchat login Form..
  • User banned cannot login the chat if is banned from the PHP-FUSION site itself..

The php files that we need to create are the following:

In the folder “/inc/cmses” create “fusion7_02_03CMS.php” will use this higher version because I created the script thinking in this specific version..

<?php
/*
 * Integration fix by Neumann Valle aka utan, july 30, 2011
 * original code and post at http://vcomputadoras.com/flashchat-6-0-8-php-fusionv7-02-03/
 * where php-fusion used hash_hmac() for hashing passwords.
 * 
 * */
ini_set('display_errors', 'OFF');
error_reporting(E_ALL);

$fusion_root_path = realpath(dirname(__FILE__) . '/../../../') . '/';

require_once($fusion_root_path . 'config.php');

class FusionCMS {

    var $userid;
    var $loginStmt;
    var $getUserStmt;
	var $getUsersaltStmt;
    var $getUsersStmt;

    function FusionCMS()
	{
	  $this->getUserStmt = new Statement('SELECT user_id AS id, user_name AS login, user_level FROM '.DB_PREFIX.'users WHERE user_id=? LIMIT 1');
      $this->getUsersStmt = new Statement('SELECT user_id AS id, user_name as login FROM '.DB_PREFIX.'users');

      $this->userid = NULL;

      if (isset($_COOKIE[COOKIE_PREFIX."user"])) {
        $cookie_vars = explode('.', $_COOKIE[COOKIE_PREFIX."user"]);
	    $cookie_1 = is_numeric($cookie_vars['0']) ? $cookie_vars['0'] : NULL;
        $cookie_2 = (preg_match('/^[0-9a-z]{32}$/', $cookie_vars['1']) ? $cookie_vars['1'] : '');

        $this->userid = $cookie_1;
      }

    }


    function isLoggedIn() {
        return $this->userid;
    }

    function getRoles($group) {
        $rv = ROLE_USER;

        if ($group == 101)
        {
          $rv = ROLE_USER;
        }

        if ($GLOBALS['fc_config']['liveSupportMode'] && $group == 101)
        {
          $rv = ROLE_CUSTOMER;
        }

        if ($group == 102)
        {
          $rv = ROLE_MODERATOR;
        }

        if ($group == 103)
        {
          $rv = ROLE_ADMIN;
        }

        return $rv;

    }

    function getUserProfile($userid) {

        if ($userid == SPY_USERID) $rv = NULL;

        elseif ($user = $this->getUser($userid)) {

          $rv = ($id = $this->isLoggedIn() && ($id == $userid)) ?  '../edit_profile.php' : '../profile.php?lookup=' . $userid;

          return $rv;
        }
    }


    function getUser($userid) {

      // if ($userid == SPY_USERID) return NULL;

      $rv = NULL;

      if(($rs = $this->getUserStmt->process($userid)) && ($rec = $rs->next())) {
        $rec['roles'] = $this->getRoles($rec['user_level']);
        $rv = $rec;
      }
      return $rv;
    }

    function login($login, $password) {
	$this->loginStmt = new Statement("SELECT * FROM ".DB_PREFIX."users WHERE user_name='".$login."'");
	
      $rs = $this->loginStmt->process();
      $rec = $rs->next();
	  
	  if ((hash_hmac($rec['user_algo'] , $password , $rec['user_salt'])) === $rec['user_password'])
	  {

       if ($rec['user_status']) return NULL; /* user is banned from the site */
        $cookieExpiration = time() + 172800;
	
	    $key = hash_hmac($rec['user_algo'], $rec['user_id'].$cookieExpiration, $rec['user_salt']);
		$hash = hash_hmac($rec['user_algo'], $rec['user_id'].$cookieExpiration, $key );
		
        $cookie_value = $rec['user_id'].".".$cookieExpiration.".".$hash;
		setcookie(COOKIE_PREFIX."user", $cookie_value, $cookieExpiration, '/', '', '0');

        return $rec['user_id'];

      }

    }

	function userInRole($userid, $role) {
		if($user = $this->getUser($userid)) {
			return ($user['roles'] == $role);
		}
		return false;
	}

    function logout() {

    }

    function getUsers() {

        $rv = $this->getUsersStmt->process();
        return $rv;

    }

	function getGender($userid) {
        // 'M' for Male, 'F' for Female, NULL for undefined
        return NULL;
    }
}
$GLOBALS['fc_config']['db'] = array(
    'host' => $db_host,
    'user' => $db_user,
    'pass' => $db_pass,
    'base' => $db_name,
    'pref' => DB_PREFIX . 'fc_'
    );

$GLOBALS['fc_config']['cms'] = new FusionCMS();


foreach($GLOBALS['fc_config']['languages'] as $k => $v) {
    $GLOBALS['fc_config']['languages'][$k]['dialog']['login']['moderator'] = '';
}

?>

Now we need to override “consts.php” located in the “install_files” folder with the new content .. copy paste everything overriding the old content..

<?php
/**
 ** Constants used for installation file.
 **/

define('INC_DIR', dirname(__FILE__) . '/../inc/');//for config.php

define('NAVY_FILE_SIZE', 1992);//necessary for check uploaded in binary mode

define('CHAT_ROOMS', 'The Lounge, Hollywood, Tech Talk, Current Events');//default rooms

define('CONFIG_FILE', INC_DIR . 'config.php');

define('INST_DIR', './install_files/');

$cmss = array(
			//'aedatingCMS' => 'aeDating 2.0/3.0 (FlashChat is built in to aeDating 3.x)',
			//'aedatingCMS2'=> 'aeDating 2.0/3.0 (which only permits access to Gold members)',
			//'aedating4CMS'=> 'aeDating 4.0',
			'azdgCMS'     => 'AZDG Dating Lite 2.1.2',
			'cpgNukeCMS'  => 'CPGNuke',
			'cpgNukeDragonfly921CMS'  => 'CPGNuke Dragonfly 9.2.1',
			'datingProCMS'=> 'Dating Pro',
			'e107CMS'     => 'e107 0.617',
			'eMeetingCMS' => 'eMeeting',
			'efriendsCMS497' => 'Alstrasoft E-friends 4.9.7',
			'fusionCMS'   => 'PHP Fusion 4.0.0',
			'fusionCMS2'  => 'PHP Fusion 5.0.1',
			'fusion6CMS'  => 'PHP Fusion 6',
			'fusion7CMS'  => 'PHP Fusion 7.01.04',
			'fusion7_02_03CMS' => 'PHP Fusion 7.02.03',
			'geeklogCMS'  => 'GeekLog 1.3.9',
			'joomlaCMS'	  => 'Joomla 1.1',
			'ipbCMS'      => 'Invision Power Board (IPB) 2.0.0',
			'ipbCMS2'     => 'Invision Power Board (IPB) 2.0.3',
			'ipbCMS2'     => 'Invision Power Board (IPB) 2.1.0',
			'ipb30CMS'     => 'Invision Power Board (IPB) 3.0.3',
			'lunabyteCMS' => 'LunaByte / Enigma 1.3',
			'mamboCMS'    => 'Mambo 4.5.0',
			'mamboCMS2'   => 'Mambo 4.5.2',
			'mambo465CMS'   => 'Mambo 4.6.5',
			
			'mdproCMS'    => 'MD-Pro 1.0.7',
			'mdpro1081CMS'    => 'MD-Pro 1.0.81',
			'moodleCMS'   => 'Moodle',
			'moodle16CMS' => 'Moodle 1.6',
			'moodle17CMS' => 'Moodle 1.7',
			'moodle18CMS' => 'Moodle 1.8',
			'moodle19CMS' => 'Moodle 1.9',
			'osdateCMS'   => 'osDate Dating System',
			'phpBB2CMS'	  => 'phpBB 2.0.10 and above',
			'phpBB3CMS'	  => 'phpBB 3.0.B2 and above',
			'phpBB307CMS'	  => 'phpBB 3.0.2 and above',
			'phpBB305CMS'	  => 'phpBB 3.0.5 and above',
			//'phpNukeModCMS'	=> 'PHP-Nuke 7.3(module version)',
			'phpNukeCMS73'	=> 'PHP-Nuke 7.3',
			'phpNukeCMS76'	=> 'PHP-Nuke 7.6',
			'phpNukeCMS78'	=> 'PHP-Nuke 7.8',
			//'postNukeModCMS'	=> 'PostNuke 0.726-3(module version)',
			'postNukeCMS'	=> 'PostNuke 0.726-3',
			'postNukeCMS0762'	=> 'PostNuke 0.762',
			'phorumCMS518' => 'Phorum 5.1.8',
            'phorumCMS527' => 'Phorum 5.2.7',
			'smfCMS'	=> 'Simple Machines 1.0',
			'smfCMS2'	=> 'Simple Machines 1.1',
			'smfCMS20'	=> 'Simple Machines 2.0',
			'ubbCMS'	=> 'UBB.Threads 6.5',
			'ubb70CMS'	=> 'UBB.Threads 7.0',
			'ubb71CMS'	=> 'UBB.Threads 7.1',
			'ubb74CMS'	=> 'UBB.Threads 7.4',
			'vbulletin30CMS'=> 'vBulletin 3.0',
			'vbulletin35CMS'=> 'vBulletin 3.5',
			'vbulletin36CMS'=> 'vBulletin 3.6',
			'vbulletin37CMS'=> 'vBulletin 3.7',
			'vbulletin38CMS'=> 'vBulletin 3.8',
			'vbulletin40CMS'=> 'vBulletin 4.0',
			'webDateCMS'    => 'Web Date',
			'wotCMS2'	=> 'WoltLab Burning Board 2.3.4',
			'wowCMS'	=> 'WowBB 1.6.1',
			'wowCMS2'	=> 'WowBB 1.6.2',
			'wowCMS165'	=> 'WowBB 1.6.5',
			'wowCMS170'	=> 'WowBB 1.7',
			'xmbCMS'	=> 'XMB 1.9.1',
			'xoopsCMS'	=> 'Xoops 2.0.7',
			'xoops2016CMS'	=> 'Xoops 2.0.16',
			'phpkitCMS' => 'phpkit 1.6.1',
			'MyBBCMS'	=> 'MyBB 1.0',
			'easysiteCMS' => 'EasySite 3.2.5',
			'SBDatingCMS' => 'Softbiz Dating',
			'phpFox108' => 'phpFox 1.0.8',
			'phpFox11' => 'phpFox 1.1',
			'phpFox16CMS' => 'phpFox 1.6',
			'inspirations31CMS'   => 'Inspirations 3.1',
			'drupalCMS' => 'Drupal',
			'drupal613CMS' => 'Drupal 6.1.3',
			'punbbCMS'        => 'punBB 1.2.10',
			'wordpress22CMS' => 'WordPress 2.1.0 - 2.7',
			);


?>

Now that will do it, Install the chat as usual, when the integration page come up , chose to install PHP fusion V7.02.03.
I have installed the script using the root folder where all the php-fusion files resides, the “FLASHCHAT” folder is with the php-fusion files.

Please leave message about any error or suggestions.. if you don’t leave any feed back then I will not be able to fix problems with the script.. please leave a comment good or bad.. thanks for reading..

29 comments for “flashchat-6-0-8 and PHP fusion V7.02.03

  1. UTAN
    9 November 2011 at 15:48 pm

    hi,
    that’s done in the mysql table…

    regards

  2. 9 November 2011 at 15:50 pm

    Okay thanks 🙂

    Do you know why the flashchat dosen’t work in browser inter explorer?

    It only work in google chrome.. hmm

  3. UTAN
    9 November 2011 at 18:28 pm

    Hi,

    I dont know, in my IEs works fine..

    I guess it all depend the version of php you have, lets remember that the chat is in beta state and that contribute in that too..

    regards.

  4. 10 November 2011 at 6:04 am

    Okay 🙂

    But how can i solve this error:

    Fatal error: Call to a member function next() on a non-object in /var/www/oddsportal.dk/public_html/chat/inc/cmses/statelessCMS.php on line 132

  5. UTAN
    10 November 2011 at 8:50 am

    Hi, I dont know.. Is a buggy script.
    Regards

  6. 30 December 2011 at 7:40 am

    I’ve found the bug:

    you have to update the “cnf_values.php” in the admin folder. You have to put in the following line behind the other “PHP Fusion”-Lines:

    ‘fusion7_02_03CMS’ => ‘PHP Fusion 7.02.03’,

    then “PHP Fusion 7.02.03” will be shown in Dropdown-Menu

  7. UTAN
    30 December 2011 at 14:32 pm

    Hi stephan,

    can you elaborate?

    the installation shows the version fine..

  8. Dear_Maria
    26 April 2013 at 14:06 pm

    Hi I’m and getting an error,

    Could not create room ‘The Lounge’

  9. Skeeve
    18 October 2014 at 6:52 am

    I think I have the same issue that Stephen is talking about.

    Once this update is added to Flashchat, it doesn’t show up in the admin.php/configuration/general settings drop-down box. Trying to adjust settings on that page results in Flashchat saving as statelessCMS,(since that is the default option showing), and Flashchat stops recognizing auto-login.

    I’ll try Stephen’s fix later at home and see if that works.

Leave a Reply

Your email address will not be published. Required fields are marked *

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.