tag system proto, saimod tags proto

This commit is contained in:
Tobi 2014-12-11 01:22:17 +01:00
parent 58956b6a01
commit 828f82cfe5
22 changed files with 201 additions and 11 deletions

View File

@ -4,4 +4,6 @@
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/creature');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/creature/qq','DBD');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/quest');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/quest/qq','DBD');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/quest/qq','DBD');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/tags');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/tags/qq','DBD');

View File

@ -0,0 +1,9 @@
<?php
namespace DBD;
class TAGS_COMMENT extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
'INSERT INTO mojotrollz_tags (table, id, type, comment) VALUES(?,?,?,?) ON DUPLICATE KEY UPDATE comment=VALUES(comment);'
);}}

View File

@ -0,0 +1,12 @@
<?php
namespace DBD;
class TAGS_GET extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
'SELECT * FROM mojotrollz_tags
LEFT JOIN mojotrollz_tags_type ON mojotrollz_tags.type=mojotrollz_tags_type.id
LEFT JOIN mojotrollz_tags_value ON mojotrollz_tags.type=mojotrollz_tags_value.type, mojotrollz_tags.value=mojotrollz_tags_value.id
WHERE table = ? and id = ?;'
);}}

View File

@ -0,0 +1,12 @@
<?php
namespace DBD;
class TAGS_GET_TYPE extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
'SELECT * FROM mojotrollz_tags
LEFT JOIN mojotrollz_tags_type ON mojotrollz_tags.type=mojotrollz_tags_type.id
LEFT JOIN mojotrollz_tags_value ON mojotrollz_tags.type=mojotrollz_tags_value.type, mojotrollz_tags.value=mojotrollz_tags_value.id
WHERE table = ? and id = ? and type = ?;'
);}}

View File

@ -0,0 +1,9 @@
<?php
namespace DBD;
class TAGS_SET extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
'INSERT INTO mojotrollz_tags (table, id, type, value) VALUES(?,?,?,?) ON DUPLICATE KEY UPDATE value=VALUES(value);'
);}}

View File

@ -0,0 +1,9 @@
<?php
namespace DBD;
class TAGS_SET_COMMENT extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
'INSERT INTO mojotrollz_tags (table, id, type, value, comment) VALUES(?,?,?,?,?) ON DUPLICATE KEY UPDATE value=VALUES(value), comment=VALUES(comment);'
);}}

View File

@ -0,0 +1,9 @@
<?php
namespace DBD;
class TAGS_SET_TYPE extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
'INSERT INTO mojotrollz_tags_type (id, table, name) VALUES(?,?,?) ON DUPLICATE KEY UPDATE name=VALUES(name);'
);}}

View File

@ -0,0 +1,9 @@
<?php
namespace DBD;
class TAGS_SET_TYPE_DESCRIPTION extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
'INSERT INTO mojotrollz_tags_type (id, table, name, description) VALUES(?,?,?,?) ON DUPLICATE KEY UPDATE name=VALUES(name), description=VALUES(description);'
);}}

View File

@ -0,0 +1,9 @@
<?php
namespace DBD;
class TAGS_SET_VALUE extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
'INSERT INTO mojotrollz_tags_value (type, id, value) VALUES(?,?,?) ON DUPLICATE KEY UPDATE value=VALUES(value);'
);}}

View File

@ -0,0 +1,9 @@
<?php
namespace DBD;
class TAGS_SET_VALUE_DESCRIPTION extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
'INSERT INTO mojotrollz_tags_value (type, id, value, description) VALUES(?,?,?,?) ON DUPLICATE KEY UPDATE value=VALUES(value), description=VALUES(description);'
);}}

View File

@ -0,0 +1,26 @@
<?php
class tags {
public static function get($table, $id, $type = null){
if($type){
return \DBD\TAGS_GET_TYPE::Q1(array($table, $id, $type));}
new TODO("This might be problematic");
return \DBD\TAGS_GET::QQ(array($table, $id));}
public static function set($table, $id, $type, $value, $comment = null){
if($comment){
return \DBD\TAGS_SET_COMMENT::QI(array($table, $id, $type, $value, $comment));}
return \DBD\TAGS_SET::QI(array($table, $id, $type, $value));}
public static function comment($table, $id, $type, $comment){
return \DBD\TAGS_COMMENT::QI(array($table, $id, $type, $comment));}
public static function set_type($id,$table,$name,$description=null){
if($description){
return \DBD\TAGS_SET_TYPE_DESCRIPTION::QI(array($id,$table,$name,$description));}
return \DBD\TAGS_SET_TYPE::QI(array($id,$table,$name));}
public static function set_value($type,$id,$value,$description=null){
if($description){
return \DBD\TAGS_SET_VALUE_DESCRIPTION::QI($type,$id,$value,$description);}
return \DBD\TAGS_SET_VALUE::QI($type,$id,$value);}
}

