private function PoDatabaseReader::loadStrings in Localization update 7.2
Builds and executes a database query based on options set earlier.
1 call to PoDatabaseReader::loadStrings()
- PoDatabaseReader::readString in includes/
locale/ PoDatabaseReader.php - Get the database result resource for the given language and options.
File
- includes/
locale/ PoDatabaseReader.php, line 125 - Definition of PoDatabaseReader.
Class
- PoDatabaseReader
- Gettext PO reader working with the locale module database.
Code
private function loadStrings() {
$langcode = $this->_langcode;
$options = $this->_options;
$textgroup = $this->_textgroup;
$conditions = array();
if ($textgroup) {
$conditions['textgroup'] = $textgroup;
}
if (array_sum($options) == 0) {
// If user asked to not include anything in the translation files,
// that would not make sense, so just fall back on providing a template.
$langcode = NULL;
// Force option to get both translated and untranslated strings.
$options['not_translated'] = TRUE;
}
// Build and execute query to collect source strings and translations.
if (!empty($langcode)) {
$conditions['language'] = $langcode;
// Translate some options into field conditions.
if ($options['customized']) {
if (!$options['not_customized']) {
// Filter for customized strings only.
$conditions['customized'] = L10N_UPDATE_CUSTOMIZED;
}
// Else no filtering needed in this case.
}
else {
if ($options['not_customized']) {
// Filter for non-customized strings only.
$conditions['customized'] = L10N_UPDATE_NOT_CUSTOMIZED;
}
else {
// Filter for strings without translation.
$conditions['translated'] = FALSE;
}
}
if (!$options['not_translated']) {
// Filter for string with translation.
$conditions['translated'] = TRUE;
}
return $this->storage
->getTranslations($conditions);
}
else {
// If no language, we don't need any of the target fields.
return $this->storage
->getStrings($conditions);
}
}