';
- }
+ }*/
- return $result;
+ return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_db_creature/tpl/creature.tpl'), $vars);
}
public static function sai_mod_saimod_mojotrollz_db_creature($search='%',$tags=null){
$vars = array();
+ $vars['search'] = $search;
$vars['entries'] = $vars['tag_entries'] = '';
- $tags = tags::get_type(tags::TAG_TABLE_CREATURE);
- while($tag = $tags->next()){
+ $tags = json_decode($tags,true);
+ new INFO(print_r($tags,true));
+ if(!$tags){
+ $tags = array();}
+
+ $tags_types = tags::get_type(tags::TAG_TABLE_CREATURE);
+ while($tag = $tags_types->next()){
$tag['options'] = '';
$tags_values = tags::get_value($tag['id']);
while($value = $tags_values->next()){
+ $value['selected'] = '';
+ if( array_key_exists($value['type'], $tags) &&
+ $tags[$value['type']] == $value['id']){
+ $value['selected'] = 'selected';}
$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));
+ $sql_join = $sql_where = '';
+ foreach($tags as $type=>$value){
+ new INFO($type.' '.$value);
+ if($value == -1){
+ continue;}
+ if($value == -2){
+ $sql_where .= 'entry NOT IN (SELECT id FROM host_mojotrollz.mojotrollz_tags WHERE `table` = '.tags::TAG_TABLE_CREATURE.' AND `type` = '.$type.') AND ';
+ continue;}
+ $sql_join .= 'LEFT JOIN host_mojotrollz.mojotrollz_tags as t'.$type.' ON creature_template.Entry = t'.$type.'.id ';
+ $sql_where .= 't'.$type.'.`table` = 1 AND t'.$type.'.`type` = '.$type.' AND t'.$type.'.value = '.$value.' AND ';
+ }
+ new INFO('SELECT creature_template.* FROM creature_template '.
+ $sql_join.
+ ' WHERE '.$sql_where.
+ ' (`Entry` LIKE ? OR `Name` LIKE ? OR `Subname` LIKE ?) LIMIT 100;');
+ $con = new \SYSTEM\DB\Connection(new \DBD\mangos_world());
+ $res = $con->prepare( 'search-creature',
+ 'SELECT creature_template.* FROM creature_template '.
+ $sql_join.
+ ' WHERE '.$sql_where.
+ ' (`Entry` LIKE ? OR `Name` LIKE ? OR `Subname` LIKE ?) LIMIT 100;',
+ array($search,$search,$search));
+ //$res = \DBD\DB_CREATURE_TEMPLATE_SEARCH::QQ(array($search,$search,$search));
while($row = $res->next()){
$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);
}
diff --git a/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/creature.tpl b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/creature.tpl
new file mode 100644
index 0000000..ba4a1aa
--- /dev/null
+++ b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/creature.tpl
@@ -0,0 +1,15 @@
+
+ ${map}
+
+
+
+
TagType
+
TagTypeValue
+
+ ${tag_entries}
+
+
+
+
+${entries}
+
\ No newline at end of file
diff --git a/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/creature_base.tpl b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/creature_base.tpl
new file mode 100644
index 0000000..7a42d83
--- /dev/null
+++ b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/creature_base.tpl
@@ -0,0 +1,4 @@
+
+
${key}
+
${value}
+
\ 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
index fff5936..24e4fed 100644
--- a/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/search.tpl
+++ b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/search.tpl
@@ -1,5 +1,5 @@
diff --git a/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_creature_entry.tpl b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_creature_entry.tpl
new file mode 100644
index 0000000..535a1b8
--- /dev/null
+++ b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_creature_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.tpl b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_entry.tpl
index 036d90c..4cc4f83 100644
--- a/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_entry.tpl
+++ b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_entry.tpl
@@ -1,8 +1,9 @@
${name}
-
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
index f611c31..4950b9b 100644
--- a/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_entry_option.tpl
+++ b/mojotrollz/sai/saimod_mojotrollz_db_creature/tpl/tag_entry_option.tpl
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file