示例#1
0
 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;
 }
示例#2
0
 /**
  * @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;
     }
 }