信呼OA版本v2.3.8

This commit is contained in:
雨中磐石
2022-08-14 16:47:40 +08:00
parent 4640677d27
commit e3fcd913e3
1405 changed files with 133635 additions and 73 deletions

191
include/Model.php Normal file
View 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{}