public function listJsAction() { $languageModel = new RM_Languages(); $languages = $languageModel->fetchAll(); foreach ($languages as $language) { $jsonLanguages[] = array($language->iso, $language->name); } return "RM.Languages = " . Zend_Json::encode($jsonLanguages) . ";"; }
public function addLanguage($iso) { $languageModel = new RM_Languages(); $defaultLocale = $languageModel->getDefaultLocale(); $rows = $this->fetchAll($this->select()->where('iso=?', $defaultLocale)); foreach ($rows as $row) { $newRow = $row->toArray(); $newRow['iso'] = $iso; $this->insert($newRow); } }
/** * Set language as a default language for the front end. * * @param request iso */ public function setdefaultfrontJsonAction() { $iso = $this->_getParam('iso'); if ($iso == null) { return array('data' => array('success' => false)); } $model = new RM_Languages(); $language = $model->find($iso)->current(); if ($language == null) { return array('data' => array('success' => false)); } $model->setDefaultFront($language); return array('data' => array('success' => true)); }
public function install() { parent::install(); //Add iso columns into rm_extras table for each already installed language $languageModule = new RM_Languages(); $languages = $languageModule->fetchAll(); require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'Extras.php'; $extrasModule = new RM_Extras(); foreach ($languages as $language) { $extrasModule->addLanguage($language->iso); } }
function editJsonAction() { $languageModel = new RM_Languages(); $languages = $languageModel->fetchAll()->toArray(); $json = new stdClass(); $json->languages = $languages; return array('data' => $json); }
/** * Insert a unit by its primary key * * @param array $unit Array with all unit information * @param string $iso ISO language code ('cause we got all unit info with language dependent fields) * @param boolean $fromGUI This parameter told us was that data from GUI or it's internal usage. * @return mixed The primary key of the row inserted. */ public function insert($unit, $iso, $fromGUI = false) { $unitTypeDAO = new RM_UnitTypes(); $type = $unitTypeDAO->find($unit['type_id'])->current(); list($fields, $languageFields) = $this->_getFieldsByType($type); $unitArray = array(); $languageArray = array(); foreach ($fields as $field) { $unitArray[$field->column_name] = $unit[$field->column_name]; } foreach ($languageFields as $field) { $languageArray[$field->column_name] = $unit[$field->column_name]; } //TODO: this code need to be more flexible to do not use UnitTypeManager module $manager = new RM_Module_UnitTypeManager(); $unitArray['type_id'] = $manager->getDefaultUnitType()->id; if ($fromGUI) { $languageArray['unit_id'] = $this->insertFromGUI($unitArray); } else { $languageArray['unit_id'] = parent::insert($unitArray); } $unitModel = new RM_Units(); $newUnit = $unitModel->createRow(array('id' => $languageArray['unit_id'])); $mediaManager = new RM_Media_Unit_Manager($newUnit); $mediaManager->createFolder(); //we need to create a unit detail row for every language installed in the system $languageModel = new RM_Languages(); $languages = $languageModel->fetchAll(); $unitLanguageModel = new RM_UnitLanguageDetails(); foreach ($languages as $language) { $languageArray['iso'] = $language->iso; $unitLanguageModel->insert($languageArray); } return $languageArray['unit_id']; }
/** * Add language to the system, laguage files need to be in there places on language folder * * @param string $iso */ public function installLanguage($iso, $name) { $model = new RM_Languages(); $language = array('iso' => $iso, 'name' => $name, 'icon' => $this->getIconPath($iso)); $model->insert($language); //Here is a list of multilingual code models $model = new RM_UnitTypes(); $model->addLanguage($iso); $unitModel = new RM_UnitLanguageDetails(); $unitModel->addLanguage($iso); $templatesModel = new RM_Templates(); $templatesModel->addLanguage($iso); $manager = new RM_Module_Manager(); $manager->addLanguage($iso); $pluginManager = new RM_Plugin_Manager(); $pluginManager->addLanguage($iso); }
public function install() { parent::install(); $languageModule = new RM_Languages(); $languages = $languageModule->fetchAll(); require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'EmailNotifications.php'; $model = new RM_EmailNotifications(); foreach ($languages as $language) { if ($language->iso !== 'en_GB') { $model->addLanguage($language->iso); } } //Currently we just added extra columns and need to clean cache Zend_Db_Table_Abstract::getDefaultMetadataCache()->clean(); //Copy en_GB default value to all other languages $emailNotification = $model->fetchByName('ReservationCompleteSuccessful', RM_EmailNotifications::REGULAR_USER); foreach ($languages as $language) { $iso = $language->iso; if ($iso !== 'en_GB') { $emailNotification->{$iso} = $emailNotification->en_GB; } } $emailNotification->save(); }