Постарничность
This commit is contained in:
parent
f30f7546d6
commit
cc33b8f810
6 changed files with 98 additions and 3 deletions
|
|
@ -372,4 +372,9 @@ class Controller_Action
|
|||
{
|
||||
$this->_getActionPath()->getPath($this, ($action) ? $action : $request->getAction());
|
||||
}
|
||||
|
||||
function redirect($action) {
|
||||
header('location: ' . $this->fUrl($action));
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
///<reference path="database/pdostatement.php" />
|
||||
require_once "database/pdostatement.php";
|
||||
require_once "Database/PDOStatement.php";
|
||||
/**
|
||||
* Класс оболочка для PDO для замены Creole
|
||||
*/
|
||||
|
|
|
|||
33
src/Model/Factory.php
Normal file
33
src/Model/Factory.php
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
class Model_Factory
|
||||
{
|
||||
static $shortcut = "model";
|
||||
public $db;
|
||||
public $_registry;
|
||||
public $_shortcut;
|
||||
|
||||
public function __construct (/*.Database.*/ $db, Settings $_registry = null)
|
||||
{
|
||||
$this->db = $db;
|
||||
$this->_registry = $_registry;
|
||||
}
|
||||
|
||||
/**
|
||||
* Создает модель
|
||||
* @param string $name
|
||||
* @return model
|
||||
*/
|
||||
public function getModel ($name)
|
||||
{
|
||||
require_once (Shortcut::getUrl(self::$shortcut, strtolower($name)));
|
||||
$modelName = $name . "Mapper";
|
||||
$model = new $modelName();
|
||||
$model->db = $this->db;
|
||||
$model->factory = $this;
|
||||
$model->_registry = $this->_registry;
|
||||
$model->setUp();
|
||||
//
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
/**
|
||||
* Проверка формата времени
|
||||
*/
|
||||
class Validator_Rule_IsFile extends Rule_Abstract
|
||||
class Validator_Rule_IsFile extends Validator_Rule_Abstract
|
||||
{
|
||||
private $type = array();
|
||||
private $maxsize = 1024;
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ class Validator_Validator
|
|||
}
|
||||
}
|
||||
|
||||
public function addRule(/*.any.*/&$rule) {
|
||||
public function addRule(/*.any.*/$rule) {
|
||||
if (is_array($rule)) {
|
||||
$this->chain = array_merge($this->chain, $rule);
|
||||
} else {
|
||||
|
|
|
|||
57
src/View/Pages.php
Normal file
57
src/View/Pages.php
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<?php
|
||||
/**
|
||||
* @package system.widgets
|
||||
*/
|
||||
|
||||
class View_Pages
|
||||
{
|
||||
static $range = 5;
|
||||
static function getPages($page, $onpage, $count, $prefix = '?')
|
||||
{
|
||||
$n = ceil($count / $onpage);
|
||||
if ($page > $n) $page = $n;
|
||||
if ($page < 1) $page = 1;
|
||||
$url = 'page=';
|
||||
$result = array();
|
||||
for ($i = max($page - self::$range, 1); $i <= min($n, $page + self::$range); $i++) {
|
||||
$result [] = array('page' => $i, 'href' => ($i != $page) ? self::href($prefix, $url . $i) : false);
|
||||
}
|
||||
return array(
|
||||
'all' => ($n > 1),
|
||||
'list' => $result,
|
||||
'first' => self::href($prefix, $url . 1),
|
||||
'last' => self::href($prefix, $url . $n),
|
||||
'next' => ($page == $n)? false : self::href($prefix, $url . ($page + 1)) ,
|
||||
'prev' => ($page == 1)? false : self::href($prefix, $url . ($page - 1)));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @param $page int номер страницы
|
||||
* @param $onpage int количество элем на странице
|
||||
* @return string
|
||||
*/
|
||||
static function getLimit(/*.number.*/$page, /*.number.*/$onpage) {
|
||||
if ($page <= 0) { $page = 1; }
|
||||
return "LIMIT $onpage OFFSET " . ($page - 1) * $onpage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $page int номер страницы
|
||||
* @param $onpage int количество элем на странице
|
||||
* @return array
|
||||
*/
|
||||
static function _getLimit($page, $onpage) {
|
||||
if ($page <= 0) { $page = 1; }
|
||||
return array(
|
||||
'count' => $onpage,
|
||||
'start' => ($page - 1) * $onpage,
|
||||
);
|
||||
}
|
||||
|
||||
static function href($prefix, $x) {
|
||||
return $prefix . $x;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue