Exemplo n.º 1
0
 public function ajaxAddKey()
 {
     $languageService = BOL_LanguageService::getInstance();
     $prefixes = $languageService->getPrefixList();
     $language = $languageService->findById($_POST['language']);
     $addKeyForm = new AddKeyForm($prefixes, $language);
     if (OW::getRequest()->isPost() && $addKeyForm->isValid($_POST)) {
         $data = $addKeyForm->getValues();
         if (!$this->isDevMode() && !strstr($_SERVER['HTTP_REFERER'], 'dev-tools')) {
             $prefixId = $languageService->findPrefixId('ow_custom');
             $key = $languageService->generateCustomKey(trim($data['value']));
             $i = 0;
             //$u = $languageService->isKeyUnique( 'ow_custom', $data['key'] );
             $unique = $key;
             while (!$languageService->isKeyUnique('ow_custom', $unique)) {
                 $i++;
                 $unique = $key . $i;
             }
             $key = $unique;
         } else {
             if (!$languageService->isKeyUnique($data['prefix'], $data['key'])) {
                 exit(json_encode(array('result' => 'dublicate')));
             }
             $prefixId = $languageService->findPrefixId($data['prefix']);
             $key = trim($data['key']);
         }
         $keyDto = new BOL_LanguageKey();
         $languageService->saveKey($keyDto->setKey($key)->setPrefixId($prefixId));
         $valueDto = new BOL_LanguageValue();
         $valueDto->setKeyId($keyDto->getId())->setLanguageId($language->getId())->setValue($data['value']);
         $languageService->saveValue($valueDto);
         $languageService->generateCache($language->getId());
         OW::getFeedback()->info('Added');
         exit(json_encode(array('result' => 'success')));
     }
 }