function fetchPhrase($params, $db, $check_only = false) { if ($check_only) { return !empty($params['fieldname']) and !empty($params['phrasename']); } $params = vB::getCleaner()->cleanArray($params, array('fieldname' => vB_Cleaner::TYPE_STR, 'phrasename' => vB_Cleaner::TYPE_STR, 'alllanguages' => vB_Cleaner::TYPE_BOOL, 'languageid' => vB_Cleaner::TYPE_UINT)); //make sure we have a languageid if (empty($params['languageid']) and !$params['alllanguages']) { $session = vB::getCurrentSession(); if (empty($session)) { $options = vB::getDataStore()->getValue('options'); $languageid = $options['languageid']; } else { $languageid = $session->get('languageid'); } } else { $languageid = $params['languageid']; } $sql = "\n\t\t\tSELECT text, languageid, special\n\t\t\tFROM " . TABLE_PREFIX . "phrase AS phrase\n\t\t\tLEFT JOIN " . TABLE_PREFIX . "phrasetype USING (fieldname)\n\t\t\tWHERE phrase.fieldname = '" . $db->escape_string($params['fieldname']) . "'\n\t\t\tAND varname = '" . $db->escape_string($params['phrasename']) . "' " . iif(!$params['alllanguages'], "AND languageid IN (-1, 0, {$languageid})"); $resultclass = 'vB_dB_' . $this->db_type . '_result'; $config = vB::getConfig(); if (isset($config['Misc']['debug_sql']) and $config['Misc']['debug_sql']) { echo "sql: {$sql}<br />\n"; } $result = new $resultclass($db, $sql); return $result; }