Пример #1
0
 //Non-apache fix for REQUEST_URI
 if (!isset($_SERVER['REQUEST_URI'])) {
     $_SERVER['REQUEST_URI'] = substr($_SERVER['PHP_SELF'], 1);
     if (isset($_SERVER['QUERY_STRING'])) {
         $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
     }
 }
 $registry->set('uri', $_SERVER['REQUEST_URI']);
 //main instance of data encryption
 $registry->set('dcrypt', new ADataEncryption());
 // Extensions api
 $extensions = new ExtensionsApi();
 if (IS_ADMIN) {
     //for admin we load all available(installed) extensions.
     //This is a solution to make controllers and hooks available for extensions that are in the status off.
     $extensions->loadAvailableExtensions();
 } else {
     $extensions->loadEnabledExtensions();
 }
 $registry->set('extensions', $extensions);
 //validate template
 $is_valid = false;
 $enabled_extensions = $extensions->getEnabledExtensions();
 unset($extensions);
 //check if we specify template directly
 if (!IS_ADMIN && !empty($request->get['sf'])) {
     $template = preg_replace('/[^A-Za-z0-9_]+/', '', $request->get['sf']);
     $dir = $template . DIR_EXT_STORE . DIR_EXT_TEMPLATE . $template;
     if (in_array($template, $enabled_extensions) && is_dir(DIR_EXT . $dir)) {
         $is_valid = true;
     } else {