saimod beta, saimo tags statistics, updated system reference, cleanup

This commit is contained in:
Ulf Gebhardt 2014-12-23 09:14:06 +01:00
parent 0c308a5d64
commit 5efd6ad4c4
27 changed files with 258 additions and 9 deletions

View File

@ -1,13 +1,12 @@
<?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__).'/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');

View File

@ -0,0 +1,3 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');

View 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()
);}}

View File

@ -0,0 +1,3 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');

View 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()
);}}

View File

@ -0,0 +1,3 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');

View 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()
);}}

View File

@ -0,0 +1,3 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');

View 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()
);}}

View File

@ -0,0 +1,3 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');

View 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()
);}}

View 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()
);}}

View 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()
);}}

View 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()
);}}

View File

@ -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){

View File

@ -1,6 +1,7 @@
<?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_creature/autoload.inc';
require_once dirname(__FILE__).'/saimod_mojotrollz_db_item/autoload.inc';
require_once dirname(__FILE__).'/saimod_mojotrollz_db_quest/autoload.inc';

View 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');

View 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');

View File

@ -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);}
}
});
})
}

View File

@ -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 = ?;'
);}}

View 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;'
);}}

View File

@ -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);'
);}}

View File

@ -0,0 +1,27 @@
<?php
class saimod_mojotrollz_beta extends \SYSTEM\SAI\SaiModule {
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());}
}

View 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>

View 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>

View File

@ -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

@ -1 +1 @@
Subproject commit 1c02883a3eacb7fa9e50787597b5aff1f6add490
Subproject commit c9d96735341597ecb8076ee39855c4cb6f29b2a3