/** * 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; }
/** * 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())); }