信呼OA版本v2.3.8
This commit is contained in:
191
include/Model.php
Normal file
191
include/Model.php
Normal file
@@ -0,0 +1,191 @@
|
||||
<?php
|
||||
/**
|
||||
*****************************************************************
|
||||
* 联系QQ: 290802026 *
|
||||
* 版 本: V2.0 *
|
||||
* 开发者:雨中磐石工作室 *
|
||||
* 邮 箱: admin@rockoa.com *
|
||||
* 网 址: http://www.rockoa.com/ *
|
||||
* 说 明: 数据模型 *
|
||||
* 备 注: 未经允许不得商业出售,代码欢迎参考纠正 *
|
||||
*****************************************************************
|
||||
*/
|
||||
|
||||
abstract class Model{
|
||||
|
||||
public $perfix = PREFIX;
|
||||
public $rock;
|
||||
public $db;
|
||||
public $table;
|
||||
public $adminname;
|
||||
public $adminid;
|
||||
public $tempxinxi = array();
|
||||
|
||||
public function __construct($table='')
|
||||
{
|
||||
$this->rock = $GLOBALS['rock'];
|
||||
$this->db = $GLOBALS['db'];
|
||||
$this->adminid = $this->rock->adminid;
|
||||
$this->adminname = $this->rock->adminname;
|
||||
$this->settable($table);
|
||||
$this->initModel();
|
||||
}
|
||||
|
||||
public function settable($table, $qzbo=true)
|
||||
{
|
||||
$this->table = ''.$this->perfix.''.$table.'';
|
||||
if(!$qzbo)$this->table = $table;
|
||||
}
|
||||
|
||||
public function initModel(){}
|
||||
|
||||
|
||||
public function getmou($fields, $where, $order='')
|
||||
{
|
||||
return $this->db->getmou($this->table, $fields, $where, $order);
|
||||
}
|
||||
|
||||
public function getone($where, $fields='*', $order='')
|
||||
{
|
||||
return $this->db->getone($this->table, $where, $fields, $order);
|
||||
}
|
||||
|
||||
public function getrows($where, $fields='*', $order='', $limit='')
|
||||
{
|
||||
return $this->db->getrows($this->table, $where, $fields, $order, $limit);
|
||||
}
|
||||
|
||||
public function getall($where, $fields='*', $order='', $limit='')
|
||||
{
|
||||
$sql = $this->db->getsql(array(
|
||||
'fields' => $fields,
|
||||
'table' => $this->table,
|
||||
'where' => $where,
|
||||
'order' => $order,
|
||||
'limit' => $limit
|
||||
));
|
||||
return $this->db->getall($sql);
|
||||
}
|
||||
|
||||
public function getarr($where, $fields='*', $kfied='id')
|
||||
{
|
||||
return $this->db->getarr($this->table, $where, $fields, $kfied);
|
||||
}
|
||||
public function rows($where)
|
||||
{
|
||||
return $this->db->rows($this->table, $where);
|
||||
}
|
||||
|
||||
public function query($where, $fields='*', $order='', $limit='')
|
||||
{
|
||||
$sql = $this->db->getsql(array(
|
||||
'fields' => $fields,
|
||||
'table' => $this->table,
|
||||
'where' => $where,
|
||||
'order' => $order,
|
||||
'limit' => $limit
|
||||
));
|
||||
return $this->db->query($sql);
|
||||
}
|
||||
|
||||
public function record($arr, $where='')
|
||||
{
|
||||
return $this->db->record($this->table, $arr, $where);
|
||||
}
|
||||
|
||||
public function update($arr,$where)
|
||||
{
|
||||
return $this->record($arr, $where);
|
||||
}
|
||||
|
||||
public function insert($arr)
|
||||
{
|
||||
$nid = 0;
|
||||
if($this->record($arr, ''))$nid = $this->db->insert_id();
|
||||
return $nid;
|
||||
}
|
||||
|
||||
public function insertAll($arr)
|
||||
{
|
||||
$name = $values = '';
|
||||
foreach($arr as $k=>$rs){
|
||||
$cont = '';
|
||||
foreach($rs as $i=>$v){
|
||||
if($k==0)$name.=',`'.$i.'`';
|
||||
$cont.=",".$this->db->toaddval($v)."";
|
||||
}
|
||||
$cont = substr($cont, 1);
|
||||
if($k>0)$values.=',';
|
||||
$values.='('.$cont.')';
|
||||
}
|
||||
return $this->db->insert($this->table, substr($name, 1),'values '.$values.'', true);
|
||||
}
|
||||
|
||||
public function getwhere($where='')
|
||||
{
|
||||
return $this->db->getwhere($where);
|
||||
}
|
||||
|
||||
public function getfields()
|
||||
{
|
||||
return $this->db->getallfields($this->table);
|
||||
}
|
||||
|
||||
public function delete($where)
|
||||
{
|
||||
return $this->db->delete($this->table, $where);
|
||||
}
|
||||
|
||||
public function getlimit($where, $page=1, $fields='*', $order='', $limit=20, $table='')
|
||||
{
|
||||
if($order != '')$order = 'order by '.$order.'';
|
||||
$where = $this->getwhere($where);
|
||||
if($table == '')$table = $this->table;
|
||||
$sql = "select $fields from $table where $where $order ";
|
||||
$count = $this->db->rows($table, $where);
|
||||
if($page <= 0)$page=1;
|
||||
$sql .= "limit ".($page-1)*$limit.",$limit";
|
||||
$rows = $this->db->getall($sql);
|
||||
$maxpage = ceil($count/$limit);
|
||||
return array(
|
||||
'rows' => $rows,
|
||||
'count' => $count,
|
||||
'maxpage' => $maxpage,
|
||||
'page' => $page,
|
||||
'limit' => $limit,
|
||||
'prevpage' => $page-1,
|
||||
'nextpage' => $page+1,
|
||||
'url' => ''
|
||||
);
|
||||
}
|
||||
|
||||
public function isempt($str)
|
||||
{
|
||||
return $this->rock->isempt($str);
|
||||
}
|
||||
|
||||
public function contain($str, $s1)
|
||||
{
|
||||
return $this->rock->contain($str, $s1);
|
||||
}
|
||||
|
||||
public function getLastSql()
|
||||
{
|
||||
return $this->db->getLastSql();
|
||||
}
|
||||
|
||||
public function count($where='1=1')
|
||||
{
|
||||
return $this->rows($where);
|
||||
}
|
||||
|
||||
public function getXinxi($id,$fields='*')
|
||||
{
|
||||
if(isset($this->tempxinxi[$id]))return $this->tempxinxi[$id];
|
||||
$rs = $this->getone($id,$fields);
|
||||
$this->tempxinxi[$id] = $rs;
|
||||
return $rs;
|
||||
}
|
||||
}
|
||||
|
||||
class sModel extends Model{}
|
||||
Reference in New Issue
Block a user