function loadTemplateFromKey($templateKey, $appID, $languageID) { if ($this->manager->loadByKey($templateKey)) { $labelKey = $this->manager->getLabelKey(); //$this->setAppID($appID); $labelManager = new RowManager_MultilingualLabelManager(); $labelManager->loadByKeyInfo("", $labelKey, $languageID); return $labelManager->getLabel(); } }
/** * function getLabelManager * <pre> * returns a label manager object * </pre> * <pre><code> * if language ID is not provided, then use class default. * if desired [KEY] exists then * if desired [LANGUAGEID] exists * return label * else * return label in 1st avaialble language * end if * else * return key * end if * </code></pre> * @param $key [STRING] The Key of the label we should return * @param $languageID [INTEGER] The Language ID of the label to return * @return [OBJECT] RowManager_MultilingualLabelManager */ function getLabelManager($key, $languageID = '') { $labelManager = new RowManager_MultilingualLabelManager(); // if language ID is not provided, then use class default. if ($languageID == '') { $languageID = $this->languageID; } // if desired [KEY] exists then if (array_key_exists($key, $this->labels)) { // if desired [LANGUAGEID] exists if (array_key_exists($languageID, $this->labels[$key])) { // return label in requested Language ID $pageID = $this->pageManager->getID(); $successful = $labelManager->loadByKeyInfo($pageID, $key, $languageID); // echo 'successful['.$successful.']<br/>'; // echo 'lableManager<pre>'.print_r($labelManager,true).'</pre>'; } else { // else // return label in 1st avaialble language $labelData = $this->labels[$key]; $languagesIDAvailable = array_keys($labelData); $languageID = $languagesIDAvailable[0]; $pageID = $this->pageManager->getID(); $labelManager->loadByKeyInfo($pageID, $key, $languageID); } // end if } else { // Make sure the pageID is set $labelManager->setPageID($this->pageManager->getID()); } // end if $labelManager->setLanguageID($languageID); return $labelManager; }
/** * function deleteEntry * <pre> * Updates the DB table info. * </pre> * @return [void] */ function deleteEntry() { parent::deleteEntry(); // now make sure that other language versions linked to this entry // are also removed ... // make a new labelManager since current one had had it's fields limited // and we need to have the id fields for the load operation ... $labelManager = new RowManager_MultilingualLabelManager(); $key = $this->labelManager->getKey(); $pageID = $this->labelManager->getPageID(); while ($labelManager->loadByKeyInfo($pageID, $key)) { $labelManager->deleteEntry(); } }