funchat/modules/chat/chat.module.php

90 lines
3.3 KiB
PHP
Raw Normal View History

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 (
NULL , 'yac Chat'
);");
$cid=$db->last_id();
$db->query("INSERT INTO `" . $config["prefix"] . "config` (`name`, `value`, `title`, `description`, `option`, `category`) VALUES
('LOGINKEY', 'zuzfshgw8qitr813841492', '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
}