Example #1
0
 /**
  * Add tags for an object
  *
  * @access public
  * @param string $tag_name tag to be added
  * @param ProjectDataObject $obj
  * @return null
  */
 function addObjectTag($tag_name, ApplicationDataObject $obj)
 {
     $tag_name = trim($tag_name);
     if (!(isset($obj) && $obj && $obj instanceof ApplicationDataObject)) {
         return true;
     }
     $prevTags = Tags::getTagNamesByObject($obj);
     if ($prevTags) {
         foreach ($prevTags as $tag_iter) {
             if (strcmp($tag_name, $tag_iter) == 0) {
                 return true;
             }
             //tag already added
         }
     }
     if (strcmp($tag_name, '')) {
         $exists = true;
         if (Tags::countObjectsByTag($tag_name) <= 0) {
             $exists = false;
         }
         $tag = new Tag();
         $tag->setTag($tag_name);
         $tag->setRelObjectId($obj->getId());
         $tag->setRelObjectManager(get_class($obj->manager()));
         $tag->setIsPrivate(false);
         $tag->save();
         if (!$exists) {
             $real_tag = self::findById($tag->getId());
             evt_add("tag added", array("name" => $real_tag->getTag()));
         }
     }
     // if
     return true;
 }
Example #2
0
 /**
  * Return tag names for this object
  *
  * @access public
  * @param void
  * @return array
  */
 function getTagNames()
 {
     if (plugin_active('tags')) {
         if (!$this->isTaggable()) {
             throw new Error('Object not taggable');
         }
         // if
         return Tags::getTagNamesByObject($this, get_class($this->manager()));
     }
     return array();
 }
 /**
  * Return tag names for this object
  *
  * @access public
  * @param void
  * @return array
  */
 function getTagNames()
 {
     if (!$this->isTaggable()) {
         throw new Error('Object not taggable');
     }
     return Tags::getTagNamesByObject($this, get_class($this->manager()));
 }
 /**
  * Return tag names for this object
  *
  * @access public
  * @param void
  * @return array
  */
 function getTagNames()
 {
     if (!$this->isTaggable()) {
         return array();
     }
     if (!is_null($this->tags)) {
         $result = array();
         for ($i = 0; $i < count($this->tags); $i++) {
             $result[] = $this->tags[$i]->getTag();
         }
         return $result;
     }
     return Tags::getTagNamesByObject($this, get_class($this->manager()));
 }