| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- <?php
- class logClassModel extends Model
- {
- public function addlog($type='', $remark='', $sarr=array())
- {
- $arr['type'] = $type;
- $arr['ip'] = $this->rock->ip;
- $arr['web'] = $this->rock->web;
- $arr['optdt'] = $this->rock->now();
- $arr['optid'] = $this->adminid;
- $arr['optname'] = $this->adminname;
- $arr['remark'] = $remark;
- //$arr['url'] = $this->rock->nowurl();//不记录这个没用
- foreach($sarr as $k=>$v)$arr[$k]=$v;
- return $this->insert($arr);
- }
-
- /**
- * 添加日志的 $level=2错误
- */
- public function addlogs($type='', $remark='', $level=0, $sarr=array())
- {
- $sarr['level'] = $level;
- return $this->addlog($type, $remark, $sarr);
- }
-
- /**
- * 提醒返回错误日志添加
- */
- public function todolog($type,$barr=array())
- {
- if((int)arrvalue($barr,'errcode',0) != 0)$this->addlogs($type,''.$barr['errcode'].':'.$barr['msg'].'', 2);
- }
-
- public function addread($table, $mid, $uid=0)
- {
- if($uid==0)$uid=$this->adminid;
- $where = "`table`='$table' and `mid`='$mid' and `optid`=$uid";
- $dbs = m('reads');
- $onrs = $dbs->getone($where);
- if(!$onrs){
- $arr['table'] = $table;
- $arr['mid'] = $mid;
- $arr['optid'] = $uid;
- $arr['stotal'] = 1;
- $arr['adddt'] = $this->rock->now();
- $where = '';
- }else{
- $arr['stotal'] = (int)$onrs['stotal']+1;
- }
- //$arr['ip'] = $this->rock->ip;//存这个没用,不在存储
- //$arr['web'] = $this->rock->web;
- $arr['optdt'] = $this->rock->now();
- $dbs->record($arr, $where);
- }
-
- /**
- * 获取已读人员
- */
- public function getreadarr($table, $mid)
- {
- $rows = $this->db->getrows('[Q]reads',"`table`='$table' and `mid`='$mid' ",'optid,optdt,stotal','`id` desc');
- $uids = '0';
- $srows= $sssa = array();
- foreach($rows as $k=>$rs){
- $uid = $rs['optid'];
- $uids .=','.$uid.'';
- if(!isset($sssa[$uid])){
- $srows[] = $rs;
- }
- $sssa[$uid] = 1;
- }
- $usarr = array();
- if($uids!='0'){
- $uarr = $this->db->getarr('[Q]admin',"`id` in($uids) and `status`=1", '`name`,`face`');
- foreach($srows as $k=>$rs){
- $uid = $rs['optid'];
- if(isset($uarr[$uid])){
- $usarr[] = array(
- 'uid' => $uid,
- 'optdt' => $rs['optdt'],
- 'stotal' => $rs['stotal'],
- 'name' => $uarr[$uid]['name'],
- 'face' => $this->rock->repempt($uarr[$uid]['face'],'images/noface.png')
- );
- }
- }
- }
- return $usarr;
- }
-
-
- public function getread($table, $uid=0)
- {
- if($uid==0)$uid=$this->adminid;
- $sid = $this->db->getjoinval('[Q]reads','mid',"`table`='$table' and `optid`=$uid group by `mid`");
- if($sid==''){
- $sid = '0';
- }else{
- $sid = '0,'.$sid.'';
- }
- return $sid;
- }
-
- public function isread($table, $mid, $uid=0)
- {
- if($uid==0)$uid=$this->adminid;
- $where = "`table`='$table' and `mid`='$mid' and `optid`=$uid";
- $to = $this->db->rows('[Q]reads', $where);
- return $to;
- }
-
- //获取已读未读数
- public function getreadshu($table, $mid, $receid, $optdt='', $dbs=null)
- {
- $ydshu = $wdshu = $zzshu = 0;
- $ydname = $wdname= '';
- if($dbs==null)$dbs = m('admin');
- $where = $dbs->gjoin($receid,'ud','where');
- if($where=='all')$where = '';
- if(!isempt($where))$where = ' and ('.$where.')';
- if(!isempt($optdt)){
- $dt = substr($optdt,0,10);
- $where.=" and `workdate`<='$dt'";
- }
- $where .= $dbs->getcompanywhere();
- $uarr = $dbs->getall('`status`=1'.$where.'','`id`,`name`,`face`','`sort`');
-
- $receas = explode(',', str_replace('u','', $receid));
- $rows = $this->db->getall("SELECT `optid` FROM `[Q]reads` where `table`='$table' and `mid`='$mid' GROUP BY `optid`");
- $ydarr = array();
- foreach($rows as $k=>$rs)$ydarr[] = $rs['optid'];
- $wduarr = array(); //未读人员数组
- foreach($uarr as $k=>$rs){
- $uid = $rs['id'];
- $name = $rs['name'];
- $rs['face'] = $this->rock->repempt($rs['face'], 'images/noface.png');
- if(in_array($uid, $ydarr)){
- $ydshu++;
- $ydname.=','.$name.'';
- }else{
- $wdshu++;
- $wdname.=','.$name.'';
- $wduarr[] = $rs;
- }
- $zzshu++;
- }
- if($ydname!='')$ydname = substr($ydname, 1);
- if($wdname!='')$wdname = substr($wdname, 1);
-
- return array(
- 'zzshu' => $zzshu,
- 'ydshu' => $ydshu,
- 'wdshu' => $wdshu,
- 'ydname' => $ydname,
- 'wdname' => $wdname,
- 'wduarr' => $wduarr
- );
- }
- }
|