信呼OA版本v2.3.8
This commit is contained in:
144
webmain/model/flow/newsModel.php
Normal file
144
webmain/model/flow/newsModel.php
Normal file
@@ -0,0 +1,144 @@
|
||||
<?php
|
||||
class flow_newsClassModel extends flowModel
|
||||
{
|
||||
private $readunarr = array();//未读人员
|
||||
|
||||
public function initModel()
|
||||
{
|
||||
$this->logobj = m('log');
|
||||
$this->htmlobj = c('html');
|
||||
}
|
||||
|
||||
protected function flowchangedata(){
|
||||
$cont = c('html')->replace($this->rs['content']);
|
||||
$fm = $this->rs['fengmian'];
|
||||
if(!isempt($fm)){
|
||||
$cont='<div align="center"><img src="'.$this->rock->gethttppath($fm).'"></div>'.$cont.'';
|
||||
}
|
||||
$url = $this->rs['url'];
|
||||
if(!isempt($url))$cont.='<div><a href="'.$url.'">查看原文>></a></div>';
|
||||
$this->rs['content'] = $cont;
|
||||
}
|
||||
|
||||
public function flowrsreplace($rs, $lx=0)
|
||||
{
|
||||
$content = $rs['content'];
|
||||
if($lx==2){
|
||||
unset($rs['content']);
|
||||
$rs['smallcont'] = $this->neircong($content);
|
||||
}
|
||||
return $rs;
|
||||
}
|
||||
//移动端列表
|
||||
public function flowrsreplace_we($row, $rs)
|
||||
{
|
||||
if(!isempt($rs['fengmian']))$row['picurl'] = $rs['fengmian'];
|
||||
return $row;
|
||||
}
|
||||
public function flowwesearchdata($lx)
|
||||
{
|
||||
if($lx==1)return $this->option->getselectdata('newstype', true);
|
||||
return array(
|
||||
'typename' => '所有分类',
|
||||
'searchmsg' => '新闻标题/分类',
|
||||
);
|
||||
}
|
||||
|
||||
protected function flowsubmit($na, $sm)
|
||||
{
|
||||
if($this->rs['status']==1)$this->tisongtodo();
|
||||
}
|
||||
|
||||
//审核完成后发通知
|
||||
protected function flowcheckfinsh($zt)
|
||||
{
|
||||
if($zt==1)$this->tisongtodo();
|
||||
}
|
||||
|
||||
public function getreceids($receid, $whe='')
|
||||
{
|
||||
$receid = $this->adminmodel->gjoin($receid,'ud','where');
|
||||
if($receid=='' || $receid=='all'){
|
||||
$where = '';
|
||||
}else{
|
||||
$where = 'and id>0 and ('.$receid.')';
|
||||
}
|
||||
$ids = '';
|
||||
$rows = $this->adminmodel->getall('`status`=1 '.$where.' '.$whe.'','id');
|
||||
foreach($rows as $k=>$rs)$ids.=',u'.$rs['id'].'';
|
||||
if($ids!='')$ids = substr($ids, 1);
|
||||
|
||||
return $ids;
|
||||
}
|
||||
|
||||
private function neircong($nr)
|
||||
{
|
||||
$cont = $this->htmlobj->htmlremove($nr);
|
||||
$cont = $this->htmlobj->substrstr($cont,0, 50);
|
||||
if(strlen($cont)>40)$cont.='...';
|
||||
return $cont;
|
||||
}
|
||||
|
||||
|
||||
//发送推送通知
|
||||
private function tisongtodo()
|
||||
{
|
||||
//还没到展示时间就不发送提醒
|
||||
$zstart= arrvalue($this->rs, 'startdt');
|
||||
if(!isempt($zstart) && $zstart>$this->rock->date)return;
|
||||
|
||||
|
||||
$cont = $this->neircong($this->rs['content']);
|
||||
if(isempt($cont))$cont = $this->rs['title']; //为空时
|
||||
$this->push($this->rs['receid'], '', $cont, $this->rs['title'],1);
|
||||
|
||||
//添加短信提醒,短信提醒
|
||||
if(arrvalue($this->rs,'issms')=='1'){
|
||||
$receid = $this->rs['receid'];
|
||||
if(isempt($receid))$receid = 'all';
|
||||
$qiannum= '';
|
||||
$tplnum = 'gongsms';
|
||||
$params = array(
|
||||
'title' => $this->rs['title'],
|
||||
'typename' => $this->rs['typename'],
|
||||
);
|
||||
$url = $this->getxiangurlx();
|
||||
c('xinhuapi')->sendsms($receid, $qiannum, $tplnum, $params, $url);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected function flowbillwhere($uid, $lx)
|
||||
{
|
||||
$key = $this->rock->post('key');
|
||||
$typeid = (int)$this->rock->post('typeid','0');
|
||||
$keywere= '';
|
||||
if(!isempt($key))$keywere.=" and (`title` like '%$key%' or `typename`='$key')";
|
||||
$whyere = '';
|
||||
//我和我未读
|
||||
if($lx=='my'){
|
||||
$whyere= "and (`startdt` is null or `startdt`<='{$this->rock->date}')";
|
||||
$whyere.= " and (`enddt` is null or `enddt`>='{$this->rock->date}')";
|
||||
}
|
||||
if($typeid>0){
|
||||
$typename=$this->option->getmou('name', $typeid);
|
||||
$whyere.=" and `typename`='$typename'";
|
||||
}
|
||||
|
||||
return array(
|
||||
'order' => '`istop` desc,`optdt` desc',
|
||||
'keywere' => $keywere,
|
||||
'where' => $whyere,
|
||||
'fields' => 'id,typename,optdt,title,optname,content,zuozhe,indate,recename,fengmian,mintou,`status`,`istop`,`appxs`'
|
||||
);
|
||||
}
|
||||
|
||||
//去掉标题
|
||||
protected function flowdatalog($arr)
|
||||
{
|
||||
|
||||
$arr['title'] = '';
|
||||
|
||||
return $arr;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user