diff options
Diffstat (limited to '')
-rw-r--r-- | admin/include/functions.php | 22 | ||||
-rw-r--r-- | tools/triggers_list.php | 9 |
2 files changed, 22 insertions, 9 deletions
diff --git a/admin/include/functions.php b/admin/include/functions.php index fff158d27..d5c8986ad 100644 --- a/admin/include/functions.php +++ b/admin/include/functions.php @@ -1553,23 +1553,29 @@ SELECT id ;'; if (count($existing_tags = query2array($query, null, 'id')) == 0) { - // search existing by case insensitive name + $url_name = trigger_change('render_tag_url', $tag_name); + // search existing by url name $query = ' SELECT id FROM '.TAGS_TABLE.' - WHERE CONVERT(name, CHAR) = \''.$tag_name.'\' + WHERE url_name = \''.$url_name.'\' ;'; if (count($existing_tags = query2array($query, null, 'id')) == 0) { - $url_name = trigger_change('render_tag_url', $tag_name); - // search existing by url name - $query = ' + // search by extended description (plugin sub name) + $sub_name_where = trigger_change('get_tag_name_like_where', array(), $tag_name); + if (count($sub_name_where)) + { + $query = ' SELECT id FROM '.TAGS_TABLE.' - WHERE url_name = \''.$url_name.'\' + WHERE '.implode(' OR ', $sub_name_where).' ;'; - if (count($existing_tags = query2array($query, null, 'id')) == 0) - { + $existing_tags = query2array($query, null, 'id'); + } + + if (count($existing_tags) == 0) + {// finally create the tag mass_inserts( TAGS_TABLE, array('name', 'url_name'), diff --git a/tools/triggers_list.php b/tools/triggers_list.php index 406f5e697..b94ca18ab 100644 --- a/tools/triggers_list.php +++ b/tools/triggers_list.php @@ -227,11 +227,18 @@ array( array( 'name' => 'get_tag_alt_names', 'type' => 'trigger_change', - 'vars' => array('array', null, 'array', 'raw_name'), + 'vars' => array('array', null, 'string', 'raw_name'), 'files' => array('admin\tags.php', 'admin\include\functions.php (get_taglist)'), 'infos' => 'New in 2.4', ), array( + 'name' => 'get_tag_name_like_where', + 'type' => 'trigger_change', + 'vars' => array('array', null, 'string', 'tag_name'), + 'files' => array('admin\include\functions.php (tag_id_from_tag_name)'), + 'infos' => 'New in 2.7', +), +array( 'name' => 'get_webmaster_mail_address', 'type' => 'trigger_change', 'vars' => array('string', 'email'), |