Example #1
0
 protected static function parseQuery($query)
 {
     if (!ConfigValue::get('AdminInstalled', false) && !in_array($query, array('admin/pre_install', 'admin/check_install', 'admin/install'))) {
         $query = 'admin/pre_install';
     }
     if (!empty($query)) {
         $terms = explode('/', $query);
     } else {
         $terms = array();
     }
     //We want to now what a parameter was, even if it's empty, so don't filter
     //$terms = array_filter($terms);
     self::$area = count($terms) ? array_shift($terms) : ConfigValue::get('DefaultController', 'home');
     if (count($terms)) {
         self::$action = array_shift($terms);
     } else {
         if (Component::isActive(class_name(self::$area))) {
             self::$action = ConfigValue::get('Default' . class_name(self::$area) . 'Action', ConfigValue::get('DefaultAction', 'index'));
         } else {
             self::$action = ConfigValue::get('DefaultAction', 'index');
         }
     }
     self::$parameters = !empty($terms) ? $terms : array();
     if (Component::isActive(class_name(self::$area)) && method_exists(class_name(self::$area), 'checkParameters')) {
         self::$parameters = call_user_func(array(class_name(self::$area), 'checkParameters'), self::$parameters);
     }
     return self::$parameters;
 }