コード例 #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) . ";";
 }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
 /**
  * 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));
 }
コード例 #4
0
ファイル: Extras.php プロジェクト: laiello/resmania
 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);
     }
 }
コード例 #5
0
 function editJsonAction()
 {
     $languageModel = new RM_Languages();
     $languages = $languageModel->fetchAll()->toArray();
     $json = new stdClass();
     $json->languages = $languages;
     return array('data' => $json);
 }
コード例 #6
0
ファイル: Units.php プロジェクト: laiello/resmania
 /**
  * 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'];
 }
コード例 #7
0
ファイル: Manager.php プロジェクト: laiello/resmania
 /**
  * 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);
 }
コード例 #8
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();
 }