is this option available? I would like to set some users as moderators and some as admins to be able to ban people that ruin up the chat room.
thanks
Moderators: OldWolf, re*s.t.a.r.s.*2
<?php
/**
* jPFChat - A joomla chatroom component
* NOTE: This component uses the phpFreeChat script. We did NOT write phpFreeChat.
* Please see phpfreechat.net if you have questions or issues about the chat script itself.
* @version $Id: jPFChat.php
* @author Vizimetrics, Inc (Tim Milo)
* @link http://www.jPFChat.com
* @copyright (C) 2008 ViziMetrics, Inc - All rights reserved.
* @license GNU/GPL License
*/
(defined( '_VALID_MOS' ) or defined ( '_JEXEC' )) or die ( 'Restricted Access' );
if (defined ( '_JEXEC' )) {
global $mainframe;
$database =&JFactory::getDBO();
JTable::addIncludePath(JPATH_ADMINISTRATOR.'/components/'.$option.'/tables');
// $Upath = "http://".$_SERVER['SERVER_NAME'].str_replace("//","/",JURI::base(true)."/");
$Upath = str_replace("//","/",JURI::base(true)."/");
$Fpath = JPATH_SITE;
$user = &JFactory::getUser();
} else {
global $database, $my, $mosConfig_live_site, $mosConfig_absolute_path;
$Upath = $mosConfig_live_site."/";
$Fpath = $mosConfig_absolute_path;
$user = $mainframe->getUser();
}
$name = $user->name;
$uname = $user->username;
$user_level = $user->gid;
$database->setQuery("SELECT * FROM #__jpfchat");
$rows = $database->loadObjectList();
// set up the chat operating parameters
$skip_proxies = array();
foreach ($rows as $row) {
if ($row->name == 'name_or_uname') {
$displayChoice = $row->value;
} elseif ($row->name == 'display_PoweredBy') {
$show_PoweredBy = ($row->value==1 ? true : false);
} elseif ($row->name == 'allowed_level') {
$allowed_level = $row->value;
} elseif ($row->name == 'mysql_file') {
$jPFCparams['container_type'] = $row->value;
} elseif ($row->name == 'admin_password') {
$admin_password = $row->value;
} elseif ($row->name == 'channels') {
$jPFCparams['channels'] = explode(",", $row->value);
} elseif ($row->name == 'shownotice') {
$jPFCparams['shownotice'] = (int)$row->value;
} elseif ($row->name == 'noLog') {
if ($row->value=='0') $skip_proxies[] = 'log';
} elseif ($row->name == 'noFlood0') {
if ($row->value=='0') $skip_proxies[] = 'noflood';
} elseif ($row->name == 'noFlood1') {
$jPFCparams['proxies_cfg']['noflood']['charlimit'] = (int)$row->value;
} elseif ($row->name == 'noFlood2') {
$jPFCparams['proxies_cfg']['noflood']['msglimit'] = (int)$row->value;
} elseif ($row->name == 'noFlood3') {
$jPFCparams['proxies_cfg']['noflood']['delay'] = (int)$row->value;
} elseif ($row->name == 'censor0') {
if ($row->value=='0') $skip_proxies[] = 'censor';
} elseif ($row->name == 'censor1') {
$jPFCparams['proxies_cfg']['censor']['words'] = explode(",",str_replace(" ","",$row->value));
} elseif ($row->name == 'censor2') {
$jPFCparams['proxies_cfg']['censor']['replaceby'] = $row->value;
} elseif ($row->name == 'redirectPage') {
$redirectPage = $row->value;
} else {
if ($row->type == 'B') {
if ($row->value == '1') $jPFCparams[$row->name] = true;
if ($row->value == '0') $jPFCparams[$row->name] = false;
} elseif (($row->type == 'N')&&(is_intval($row->value))) {
$jPFCparams[$row->name] = (int)$row->value;
} else {
$jPFCparams[$row->name] = $row->value;
}
}
}
$jPFCparams['skip_proxies'] = $skip_proxies;
// get the joomla username. Decide if admin priviledges will be granted within jPFChat.
$jPFCparams['nick'] = '';
$pos = strpos($jPFCparams['isadmin'], $uname);
$jPFCparams['isadmin'] = false;
if (strlen($uname)>=1) {
//set isadmin to false to handle all non-authorized users
if ( $pos !== false) $jPFCparams['isadmin'] = true;
$jPFCparams['nick'] = (($displayChoice == "Name") ? $name : $uname );
}
$jPFCparams['admins']= array($uname => $admin_password);
if ($jPFCparams['container_type'] == "Mysql") {
// get all the db info from the joomla configuration.php file so we can access it directly from phpFreeChat
require_once ($Fpath."/configuration.php");
$jPFCparams["container_cfg_mysql_port"] = 3306;
if (defined ( '_JEXEC' )) {
$conf = new JConfig;
$jPFCparams['container_cfg_mysql_host'] = $conf->host;
$jPFCparams['container_cfg_mysql_database'] = $conf->db;
$jPFCparams['container_cfg_mysql_username'] = $conf->user;
$jPFCparams['container_cfg_mysql_password'] = $conf->password;
$jPFCparams['container_cfg_mysql_table'] = $conf->dbprefix."jpfchatx";
} else {
$jPFCparams['container_cfg_mysql_host'] = $mosConfig_host;
$jPFCparams['container_cfg_mysql_database'] = $mosConfig_db;
$jPFCparams['container_cfg_mysql_username'] = $mosConfig_user;
$jPFCparams['container_cfg_mysql_password'] = $mosConfig_password;
$jPFCparams['container_cfg_mysql_table'] = $mosConfig_dbprefix."jpfchatx";
}
}
// set the jPFChat paths for proper operation in Joomla
$jPFCparams['data_private_path'] = $Fpath."/components/com_jpfchat/pfc/data/private";
$jPFCparams['data_public_path'] = $Fpath."/components/com_jpfchat/pfc/data/public";
$jPFCparams['client_script_path'] = $Fpath."/components/com_jpfchat/jpfchat.php";
$jPFCparams['server_script_path'] = $Fpath."/components/com_jpfchat/jpfchat.php";
$jPFCparams['data_public_url'] = $Upath."components/com_jpfchat/pfc/data/public";
$jPFCparams['mootoolsjs_url'] = $Upath."components/com_jpfchat/pfc/data/public/js/mootools.js";
if (empty($jPFCparams['server_script_url'])) {
if (defined ( '_JEXEC' )) {
$jPFCparams['server_script_url'] = JRoute::_("index.php?option=com_jpfchat");
} else {
$jPFCparams['server_script_url'] = sefRelToAbs("index.php?option=com_jpfchat");
}
}
$jPFCparams['dyn_params'] = array('server_script_url','data_public_url','mootoolsjs_url');
// set userlevel preferences
if ((int)$user_level >= (int)$allowed_level) {
require_once $Fpath."/components/com_jpfchat/pfc/src/phpfreechat.class.php";
$chat = new phpFreeChat($jPFCparams);
//Add in a fix to make jPFChat compatible with IE8 by forcing IE7 compatibility mode.
if (strpos($_SERVER['HTTP_USER_AGENT'],"MSIE 8")) {header("X-UA-Compatible: IE=7");}
$chat->printChat();
} else {
if (isset($redirectPage)) {
if (defined ( '_JEXEC' )) {
$mainframe->redirect( $redirectPage );
} else {
mosRedirect( $redirectPage );
}
} else {
echo "<p align='center'><font size=2 face=tahoma>You are not authorized to view this resource!</font></p>";
}
}
//*** NOTE: YOU MAY NOT REMOVE OR COMMENT OUT THE FOLLOWING LINE WITHOUT EXPRESS WRITTEN CONSENT FROM VIZIMETRICS, INC REPRESENTATIVES!
if ($show_PoweredBy) echo "<br /><p align='center'><font size=2 face=tahoma>Powered by <a href='http://www.jpfchat.com'><font size=2 face=tahoma>jPFChat</font></a> for Joomla!</font></p>";
//************************************************************************************************************
function is_intval($a) {
return ((string)$a === (string)(int)$a);
}
?>
Return to General Support (v1.x)
Users browsing this forum: No registered users and 59 guests