Merge branch 'master' of mojotrollz.eu:wow-server/mojo_zero_web
This commit is contained in:
commit
5a0928cdac
2
api.php
2
api.php
@ -16,5 +16,5 @@ if(!$json){
|
||||
|
||||
//Construct the api with the dasense specific ApiVerfy Class and the call handler for da-sense api-calls ApiClass
|
||||
//ApiClass contains all stuff you would seek in the index -> look there
|
||||
echo \SYSTEM\API\api::run('\SYSTEM\API\verify', 'api_mojotrollz',$json);
|
||||
echo \SYSTEM\API\api::run('\SYSTEM\API\verify', 'api_mojotrollz_beta',$json);
|
||||
new \SYSTEM\LOG\COUNTER("API was called sucessfully.");
|
||||
@ -9,6 +9,7 @@ INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `nam
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (25, 0, 2, 11, 'create', 'password_sha', 'STRING');
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (26, 0, 2, 11, 'create', 'email', 'STRING');
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (27, 0, 2, 11, 'create', 'locale', 'LANG');
|
||||
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (30, 0, 2, 10, 'files', 'cat', 'STRING');
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (31, 0, 3, 10, 'files', 'id', 'STRING');
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (40, 0, 2, 10, 'text', 'request', 'STRING');
|
||||
|
||||
@ -5,6 +5,7 @@ require_once dirname(__FILE__).'/realm/autoload.inc';
|
||||
require_once dirname(__FILE__).'/world/autoload.inc';
|
||||
require_once dirname(__FILE__).'/database/autoload.inc';
|
||||
require_once dirname(__FILE__).'/map/autoload.inc';
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/beta','');
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/char','');
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/char/qq','DBD');
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/client','');
|
||||
49
mojotrollz/api/beta/Security.php
Normal file
49
mojotrollz/api/beta/Security.php
Normal file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
class Security extends \SYSTEM\SECURITY\Security {
|
||||
public static function create($username, $password, $email, $locale, $advancedResult=false, $checkAvailable = true,$betacode=null, $wow_password=null){
|
||||
//check beta code
|
||||
if(!saimod_mojotrollz_beta::code_check($betacode)){
|
||||
throw new ERROR("Betacode wrong!");}
|
||||
|
||||
//system account check
|
||||
self::startSession();
|
||||
// check availability of username (in non-compatibility mode, otherwise it is already checked in DasenseAccount)
|
||||
if($checkAvailable && !self::available($username)){
|
||||
throw new ERROR("Username Not available!");}
|
||||
|
||||
//WoW Account check
|
||||
// available check not required, since only 1 way of creation planned
|
||||
|
||||
//Character check
|
||||
if(!charcreation::check_all()){
|
||||
throw new ERROR("Character Data incomplete");}
|
||||
|
||||
//system account
|
||||
$result = \SYSTEM\DBD\SYS_SECURITY_CREATE::QI(array( $username , $password, $email, $locale, 1 ));
|
||||
if(!$result || !self::login($username, $password, $locale)){
|
||||
throw new ERROR("System Account creation fail!");}
|
||||
$user_system = self::getUser()->id;
|
||||
|
||||
//WoW Account
|
||||
$result = \DBD\ACCOUNT_CREATE::QI(array($username,$wow_password,$email));
|
||||
|
||||
if(!$result){
|
||||
throw new ERROR("WoW Account creation fail!");}
|
||||
$user_wow = \DBD\ACCOUNT_GET_ID::Q1(array($username))['id'];
|
||||
|
||||
//mojotrollz_user
|
||||
$result = \DBD\ACCOUNT_CREATE_MOJOTROLLZ::QI(array($user_system,$user_wow));
|
||||
if(!$result){
|
||||
throw new ERROR("System-Account - WoW-Account creation fail");}
|
||||
|
||||
//Character
|
||||
//if(!charcreation::save($user_wow)){
|
||||
// throw new ERROR("Character creation fail!");}
|
||||
|
||||
//Update BetaCode
|
||||
saimod_mojotrollz_beta::code_use($betacode, $user_system);
|
||||
|
||||
//std system result
|
||||
return JsonResult::toString(\SYSTEM\DBD\SYS_SECURITY_LOGIN_SHA1::Q1(array($username, $password),array($username, $username, $password)));
|
||||
}
|
||||
}
|
||||
5
mojotrollz/api/beta/api_mojotrollz_beta.php
Normal file
5
mojotrollz/api/beta/api_mojotrollz_beta.php
Normal file
@ -0,0 +1,5 @@
|
||||
<?php
|
||||
class api_mojotrollz_beta extends api_mojotrollz {
|
||||
public static function call_account_action_create($username, $password_sha, $email, $locale,$betacode=null,$wow_password=null){
|
||||
return Security::create($username, $password_sha, $email, $locale, false, true, $betacode,$wow_password);}
|
||||
}
|
||||
2
mojotrollz/api/beta/api_mojotrollz_beta.sql
Normal file
2
mojotrollz/api/beta/api_mojotrollz_beta.sql
Normal file
@ -0,0 +1,2 @@
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (28, 0, 2, 11, 'create', 'betacode', 'STRING');
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (29, 0, 2, 11, 'create', 'wow_password', 'STRING');
|
||||
@ -46,6 +46,13 @@ class charcreation {
|
||||
return $result;
|
||||
}
|
||||
|
||||
public static function save($account){
|
||||
if(!self::check_all()){
|
||||
throw new ERROR("Character not complete, could not save Char!");}
|
||||
$data = \SYSTEM\SECURITY\Security::load(self::MOJO_CC_SESSIONKEY);
|
||||
return \DBD\CHAR_CREATE::QI(array(0,$account,$data['char_name'],$data['char_race'],$data['char_class'],$data['char_gender']));
|
||||
}
|
||||
|
||||
private static function session_default(){
|
||||
return array( 'char_name' => self::DEFAULT_CHAR_NAME,
|
||||
'char_gender' => self::DEFAULT_CHAR_GENDER,
|
||||
|
||||
@ -99,7 +99,7 @@ class charcreation_validator {
|
||||
}
|
||||
|
||||
public static function is_char_equip($value){
|
||||
return false;}
|
||||
return true;}
|
||||
public static function char_equip($value){}
|
||||
|
||||
public static function is_char_guild($value){
|
||||
|
||||
28
mojotrollz/api/char/qq/CHAR_CREATE.php
Normal file
28
mojotrollz/api/char/qq/CHAR_CREATE.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class CHAR_CREATE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'INSERT INTO `characters` (`guid`, `account`, `name`, `race`, `class`, `gender`, `level`, `xp`, `money`,'.
|
||||
'`playerBytes`, `playerBytes2`, `playerFlags`, `position_x`, `position_y`, `position_z`, `map`, `orientation`,'.
|
||||
'`taximask`, `online`, `cinematic`, `totaltime`, `leveltime`, `logout_time`, `is_logout_resting`, `rest_bonus`,'.
|
||||
'`resettalents_cost`, `resettalents_time`, `trans_x`, `trans_y`, `trans_z`, `trans_o`, `transguid`, `extra_flags`,'.
|
||||
'`stable_slots`, `at_login`, `zone`, `death_expire_time`, `taxi_path`, `honor_highest_rank`, `honor_standing`,'.
|
||||
'`stored_honor_rating`, `stored_dishonorable_kills`, `stored_honorable_kills`, `watchedFaction`, `drunk`,'.
|
||||
'`health`, `power1`, `power2`, `power3`, `power4`, `power5`, `exploredZones`, `equipmentCache`, `ammoId`,'.
|
||||
'`actionBars`, `deleteInfos_Account`, `deleteInfos_Name`, `deleteDate`)'.
|
||||
' VALUES (?, ?, ?, ?, ?, ?, 60, 0, 0,'.
|
||||
'151061250, 33554438, 32, -4995.83, -863.73, 497.037, 0, 5.33359, '.
|
||||
'"2 0 0 0 0 0 0 0 ", 0, 0, 0, 0, 0, 0, 0, '.
|
||||
'0, 0, 0, 0, 0, 0, 0, 2, '.
|
||||
'0, 0, 1537, 0, "", 0, 0, '.
|
||||
'0, 0, 0, 0, 0, '.
|
||||
'2201, 2282, 0, 0, 100, 0, "0 0 0 545259520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 524288 131072 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ", "0 0 0 0 0 0 45 0 0 0 0 0 44 0 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2361 0 0 0 0 0 0 0 ", 0, '.
|
||||
'0, NULL, NULL, NULL);',
|
||||
new \DBD\mangos_chars()
|
||||
);}}
|
||||
|
||||
3
mojotrollz/api/database/account/autoload.inc
Normal file
3
mojotrollz/api/database/account/autoload.inc
Normal file
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');
|
||||
14
mojotrollz/api/database/account/qq/ACCOUNT_COUNT.php
Normal file
14
mojotrollz/api/database/account/qq/ACCOUNT_COUNT.php
Normal file
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class ACCOUNT_COUNT extends \SYSTEM\DB\QQ {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT COUNT(*) as count FROM account '.
|
||||
'RIGHT JOIN host_mojotrollz.mojotrollz_user ON account.id = host_mojotrollz.mojotrollz_user.mangos_user;',
|
||||
new \DBD\mangos_realm()
|
||||
);}}
|
||||
|
||||
14
mojotrollz/api/database/account/qq/ACCOUNT_GET.php
Normal file
14
mojotrollz/api/database/account/qq/ACCOUNT_GET.php
Normal file
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class ACCOUNT_GET extends \SYSTEM\DB\QQ {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT account.* FROM account '.
|
||||
'RIGHT JOIN host_mojotrollz.mojotrollz_user ON account.id = host_mojotrollz.mojotrollz_user.mangos_user;',
|
||||
new \DBD\mangos_realm()
|
||||
);}}
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
<?php
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/log');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/creature');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/creature/qq','DBD');
|
||||
require_once dirname(__FILE__).'/account/autoload.inc';
|
||||
require_once dirname(__FILE__).'/creature/autoload.inc';
|
||||
require_once dirname(__FILE__).'/item/autoload.inc';
|
||||
require_once dirname(__FILE__).'/object/autoload.inc';
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/topics');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/topics/qq','DBD');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/quest');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/quest/qq','DBD');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/tags');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/tags/qq','DBD');
|
||||
require_once dirname(__FILE__).'/quest/autoload.inc';
|
||||
require_once dirname(__FILE__).'/tags/autoload.inc';
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/tooltip');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/tooltip/qq','DBD');
|
||||
3
mojotrollz/api/database/creature/autoload.inc
Normal file
3
mojotrollz/api/database/creature/autoload.inc
Normal file
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');
|
||||
13
mojotrollz/api/database/creature/qq/CREATURE_COUNT.php
Normal file
13
mojotrollz/api/database/creature/qq/CREATURE_COUNT.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class CREATURE_COUNT extends \SYSTEM\DB\QQ {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT COUNT(*) as count FROM creature_template;',
|
||||
new \DBD\mangos_world()
|
||||
);}}
|
||||
|
||||
3
mojotrollz/api/database/item/autoload.inc
Normal file
3
mojotrollz/api/database/item/autoload.inc
Normal file
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');
|
||||
13
mojotrollz/api/database/item/qq/ITEM_COUNT.php
Normal file
13
mojotrollz/api/database/item/qq/ITEM_COUNT.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class ITEM_COUNT extends \SYSTEM\DB\QQ {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT COUNT(*) as count FROM item_template;',
|
||||
new \DBD\mangos_world()
|
||||
);}}
|
||||
|
||||
16
mojotrollz/api/database/item_scaling.sql
Normal file
16
mojotrollz/api/database/item_scaling.sql
Normal file
@ -0,0 +1,16 @@
|
||||
SELECT name,requiredlevel,COUNT(*) as count, quality,bonding,inventorytype,
|
||||
avg(itemlevel),min(itemlevel),max(itemlevel),
|
||||
avg(maxdurability),min(maxdurability),max(maxdurability),
|
||||
avg(armor),min(armor),max(armor),
|
||||
avg(holy_res),min(holy_res),max(holy_res),
|
||||
avg(fire_res),min(fire_res),max(fire_res),
|
||||
avg(nature_res),min(nature_res),max(nature_res),
|
||||
avg(frost_res),min(frost_res),max(frost_res),
|
||||
avg(shadow_res),min(shadow_res),max(shadow_res),
|
||||
avg(arcane_res),min(arcane_res),max(arcane_res),
|
||||
avg(dmg_min1),min(dmg_min1),max(dmg_min1),
|
||||
avg(dmg_max1),min(dmg_max1),max(dmg_max1),
|
||||
avg(buyprice),min(buyprice),max(buyprice),
|
||||
avg(sellprice),min(sellprice),max(sellprice)
|
||||
FROM item_template
|
||||
GROUP BY quality,bonding,inventorytype,requiredlevel;
|
||||
3
mojotrollz/api/database/object/autoload.inc
Normal file
3
mojotrollz/api/database/object/autoload.inc
Normal file
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');
|
||||
13
mojotrollz/api/database/object/qq/OBJECT_COUNT.php
Normal file
13
mojotrollz/api/database/object/qq/OBJECT_COUNT.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class OBJECT_COUNT extends \SYSTEM\DB\QQ {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT COUNT(*) as count FROM gameobject_template;',
|
||||
new \DBD\mangos_world()
|
||||
);}}
|
||||
|
||||
3
mojotrollz/api/database/quest/autoload.inc
Normal file
3
mojotrollz/api/database/quest/autoload.inc
Normal file
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');
|
||||
13
mojotrollz/api/database/quest/qq/QUEST_COUNT.php
Normal file
13
mojotrollz/api/database/quest/qq/QUEST_COUNT.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class QUEST_COUNT extends \SYSTEM\DB\QQ {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT COUNT(*) as count FROM quest_template;',
|
||||
new \DBD\mangos_world()
|
||||
);}}
|
||||
|
||||
18
mojotrollz/api/database/tags/autoload.inc
Normal file
18
mojotrollz/api/database/tags/autoload.inc
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/stats','');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');
|
||||
|
||||
\SYSTEM\SAI\saimod_sys_todo::register('todo_stats_creature_deploy');
|
||||
\SYSTEM\SAI\saimod_sys_todo::register('todo_stats_creature_map');
|
||||
\SYSTEM\SAI\saimod_sys_todo::register('todo_stats_creature_zone');
|
||||
|
||||
\SYSTEM\SAI\saimod_sys_todo::register('todo_stats_object_deploy');
|
||||
\SYSTEM\SAI\saimod_sys_todo::register('todo_stats_object_map');
|
||||
\SYSTEM\SAI\saimod_sys_todo::register('todo_stats_object_zone');
|
||||
|
||||
\SYSTEM\SAI\saimod_sys_todo::register('todo_stats_quest_deploy');
|
||||
\SYSTEM\SAI\saimod_sys_todo::register('todo_stats_quest_map');
|
||||
\SYSTEM\SAI\saimod_sys_todo::register('todo_stats_quest_zone');
|
||||
|
||||
\SYSTEM\SAI\saimod_sys_todo::register('todo_stats_item_deploy');
|
||||
13
mojotrollz/api/database/tags/qq/TAGS_STATISTICS_CREATURE.php
Normal file
13
mojotrollz/api/database/tags/qq/TAGS_STATISTICS_CREATURE.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class TAGS_STATISTICS_CREATURE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
'',
|
||||
'SELECT COUNT(*) as count FROM creature_template '.
|
||||
' LEFT JOIN host_mojotrollz.mojotrollz_tags ON creature_template.Entry = host_mojotrollz.mojotrollz_tags.id'.
|
||||
' WHERE host_mojotrollz.mojotrollz_tags.`table` = 1 AND host_mojotrollz.mojotrollz_tags.`type` = ?;',
|
||||
new \DBD\mangos_world()
|
||||
);}}
|
||||
|
||||
13
mojotrollz/api/database/tags/qq/TAGS_STATISTICS_ITEM.php
Normal file
13
mojotrollz/api/database/tags/qq/TAGS_STATISTICS_ITEM.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class TAGS_STATISTICS_ITEM extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
'',
|
||||
'SELECT COUNT(*) as count FROM item_template '.
|
||||
' LEFT JOIN host_mojotrollz.mojotrollz_tags ON item_template.Entry = host_mojotrollz.mojotrollz_tags.id'.
|
||||
' WHERE host_mojotrollz.mojotrollz_tags.`table` = 3 AND host_mojotrollz.mojotrollz_tags.`type` = ?;',
|
||||
new \DBD\mangos_world()
|
||||
);}}
|
||||
|
||||
13
mojotrollz/api/database/tags/qq/TAGS_STATISTICS_OBJECT.php
Normal file
13
mojotrollz/api/database/tags/qq/TAGS_STATISTICS_OBJECT.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class TAGS_STATISTICS_OBJECT extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
'',
|
||||
'SELECT COUNT(*) as count FROM gameobject_template '.
|
||||
' LEFT JOIN host_mojotrollz.mojotrollz_tags ON gameobject_template.Entry = host_mojotrollz.mojotrollz_tags.id'.
|
||||
' WHERE host_mojotrollz.mojotrollz_tags.`table` = 2 AND host_mojotrollz.mojotrollz_tags.`type` = ?;',
|
||||
new \DBD\mangos_world()
|
||||
);}}
|
||||
|
||||
13
mojotrollz/api/database/tags/qq/TAGS_STATISTICS_QUEST.php
Normal file
13
mojotrollz/api/database/tags/qq/TAGS_STATISTICS_QUEST.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class TAGS_STATISTICS_QUEST extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
'',
|
||||
'SELECT COUNT(*) as count FROM quest_template '.
|
||||
' LEFT JOIN host_mojotrollz.mojotrollz_tags ON quest_template.Entry = host_mojotrollz.mojotrollz_tags.id'.
|
||||
' WHERE host_mojotrollz.mojotrollz_tags.`table` = 4 AND host_mojotrollz.mojotrollz_tags.`type` = ?;',
|
||||
new \DBD\mangos_world()
|
||||
);}}
|
||||
|
||||
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
class todo_stats_creature_deploy extends \SYSTEM\SAI\todo_stats {
|
||||
public static function stats() {
|
||||
return new \SYSTEM\SAI\todo_stats_data(
|
||||
'Creature Deploy Tag',
|
||||
\DBD\TAGS_STATISTICS_CREATURE::Q1(array(4))['count'],
|
||||
\DBD\CREATURE_COUNT::Q1()['count']);}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
class todo_stats_creature_map extends \SYSTEM\SAI\todo_stats {
|
||||
public static function stats() {
|
||||
return new \SYSTEM\SAI\todo_stats_data(
|
||||
'Creature Map Tag',
|
||||
\DBD\TAGS_STATISTICS_CREATURE::Q1(array(1))['count'],
|
||||
\DBD\CREATURE_COUNT::Q1()['count']);}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
class todo_stats_creature_zone extends \SYSTEM\SAI\todo_stats {
|
||||
public static function stats() {
|
||||
return new \SYSTEM\SAI\todo_stats_data(
|
||||
'Creature Zone Tag',
|
||||
\DBD\TAGS_STATISTICS_CREATURE::Q1(array(2))['count'],
|
||||
\DBD\CREATURE_COUNT::Q1()['count']);}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
class todo_stats_item_deploy extends \SYSTEM\SAI\todo_stats {
|
||||
public static function stats() {
|
||||
return new \SYSTEM\SAI\todo_stats_data(
|
||||
'Item Deploy Tag',
|
||||
\DBD\TAGS_STATISTICS_ITEM::Q1(array(4))['count'],
|
||||
\DBD\ITEM_COUNT::Q1()['count']);}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
class todo_stats_object_deploy extends \SYSTEM\SAI\todo_stats {
|
||||
public static function stats() {
|
||||
return new \SYSTEM\SAI\todo_stats_data(
|
||||
'Object Deploy Tag',
|
||||
\DBD\TAGS_STATISTICS_OBJECT::Q1(array(4))['count'],
|
||||
\DBD\OBJECT_COUNT::Q1()['count']);}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
class todo_stats_object_map extends \SYSTEM\SAI\todo_stats {
|
||||
public static function stats() {
|
||||
return new \SYSTEM\SAI\todo_stats_data(
|
||||
'Object Map Tag',
|
||||
\DBD\TAGS_STATISTICS_OBJECT::Q1(array(1))['count'],
|
||||
\DBD\OBJECT_COUNT::Q1()['count']);}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
class todo_stats_object_zone extends \SYSTEM\SAI\todo_stats {
|
||||
public static function stats() {
|
||||
return new \SYSTEM\SAI\todo_stats_data(
|
||||
'Object Zone Tag',
|
||||
\DBD\TAGS_STATISTICS_OBJECT::Q1(array(2))['count'],
|
||||
\DBD\OBJECT_COUNT::Q1()['count']);}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
class todo_stats_quest_deploy extends \SYSTEM\SAI\todo_stats {
|
||||
public static function stats() {
|
||||
return new \SYSTEM\SAI\todo_stats_data(
|
||||
'Quest Deploy Tag',
|
||||
\DBD\TAGS_STATISTICS_QUEST::Q1(array(4))['count'],
|
||||
\DBD\QUEST_COUNT::Q1()['count']);}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
class todo_stats_quest_map extends \SYSTEM\SAI\todo_stats {
|
||||
public static function stats() {
|
||||
return new \SYSTEM\SAI\todo_stats_data(
|
||||
'Quest Map Tag',
|
||||
\DBD\TAGS_STATISTICS_QUEST::Q1(array(1))['count'],
|
||||
\DBD\QUEST_COUNT::Q1()['count']);}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
class todo_stats_quest_zone extends \SYSTEM\SAI\todo_stats {
|
||||
public static function stats() {
|
||||
return new \SYSTEM\SAI\todo_stats_data(
|
||||
'Quest Zone Tag',
|
||||
\DBD\TAGS_STATISTICS_QUEST::Q1(array(2))['count'],
|
||||
\DBD\QUEST_COUNT::Q1()['count']);}
|
||||
}
|
||||
@ -8,7 +8,22 @@ class tags {
|
||||
const TAG_TABLE_PLAYER = 6;
|
||||
const TAG_TABLE_TOPIC = 7;
|
||||
|
||||
public static function statistics($table,$type){
|
||||
public static function statistics($table,$type){
|
||||
switch($table){
|
||||
case self::TAG_TABLE_CREATURE:
|
||||
return \DBD\TAGS_STATISTICS_CREATURE::Q1(array($type))['count'] / \DBD\CREATURE_COUNT::Q1()['count'] * 100;
|
||||
case self::TAG_TABLE_OBJECT:
|
||||
return \DBD\TAGS_STATISTICS_OBJECT::Q1(array($type))['count'] / \DBD\OBJECT_COUNT::Q1()['count'] * 100;
|
||||
case self::TAG_TABLE_ITEM:
|
||||
return \DBD\TAGS_STATISTICS_ITEM::Q1(array($type))['count'] / \DBD\ITEM_COUNT::Q1()['count'] * 100;
|
||||
case self::TAG_TABLE_QUEST:
|
||||
return \DBD\TAGS_STATISTICS_QUEST::Q1(array($type))['count'] / \DBD\QUEST_COUNT::Q1()['count'] * 100;
|
||||
case self::TAG_TABLE_SPELL:
|
||||
case self::TAG_TABLE_PLAYER:
|
||||
case self::TAG_TABLE_TOPIC:
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public static function get($table, $id, $type = null){
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
<?php
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/log');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/log');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');
|
||||
14
mojotrollz/api/realm/qq/ACCOUNT_CREATE.php
Normal file
14
mojotrollz/api/realm/qq/ACCOUNT_CREATE.php
Normal file
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class ACCOUNT_CREATE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'INSERT INTO account (username, sha_pass_hash, email)
|
||||
VALUES(UPPER(?),?,?);',
|
||||
new \DBD\mangos_realm()
|
||||
);}}
|
||||
|
||||
12
mojotrollz/api/realm/qq/ACCOUNT_CREATE_MOJOTROLLZ.php
Normal file
12
mojotrollz/api/realm/qq/ACCOUNT_CREATE_MOJOTROLLZ.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class ACCOUNT_CREATE_MOJOTROLLZ extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'INSERT INTO `mojotrollz_user` (`system_user`, `mangos_user`) VALUES (?,?);'
|
||||
);}}
|
||||
|
||||
13
mojotrollz/api/realm/qq/ACCOUNT_GET_ID.php
Normal file
13
mojotrollz/api/realm/qq/ACCOUNT_GET_ID.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class ACCOUNT_GET_ID extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT id FROM account WHERE username = UPPER(?);',
|
||||
new \DBD\mangos_realm()
|
||||
);}}
|
||||
|
||||
@ -1,4 +1,34 @@
|
||||
function init_wizard_register(){
|
||||
remove_search();
|
||||
$('#back_link').click(function(){system.load($(this).attr('sysload'));});
|
||||
|
||||
//jqBootstrapValidation
|
||||
$("#register_form input").not("[type=submit]").jqBootstrapValidation({
|
||||
preventSubmit: true,
|
||||
submitError: function (form, event, errors) {event.preventDefault();},
|
||||
submitSuccess: function(form, event){
|
||||
event.preventDefault();
|
||||
var username = document.getElementById('register_username').value;
|
||||
var email = document.getElementById('register_email').value;
|
||||
var password = document.getElementById('register_password1').value;
|
||||
var locale = "enUS";
|
||||
var betacode = document.getElementById('register_betacode').value;
|
||||
var wow_password = $.sha1(username.toUpperCase()+':'+password.toUpperCase());
|
||||
$.ajax({type : 'GET',
|
||||
url: './api.php?call=account&action=create&username='+username+
|
||||
'&password_sha='+$.sha1(password)+
|
||||
'&email='+email+
|
||||
'&locale='+locale+
|
||||
'&betacode='+betacode+
|
||||
'&wow_password='+wow_password,
|
||||
success: function (data) {
|
||||
if(data.status){ // reload -> user will be loged in
|
||||
window.location.href = location.href;
|
||||
}else{ // show errors
|
||||
alert('Not successfull: '+data.result.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -1,59 +1,65 @@
|
||||
<div style="padding: 30px; padding-left: 50px; margin-top: 5px; margin-left: 250px; background: url(${BG}pergament_big.png); background-size: 60% 100%; background-repeat:no-repeat;">
|
||||
<div class="lifecraft" padding-right: 10px;">
|
||||
<h3>${register_title}</h3>
|
||||
<form class="textbox" style="padding:10px" id="login_form">
|
||||
<h3>Register 'ur Mojotrollz Account</h3>
|
||||
<h5>and create your Character</h5>
|
||||
<form class="textbox" style="padding:10px" id="register_form">
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<input type="text"
|
||||
size="30"
|
||||
style="margin-bottom: 10px;"
|
||||
id="bt_login_user"
|
||||
placeholder="${register_username}"
|
||||
minlength="3" data-validation-minlength-message="${register_username_too_short}"
|
||||
maxlength="16" data-validation-maxlength-message="${register_username_too_long}"
|
||||
required data-validation-required-message="${register_username_required}"/>
|
||||
id="register_username"
|
||||
placeholder="${basic_username}"
|
||||
minlength="3" data-validation-minlength-message="${sai_error_username_short}"
|
||||
maxlength="16" data-validation-maxlength-message="${sai_error_username_long}"
|
||||
required data-validation-required-message="${sai_error_username_miss}"/>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<input type="text"
|
||||
size="30"
|
||||
style="margin-bottom: 15px;"
|
||||
id="bt_login_user"
|
||||
placeholder="${register_email}"
|
||||
minlength="3" data-validation-minlength-message="${register_username_too_short}"
|
||||
maxlength="16" data-validation-maxlength-message="${register_username_too_long}"
|
||||
required data-validation-required-message="${register_email_required}"/>
|
||||
id="register_email"
|
||||
placeholder="${basic_email}"
|
||||
data-validation-email-message="${sai_error_email_wrong}"
|
||||
required data-validation-required-message="${sai_error_email_miss}"/>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<input type="password"
|
||||
size="30"
|
||||
style="margin-bottom: 10px;"
|
||||
id="bt_register_password"
|
||||
placeholder="${register_password}"
|
||||
minlength="5" data-validation-minlength-message="${register_password_too_short}"
|
||||
maxlength="16" data-validation-maxlength-message="${register_password_too_long}"
|
||||
required data-validation-required-message="${register_password_required}"/>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<input type="password"
|
||||
size="30"
|
||||
style="margin-bottom: 10px;"
|
||||
id="bt_register_password"
|
||||
placeholder="${register_password_repeat}"
|
||||
minlength="5" data-validation-minlength-message="${register_password_too_short}"
|
||||
maxlength="16" data-validation-maxlength-message="${register_password_too_long}"
|
||||
required data-validation-required-message="${register_password_required}"/>
|
||||
<div class="control-group" id="change_user_password">
|
||||
<div class="control-group controls" style="clear: both">
|
||||
<input type="password"
|
||||
size="30"
|
||||
style="margin-bottom: 15px; float: left;"
|
||||
id="register_password1"
|
||||
name="register_password1"
|
||||
placeholder="${basic_password}"
|
||||
minlength="5" data-validation-minlength-message="${sai_error_password_short}"
|
||||
required data-validation-required-message="${sai_error_password_miss}"/>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="control-group controls" style="clear: both">
|
||||
<input type="password"
|
||||
size="30"
|
||||
style="margin-bottom: 15px; float: left;"
|
||||
id="register_password2"
|
||||
name="register_password2"
|
||||
placeholder="${basic_password}"
|
||||
data-validation-matches-match="register_password1"
|
||||
data-validation-matches-message="${sai_error_password_match}"/>
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<div class="control-group controls" style="clear: both">
|
||||
<input type="text"
|
||||
size="30"
|
||||
style="margin-bottom: 10px;"
|
||||
id="bt_register_password"
|
||||
placeholder="${register_beta_code}"
|
||||
minlength="5" data-validation-minlength-message="${register_beta_code_too_short}"
|
||||
maxlength="16" data-validation-maxlength-message="${register_beta_code_too_long}"
|
||||
required data-validation-required-message="${register_beta_code_required}"/>
|
||||
id="register_betacode"
|
||||
placeholder="BetaCode"
|
||||
minlength="12" data-validation-minlength-message="Incorrect Beta Code!"
|
||||
maxlength="12" data-validation-maxlength-message="Incorrect Beta Code!"
|
||||
required data-validation-required-message="A Beta Code is required!"/>
|
||||
</div>
|
||||
<div id="register" style=""><a href="#"><img src="${BUTTONS}register.png"/></a></div>
|
||||
<div class="help-block" style="float: left; margin-top: 3px;"></div>
|
||||
<div style="clear: both;"></div>
|
||||
<button id="register" type="submit" style="width: 320px; height: 60px; border: 0; background: url(${BUTTONS}register.png) no-repeat;"></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@ -11,7 +11,8 @@ class wizard_register extends SYSTEM\PAGE\Page {
|
||||
$vars['BG'] = \SYSTEM\FILES\files::getURL('backgrounds');
|
||||
$vars['BUTTONS'] = \SYSTEM\FILES\files::getURL('buttons');
|
||||
$vars['WOWICONS'] = \SYSTEM\FILES\files::getURL('wowicons');
|
||||
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE));
|
||||
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_BASIC));
|
||||
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_SYSTEM_SAI_ERROR));
|
||||
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_INFOTEXT));
|
||||
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_register/tpl/register.tpl'), $vars);
|
||||
}
|
||||
|
||||
@ -17,7 +17,7 @@ class wizard_start extends SYSTEM\PAGE\Page {
|
||||
$vars['realm_status'] = realm::status();
|
||||
$vars['world_status'] = world::status();
|
||||
$vars['player_online'] = database::player_online();
|
||||
$vars['project_perc'] = \SYSTEM\SAI\saimod_sys_todo::statistics()['project_perc'];
|
||||
$vars['project_perc'] = \SYSTEM\SAI\saimod_sys_todo::statistics()['project'];
|
||||
|
||||
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE),
|
||||
\SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_SERVERINFO),
|
||||
|
||||
@ -1,14 +1,16 @@
|
||||
<?php
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'','');
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_server_handling/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_beta/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_db_tags/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_db_account/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_db_character/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_db_creature/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_db_object/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_db_item/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_db_quest/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_db_object/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_db_player/autoload.inc';
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/saimod_mojotrollz_db_spell','');
|
||||
\SYSTEM\SAI\sai::register('saimod_mojotrollz_db_spell');
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_db_tags/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_skilltree/autoload.inc.php';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_visuals/autoload.inc.php';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_import/autoload.inc.php';
|
||||
4
mojotrollz/sai/saimod_mojotrollz_beta/autoload.inc
Normal file
4
mojotrollz/sai/saimod_mojotrollz_beta/autoload.inc
Normal file
@ -0,0 +1,4 @@
|
||||
<?php
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');
|
||||
\SYSTEM\SAI\sai::register('saimod_mojotrollz_beta');
|
||||
3
mojotrollz/sai/saimod_mojotrollz_beta/beta.sql
Normal file
3
mojotrollz/sai/saimod_mojotrollz_beta/beta.sql
Normal file
@ -0,0 +1,3 @@
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5800, 42, 0, 0, 'saimod_mojotrollz_beta', 'action', NULL);
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5801, 42, 3, 0, 'saimod_mojotrollz_beta', 'generate', 'INT');
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5810, 42, 2, 5800, 'del', 'code', 'STRING');
|
||||
@ -0,0 +1,21 @@
|
||||
function init_saimod_mojotrollz_beta(){
|
||||
$('#btn_gen').click(function(){
|
||||
$('#content-wrapper').load(SAI_ENDPOINT + 'sai_mod=saimod_mojotrollz_beta&generate=1',function(){
|
||||
init_saimod_mojotrollz_beta();
|
||||
});
|
||||
});
|
||||
$('.btn_del').click(function(){
|
||||
$.ajax({type : 'GET',
|
||||
url : SAI_ENDPOINT+'sai_mod=saimod_mojotrollz_beta&action=del'+
|
||||
'&code='+$(this).attr('_code'),
|
||||
success : function(data) {
|
||||
if(data.status){
|
||||
$('#content-wrapper').load(SAI_ENDPOINT + 'sai_mod=saimod_mojotrollz_beta',function(){
|
||||
init_saimod_mojotrollz_beta();
|
||||
});
|
||||
}else{
|
||||
alert('Problem: '+data);}
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
12
mojotrollz/sai/saimod_mojotrollz_beta/qq/BETA_CHECK_CODE.php
Normal file
12
mojotrollz/sai/saimod_mojotrollz_beta/qq/BETA_CHECK_CODE.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class BETA_CHECK_CODE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT COUNT(*) as count FROM mojotrollz_beta WHERE code = ? AND user_new IS NULL'
|
||||
);}}
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class BETA_DELETE_CODE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'DELETE FROM `mojotrollz_beta`'.
|
||||
' WHERE code = ?;'
|
||||
);}}
|
||||
|
||||
14
mojotrollz/sai/saimod_mojotrollz_beta/qq/BETA_GET_CODE.php
Normal file
14
mojotrollz/sai/saimod_mojotrollz_beta/qq/BETA_GET_CODE.php
Normal file
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class BETA_GET_CODE extends \SYSTEM\DB\QQ {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT mojotrollz_beta.*, su1.username as name_user, su2.username as name_user_new FROM mojotrollz_beta '.
|
||||
'LEFT JOIN system_user as su1 ON su1.id = mojotrollz_beta.user '.
|
||||
'LEFT JOIN system_user as su2 ON su2.id = mojotrollz_beta.user_new;'
|
||||
);}}
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class BETA_INSERT_CODE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'INSERT INTO `mojotrollz_beta` (`code`, `user`, `user_new`)'.
|
||||
' VALUES (?, ?, NULL);'
|
||||
);}}
|
||||
|
||||
12
mojotrollz/sai/saimod_mojotrollz_beta/qq/BETA_USE_CODE.php
Normal file
12
mojotrollz/sai/saimod_mojotrollz_beta/qq/BETA_USE_CODE.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class BETA_USE_CODE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'UPDATE mojotrollz_beta SET user_new = ? WHERE code = ?;'
|
||||
);}}
|
||||
|
||||
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
class saimod_mojotrollz_beta extends \SYSTEM\SAI\SaiModule {
|
||||
public static function code_check($code){
|
||||
return \DBD\BETA_CHECK_CODE::Q1(array($code))['count'] >= 0 ? true : false;}
|
||||
|
||||
public static function code_use($code,$user_new){
|
||||
return \DBD\BETA_USE_CODE::QI(array($user_new,$code));}
|
||||
|
||||
public static function sai_mod_saimod_mojotrollz_beta_action_del($code){
|
||||
\DBD\BETA_DELETE_CODE::QI(array($code));
|
||||
return JsonResult::ok();}
|
||||
public static function sai_mod_saimod_mojotrollz_beta($generate = false){
|
||||
$vars = array();
|
||||
$vars['entries'] = $vars['beta_code'] = '';
|
||||
|
||||
if($generate){
|
||||
$vars['beta_code'] = substr(sha1(rand(1, 99999)), 1, 12);
|
||||
if(!\DBD\BETA_INSERT_CODE::QI(array($vars['beta_code'], \SYSTEM\SECURITY\Security::getUser()->id))){
|
||||
$vars['beta_code'] = 'generate code failed. Retry!';}
|
||||
}
|
||||
|
||||
$res = \DBD\BETA_GET_CODE::QQ();
|
||||
while($code = $res->next()){
|
||||
$vars['entries'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_beta/tpl/beta_entry.tpl'), $code);}
|
||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_beta/tpl/beta.tpl'), $vars);}
|
||||
|
||||
public static function html_li_menu(){return '<li><a href="#" saimenu="saimod_mojotrollz_beta">Beta</a></li><li class="divider"></li>';}
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
public static function sai_mod_saimod_mojotrollz_beta_flag_js(){return \SYSTEM\LOG\JsonResult::toString(array(
|
||||
\SYSTEM\WEBPATH(new PSAI(),'saimod_mojotrollz_beta/js/saimod_mojotrollz_beta.js')));}
|
||||
public static function sai_mod_saimod_mojotrollz_beta_flag_css(){return \SYSTEM\LOG\JsonResult::toString(array());}
|
||||
}
|
||||
14
mojotrollz/sai/saimod_mojotrollz_beta/tpl/beta.tpl
Normal file
14
mojotrollz/sai/saimod_mojotrollz_beta/tpl/beta.tpl
Normal file
@ -0,0 +1,14 @@
|
||||
<div id="new_container">
|
||||
${beta_code}
|
||||
<button class="btn btn-primary" type="button" id="btn_gen">Generate</button>
|
||||
</div>
|
||||
<hr/>
|
||||
<table class="sai_table">
|
||||
<tr>
|
||||
<th>Code</th>
|
||||
<th>user</th>
|
||||
<th>user_new</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
${entries}
|
||||
</table>
|
||||
6
mojotrollz/sai/saimod_mojotrollz_beta/tpl/beta_entry.tpl
Normal file
6
mojotrollz/sai/saimod_mojotrollz_beta/tpl/beta_entry.tpl
Normal file
@ -0,0 +1,6 @@
|
||||
<tr>
|
||||
<td>${code}</td>
|
||||
<td>${name_user}</td>
|
||||
<td>${name_user_new}</td>
|
||||
<td><button class="btn btn-danger btn_del" _code="${code}">Del</button></td>
|
||||
</tr>
|
||||
4
mojotrollz/sai/saimod_mojotrollz_db_account/autoload.inc
Normal file
4
mojotrollz/sai/saimod_mojotrollz_db_account/autoload.inc
Normal file
@ -0,0 +1,4 @@
|
||||
<?php
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
//SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');
|
||||
\SYSTEM\SAI\sai::register('saimod_mojotrollz_db_account');
|
||||
@ -0,0 +1,21 @@
|
||||
function init_saimod_mojotrollz_db_account(){
|
||||
/*$('#btn_gen').click(function(){
|
||||
$('#content-wrapper').load(SAI_ENDPOINT + 'sai_mod=saimod_mojotrollz_beta&generate=1',function(){
|
||||
init_saimod_mojotrollz_beta();
|
||||
});
|
||||
});
|
||||
$('.btn_del').click(function(){
|
||||
$.ajax({type : 'GET',
|
||||
url : SAI_ENDPOINT+'sai_mod=saimod_mojotrollz_beta&action=del'+
|
||||
'&code='+$(this).attr('_code'),
|
||||
success : function(data) {
|
||||
if(data.status){
|
||||
$('#content-wrapper').load(SAI_ENDPOINT + 'sai_mod=saimod_mojotrollz_beta',function(){
|
||||
init_saimod_mojotrollz_beta();
|
||||
});
|
||||
}else{
|
||||
alert('Problem: '+data);}
|
||||
}
|
||||
});
|
||||
})*/
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
class saimod_mojotrollz_db_account extends \SYSTEM\SAI\SaiModule {
|
||||
public static function sai_mod_saimod_mojotrollz_db_account(){
|
||||
$vars = array();
|
||||
$vars['entries'] = '';
|
||||
$vars['count'] = \DBD\ACCOUNT_COUNT::Q1()['count'];
|
||||
|
||||
$res = \DBD\ACCOUNT_GET::QQ();
|
||||
while($acc = $res->next()){
|
||||
$vars['entries'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_account/tpl/account_entry.tpl'), $acc);}
|
||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_account/tpl/account.tpl'), $vars);}
|
||||
|
||||
public static function html_li_menu(){return '<li><a href="#" saimenu="saimod_mojotrollz_db_account">DB:Accounts</a></li><li class="divider"></li>';}
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
public static function sai_mod_saimod_mojotrollz_db_account_flag_js(){return \SYSTEM\LOG\JsonResult::toString(array(
|
||||
\SYSTEM\WEBPATH(new PSAI(),'saimod_mojotrollz_db_account/js/saimod_mojotrollz_db_account.js')));}
|
||||
public static function sai_mod_saimod_mojotrollz_db_account_flag_css(){return \SYSTEM\LOG\JsonResult::toString(array());}
|
||||
}
|
||||
11
mojotrollz/sai/saimod_mojotrollz_db_account/tpl/account.tpl
Normal file
11
mojotrollz/sai/saimod_mojotrollz_db_account/tpl/account.tpl
Normal file
@ -0,0 +1,11 @@
|
||||
<h3>Accounts</h3>
|
||||
Count: ${count}
|
||||
<table class="sai_table">
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>username</th>
|
||||
<th>email</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
${entries}
|
||||
</table>
|
||||
@ -0,0 +1,6 @@
|
||||
<tr class="wow_account" _id="${id}">
|
||||
<td>${id}</td>
|
||||
<td>${username}</td>
|
||||
<td>${email}</td>
|
||||
<td><button class="btn btn-danger btn_del" _code="${code}">Do smth</button></td>
|
||||
</tr>
|
||||
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__));
|
||||
\SYSTEM\SAI\sai::register('saimod_mojotrollz_db_character');
|
||||
@ -0,0 +1,3 @@
|
||||
function init_saimod_mojotrollz_db_character(){
|
||||
map(6,-1);
|
||||
}
|
||||
@ -1,26 +1,26 @@
|
||||
<?php
|
||||
class saimod_mojotrollz_db_player extends \SYSTEM\SAI\SaiModule {
|
||||
public static function sai_mod_saimod_mojotrollz_db_player(){
|
||||
class saimod_mojotrollz_db_character extends \SYSTEM\SAI\SaiModule {
|
||||
public static function sai_mod_saimod_mojotrollz_db_character(){
|
||||
$con = new \SYSTEM\DB\Connection(new \DBD\mangos_chars());
|
||||
$res = $con->query('SELECT * FROM characters WHERE deleteInfos_Account IS NULL LIMIT 100;');
|
||||
$vars = array();
|
||||
$elements = '';
|
||||
while($row = $res->next()){
|
||||
$row['name'] = utf8_encode($row['name']);
|
||||
$elements .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_player/tpl/player.tpl'), $row);}
|
||||
$elements .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_character/tpl/character.tpl'), $row);}
|
||||
$vars['elements'] = $elements;
|
||||
$vars['map'] = map::generate(6);
|
||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_player/tpl/players.tpl'), $vars);
|
||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_character/tpl/characters.tpl'), $vars);
|
||||
}
|
||||
public static function html_li_menu(){return '<li><a href="#" saimenu="saimod_mojotrollz_db_player">DB:Players</a></li><li class="divider"></li>';}
|
||||
public static function html_li_menu(){return '<li><a href="#" saimenu="saimod_mojotrollz_db_character">DB:Characters</a></li><li class="divider"></li>';}
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
public static function sai_mod_saimod_mojotrollz_db_player_flag_js(){return \SYSTEM\LOG\JsonResult::toString(array(
|
||||
public static function sai_mod_saimod_mojotrollz_db_character_flag_js(){return \SYSTEM\LOG\JsonResult::toString(array(
|
||||
\SYSTEM\WEBPATH(new PAPI(),'database/js/wow.js'),
|
||||
\SYSTEM\WEBPATH(new PAPI(),'map/js/map.js'),
|
||||
\SYSTEM\WEBPATH(new PSAI(),'saimod_mojotrollz_db_player/js/saimod_mojotrollz_db_player.js')
|
||||
\SYSTEM\WEBPATH(new PSAI(),'saimod_mojotrollz_db_character/js/saimod_mojotrollz_db_character.js')
|
||||
));}
|
||||
public static function sai_mod_saimod_mojotrollz_db_player_flag_css(){return \SYSTEM\LOG\JsonResult::toString(array(
|
||||
public static function sai_mod_saimod_mojotrollz_db_character_flag_css(){return \SYSTEM\LOG\JsonResult::toString(array(
|
||||
\SYSTEM\WEBPATH(new PAPI(),'map/css/map.css')
|
||||
));}
|
||||
|
||||
@ -7,7 +7,8 @@ class saimod_mojotrollz_db_creature extends \SYSTEM\SAI\SaiModule {
|
||||
$tags = json_decode($tags,true);
|
||||
foreach ($tags as $type=>$value){
|
||||
if($value == -2){
|
||||
tags::del(tags::TAG_TABLE_CREATURE, $id, $type);}
|
||||
tags::del(tags::TAG_TABLE_CREATURE, $id, $type);
|
||||
continue;}
|
||||
tags::set(tags::TAG_TABLE_CREATURE, $id, $type, $value);}
|
||||
return JsonResult::ok();
|
||||
}
|
||||
|
||||
@ -7,7 +7,8 @@ class saimod_mojotrollz_db_item extends \SYSTEM\SAI\SaiModule {
|
||||
$tags = json_decode($tags,true);
|
||||
foreach ($tags as $type=>$value){
|
||||
if($value == -2){
|
||||
tags::del(tags::TAG_TABLE_ITEM, $id, $type);}
|
||||
tags::del(tags::TAG_TABLE_ITEM, $id, $type);
|
||||
continue;}
|
||||
tags::set(tags::TAG_TABLE_ITEM, $id, $type, $value);}
|
||||
return JsonResult::ok();
|
||||
}
|
||||
|
||||
@ -7,7 +7,8 @@ class saimod_mojotrollz_db_object extends \SYSTEM\SAI\SaiModule {
|
||||
$tags = json_decode($tags,true);
|
||||
foreach ($tags as $type=>$value){
|
||||
if($value == -2){
|
||||
tags::del(tags::TAG_TABLE_OBJECT, $id, $type);}
|
||||
tags::del(tags::TAG_TABLE_OBJECT, $id, $type);
|
||||
continue;}
|
||||
tags::set(tags::TAG_TABLE_OBJECT, $id, $type, $value);}
|
||||
return JsonResult::ok();
|
||||
}
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
<?php
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__));
|
||||
\SYSTEM\SAI\sai::register('saimod_mojotrollz_db_player');
|
||||
@ -1,3 +0,0 @@
|
||||
function init_saimod_mojotrollz_db_player(){
|
||||
map(6,-1);
|
||||
}
|
||||
@ -7,7 +7,8 @@ class saimod_mojotrollz_db_quest extends \SYSTEM\SAI\SaiModule {
|
||||
$tags = json_decode($tags,true);
|
||||
foreach ($tags as $type=>$value){
|
||||
if($value == -2){
|
||||
tags::del(tags::TAG_TABLE_QUEST, $id, $type);}
|
||||
tags::del(tags::TAG_TABLE_QUEST, $id, $type);
|
||||
continue;}
|
||||
tags::set(tags::TAG_TABLE_QUEST, $id, $type, $value);}
|
||||
return JsonResult::ok();
|
||||
}
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
<?php
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');
|
||||
\SYSTEM\SAI\sai::register('saimod_mojotrollz_db_tags');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');
|
||||
|
||||
\SYSTEM\SAI\sai::register('saimod_mojotrollz_db_tags');
|
||||
@ -5,7 +5,7 @@ class saimod_mojotrollz_db_tags extends \SYSTEM\SAI\SaiModule {
|
||||
$elements = '';
|
||||
$res = \DBD\DB_TAGS_TYPE_LIST::QQ(array($table));
|
||||
while($row = $res->next()){
|
||||
$row['statistics'] = tags::statistics($table,$row['id']);
|
||||
$row['statistics'] = round(tags::statistics($table,$row['id']),2).'%';
|
||||
$elements .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_tags/tpl/type_list_element.tpl'),$row);}
|
||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_tags/tpl/type_list.tpl'),array('table' => $table, 'elements' => $elements));}
|
||||
|
||||
|
||||
2
system
2
system
@ -1 +1 @@
|
||||
Subproject commit 1c02883a3eacb7fa9e50787597b5aff1f6add490
|
||||
Subproject commit 54491390805ded4ca366f355f746c2ee84ae4cbf
|
||||
Loading…
x
Reference in New Issue
Block a user