public static function load($useCache = true) { if (!self::$culture) { if (class_exists('dmContext', false) && dmContext::hasInstance() && ($user = dmContext::getInstance()->getUser())) { self::$culture = $user->getCulture(); } else { self::$culture = sfConfig::get('sf_default_culture'); } } try { if (self::$culture == sfConfig::get('sf_default_culture')) { $results = dmDb::pdo('SELECT s.name, t.value, t.lang FROM dm_setting s LEFT JOIN dm_setting_translation t ON t.id=s.id AND t.lang = ?', array(self::$culture))->fetchAll(PDO::FETCH_NUM); } else { $results = dmDb::pdo('SELECT s.name, t.value, t.lang FROM dm_setting s LEFT JOIN dm_setting_translation t ON t.id=s.id AND t.lang IN (?, ?)', array(self::$culture, sfConfig::get('sf_default_culture')))->fetchAll(PDO::FETCH_NUM); } } catch (PDOException $e) { $results = array(); } catch (Doctrine_Connection_Exception $e) { $results = array(); } self::$config = array(); foreach ($results as $result) { if (!isset(self::$config[$result[0]]) || isset(self::$config[$result[0]]) && $result[2] == self::$culture) { self::$config[$result[0]] = $result[1]; } } unset($results); self::$loaded = true; }