/**
  * Sets {@link $number_of_tags}
  *
  * @param	integer	$num
  */
 function set_number_of_tags($num = false)
 {
     if ($num === false || !is_numeric($num)) {
         require_once VIVVO_FS_INSTALL_ROOT . 'lib/vivvo/core/ArticlesTags.class.php';
         $atl = new ArticlesTags_list();
         $atl->search(array('search_article_id' => $this->id), '', '', 0, 0, false);
         $atl->_query->add_group_by('at.article_id');
         $this->number_of_tags = $atl->get_total_count();
     } elseif (is_numeric($num)) {
         $this->number_of_tags = $num;
     } else {
         $this->number_of_tags = false;
     }
     return true;
 }
Exemple #2
0
 /**
  * Add tag to tag group
  *
  * @param	int		$tag_id
  * @param	int		$group_id
  */
 public function add_tag_to_group($tag_id, $group_id, $article_id = 0)
 {
     if (!vivvo_hooks_manager::call('tag_addTagToGroup', array(&$tag_id, &$group_id, &$article_id))) {
         return vivvo_hooks_manager::get_status();
     }
     $user = vivvo_lite_site::get_instance()->user;
     if ($user && $user->can('MANAGE_TAGS')) {
         $tag_group_list = new TagsGroups_list();
         $tag_group = $tag_group_list->get_group_by_id($group_id);
         $tag_list = new Tags_list();
         $tag = $tag_list->get_tag_by_id($tag_id);
         if ($tag_group && $tag) {
             $tg_list = new TagsToTagsGroups_list();
             if (!$tg_list->get_rel($tag_id, $group_id)) {
                 $tag_group_rel = new TagsToTagsGroups();
                 $tag_group_rel->set_tag_id($tag_id);
                 $tag_group_rel->set_tags_group_id($group_id);
                 $this->_post_master->set_data_object($tag_group_rel);
                 if (!$this->_post_master->sql_insert()) {
                     $this->set_error_code(2415);
                     return false;
                 }
             }
             if ($article_id > 0) {
                 $tg_list = new ArticlesTags_list();
                 if (!$tg_list->search(array('search_tag_id' => $tag_id, 'search_tags_group_id' => $group_id, 'search_article_id' => $article_id))) {
                     $tag_link = new ArticlesTags();
                     $tag_link->set_article_id($article_id);
                     $tag_link->set_tag_id($tag_id);
                     $tag_link->set_tags_group_id($group_id);
                     $tag_link->set_user_id($user->get_id());
                     $this->_post_master->set_data_object($tag_link);
                     if (!$this->_post_master->sql_insert()) {
                         $this->set_error_code(2415);
                         return false;
                     }
                 }
             }
             return true;
         }
         $this->set_error_code(2415);
         return false;
     }
     $this->set_error_code(2410);
     return false;
 }