View File

@ -15,5 +15,5 @@ require_once dirname(__FILE__).'/saimod_mojotrollz_visuals/autoload.inc.php';
\SYSTEM\SAI\sai::register('saimod_mojotrollz_db_reputation');
\SYSTEM\SAI\sai::register('saimod_mojotrollz_db_script');
\SYSTEM\SAI\sai::register('saimod_mojotrollz_db_spell');
\SYSTEM\SAI\sai::register('saimod_mojotrollz_db_tags');
require_once dirname(__FILE__).'/saimod_mojotrollz_db_tags/autoload.inc';
require_once dirname(__FILE__).'/saimod_mojotrollz_import/autoload.inc.php';

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

View File

@ -0,0 +1,2 @@
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1300, 42, 0, 0, 'saimod_mojotrollz_db_tags', 'action', NULL);
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1310, 42, 2, 1300, 'list', 'table', 'INT');

View File

@ -0,0 +1,14 @@
function init_saimod_mojotrollz_db_tags(){
$('#tabs_tags a').click(function (e) {
e.preventDefault();
$(this).tab('show');
load_tags_tab($(this).attr('table'));
});
load_tags_tab(1);
}
function load_tags_tab(table){
$('#tab_content').load(SAI_ENDPOINT+'sai_mod=saimod_mojotrollz_db_tags&action=list&table='+table, function(){
$('img#loader').hide();});
}

View File

@ -0,0 +1,10 @@
<?php
namespace DBD;
class DB_TAGS_TYPE_LIST extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
'',
'SELECT * FROM mojotrollz_tags_type WHERE `table` = ?;'
);}}

View File

@ -1,3 +0,0 @@
function init_saimod_mojotrollz_db_tags(){
}

View File

@ -1,15 +1,20 @@
<?php
class saimod_mojotrollz_db_tags extends \SYSTEM\SAI\SaiModule {
public static function sai_mod_saimod_mojotrollz_db_tags(){
return SYSTEM\SAI\replace::replaceFile(SYSTEM\SERVERPATH(new SYSTEM\PSAI(),'saimod_mojotrollz_db_tags/tpl/content.tpl'));
}
public static function sai_mod_saimod_mojotrollz_db_tags_action_list($table){
$elements = '';
$res = \DBD\DB_TAGS_TYPE_LIST::QQ(array($table));
while($row = $res->next()){
$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));}
public static function sai_mod_saimod_mojotrollz_db_tags(){
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_tags/tpl/saimod_mojotrollz_db_tags.tpl'),array());}
public static function html_li_menu(){return '<li><a href="#" saimenu="saimod_mojotrollz_db_tags">DB:tags</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_tags_flag_js(){return \SYSTEM\LOG\JsonResult::toString(array(
\SYSTEM\WEBPATH(new PSAI(),'saimod_mojotrollz_db_tags/saimod_mojotrollz_db_tags.js')));}
\SYSTEM\WEBPATH(new PSAI(),'saimod_mojotrollz_db_tags/js/saimod_mojotrollz_db_tags.js')));}
public static function sai_mod_saimod_mojotrollz_db_tags_flag_css(){}
}

View File

@ -0,0 +1,15 @@
<h4>Tags</h4>
<hr>
<div class="tabbable">
<ul class="nav nav-tabs" id="tabs_tags">
<li class="active"><a href="#tab_content" table="1">Creatures</a></li>
<li><a href="#tab_content" table="2">Objects</a></li>
<li><a href="#tab_content" table="3">Items</a></li>
<li><a href="#tab_content" table="4">Quests</a></li>
<li><a href="#tab_content" table="5">Spells</a></li>
<img id="loader" src="${PICPATH}ajax-loader.gif" style="margin-left: 10px; margin-top: 10px; display: none; float: left"/>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab_content"></div>
</div>
</div>

View File

@ -0,0 +1,18 @@
<table class="sai_table">
<tr>
<th>id</th>
<th>table</th>
<th>name</th>
<th>description</th>
<th>action</th>
</tr>
<tr>
<td><input id="input_id" type="number"/></td>
<td>${table}</td>
<td><input id="input_name" type="text"/></td>
<td><input id="input_description" type="text"/></td>
<td><button class="btn btn-danger" id="btn_edit">Add/Edit</button></td>
</tr>
<hr>
${elements}
</table>

View File

@ -0,0 +1,11 @@
<tr>
<td>${id}</td>
<td>${table}</td>
<td>${name}</td>
<td>${description}</td>
<td>
<button class="btn btn-success" id="btn_edit">Edit</button>
<button class="btn btn-danger" id="btn_del">Del</button>
<button class="btn" id="btn_values">Values</button>
</td>
</tr>