Browse Source

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
master
pzinovkin 15 years ago
parent
commit
d0630c4240
  1. 22
      app/Action.php
  2. 2
      app/ErrorAction.php
  3. 18
      app/PagerAction.php
  4. 2
      app/StaticAction.php
  5. 28
      app/ViewAction.php
  6. 2
      cache/MemcacheCache.php
  7. 4
      layout/Layout.php
  8. 4
      model/Model.php
  9. 2
      view/PHPView.php

22
app/Action.php

@ -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());
}
}

2
app/ErrorAction.php

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

18
app/PagerAction.php

@ -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);
}*/
}

2
app/StaticViewAction.php → app/StaticAction.php

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

28
app/ViewAction.php

@ -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());
}
}

2
cache/MemcacheCache.php

@ -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);
}
/**

4
layout/Layout.php

@ -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)
{

4
model/Model.php

@ -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;
}
/**

2
view/PHPView.php

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

Loading…
Cancel
Save