mirror of
https://github.com/Znote/ZnoteAAC.git
synced 2025-05-01 03:39:21 +02:00

Players can say !report SomeMessageHere to send a report to database, it will automatically fetch position of player etc. You can check reports in admin panel and change status of them, and optionally reward player with points if you feel they deserve it for reporting the bug. Default working TFS 1.0 scripts for shop and firstitems
263 lines
8.3 KiB
PHP
263 lines
8.3 KiB
PHP
<?php
|
|
$time = time();
|
|
if (!isset($version)) $version = '1.5_SVN';
|
|
$install = "
|
|
<h2>Install:</h2>
|
|
<ol>
|
|
<li>
|
|
<p>
|
|
Make sure you have imported TFS database. (OTdir/forgottenserver.sql OR OTdir/schemas/mysql.sql)
|
|
</p>
|
|
</li>
|
|
<li>
|
|
Import the below schema to a <b>TFS database in phpmyadmin</b>:<br>
|
|
<textarea cols=\"65\" rows=\"10\">
|
|
CREATE TABLE IF NOT EXISTS `znote` (
|
|
`id` int(10) NOT NULL AUTO_INCREMENT,
|
|
`version` varchar(30) NOT NULL COMMENT 'Znote AAC version',
|
|
`installed` int(10) NOT NULL,
|
|
`cached` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
|
|
|
|
INSERT INTO `znote` (`version`, `installed`) VALUES
|
|
('$version', '$time');
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_accounts` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`account_id` int(11) NOT NULL,
|
|
`ip` int(10) NOT NULL,
|
|
`created` int(10) NOT NULL,
|
|
`points` int(10) DEFAULT 0,
|
|
`cooldown` int(10) DEFAULT 0,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
|
|
|
|
INSERT INTO `znote_accounts` (`account_id`, `ip`, `created`) VALUES
|
|
('1', '0', '$time');
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_news` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`title` varchar(30) NOT NULL,
|
|
`text` text NOT NULL,
|
|
`date` int(11) NOT NULL,
|
|
`pid` int(11) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_images` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`title` varchar(30) NOT NULL,
|
|
`desc` text NOT NULL,
|
|
`date` int(11) NOT NULL,
|
|
`status` int(11) NOT NULL,
|
|
`image` varchar(30) NOT NULL,
|
|
`account_id` int(11) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_paypal` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`txn_id` varchar(30) NOT NULL,
|
|
`email` varchar(255) NOT NULL,
|
|
`accid` int(11) NOT NULL,
|
|
`price` int(11) NOT NULL,
|
|
`points` int(11) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_paygol` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`account_id` int(11) NOT NULL,
|
|
`price` int(11) NOT NULL,
|
|
`points` int(11) NOT NULL,
|
|
`message_id` varchar(255) NOT NULL,
|
|
`service_id` varchar(255) NOT NULL,
|
|
`shortcode` varchar(255) NOT NULL,
|
|
`keyword` varchar(255) NOT NULL,
|
|
`message` varchar(255) NOT NULL,
|
|
`sender` varchar(255) NOT NULL,
|
|
`operator` varchar(255) NOT NULL,
|
|
`country` varchar(255) NOT NULL,
|
|
`currency` varchar(255) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_players` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`player_id` int(11) NOT NULL,
|
|
`created` int(11) NOT NULL,
|
|
`hide_char` tinyint(4) NOT NULL,
|
|
`comment` varchar(255) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
|
|
INSERT INTO `znote_players` (`player_id`, `created`, `hide_char`, `comment`) VALUES
|
|
('1', '$time', '0', '. . .');
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_player_reports` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(50) NOT NULL,
|
|
`posx` int(6) NOT NULL,
|
|
`posy` int(6) NOT NULL,
|
|
`posz` int(6) NOT NULL,
|
|
`report_description` VARCHAR(255) NOT NULL,
|
|
`date` INT(11) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_shop` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`type` int(11) NOT NULL,
|
|
`itemid` int(11) DEFAULT NULL,
|
|
`count` int(11) NOT NULL DEFAULT '1',
|
|
`describtion` varchar(255) NOT NULL,
|
|
`points` int(11) NOT NULL DEFAULT '10',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_shop_logs` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`account_id` int(11) NOT NULL,
|
|
`player_id` int(11) NOT NULL,
|
|
`type` int(11) NOT NULL,
|
|
`itemid` int(11) NOT NULL,
|
|
`count` int(11) NOT NULL,
|
|
`points` int(11) NOT NULL,
|
|
`time` int(11) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_shop_orders` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`account_id` int(11) NOT NULL,
|
|
`type` int(11) NOT NULL,
|
|
`itemid` int(11) NOT NULL,
|
|
`count` int(11) NOT NULL,
|
|
`time` int(11) NOT NULL DEFAULT '0',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_visitors` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`ip` int(11) NOT NULL,
|
|
`value` int(11) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_visitors_details` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`ip` int(11) NOT NULL,
|
|
`time` int(11) NOT NULL,
|
|
`type` tinyint(4) NOT NULL,
|
|
`account_id` int(11) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_forum` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(50) NOT NULL,
|
|
`access` tinyint(4) NOT NULL,
|
|
`closed` tinyint(4) NOT NULL,
|
|
`hidden` tinyint(4) NOT NULL,
|
|
`guild_id` int(11) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
|
|
INSERT INTO `znote_forum` (`name`, `access`, `closed`, `hidden`, `guild_id`) VALUES
|
|
('Staff Board', '4', '0', '0', '0'),
|
|
('Tutors Board', '2', '0', '0', '0'),
|
|
('Discussion', '1', '0', '0', '0'),
|
|
('Feedback', '1', '0', '1', '0');
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_forum_threads` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`forum_id` int(11) NOT NULL,
|
|
`player_id` int(11) NOT NULL,
|
|
`player_name` varchar(50) NOT NULL,
|
|
`title` varchar(50) NOT NULL,
|
|
`text` text NOT NULL,
|
|
`created` int(11) NOT NULL,
|
|
`updated` int(11) NOT NULL,
|
|
`sticky` tinyint(4) NOT NULL,
|
|
`hidden` tinyint(4) NOT NULL,
|
|
`closed` tinyint(4) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `znote_forum_posts` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`thread_id` int(11) NOT NULL,
|
|
`player_id` int(11) NOT NULL,
|
|
`player_name` varchar(50) NOT NULL,
|
|
`text` text NOT NULL,
|
|
`created` int(11) NOT NULL,
|
|
`updated` int(11) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
</textarea>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
Edit config.php with correct mysql connection details.
|
|
</p>
|
|
</li>
|
|
</ol>
|
|
";
|
|
|
|
$connect = new mysqli($config['sqlHost'], $config['sqlUser'], $config['sqlPassword'], $config['sqlDatabase']);
|
|
if ($connect->connect_errno) {
|
|
die("Failed to connect to MySQL: (" . $connect->connect_errno . ") " . $connect->connect_error . $install);
|
|
}
|
|
|
|
function mysql_znote_escape_string($escapestr) {
|
|
global $connect;
|
|
return mysqli_real_escape_string($connect, $escapestr);
|
|
}
|
|
// Select single row from database
|
|
function mysql_select_single($query) {
|
|
global $connect;
|
|
global $aacQueries;
|
|
$aacQueries++;
|
|
|
|
global $accQueriesData;
|
|
$accQueriesData[] = $query;
|
|
$result = mysqli_query($connect,$query) or die(var_dump($query)."<br>(query - <font color='red'>SQL error</font>) <br>Type: <b>select_single</b> (select single row from database)<br><br>".mysqli_error($connect));
|
|
$row = mysqli_fetch_assoc($result);
|
|
return !empty($row) ? $row : false;
|
|
}
|
|
|
|
// Selecting multiple rows from database.
|
|
function mysql_select_multi($query){
|
|
global $connect;
|
|
global $aacQueries;
|
|
$aacQueries++;
|
|
global $accQueriesData;
|
|
$accQueriesData[] = $query;
|
|
$array = array();
|
|
$results = mysqli_query($connect,$query) or die(var_dump($query)."<br>(query - <font color='red'>SQL error</font>) <br>Type: <b>select_multi</b> (select multiple rows from database)<br><br>".mysqli_error($connect));
|
|
while($row = mysqli_fetch_assoc($results)) {
|
|
$array[] = $row;
|
|
}
|
|
return !empty($array) ? $array : false;
|
|
}
|
|
|
|
//////
|
|
// Query database without expecting returned results
|
|
|
|
// - mysql update
|
|
function mysql_update($query){ voidQuery($query); }
|
|
// mysql insert
|
|
function mysql_insert($query){ voidQuery($query); }
|
|
// mysql delete
|
|
function mysql_delete($query){ voidQuery($query); }
|
|
// Send a void query
|
|
function voidQuery($query) {
|
|
global $connect;
|
|
global $aacQueries;
|
|
$aacQueries++;
|
|
global $accQueriesData;
|
|
$accQueriesData[] = $query;
|
|
mysqli_query($connect,$query) or die(var_dump($query)."<br>(query - <font color='red'>SQL error</font>) <br>Type: <b>voidQuery</b> (voidQuery is used for update, insert or delete from database)<br><br>".mysqli_error($connect));
|
|
}
|
|
?>
|