Example #1
0
 public function setPage()
 {
     $page_code = $this->default_page;
     $class = 'OSC\\Sites\\' . $this->code . '\\Pages\\' . $page_code . '\\' . $page_code;
     if (!empty($_GET)) {
         if (($route = Apps::getRouteDestination()) !== null) {
             $this->route = $route;
             list($vendor_app, $page) = explode('/', $route['destination'], 2);
             // get controller class name from namespace
             $page_namespace = explode('\\', $page);
             $page_code = $page_namespace[count($page_namespace) - 1];
             if (class_exists('OSC\\Apps\\' . $vendor_app . '\\' . $page . '\\' . $page_code)) {
                 $class = 'OSC\\Apps\\' . $vendor_app . '\\' . $page . '\\' . $page_code;
             }
         } else {
             $req = basename(array_keys($_GET)[0]);
             if (class_exists('OSC\\Sites\\' . $this->code . '\\Pages\\' . $req . '\\' . $req)) {
                 $page_code = $req;
                 $class = 'OSC\\Sites\\' . $this->code . '\\Pages\\' . $page_code . '\\' . $page_code;
             }
         }
     }
     if (is_subclass_of($class, 'OSC\\OM\\PagesInterface')) {
         $this->page = new $class($this);
         $this->page->runActions();
     } else {
         trigger_error('OSC\\Sites\\Shop\\Shop::setPage() - ' . $page_code . ': Page does not implement OSC\\OM\\PagesInterface and cannot be loaded.');
     }
 }
Example #2
0
 public function setPage()
 {
     $page_code = $this->default_page;
     $class = 'OSC\\Sites\\' . $this->code . '\\Pages\\' . $page_code . '\\' . $page_code;
     if (!empty($_GET)) {
         $req = basename(array_keys($_GET)[0]);
         if ($req == 'A' && count($_GET) > 1) {
             $app = array_keys($_GET)[1];
             if (strpos($app, '\\') !== false) {
                 list($vendor, $app) = explode('\\', $app);
                 if (Apps::exists($vendor . '\\' . $app) && ($page = Apps::getRouteDestination(null, $vendor . '\\' . $app)) !== null) {
                     // get controller class name from namespace
                     $page_namespace = explode('\\', $page);
                     $page_code = $page_namespace[count($page_namespace) - 1];
                     if (class_exists('OSC\\Apps\\' . $vendor . '\\' . $app . '\\' . $page . '\\' . $page_code)) {
                         $this->app = $vendor . '\\' . $app;
                         $this->route = $this->app . '\\' . $page;
                         $this->actions_index = 2;
                         $class = 'OSC\\Apps\\' . $this->app . '\\' . $page . '\\' . $page_code;
                     }
                 }
             }
         } else {
             if (class_exists('OSC\\Sites\\' . $this->code . '\\Pages\\' . $req . '\\' . $req)) {
                 $page_code = $req;
                 $class = 'OSC\\Sites\\' . $this->code . '\\Pages\\' . $page_code . '\\' . $page_code;
             }
         }
     }
     if (is_subclass_of($class, 'OSC\\OM\\PagesInterface')) {
         $this->page = new $class($this);
         $this->page->runActions();
     } else {
         trigger_error('OSC\\Sites\\Admin\\Admin::setPage() - ' . $page_code . ': Page does not implement OSC\\OM\\PagesInterface and cannot be loaded.');
     }
 }