ViewAction functional merged to Action, Model::inset now returns last insert id if returned or affected rows count, #16

git-svn-id: svn+ssh://code.netmonsters.ru/svn/majestic/branches/evo@125 4cb57b5f-5bbd-dd11-951b-001d605cbbc5
This commit is contained in:
pzinovkin
2010-03-14 12:12:17 +00:00
parent 8fc917dca2
commit d0630c4240
9 changed files with 32 additions and 52 deletions

View File

@ -12,8 +12,16 @@
abstract class Action
{
protected $template;
/**
* @var PHPView
*/
protected $view;
public function __construct()
{
$this->view = FrontController::getInstance()->getView();
$this->extractParams();
$this->execute();
}
@ -45,4 +53,18 @@ abstract class Action
header('Location: ' . $url);
exit();
}
protected function getTemplate()
{
$class = get_class($this);
$template = ($this->template) ? $this->template : substr($class, 0, -6/*strlen('Action')*/);
$dir = array_slice(explode('/', Load::getFilePath($class)), -2, 1);
return '/actions/' . array_pop($dir) . '/' . $template;
}
public function fetch()
{
$this->view->assignObject($this);
return $this->view->fetch($this->getTemplate());
}
}

View File

@ -9,7 +9,7 @@
* @filesource $URL$
*/
class ErrorAction extends ViewAction
class ErrorAction extends Action
{
/**

View File

@ -9,13 +9,10 @@
* @filesource $URL$
*/
class PagerAction extends ViewAction
class PagerAction extends Action
{
public $page;
public $last_page;
//protected $num_rows;
protected $offset = 0;
protected $count = 0;
protected $limit;
@ -33,7 +30,6 @@ class PagerAction extends ViewAction
$this->last_page = ceil($this->count/$this->limit);
$this->page = ($page <= $this->last_page && $page > 0) ? $page : 1;
$this->offset = $this->limit * ($this->page - 1);
//$this->num_rows = ($this->limit + $this->offset) <= $this->count ? ($this->limit + $this->offset) : $this->count;
}
public function getOffset()
@ -51,16 +47,4 @@ class PagerAction extends ViewAction
$template = ($this->template) ? $this->template : substr(get_class($this), 0, -6/*strlen('Action')*/);
return '/actions/' . $template;
}
/* public function setNumRows($num_rows)
{
$this->num_rows = $num_rows;
}
*/
/*function prepare()
{
$this->templater->assign('page', $this->page);
$this->templater->assign('page_max', $this->max_page_num);
}*/
}

View File

@ -9,7 +9,7 @@
* @filesource $URL$
*/
abstract class StaticViewAction extends ViewAction
abstract class StaticAction extends Action
{
protected function getTemplate()

View File

@ -9,33 +9,7 @@
* @filesource $URL$
*/
abstract class ViewAction extends Action
abstract class Action extends Action
{
protected $template;
/**
* @var PHPView
*/
protected $view;
public function __construct()
{
$this->view = FrontController::getInstance()->getView();
parent::__construct();
}
protected function getTemplate()
{
$class = get_class($this);
$template = ($this->template) ? $this->template : substr($class, 0, -6/*strlen('Action')*/);
$dir = array_slice(explode('/', Load::getFilePath($class)), -2, 1);
return '/actions/' . array_pop($dir) . '/' . $template;
}
public function fetch()
{
$this->view->assignObject($this);
return $this->view->fetch($this->getTemplate());
}
}

View File

@ -82,7 +82,7 @@ class MemcacheCache extends Cache
*/
public function del($key)
{
return $this->connection->delete($this->getKey($key));
return $this->connection->delete($this->getKey($key), 0);
}
/**

View File

@ -26,7 +26,7 @@ abstract class Layout
/**
* @param string $name
* @param ViewAction $action
* @param Action $action
*/
protected function assign($name, $action)
{
@ -36,7 +36,7 @@ abstract class Layout
abstract protected function execute();
/**
* @param ViewAction $action
* @param Action $action
*/
public function fetch($action)
{

View File

@ -97,10 +97,10 @@ abstract class Model implements iCacheable
*/
public function insert($data, $on_duplicate = array())
{
if (!$res = $this->db->insert($this->table(false), $data, $on_duplicate)) {
if (!$affected = $this->db->insert($this->table(false), $data, $on_duplicate)) {
return false;
}
return ($on_duplicate) ? $res : $this->getInsertId();
return ($this->getInsertId()) ? $this->getInsertId() : $affected;
}
/**

View File

@ -40,7 +40,7 @@ class PHPView implements iView
}
/**
* @param ViewAction $object
* @param Action $object
*/
public function assignObject($object)
{