/** * Returns class instance * * @return BOL_LanguagePrefixDao */ public static function getInstance() { if (self::$classInstance === null) { self::$classInstance = new self(); } return self::$classInstance; }
/** * @param $prefix string * @return bool */ protected function prefixExists($prefix) { $prefixDto = $this->prefixDao->findPrefixId($prefix); return $prefixDto !== null; }
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}%")); }
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; }
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)); }