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