Example #1
0
 /**
  * BOL_LanguageService constructor.
  * @param bool $includeCache
  */
 private function __construct($includeCache = true)
 {
     $this->languageDao = BOL_LanguageDao::getInstance();
     $this->prefixDao = BOL_LanguagePrefixDao::getInstance();
     $this->keyDao = BOL_LanguageKeyDao::getInstance();
     $this->valueDao = BOL_LanguageValueDao::getInstance();
     if ($includeCache) {
         $this->loadFromCache();
     }
 }
Example #2
0
 public function countKeySearchResultKeys($languageId, $search)
 {
     $search = $this->dbo->escapeString($search);
     $_query = "\n\t\t\t SELECT COUNT(*)\n\t\t\t FROM `" . BOL_LanguageKeyDao::getInstance()->getTableName() . "` as `k`\n\t\t\t INNER JOIN `" . BOL_LanguagePrefixDao::getInstance()->getTableName() . "` as `p`\n\t\t\t    ON( `k`.`prefixId` = `p`.`id` )\n\t\t\t WHERE `k`.`key` LIKE :keySearch\n\t\t\t";
     return $this->dbo->queryForColumn($_query, array('keySearch' => "%{$search}%"));
 }
Example #3
0
 /**
  * Add new lang key
  *
  * @param int $prefixId
  * @param string $key
  * @return BOL_LanguageKey
  */
 public function addKey($prefixId, $key)
 {
     $dto = new BOL_LanguageKey();
     $dto->setKey($key);
     $dto->setPrefixId($prefixId);
     BOL_LanguageKeyDao::getInstance()->save($dto);
     return $dto;
 }
Example #4
0
 public function onBeforeSaveLangValue(OW_Event $event)
 {
     $params = $event->getParams();
     if (empty($params['dto'])) {
         return;
     }
     if (!$params['dto'] instanceof BOL_LanguageValue) {
         return;
     }
     $langKey = BOL_LanguageKeyDao::getInstance()->findById($params['dto']->keyId);
     $rules = MATCHMAKING_BOL_Service::getInstance()->findAll();
     /**
      * @var MATCHMAKING_BOL_QuestionMatch $rule
      */
     foreach ($rules as $rule) {
         if ("questions_question_{$rule->questionName}_label" == $langKey->key) {
             $matchQuestionLabel = OW::getLanguage()->text('matchmaking', 'match_question_lang_prefix', array('questionLabel' => $params['dto']->value));
             BOL_LanguageService::getInstance()->addOrUpdateValue($params['dto']->languageId, BOL_QuestionService::QUESTION_LANG_PREFIX, BOL_QuestionService::getInstance()->getQuestionLangKeyName(BOL_QuestionService::LANG_KEY_TYPE_QUESTION_LABEL, $rule->matchQuestionName), empty($matchQuestionLabel) ? ' ' : $matchQuestionLabel);
         }
     }
 }
Example #5
0
 public function findAllWithKeyCount()
 {
     return $this->dbo->queryForList('SELECT `p`.*, COUNT(`k`.`id`) as keyCount FROM ' . $this->getTableName() . ' AS `p` LEFT JOIN ' . BOL_LanguageKeyDao::getInstance()->getTableName() . ' AS `k` ON `p`.`id` = `k`.`prefixId` GROUP BY `k`.`prefixId` ');
 }
Example #6
0
 public function findMissingKeyCount($languageId)
 {
     $query = "\n                SELECT COUNT(*)\n                FROM `" . BOL_LanguageKeyDao::getInstance()->getTableName() . "` as k\n                LEFT JOIN `" . BOL_LanguageValueDao::getInstance()->getTableName() . "` as v\n                     ON( k.id = v.keyId  and v.`languageId` = ? )\n                INNER JOIN `" . BOL_LanguagePrefixDao::getInstance()->getTableName() . "` as p\n                      ON(k.`prefixId` = p.id)\n                WHERE v.keyId IS NULL OR (`v`.`value` IS NOT NULL AND LENGTH(`v`.`value`) = 0 )\n\t\t\t";
     return $this->dbo->queryForColumn($query, array($languageId));
 }