<?php
namespace eapie\engine;
class request extends \eapie\engine\init {
public function limit($data = array(), $project = ""){
if( isset($data['size']) && is_numeric($data['size']) ){
$data['page_size'] = $data['size'];
}
if( empty($data['page_size']) ||
!is_numeric($data['page_size']) ){
if(parent::REQUEST_ADMIN == $project){
if( !empty($_SESSION["admin"]['admin_user_json']['page_size']) ){
$page_size = $_SESSION["admin"]['admin_user_json']['page_size'];
}else{
$page_size = object(parent::TABLE_CONFIG)->data(object(parent::TABLE_CONFIG)->find("admin_page_size"), true);
}
}else
if(parent::REQUEST_USER == $project){
if( !empty($_SESSION['user']['user_json']['page_size']) ){
$page_size = $_SESSION['user']['user_json']['page_size'];
}else{
$page_size = object(parent::TABLE_CONFIG)->data(object(parent::TABLE_CONFIG)->find("page_size"), true);
}
}
}else{
$page_size = $data['page_size'];
}
if( empty($page_size) || !is_numeric($page_size) ){
throw new error("缺少每页条数的配置");
}
if( !empty($data['page']) && (strtolower($data['page']) == "all" || $data['page'] < 0)){
$limit = array();
}else{
$page_now = empty($data['page']) || !is_numeric($data['page'])? 1 : $data['page'];
$limit_start =!isset($data['start']) || !is_numeric($data['start'])? ($page_now-1) * $page_size : $data['start'];
$limit = array($limit_start, $page_size);
}
return $limit;
}
public function orderby($data = array(), $orderby_list = array()){
$orderby = array();
if( empty($orderby_list) || !is_array($orderby_list)){
return $orderby;
}
if(isset($data['sort']) && is_array($data['sort'])){
foreach($data['sort'] as $value){
if( (is_string($value) || is_numeric($value)) &&
isset($orderby_list[$value]) ){
$orderby[] = $orderby_list[$value];
}
}
}
return $orderby;
}
}
?>