Example #1
0
 /**
  * Returns class instance
  *
  * @return BOL_LanguagePrefixDao
  */
 public static function getInstance()
 {
     if (self::$classInstance === null) {
         self::$classInstance = new self();
     }
     return self::$classInstance;
 }
Example #2
0
 /**
  * @param $prefix string
  * @return bool
  */
 protected function prefixExists($prefix)
 {
     $prefixDto = $this->prefixDao->findPrefixId($prefix);
     return $prefixDto !== null;
 }
Example #3
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 #4
0
 public function getPrefixXML($id, $languageId)
 {
     /* @var $prefix BOL_LanguagePrefix */
     if (($prefix = BOL_LanguagePrefixDao::getInstance()->findById($id)) == null) {
         throw new Exception("Prefix with id: {$id}, doesn't exist");
     }
     $xml = new DOMDocument('1.0', 'utf-8');
     $language = $this->findById($languageId);
     /* @var $rootElement DomElement */
     $rootElement = $xml->createElement('prefix');
     $rootElement->setAttribute('name', $prefix->getPrefix());
     $rootElement->setAttribute('label', $prefix->getLabel());
     $rootElement->setAttribute('language_tag', $language->getTag());
     $rootElement->setAttribute('language_label', $language->getLabel());
     $keyDao = $this->keyDao;
     $keys = $keyDao->findAllPrefixKeys($id);
     foreach ($keys as $key) {
         $keyElement = $xml->createElement('key');
         /* @var $keyElement DomElement */
         $keyElement->setAttribute('name', $key->getKey());
         $valDao = $this->valueDao;
         $value = $valDao->findValue($languageId, $key->getId());
         if ($value != null) {
             $valueNode = $xml->createElement('value');
             $valueNode->appendChild($xml->createTextNode($value->getValue()));
             $keyElement->appendChild($valueNode);
         }
         $rootElement->appendChild($keyElement);
     }
     $xml->appendChild($rootElement);
     $XML = $xml->saveXML();
     return $XML;
 }
Example #5
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));
 }