2025-06-02 10:01:12 +02:00
< ? php
class module_chat extends admin_module {
function admin_panels (){
$panels = array ( array ( " manage_chat " , " Manage Chat " , " server_edit " ));
return $panels ;
}
function get_info (){
2025-06-02 22:38:25 +02:00
$info [ " name " ] = " TopiaChat " ;
2025-06-02 10:01:12 +02:00
$info [ " file " ] = " chat " ;
2025-06-02 22:38:25 +02:00
$info [ " author " ] = " genuineparts " ;
2025-06-02 10:01:12 +02:00
$info [ " version " ] = " 1.1.0 " ;
2025-06-02 22:38:25 +02:00
$info [ " url " ] = " http://www.becast.at " ;
2025-06-02 10:01:12 +02:00
//$info["depends"]='mybb_bridge';
return $info ;
}
function install (){
global $config , $db ;
/* $db -> query ( " CREATE TABLE IF NOT EXISTS `yac_users` (
`uid` int ( 11 ) NOT NULL ,
`color` varchar ( 7 ) NOT NULL ,
`lastonline` int ( 11 ) NOT NULL ,
`chattime` bigint ( 20 ) NOT NULL ,
`rights` smallint ( 6 ) NOT NULL ,
KEY `uid` ( `uid` )
) ENGINE = MyISAM DEFAULT CHARSET = latin1 ; " );
$db -> query ( " INSERT INTO ` " . $config [ " prefix " ] . " config_categorys` (
`cid` ,
`categoryname`
)
VALUES (
2025-07-01 20:37:31 +02:00
NULL , 'PT Chat'
2025-06-02 10:01:12 +02:00
); " );
$cid = $db -> last_id ();
$db -> query ( " INSERT INTO ` " . $config [ " prefix " ] . " config` (`name`, `value`, `title`, `description`, `option`, `category`) VALUES
2025-07-01 20:37:31 +02:00
( 'LOGINKEY' , '' , 'Loginkey' , 'Der Secure Key des Chats.' , 'text' , " . $cid . " ),
2025-06-23 20:45:15 +02:00
( 'SOCK_PORT' , '8090' , 'Chatport' , 'Der Port auf dem der Server l<> uft.' , 'text' , " . $cid . " ),
2025-06-02 10:01:12 +02:00
( 'ENABLE_WATCHSERVER' , '' , 'Watchserver einschalten' , 'Soll der Watchserver aktiviert werden?.' , 'select(Ja|true;Nein|false)' , " . $cid . " ),
( 'SMILIES_URL' , 'http://forum.recensio.org/' , 'Smilieurl' , 'Die Url zu den Smiliebildern' , 'text' , " . $cid . " ); " );
$db -> query ( " CREATE VIEW `v_yac_users` AS select `u`.`id` AS `uid`,`u`.`name` AS `name`,`c`.`color` AS `color`,`c`.`lastonline` AS `lastonline`,`c`.`rights` AS `rights`,`c`.`chattime` AS `chattime`,`u`.`bgmusic` AS `bgmusic` from ` " . $config [ " prefix " ] . " rp_chars` `u` left join `yac_users` `c` ON `u`.`id` = `c`.`uid` " );
$db -> query ( " CREATE TABLE IF NOT EXISTS `yac_chatlog` (
`id` int ( 11 ) NOT NULL AUTO_INCREMENT ,
`uid` int ( 11 ) NOT NULL ,
`user` varchar ( 50 ) CHARACTER SET latin1 NOT NULL ,
`color` varchar ( 6 ) CHARACTER SET latin1 NOT NULL ,
`room` varchar ( 30 ) CHARACTER SET latin1 NOT NULL ,
`timestamp` int ( 11 ) NOT NULL ,
`action` varchar ( 25 ) CHARACTER SET latin1 NOT NULL ,
`text` text CHARACTER SET latin1 NOT NULL ,
PRIMARY KEY ( `id` ),
KEY `user` ( `user` ),
KEY `room` ( `room` ),
KEY `timestamp` ( `timestamp` )
) ENGINE = MyISAM DEFAULT CHARSET = utf8 " );
/* $db -> query ( " CREATE PROCEDURE `sp_yac_saveuserdata`(vUID INT(11), vColor VARCHAR(6), vLastonline INT(11), vChattime BIGINT(20))
BEGIN
SET @ x = ( SELECT COUNT ( `uid` ) FROM `yac_users` WHERE `uid` = vUID );
IF @ x >= 1 THEN
UPDATE `yac_users` SET `color` = vColor , `lastonline` = vLastonline , `chattime` = vChattime WHERE `uid` = vUID ;
ELSE
INSERT INTO `yac_users` ( `uid` , `color` , `lastonline` , `chattime` ) VALUES ( vUID , vColor , vLastonline , vChattime );
END IF ;
END " );
if ( $db -> error () != " " ){
return $db -> error ();
} */
return true ;
}
function uninstall (){
global $config , $db ;
//$db->query("DROP VIEW `v_yac_users`");
//$db->query("DROP VIEW `v_yac_smilies`");
//$db->query("DROP TABLE `yac_users`");
//$db->query("DELETE FROM `" . $config["prefix"] . "config_categorys` WHERE categoryname='yac Chat'");
//$db->query("DELETE FROM `" . $config["prefix"] . "config` WHERE name in ('LOGINKEY','SOCK_PORT','ENABLE_WATCHSERVER','SMILIES_URL')");
return TRUE ;
}
2025-06-23 20:45:15 +02:00
}