Browse Source

Bid history refresh added (by ajax)/ Ajax root class added

git-svn-id: svn+ssh://code.netmonsters.ru/svn/majestic/trunk@27 4cb57b5f-5bbd-dd11-951b-001d605cbbc5
master
akulikov 16 years ago
parent
commit
c6df341c68
  1. 11
      classes/PageController.class.php
  2. 30
      classes/Router.class.php

11
classes/PageController.class.php

@ -1,12 +1,12 @@
<?php <?php
/** /**
*
* *
* @copyright
* @link
*
* @copyright
* @link
* @package Majestic * @package Majestic
* @subpackage PageController * @subpackage PageController
* @since
* @since
* @version SVN: $Id$ * @version SVN: $Id$
* @filesource $URL$ * @filesource $URL$
*/ */
@ -21,8 +21,9 @@ final class PageController
{ {
try { try {
$this->route = Load::router()->proccess(MJ_PATH); $this->route = Load::router()->proccess(MJ_PATH);
$action = new $this->route->action;
$decorator = new $this->route->decorator; $decorator = new $this->route->decorator;
return $decorator->display(new $this->route->action);
return $decorator->display($action);
} catch (MJException $e) { } catch (MJException $e) {
return $e->terminate(); return $e->terminate();
} catch (Exception $e) { } catch (Exception $e) {

30
classes/Router.class.php

@ -1,24 +1,24 @@
<?php <?php
/** /**
* Класс для работы с роутерами
* Класс для работы с роутерами
* *
* @copyright
* @link
* @copyright
* @link
* @package Majestic * @package Majestic
* @subpackage Core * @subpackage Core
* @since
* @since
* @version SVN: $Id$ * @version SVN: $Id$
* @filesource $URL$ * @filesource $URL$
*/ */
final class Router final class Router
{ {
protected $routes = array(); protected $routes = array();
static protected $rewrite_base = ''; static protected $rewrite_base = '';
static protected $decorator = DEFAULT_DECORATOR; static protected $decorator = DEFAULT_DECORATOR;
/** /**
* Добавить роутер * Добавить роутер
@ -55,8 +55,14 @@ final class Router
*/ */
function proccess($path) function proccess($path)
{ {
$path = explode('/', ltrim($path, self::getRewriteBase()));
if ($trim = self::getRewriteBase()) {
if (substr($path, 0 , strlen($trim)) == $trim) {
$path = substr($path, strlen($trim));
}
}
$path = explode('/', $path);
foreach($this->routes as $name => $route) { foreach($this->routes as $name => $route) {
if ($route->match($path)) { if ($route->match($path)) {
$route->action .= ACTION_POSTFIX; $route->action .= ACTION_POSTFIX;
@ -66,17 +72,17 @@ final class Router
} }
throw new Exception(E_404); throw new Exception(E_404);
} }
static public function setRewriteBase($value = '') static public function setRewriteBase($value = '')
{ {
self::$rewrite_base = $value; self::$rewrite_base = $value;
} }
static public function getRewriteBase() static public function getRewriteBase()
{ {
return self::$rewrite_base; return self::$rewrite_base;
} }
static public function setDefaultDecorator($decorator) static public function setDefaultDecorator($decorator)
{ {
self::$decorator = $decorator.DECORATOR_POSTFIX; self::$decorator = $decorator.DECORATOR_POSTFIX;

Loading…
Cancel
Save