From bafd2ee39be0ab7b5a82df7c1f131eb8c83da94c Mon Sep 17 00:00:00 2001 From: rylon Date: Sun, 21 Dec 2014 20:54:42 +0100 Subject: [PATCH] saimod creature, tag filter interface, cleanup, tags --- .../database/tags/qq/TAGS_GET_TYPE_GET.php | 10 ++ .../tags/qq/TAGS_GET_TYPE_GET_TYPES.php | 10 ++ .../database/tags/qq/TAGS_GET_VALUE_GET.php | 10 ++ .../tags/qq/TAGS_GET_VALUE_GET_VALUES.php | 10 ++ mojotrollz/api/database/tags/tags.php | 17 +++ .../{ => js}/saimod_mojotrollz_db_creature.js | 0 .../saimod_mojotrollz_db_creature.php | 116 +++--------------- .../tpl/search.tpl | 27 ++++ .../tpl/search_entry.tpl | 12 ++ .../tpl/tag_entry.tpl | 9 ++ .../tpl/tag_entry_option.tpl | 1 + 11 files changed, 122 insertions(+), 100 deletions(-) create mode 100644 mojotrollz/api/database/tags/qq/TAGS_GET_TYPE_GET.php create mode 100644 mojotrollz/api/database/tags/qq/TAGS_GET_TYPE_GET_TYPES.php create mode 100644 mojotrollz/api/database/tags/qq/TAGS_GET_VALUE_GET.php create mode 100644 mojotrollz/api/database/tags/qq/TAGS_GET_VALUE_GET_VALUES.php rename mojotrollz/sai/saimod_mojotrollz_db_creature/{ => js}/saimod_mojotrollz_db_creature.js (100%) create mode 100644 mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/search.tpl create mode 100644 mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/search_entry.tpl create mode 100644 mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_entry.tpl create mode 100644 mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_entry_option.tpl diff --git a/mojotrollz/api/database/tags/qq/TAGS_GET_TYPE_GET.php b/mojotrollz/api/database/tags/qq/TAGS_GET_TYPE_GET.php new file mode 100644 index 0000000..2738d24 --- /dev/null +++ b/mojotrollz/api/database/tags/qq/TAGS_GET_TYPE_GET.php @@ -0,0 +1,10 @@ + 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 = ''; - $result .= ''; - $result_body = ''; - $first = true; while($row = $res->next()){ - $result_body .= ''; - 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 .= '';} - $result_body .= ''; - } - $first=false; - $result_body .= ''; - } - $result .= ''.$result_body; - $result .= '
'.$key.''.$data.'
'; - 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 '
  • DB:Creatures
  • ';} @@ -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')));} } \ No newline at end of file diff --git a/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/search.tpl b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/search.tpl new file mode 100644 index 0000000..fff5936 --- /dev/null +++ b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/search.tpl @@ -0,0 +1,27 @@ +
    + + + + + + + ${tag_entries} +
    TagTypeTagTypeValue
    + +
    +
    + + + + + + + + + + + + + + ${entries} +
    IDNameSubnameModelId1ModelId2FamilyLootIdPickpocketLootIdSkinningLootIdScriptName
    \ No newline at end of file diff --git a/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/search_entry.tpl b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/search_entry.tpl new file mode 100644 index 0000000..918c32f --- /dev/null +++ b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/search_entry.tpl @@ -0,0 +1,12 @@ + + ${Entry} + ${Name} + ${SubName} + ${ModelId1} + ${ModelId2} + ${Family} + ${LootId} + ${PickpocketLootId} + ${SkinningLootId} + ${ScriptName} + \ No newline at end of file diff --git a/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_entry.tpl b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_entry.tpl new file mode 100644 index 0000000..036d90c --- /dev/null +++ b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_entry.tpl @@ -0,0 +1,9 @@ + + ${name} + + + + \ No newline at end of file diff --git a/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_entry_option.tpl b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_entry_option.tpl new file mode 100644 index 0000000..f611c31 --- /dev/null +++ b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_entry_option.tpl @@ -0,0 +1 @@ + \ No newline at end of file