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) . ";"; }
/** * Returns data for the main grid on the language page. * * This method returns the list data in JSON format. This is implicated in * lists.js * * @return json the json data for the list. */ public function maingridJsonAction() { $model = new RM_Languages(); $languages = $model->fetchAll()->toArray(); $json = new stdClass(); $json->total = count($languages); $json->data = $languages; return array('data' => $json); }
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']; }
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(); }