コード例 #1
0
ファイル: MasterController.php プロジェクト: skank/skankydev
 /**
  * construct
  * c'est le bordel ici
  * @param Request $request the request
  */
 public function __construct()
 {
     EventManager::getInstance()->event('controller.construct', $this);
     $this->request = Request::getInstance();
     $name = explode('\\', get_class($this));
     if ($this->collection === 'default') {
         $modelName = str_replace('Controller', '', $name[2]);
     } else {
         $modelName = $this->collection;
     }
     $this->{$modelName} = MasterModel::load($modelName);
     $this->_loadTools();
     $this->_iniView();
 }
コード例 #2
0
ファイル: Application.php プロジェクト: skank/skankydev
 public function __construct()
 {
     try {
         Config::getConf();
         Auth::loadClass();
         //we c'est un peux de la triche
         Session::start();
         EventManager::init();
         $this->request = Request::getInstance();
         $this->router = Router::getInstance();
         $this->auth = Auth::getInstance();
         include_once APP_FOLDER . DS . 'config' . DS . 'bootstrap.php';
         $this->request->securePost();
         $view = $this->router->execute();
         $view->render();
     } catch (Exception $e) {
         $this->controller = new ErrorController($e);
     }
 }
コード例 #3
0
ファイル: ErrorController.php プロジェクト: skank/skankydev
 /**
  * construct
  * @param Exception $exception the exception
  */
 public function __construct($exception)
 {
     $this->request = Request::getInstance();
     $save['controller'] = $this->request->controller;
     $this->request->controller = 'ErrorController';
     $save['action'] = $this->request->action;
     $this->request->params = ['error' => $exception];
     $this->view = new HtmlView();
     $this->view->set($save);
     $this->_loadTools();
     if (Config::getDebug()) {
         $this->request->action = 'error';
         $this->error($exception);
     } else {
         $this->request->action = 'error404';
         $this->error404($exception);
     }
     $this->view->render();
 }
コード例 #4
0
ファイル: Historique.php プロジェクト: skank/skankydev
 /**
  * add the 
  * @param  Request $request the Request
  * @return void
  */
 function updateHistorique()
 {
     $request = Request::getInstance();
     $history = Session::get('skankydev.historique');
     if (!$history) {
         $history = [];
     }
     $hData['url'] = $request->sheme . '://' . $request->host . $request->uri;
     $hData['direct'] = true;
     $hData['sheme'] = $request->sheme;
     $hData['method'] = $request->method;
     $hData['uri'] = $request->uri;
     $hData['link']['namespace'] = $request->namespace;
     $hData['link']['controller'] = $request->controller;
     $hData['link']['action'] = $request->action;
     $hData['link']['params'] = $request->params;
     $count = array_unshift($history, $hData);
     $limit = Config::get('historique.limit');
     if ($count > $limit) {
         unset($history[$limit]);
     }
     Session::set('skankydev.historique', $history);
 }
コード例 #5
0
ファイル: FormHelper.php プロジェクト: skank/skankydev
 /**
  * create the form object 
  * @param array $data the data to put in input
  */
 function __construct()
 {
     $request = Request::getInstance();
     $this->data = $request->data;
     $this->dClass = Config::get('form.class');
 }
コード例 #6
0
ファイル: Router.php プロジェクト: skank/skankydev
 public function execute()
 {
     EventManager::getInstance()->event('router.execute.before', $this);
     $request = Request::getInstance();
     $link = $request->getArrayLink();
     $controller = Factory::load($this->makeControllerName($link));
     $method = new \ReflectionMethod($controller, $link['action']);
     if (!isset($this->permission)) {
         $method->invokeArgs($controller, $link['params']);
     } else {
         if ($method->isPublic()) {
             if ($this->permission->checkPublicAccess($link)) {
                 $method->invokeArgs($controller, $link['params']);
             } else {
                 $request->redirect(Config::get('Auth.redirectAction'));
             }
         } elseif ($method->isProtected()) {
             if ($this->permission->checkProtectedAccess($link)) {
                 $method->setAccessible(true);
                 $method->invokeArgs($controller, $link['params']);
             } else {
                 $request->redirect(Config::get('Auth.redirectAction'));
             }
         } elseif ($method->isPrivate()) {
             if ($this->permission->checkPrivateAccess($link)) {
                 $method->setAccessible(true);
                 $method->invokeArgs($controller, $link['params']);
             } else {
                 $request->redirect(Config::get('Auth.redirectAction'));
             }
         }
     }
     EventManager::getInstance()->event('router.execute.after', $this);
     return $controller->_getView();
 }
コード例 #7
0
ファイル: MasterView.php プロジェクト: skank/skankydev
 function __construct()
 {
     EventManager::getInstance()->event('view.construct', $this);
     $this->request = Request::getInstance();
 }