示例#1
0
 /**
  * Return RedirectResponse object
  * 
  * @param string $url
  * 
  * @return RedirectResponse
  */
 public function redirect($url = '/', $msg = '')
 {
     if ($msg !== '') {
         Session::set('flash', $msg);
     }
     return new ResponseRedirect($url);
 }
示例#2
0
 /**
  * Renderer and return all content to Response Class
  * 
  * @return string $resalt
  */
 public function renderContent()
 {
     //get all controller input data
     extract($this->data);
     //include controller relust in content
     $include = function ($controllerName, $actionName, $data = array()) {
         $reflectionMethod = new \ReflectionMethod($controllerName, $actionName . 'Action');
         $response = $reflectionMethod->invokeArgs(new $controllerName(), $data);
         echo '<h3>Include</h3>';
         echo '<p>';
         $response->getContent();
         echo '</p>';
     };
     //generate CSRF token to hidden form element
     $generateToken = function () {
         $csrfToken = Service::get('security')->generateCsrfToken();
         echo '<input type="hidden" value="' . $csrfToken . '" name="csrfToken">';
     };
     //get current route information
     $getRoute = function ($name) {
         $routes = Service::get('routes');
         return $routes[$name]['pattern'];
     };
     $route = Service::get('route');
     $request = new Request();
     if ($request->isPost() && empty($post)) {
         $post = new \stdClass();
         $post->title = $request->post('title');
         $post->content = $request->post('content');
     }
     if (Session::get('auth')) {
         $user = Service::get('security')->getUser();
     }
     if (isset(Service::get('session')->flash)) {
         $flush = array('info' => array(Service::get('session')->flash));
         unset(Service::get('session')->flash);
     } else {
         $flush = array();
     }
     //Render template
     ob_start();
     include $this->templateUrl;
     $content = ob_get_contents();
     ob_end_clean();
     //Render main layout
     ob_start();
     include $this->layoutUrl;
     $this->renderDevMode();
     $result = ob_get_contents();
     ob_end_clean();
     return $result;
 }
示例#3
0
 /**
  * Application constructor.
  */
 public function __construct($configPath)
 {
     //Registration all configuration vars in the config container
     Registry::setConfigsArr(include $configPath);
     Service::set('router', new Router(Registry::getConfig('routes')));
     Service::set('dbConnection', Connection::get(Registry::getConfig('pdo')));
     Service::set('request', new Request());
     Service::set('security', new Security());
     Service::set('session', Session::getInstance());
     Service::set('renderer', new Renderer(Registry::getConfig('main_layout')));
     Service::set('eventManager', EventManager::getInstance());
     //Registers the events
     Service::get('eventManager')->registerEvent('applicationInit')->registerEvent('parseRoute')->registerEvent('dispatchAction')->registerEvent('controllerRender')->registerEvent('controllerGenerateRoute')->registerEvent('controllerRedirect')->registerEvent('sendAction')->registerEvent('renderAction');
     //Attaches a new listener
     Service::get('eventManager')->addListener('Framework\\Logger\\Logger');
     //Sets the error display mode
     Helper::errorReporting();
     //Launches the appropriate event
     Service::get('eventManager')->trigger('applicationInit', "The start of application");
 }
示例#4
0
 /**
  * Generate and return CSRF token
  * 
  * @return type
  */
 public function generateCsrfToken()
 {
     $csrfToken = md5('csrf_solt_string_' . uniqid());
     Session::set('csrfToken', $csrfToken);
     return $csrfToken;
 }
示例#5
0
 /**
  * Delete all data is session
  */
 public function clear()
 {
     $this->session->destroy();
 }