Exemplo n.º 1
0
 /**
  * @desc Cleans the output buffer and execute the given controller before exiting
  * @param Controller $controller the controller to execute
  */
 public static function redirect(Controller $controller)
 {
     AppContext::get_response()->clean_output();
     Environment::init_output_bufferization();
     $request = AppContext::get_request();
     $response = $controller->execute($request);
     $response->send();
     Environment::destroy();
     exit;
 }
Exemplo n.º 2
0
 /**
  * @desc dispatch the current url argument to the first method matching
  * in the <code>UrlControllerMapper</code> list of the controller object
  * @throws NoUrlMatchException
  */
 public function dispatch()
 {
     $url = AppContext::get_request()->get_getstring('url', '');
     foreach ($this->url_controller_mappers as $url_controller_mapper) {
         if ($url_controller_mapper->match($url)) {
             $url_controller_mapper->call();
             Environment::destroy();
             return;
         }
     }
     throw new NoUrlMatchException($url);
     Environment::destroy();
 }
Exemplo n.º 3
0
 *                            -------------------
 *   begin                : March 27, 2007
 *   copyright            : (C) 2007 Viarre Régis
 *   email                : crowkait@phpboost.com
 *
 *
 ###################################################
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 *
 ###################################################*/
if (defined('PHPBOOST') !== true) {
    exit;
}
AppContext::get_response()->clean_output();
$content = AppContext::get_response()->get_previous_ob_content();
Environment::display($content);
Environment::destroy();
Exemplo n.º 4
0
 private function display()
 {
     if ($this->fatal) {
         AppContext::get_response()->clean_output();
         if (Debug::is_debug_mode_enabled()) {
             Debug::fatal($this->exception);
         } else {
             Environment::init_output_bufferization();
             echo self::FATAL_MESSAGE;
             Environment::destroy();
             exit;
         }
     } elseif (Debug::is_debug_mode_enabled()) {
         $this->display_debug();
     }
 }
Exemplo n.º 5
0
 private function destroy_app()
 {
     Environment::destroy();
     exit;
 }