From 56e3aa0b05fc53c28db082788da834427169fcca Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 16 Sep 2015 16:00:48 +0200 Subject: [PATCH] voting functionality works --- mojotrollz/api/api_mojotrollz.php | 5 +++++ mojotrollz/api/qq/MOJOTROLLZ_VOTE_INSERT.php | 8 +++++++ .../{wow_normal.png => wow_1.12.1.png} | Bin .../{wow_bc_normal.png => wow_2.4.3.png} | Bin .../{wow_wotlk_normal.png => wow_3.3.5a.png} | Bin .../default_serverlist/default_serverlist.php | 17 +++++++++++--- .../js/default_serverlist.js | 10 +++++++++ .../qq/MOJOTROLLZ_IP_VOTED.php | 8 +++++++ .../qq/MOJOTROLLZ_SERVER_LIST.php | 6 ++++- .../default_serverlist/tpl/serverlist.tpl | 3 ++- .../default_serverlist/tpl/serverlist_tr.tpl | 21 ++++++++++++++++-- .../page/default_start/tpl/content_client.tpl | 6 ++--- mojotrollz/sql/DATA_MOJOTROLLZ.php | 3 ++- .../sql/mysql/schema_mojotrollz_server.sql | 5 +++-- .../sql/mysql/schema_mojotrollz_vote.sql | 7 ++++++ mojotrollz/sql/mysql/system_api.sql | 3 ++- 16 files changed, 88 insertions(+), 14 deletions(-) create mode 100644 mojotrollz/api/qq/MOJOTROLLZ_VOTE_INSERT.php rename mojotrollz/files/content/{wow_normal.png => wow_1.12.1.png} (100%) rename mojotrollz/files/content/{wow_bc_normal.png => wow_2.4.3.png} (100%) rename mojotrollz/files/content/{wow_wotlk_normal.png => wow_3.3.5a.png} (100%) create mode 100644 mojotrollz/page/default_serverlist/qq/MOJOTROLLZ_IP_VOTED.php create mode 100644 mojotrollz/sql/mysql/schema_mojotrollz_vote.sql diff --git a/mojotrollz/api/api_mojotrollz.php b/mojotrollz/api/api_mojotrollz.php index 1442200..397c02d 100644 --- a/mojotrollz/api/api_mojotrollz.php +++ b/mojotrollz/api/api_mojotrollz.php @@ -5,4 +5,9 @@ class api_mojotrollz extends \SYSTEM\API\api_system { \SYSTEM\LOG\JsonResult::ok() : \SYSTEM\LOG\JsonResult::fail(); } + public static function call_mojo_action_vote($server){ + return \SQL\MOJOTROLLZ_VOTE_INSERT::QI(array($server,$_SERVER['REMOTE_ADDR'])) ? + \SYSTEM\LOG\JsonResult::ok() : + \SYSTEM\LOG\JsonResult::fail(); + } } \ No newline at end of file diff --git a/mojotrollz/api/qq/MOJOTROLLZ_VOTE_INSERT.php b/mojotrollz/api/qq/MOJOTROLLZ_VOTE_INSERT.php new file mode 100644 index 0000000..b81fce1 --- /dev/null +++ b/mojotrollz/api/qq/MOJOTROLLZ_VOTE_INSERT.php @@ -0,0 +1,8 @@ +next()){ $row['version'] = self::version_icon($row['version']); + $row['btn_vote_color'] = 'btn-warning'; + $row['glyphicon_vote'] = 'glyphicon-hand-up'; + if(!$vote_server){ + $row['btn_vote_color'] = 'btn-success';} + if($vote_server == $row['id']){ + $row['btn_vote_color'] = 'btn-success'; + $row['glyphicon_vote'] = 'glyphicon-ok'; + } + $row['score'] += $row['votes']; $vars['server_list'] .= \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_serverlist/tpl/serverlist_tr.tpl'),$row);} return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_serverlist/tpl/serverlist.tpl'), $vars); } @@ -16,11 +27,11 @@ class default_serverlist extends \SYSTEM\PAGE\Page { private static function version_icon($version){ switch($version){ case 0: - return 'wow_normal.png'; + return '1.12.1'; case 1: - return 'wow_bc_normal.png'; + return '2.4.3'; case 2: - return 'wow_wotlk_normal.png'; + return '3.3.5a'; default: return ''; } diff --git a/mojotrollz/page/default_serverlist/js/default_serverlist.js b/mojotrollz/page/default_serverlist/js/default_serverlist.js index 489982c..97596ee 100644 --- a/mojotrollz/page/default_serverlist/js/default_serverlist.js +++ b/mojotrollz/page/default_serverlist/js/default_serverlist.js @@ -20,4 +20,14 @@ function init_serverlist(){ event.preventDefault(); } }); + + $(".btn_vote").click(function(){ + $.getJSON('./api.php?call=mojo&action=vote&server='+$(this).attr('server'), function (data) { + if(data.status){ + location.reload(); + } else { + alert("An Error occurred. Could not vote for Server. You can only vote once per day!"); + } + }); + }); } \ No newline at end of file diff --git a/mojotrollz/page/default_serverlist/qq/MOJOTROLLZ_IP_VOTED.php b/mojotrollz/page/default_serverlist/qq/MOJOTROLLZ_IP_VOTED.php new file mode 100644 index 0000000..20ac508 --- /dev/null +++ b/mojotrollz/page/default_serverlist/qq/MOJOTROLLZ_IP_VOTED.php @@ -0,0 +1,8 @@ +

