public function fetch_synonyms() { $set = vB::getDbAssertor()->assertQuery($this->table, array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_SELECT, 'canonicaltagid' => $this->fetch_field("tagid")), array('field' => 'tagtext', 'direction' => vB_dB_Query::SORT_ASC)); $synonyms = array(); if ($set and $set->valid()) { foreach ($set as $row) { $synonym = new vB_DataManager_Tag(vB_DataManager_Constants::ERRTYPE_ARRAY); $result = $synonym->set_existing($row); $synonyms[] = $synonym; } //force the reference to change so that we don't end up with every //array linked (which makes them all change to be the same when one //changes). } return $synonyms; }
/** * @uses Get synonyms of given tag * @param array, Tag * @return array, synonyms */ public function getTagSynonyms($tag) { $exception = new vB_Exception_Api(); $exists = vB::getDbAssertor()->getRow('vBForum:tag', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_SELECT, 'tagid' => $tag['tagid'])); if ($exists) { $tagdm = new vB_DataManager_Tag(vB_DataManager_Constants::ERRTYPE_ARRAY); $tagdm->set_existing($tag); return $tagdm->fetch_synonyms(); } else { $exception->add_error("tag_not_exist", array()); } //Exception Handling if ($exception->has_errors()) { throw $exception; } }