Exemplo n.º 1
0
 public function indexAction()
 {
     $model = new Translate();
     if ($this->request->isPost()) {
         $post = $this->request->getPost();
         if (!empty($post)) {
             foreach ($post as $key => $value) {
                 $key = str_replace('_', ' ', $key);
                 // При отправке формы POST-запросом, все пробелы заменяются на "_". Меняем обратно.
                 $phrase = $model->findByPhraseAndLang($key);
                 if ($phrase) {
                     $phrase->setTranslation($value);
                     $phrase->update();
                 } else {
                     $phraseNew = new Translate();
                     $phraseNew->setPhrase($key);
                     $phraseNew->setLang(LANG);
                     $phraseNew->setTranslation($value);
                     $phraseNew->create();
                 }
             }
         }
         CmsCache::getInstance()->save('translates', Translate::buildCmsTranslatesCache());
         $this->flash->success($this->helper->at('Saved has been successful'));
         $lang = LANG;
         $key = HOST_HASH . md5("Translate::findByLang({$lang})");
         $this->cache->delete($key);
         return $this->redirect($this->url->get() . 'cms/translate?lang=' . LANG);
     }
     $scanner = new Scanner();
     $phrases = $scanner->search();
     $this->view->phrases = $phrases;
     $this->view->model = $model;
 }
Exemplo n.º 2
0
 public function addML($pattern, $paths = null, $name)
 {
     $languages = CmsCache::getInstance()->get('languages');
     foreach ($languages as $lang) {
         $iso = $lang['iso'];
         if ($lang['primary']) {
             $this->add($pattern, $paths)->setName(self::ML_PREFIX . $name . '_' . $iso);
         } else {
             $new_pattern = '/' . $lang['url'] . $pattern;
             $paths['lang'] = $iso;
             // будущее значение константы LANG
             $this->add($new_pattern, $paths)->setName(self::ML_PREFIX . $name . '_' . $iso);
         }
     }
 }
Exemplo n.º 3
0
 public static function findCachedLanguages()
 {
     return CmsCache::getInstance()->get('languages');
 }
Exemplo n.º 4
0
 public static function types()
 {
     return CmsCache::getInstance()->get('publication_types');
 }
Exemplo n.º 5
0
 public static function translates()
 {
     return CmsCache::getInstance()->get('translates');
 }
Exemplo n.º 6
0
 public static function urls()
 {
     return CmsCache::getInstance()->get('seo_manager');
 }