Exemplo n.º 1
0
 /**
  * Enregistre un message dans un fichier de log spécifique
  * Message non loggué si
  * 	- environment = SILENT
  * 	- level = WARNING et environment = PRODUCTION
  * 	- level = NOTICE et environment = PRODUCTION
  * @param $information message d'erreur / information à enregistrer
  * @param $level niveau d'erreur
  * @param $file_name fichier de log, par défaut LOG_PATH/application.log
  */
 public static function record($information, $level, $file_name = null)
 {
     $env = Minz_Configuration::environment();
     if (!($env === Minz_Configuration::SILENT || $env === Minz_Configuration::PRODUCTION && $level >= Minz_Log::NOTICE)) {
         if ($file_name === null) {
             $file_name = LOG_PATH . '/' . Minz_Session::param('currentUser', '_') . '.log';
         }
         switch ($level) {
             case Minz_Log::ERROR:
                 $level_label = 'error';
                 break;
             case Minz_Log::WARNING:
                 $level_label = 'warning';
                 break;
             case Minz_Log::NOTICE:
                 $level_label = 'notice';
                 break;
             case Minz_Log::DEBUG:
                 $level_label = 'debug';
                 break;
             default:
                 $level_label = 'unknown';
         }
         $log = '[' . date('r') . ']' . ' [' . $level_label . ']' . ' --- ' . $information . "\n";
         if (file_put_contents($file_name, $log, FILE_APPEND | LOCK_EX) === false) {
             throw new Minz_PermissionDeniedException($file_name, Minz_Exception::ERROR);
         }
     }
 }
Exemplo n.º 2
0
 /**
  * Permet de retourner les logs de façon à n'avoir que
  * ceux que l'on veut réellement
  * @param $logs les logs rangés par catégories (error, warning, notice)
  * @return la liste des logs, sans catégorie,
  *       > en fonction de l'environment
  */
 private static function processLogs($logs)
 {
     $env = Minz_Configuration::environment();
     $logs_ok = array();
     $error = array();
     $warning = array();
     $notice = array();
     if (isset($logs['error'])) {
         $error = $logs['error'];
     }
     if (isset($logs['warning'])) {
         $warning = $logs['warning'];
     }
     if (isset($logs['notice'])) {
         $notice = $logs['notice'];
     }
     if ($env == Minz_Configuration::PRODUCTION) {
         $logs_ok = $error;
     }
     if ($env == Minz_Configuration::DEVELOPMENT) {
         $logs_ok = array_merge($error, $warning, $notice);
     }
     return $logs_ok;
 }
Exemplo n.º 3
0
 /**
  * Parse un fichier de configuration
  * @exception Minz_PermissionDeniedException si le CONF_PATH_NAME n'est pas accessible
  * @exception Minz_BadConfigurationException si CONF_PATH_NAME mal formaté
  */
 private static function parseFile()
 {
     $ini_array = (include DATA_PATH . self::CONF_PATH_NAME);
     if (!is_array($ini_array)) {
         throw new Minz_PermissionDeniedException(DATA_PATH . self::CONF_PATH_NAME, Minz_Exception::ERROR);
     }
     // [general] est obligatoire
     if (!isset($ini_array['general'])) {
         throw new Minz_BadConfigurationException('[general]', Minz_Exception::ERROR);
     }
     $general = $ini_array['general'];
     // salt est obligatoire
     if (!isset($general['salt'])) {
         if (isset($general['sel_application'])) {
             //v0.6
             $general['salt'] = $general['sel_application'];
         } else {
             throw new Minz_BadConfigurationException('salt', Minz_Exception::ERROR);
         }
     }
     self::$salt = $general['salt'];
     if (isset($general['environment'])) {
         switch ($general['environment']) {
             case 'silent':
                 self::$environment = Minz_Configuration::SILENT;
                 break;
             case 'development':
                 self::$environment = Minz_Configuration::DEVELOPMENT;
                 break;
             case 'production':
                 self::$environment = Minz_Configuration::PRODUCTION;
                 break;
             default:
                 if ($general['environment'] >= 0 && $general['environment'] <= 2) {
                     // fallback 0.7-beta
                     self::$environment = $general['environment'];
                 } else {
                     throw new Minz_BadConfigurationException('environment', Minz_Exception::ERROR);
                 }
         }
     }
     if (isset($general['base_url'])) {
         self::$base_url = $general['base_url'];
     }
     if (isset($general['use_url_rewriting'])) {
         self::$use_url_rewriting = $general['use_url_rewriting'];
     }
     if (isset($general['title'])) {
         self::$title = $general['title'];
     }
     if (isset($general['language'])) {
         self::$language = $general['language'];
     }
     if (isset($general['cache_enabled'])) {
         self::$cache_enabled = $general['cache_enabled'];
         if (CACHE_PATH === false && self::$cache_enabled) {
             throw new FileNotExistException('CACHE_PATH', Minz_Exception::ERROR);
         }
     }
     if (isset($general['delay_cache'])) {
         self::$delay_cache = inval($general['delay_cache']);
     }
     if (isset($general['default_user'])) {
         self::$default_user = $general['default_user'];
     }
     if (isset($general['auth_type'])) {
         self::_authType($general['auth_type']);
     }
     if (isset($general['allow_anonymous'])) {
         self::$allow_anonymous = (bool) $general['allow_anonymous'] && $general['allow_anonymous'] !== 'no';
     }
     if (isset($general['allow_anonymous_refresh'])) {
         self::$allow_anonymous_refresh = (bool) $general['allow_anonymous_refresh'] && $general['allow_anonymous_refresh'] !== 'no';
     }
     // Base de données
     if (isset($ini_array['db'])) {
         $db = $ini_array['db'];
         if (empty($db['host'])) {
             throw new Minz_BadConfigurationException('host', Minz_Exception::ERROR);
         }
         if (empty($db['user'])) {
             throw new Minz_BadConfigurationException('user', Minz_Exception::ERROR);
         }
         if (!isset($db['password'])) {
             throw new Minz_BadConfigurationException('password', Minz_Exception::ERROR);
         }
         if (empty($db['base'])) {
             throw new Minz_BadConfigurationException('base', Minz_Exception::ERROR);
         }
         if (!empty($db['type'])) {
             self::$db['type'] = $db['type'];
         }
         self::$db['host'] = $db['host'];
         self::$db['user'] = $db['user'];
         self::$db['password'] = $db['password'];
         self::$db['base'] = $db['base'];
         if (isset($db['prefix'])) {
             self::$db['prefix'] = $db['prefix'];
         }
     }
 }