Exemplo n.º 1
0
 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;
 }