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 abstract class Action
{ {
protected $template;
/**
* @var PHPView
*/
protected $view;
public function __construct() public function __construct()
{ {
$this->view = FrontController::getInstance()->getView();
$this->extractParams(); $this->extractParams();
$this->execute(); $this->execute();
} }
@ -45,4 +53,18 @@ abstract class Action
header('Location: ' . $url); header('Location: ' . $url);
exit(); 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$ * @filesource $URL$
*/ */
class ErrorAction extends ViewAction
class ErrorAction extends Action
{ {
/** /**

18
app/PagerAction.php

@ -9,13 +9,10 @@
* @filesource $URL$ * @filesource $URL$
*/ */
class PagerAction extends ViewAction
class PagerAction extends Action
{ {
public $page; public $page;
public $last_page; public $last_page;
//protected $num_rows;
protected $offset = 0; protected $offset = 0;
protected $count = 0; protected $count = 0;
protected $limit; protected $limit;
@ -33,7 +30,6 @@ class PagerAction extends ViewAction
$this->last_page = ceil($this->count/$this->limit); $this->last_page = ceil($this->count/$this->limit);
$this->page = ($page <= $this->last_page && $page > 0) ? $page : 1; $this->page = ($page <= $this->last_page && $page > 0) ? $page : 1;
$this->offset = $this->limit * ($this->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() public function getOffset()
@ -51,16 +47,4 @@ class PagerAction extends ViewAction
$template = ($this->template) ? $this->template : substr(get_class($this), 0, -6/*strlen('Action')*/); $template = ($this->template) ? $this->template : substr(get_class($this), 0, -6/*strlen('Action')*/);
return '/actions/' . $template; 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$ * @filesource $URL$
*/ */
abstract class StaticViewAction extends ViewAction
abstract class StaticAction extends Action
{ {
protected function getTemplate() protected function getTemplate()

28
app/ViewAction.php

@ -9,33 +9,7 @@
* @filesource $URL$ * @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) 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 string $name
* @param ViewAction $action
* @param Action $action
*/ */
protected function assign($name, $action) protected function assign($name, $action)
{ {
@ -36,7 +36,7 @@ abstract class Layout
abstract protected function execute(); abstract protected function execute();
/** /**
* @param ViewAction $action
* @param Action $action
*/ */
public function fetch($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()) 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 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) public function assignObject($object)
{ {

Loading…
Cancel
Save