SERVERS

- +
+ diff --git a/mojotrollz/page/default_serverlist/tpl/serverlist_tr.tpl b/mojotrollz/page/default_serverlist/tpl/serverlist_tr.tpl index a136bd8..0208f4f 100644 --- a/mojotrollz/page/default_serverlist/tpl/serverlist_tr.tpl +++ b/mojotrollz/page/default_serverlist/tpl/serverlist_tr.tpl @@ -1,8 +1,25 @@ + - + \ No newline at end of file diff --git a/mojotrollz/page/default_start/tpl/content_client.tpl b/mojotrollz/page/default_start/tpl/content_client.tpl index 48469ee..48eba5f 100644 --- a/mojotrollz/page/default_start/tpl/content_client.tpl +++ b/mojotrollz/page/default_start/tpl/content_client.tpl @@ -4,7 +4,7 @@
- Windows + Windows
WoW 1.12.1
Download this file with qBittorrent
@@ -13,7 +13,7 @@
- Windows + Windows
WoW 2.4.3
Download this file with qBittorrent
@@ -22,7 +22,7 @@
- Windows + Windows
Download this file with qBittorrent
diff --git a/mojotrollz/sql/DATA_MOJOTROLLZ.php b/mojotrollz/sql/DATA_MOJOTROLLZ.php index 6d39edb..7167a0c 100644 --- a/mojotrollz/sql/DATA_MOJOTROLLZ.php +++ b/mojotrollz/sql/DATA_MOJOTROLLZ.php @@ -5,6 +5,7 @@ class DATA_MOJOTROLLZ extends \SYSTEM\DB\QI { public static function files_mysql(){ return array( \SYSTEM\SERVERPATH(new \PSQL(),'/mysql/system_page.sql'), \SYSTEM\SERVERPATH(new \PSQL(),'/mysql/system_api.sql'), - \SYSTEM\SERVERPATH(new \PSQL(),'/mysql/schema_mojotrollz_server.sql')); + \SYSTEM\SERVERPATH(new \PSQL(),'/mysql/schema_mojotrollz_server.sql'), + \SYSTEM\SERVERPATH(new \PSQL(),'/mysql/schema_mojotrollz_vote.sql')); } } \ No newline at end of file diff --git a/mojotrollz/sql/mysql/schema_mojotrollz_server.sql b/mojotrollz/sql/mysql/schema_mojotrollz_server.sql index c8e64df..e260abc 100644 --- a/mojotrollz/sql/mysql/schema_mojotrollz_server.sql +++ b/mojotrollz/sql/mysql/schema_mojotrollz_server.sql @@ -3,11 +3,12 @@ CREATE TABLE `mojotrollz_server` ( `name` CHAR(50) NULL DEFAULT NULL, `url` CHAR(50) NOT NULL, `version` INT(11) NULL DEFAULT NULL, + `description` TEXT NULL, `visible` INT(11) NULL DEFAULT NULL, `score` INT(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB -AUTO_INCREMENT=2 -; +AUTO_INCREMENT=9 +; \ No newline at end of file diff --git a/mojotrollz/sql/mysql/schema_mojotrollz_vote.sql b/mojotrollz/sql/mysql/schema_mojotrollz_vote.sql new file mode 100644 index 0000000..4659cd3 --- /dev/null +++ b/mojotrollz/sql/mysql/schema_mojotrollz_vote.sql @@ -0,0 +1,7 @@ +CREATE TABLE `mojotrollz_vote` ( + `server` INT(11) NOT NULL, + `ip` CHAR(50) NOT NULL, + PRIMARY KEY (`ip`) +) +ENGINE=InnoDB +; diff --git a/mojotrollz/sql/mysql/system_api.sql b/mojotrollz/sql/mysql/system_api.sql index aaa7e4e..153994b 100644 --- a/mojotrollz/sql/mysql/system_api.sql +++ b/mojotrollz/sql/mysql/system_api.sql @@ -1 +1,2 @@ -INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (200, 0, 2, 11, 'newserver', 'address', 'STRING'); \ No newline at end of file +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (200, 0, 2, 11, 'newserver', 'address', 'STRING'); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (205, 0, 2, 11, 'vote', 'server', 'INT'); \ No newline at end of file
Name VersionDescription Score Vote
${name} - WoW + + WoW +   ${version} + ${description} ${score}${vote} + + + +