Exemplo n.º 1
0
 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) . ";";
 }
Exemplo n.º 2
0
 /**
  * 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);
 }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
 function editJsonAction()
 {
     $languageModel = new RM_Languages();
     $languages = $languageModel->fetchAll()->toArray();
     $json = new stdClass();
     $json->languages = $languages;
     return array('data' => $json);
 }
Exemplo n.º 5
0
 /**
  * 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'];
 }
Exemplo n.º 6
0
 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();
 }