Esempio n. 1
0
 public function setController($controller)
 {
     $cfg =& DI::get("config")->framework;
     $appName = $cfg->appName;
     $ds = DIRECTORY_SEPARATOR;
     $cPath = sprintf('%s/controller', \apf\core\Kernel::getAppDir());
     $controller = ucwords(preg_replace("/\\W/", '', $controller));
     $this->setControllerPath($cPath);
     $dir = new \DirectoryIterator($cPath);
     foreach ($dir as $file) {
         $file = $file->getFileName();
         if ($file == '.' || $file == '..') {
             continue;
         }
         $file = substr($file, 0, strpos($file, 'Controller'));
         if (strtolower($file) == strtolower($controller)) {
             $controller = $file;
             break;
         }
     }
     $_controller = sprintf('%s%s', $controller, 'Controller');
     $ctrl = sprintf('%s%s%s.class.php', $cPath, $ds, $_controller);
     if (!file_exists($ctrl)) {
         if (empty($cfg->default_controller)) {
             $this->status = 404;
             return;
         }
         $ctrl = sprintf('%s%s%s%s.class.php', $cPath, $ds, ucwords($cfg->default_controller), "Controller");
         if (!file_exists($ctrl)) {
             $this->status = 404;
             return;
         }
         $controller = sprintf('%s', ucwords($cfg->default_controller));
     }
     $this->controller = ucwords($controller);
     return $this;
 }