saimod creature, tag filter interface, cleanup, tags
This commit is contained in:
parent
f6d1e75d2a
commit
bafd2ee39b
10
mojotrollz/api/database/tags/qq/TAGS_GET_TYPE_GET.php
Normal file
10
mojotrollz/api/database/tags/qq/TAGS_GET_TYPE_GET.php
Normal file
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class TAGS_GET_TYPE_GET extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
'',
|
||||
'SELECT * FROM mojotrollz_tags_type WHERE `table` = ? AND id = ?;'
|
||||
);}}
|
||||
|
||||
10
mojotrollz/api/database/tags/qq/TAGS_GET_TYPE_GET_TYPES.php
Normal file
10
mojotrollz/api/database/tags/qq/TAGS_GET_TYPE_GET_TYPES.php
Normal file
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class TAGS_GET_TYPE_GET_TYPES extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
'',
|
||||
'SELECT * FROM mojotrollz_tags_type WHERE `table` = ?;'
|
||||
);}}
|
||||
|
||||
10
mojotrollz/api/database/tags/qq/TAGS_GET_VALUE_GET.php
Normal file
10
mojotrollz/api/database/tags/qq/TAGS_GET_VALUE_GET.php
Normal file
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class TAGS_GET_VALUE_GET extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
'',
|
||||
'SELECT * FROM mojotrollz_tags_value WHERE type = ? AND id = ?;'
|
||||
);}}
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class TAGS_GET_VALUE_GET_VALUES extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
'',
|
||||
'SELECT * FROM mojotrollz_tags_value WHERE type = ?;'
|
||||
);}}
|
||||
|
||||
@ -1,5 +1,12 @@
|
||||
<?php
|
||||
class tags {
|
||||
const TAG_TABLE_CREATURE = 1;
|
||||
const TAG_TABLE_OBJECT = 2;
|
||||
const TAG_TABLE_ITEM = 3;
|
||||
const TAG_TABLE_QUESTS = 4;
|
||||
const TAG_TABLE_SPELLS = 5;
|
||||
const TAG_TABLE_PLAYERS = 6;
|
||||
const TAG_TABLE_TOPICS = 7;
|
||||
public static function get($table, $id, $type = null){
|
||||
if($type){
|
||||
return \DBD\TAGS_GET_TYPE::Q1(array($table, $id, $type));}
|
||||
@ -13,12 +20,22 @@ class tags {
|
||||
|
||||
public static function comment($table, $id, $type, $comment){
|
||||
return \DBD\TAGS_COMMENT::QI(array($table, $id, $type, $comment));}
|
||||
|
||||
public static function get_type($table,$id=null){
|
||||
if($id){
|
||||
return \DBD\TAGS_GET_TYPE_GET::Q1(array($table, $id));}
|
||||
return \DBD\TAGS_GET_TYPE_GET_TYPES::QQ(array($table));}
|
||||
|
||||
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 get_value($type,$id=null){
|
||||
if($id){
|
||||
return \DBD\TAGS_GET_VALUE_GET::Q1(array($type, $id));}
|
||||
return \DBD\TAGS_GET_VALUE_GET_VALUES::QQ(array($type));}
|
||||
|
||||
public static function set_value($type,$id,$value,$description=null){
|
||||
if($description){
|
||||
return \DBD\TAGS_SET_VALUE_DESCRIPTION::QI($type,$id,$value,$description);}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
class saimod_mojotrollz_db_creature extends \SYSTEM\SAI\SaiModule {
|
||||
public static function sai_mod_saimod_mojotrollz_db_creature_action_search($search){
|
||||
return self::sai_mod_saimod_mojotrollz_db_creature('%'.$search.'%');}
|
||||
public static function sai_mod_saimod_mojotrollz_db_creature_action_search($search,$tags=null){
|
||||
return self::sai_mod_saimod_mojotrollz_db_creature('%'.$search.'%',$tags);}
|
||||
|
||||
public static function sai_mod_saimod_mojotrollz_db_creature_action_creature($id){
|
||||
$def = array('additional_tables' => array( '\DBD\DB_CREATURE_TEMPLATE_CREATURE_LOOT' => array('key' => 'LootId', 'caption' => 'Loot'),
|
||||
@ -47,106 +47,22 @@ class saimod_mojotrollz_db_creature extends \SYSTEM\SAI\SaiModule {
|
||||
|
||||
return $result;
|
||||
}
|
||||
public static function sai_mod_saimod_mojotrollz_db_creature($search='%'){
|
||||
$subdef = array( 'key' => 'Entry'); //table identifier
|
||||
$def = array( 'Entry' => array('caption' => 'ID'),
|
||||
'ModelId1' => array('hidden' => false),
|
||||
'ModelId2' => array('hidden' => false),
|
||||
'Scale' => array('hidden' => true),
|
||||
'Family' => array('hidden' => false),
|
||||
'CreatureType' => array('hidden' => true),
|
||||
'InhabitType' => array('hidden' => true),
|
||||
'RegenerateHealth' => array('hidden' => true),
|
||||
'RacialLeader' => array('hidden' => true),
|
||||
'NpcFlags' => array('hidden' => true),
|
||||
'UnitFlags' => array('hidden' => true),
|
||||
'DynamicFlags' => array('hidden' => true),
|
||||
'ExtraFlags' => array('hidden' => true),
|
||||
'CreatureTypeFlags' => array('hidden' => true),
|
||||
'SpeedWalk' => array('hidden' => true),
|
||||
'SpeedRun' => array('hidden' => true),
|
||||
'HealthMultiplier' => array('hidden' => true),
|
||||
'ManaMultiplier' => array('hidden' => true),
|
||||
'DamageMultiplier' => array('hidden' => true),
|
||||
'DamageVariance' => array('hidden' => true),
|
||||
'ArmorMultiplier' => array('hidden' => true),
|
||||
'ExperienceMultiplier' => array('hidden' => true),
|
||||
'MinLevelHealth' => array('hidden' => true),
|
||||
'MaxLevelHealth' => array('hidden' => true),
|
||||
'MinLevelMana' => array('hidden' => true),
|
||||
'MaxLevelMana' => array('hidden' => true),
|
||||
'MinMeeleDmg' => array('hidden' => true),
|
||||
'MaxMeeleDmg' => array('hidden' => true),
|
||||
'MinRangedDmg' => array('hidden' => true),
|
||||
'MaxRangedDmg' => array('hidden' => true),
|
||||
'Armor' => array('hidden' => true),
|
||||
'MeeleAttackPower' => array('hidden' => true),
|
||||
'RangedAttackPower' => array('hidden' => true),
|
||||
'MeeleBaseAttackTime' => array('hidden' => true),
|
||||
'MaxMeleeDmg' => array('hidden' => true),
|
||||
'MeleeAttackPower' => array('hidden' => true),
|
||||
'RangedBaseAttackTime' => array('hidden' => true),
|
||||
'DamageSchool' => array('hidden' => true),
|
||||
'MinLootGold' => array('hidden' => true),
|
||||
'MaxLootGold' => array('hidden' => true),
|
||||
'LootId' => array('hidden' => false),
|
||||
'PickpocketLootId' => array('hidden' => false),
|
||||
'SkinningLootId' => array('hidden' => false),
|
||||
'KillCredit1' => array('hidden' => true),
|
||||
'KillCredit2' => array('hidden' => true),
|
||||
'MechanicImmuneMask' => array('hidden' => true),
|
||||
'MinMeleeDmg' => array('hidden' => true),
|
||||
'MeleeBaseAttackTime' => array('hidden' => true),
|
||||
'ResistanceHoly' => array('hidden' => true),
|
||||
'ResistanceFire' => array('hidden' => true),
|
||||
'ResistanceNature' => array('hidden' => true),
|
||||
'ResistanceFrost' => array('hidden' => true),
|
||||
'ResistanceShadow' => array('hidden' => true),
|
||||
'ResistanceArcane' => array('hidden' => true),
|
||||
'PetSpellDataId' => array('hidden' => true),
|
||||
'MovementType' => array('hidden' => true),
|
||||
'TrainerType' => array('hidden' => true),
|
||||
'TrainerSpell' => array('hidden' => true),
|
||||
'TrainerClass' => array('hidden' => true),
|
||||
'TrainerRace' => array('hidden' => true),
|
||||
'TrainerTemplateId' => array('hidden' => true),
|
||||
'VendorTemplateId' => array('hidden' => true),
|
||||
'GossipMenuId' => array('hidden' => true),
|
||||
'EquipmentTemplateId' => array('hidden' => true),
|
||||
'Civilian' => array('hidden' => true),
|
||||
'AIName' => array('hidden' => true),
|
||||
'ScriptName' => array('hidden' => false),
|
||||
);
|
||||
public static function sai_mod_saimod_mojotrollz_db_creature($search='%',$tags=null){
|
||||
$vars = array();
|
||||
$vars['entries'] = $vars['tag_entries'] = '';
|
||||
|
||||
$tags = tags::get_type(tags::TAG_TABLE_CREATURE);
|
||||
while($tag = $tags->next()){
|
||||
$tag['options'] = '';
|
||||
$tags_values = tags::get_value($tag['id']);
|
||||
while($value = $tags_values->next()){
|
||||
$tag['options'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_creature/tpl/tag_entry_option.tpl'), $value);}
|
||||
$vars['tag_entries'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_creature/tpl/tag_entry.tpl'), $tag);}
|
||||
|
||||
$res = \DBD\DB_CREATURE_TEMPLATE_SEARCH::QQ(array($search,$search,$search));
|
||||
$result = '<input id="filter" type="text"/><button class="btn btn-primary" type="button" id="search">Search</button>';
|
||||
$result .= '<table class="sai_table"><tr>';
|
||||
$result_body = '<tr>';
|
||||
$first = true;
|
||||
while($row = $res->next()){
|
||||
$result_body .= '<tr class="sai_table_row" sai_table_row="'.$row[$subdef['key']].'">';
|
||||
foreach($row as $key=>$data){
|
||||
//hidden
|
||||
if( array_key_exists($key, $def) &&
|
||||
array_key_exists('hidden',$def[$key]) &&
|
||||
$def[$key]['hidden']){
|
||||
continue;
|
||||
}
|
||||
|
||||
if($first){
|
||||
if( array_key_exists($key, $def) &&
|
||||
array_key_exists('caption',$def[$key])){
|
||||
$key = $def[$key]['caption'];
|
||||
}
|
||||
$result .= '<th>'.$key.'</th>';}
|
||||
$result_body .= '<td>'.$data.'</td>';
|
||||
}
|
||||
$first=false;
|
||||
$result_body .= '</tr>';
|
||||
}
|
||||
$result .= '</tr>'.$result_body;
|
||||
$result .= '</table>';
|
||||
return $result;
|
||||
$vars['entries'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_creature/tpl/search_entry.tpl'), $row);}
|
||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_creature/tpl/search.tpl'), $vars);
|
||||
}
|
||||
|
||||
public static function html_li_menu(){return '<li><a href="#" saimenu="saimod_mojotrollz_db_creature">DB:Creatures</a></li><li class="divider"></li>';}
|
||||
@ -155,7 +71,7 @@ class saimod_mojotrollz_db_creature extends \SYSTEM\SAI\SaiModule {
|
||||
public static function sai_mod_saimod_mojotrollz_db_creature_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_creature/saimod_mojotrollz_db_creature.js')));}
|
||||
\SYSTEM\WEBPATH(new PSAI(),'saimod_mojotrollz_db_creature/js/saimod_mojotrollz_db_creature.js')));}
|
||||
public static function sai_mod_saimod_mojotrollz_db_creature_flag_css(){return \SYSTEM\LOG\JsonResult::toString(array(
|
||||
\SYSTEM\WEBPATH(new PAPI(),'map/css/map.css')));}
|
||||
}
|
||||
27
mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/search.tpl
Normal file
27
mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/search.tpl
Normal file
@ -0,0 +1,27 @@
|
||||
<div id="filter_container">
|
||||
<input id="filter" type="text"/>
|
||||
<table class="sai_table">
|
||||
<tr>
|
||||
<th>TagType</th>
|
||||
<th>TagTypeValue</th>
|
||||
</tr>
|
||||
${tag_entries}
|
||||
</table>
|
||||
<button class="btn btn-primary" type="button" id="search">Search</button>
|
||||
</div>
|
||||
<hr/>
|
||||
<table class="sai_table">
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Name</th>
|
||||
<th>Subname</th>
|
||||
<th>ModelId1</th>
|
||||
<th>ModelId2</th>
|
||||
<th>Family</th>
|
||||
<th>LootId</th>
|
||||
<th>PickpocketLootId</th>
|
||||
<th>SkinningLootId</th>
|
||||
<th>ScriptName</th>
|
||||
</tr>
|
||||
${entries}
|
||||
</table>
|
||||
@ -0,0 +1,12 @@
|
||||
<tr>
|
||||
<td>${Entry}</td>
|
||||
<td>${Name}</td>
|
||||
<td>${SubName}</td>
|
||||
<td>${ModelId1}</td>
|
||||
<td>${ModelId2}</td>
|
||||
<td>${Family}</td>
|
||||
<td>${LootId}</td>
|
||||
<td>${PickpocketLootId}</td>
|
||||
<td>${SkinningLootId}</td>
|
||||
<td>${ScriptName}</td>
|
||||
</tr>
|
||||
@ -0,0 +1,9 @@
|
||||
<tr>
|
||||
<td>${name}</td>
|
||||
<td>
|
||||
<select>
|
||||
<option value="-1">No Filter</option>
|
||||
${options}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
@ -0,0 +1 @@
|
||||
<option value="${id}">${value}</option>
|
||||
Loading…
x
Reference in New Issue
Block a user