信呼OA版本v2.3.8
This commit is contained in:
104
webmain/model/baseModel.php
Normal file
104
webmain/model/baseModel.php
Normal file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
//基础使用
|
||||
class baseClassModel extends Model
|
||||
{
|
||||
private $usrr = array();
|
||||
|
||||
/**
|
||||
* 获取异步地址
|
||||
*/
|
||||
public function getasynurl($m, $a,$can=array(), $lx=0)
|
||||
{
|
||||
if($lx==0)$runurl = getconfig('localurl', URL);
|
||||
if($lx==1)$runurl = getconfig('anayurl', URL); //使用异步通信地址
|
||||
if($lx==2)$runurl = getconfig('waiurl', URL); //使用外网地址
|
||||
if($lx==3)$runurl = '';
|
||||
$key = getconfig('asynkey');
|
||||
if($key!='')$key = md5(md5($key));
|
||||
$uid = $this->adminid;
|
||||
if($uid==0)$uid = (int)arrvalue($GLOBALS,'adminid','0');
|
||||
if($uid==0)$uid = 1;//必须要有个值
|
||||
$runurl .= 'api.php?m='.$m.'&a='.$a.'&adminid='.$uid.'&asynkey='.$key.'';
|
||||
if(COMPANYNUM)$runurl.='&dwnum='.COMPANYNUM.'';
|
||||
if(is_array($can))foreach($can as $k=>$v)$runurl.='&'.$k.'='.$v.'';
|
||||
return $runurl;
|
||||
}
|
||||
|
||||
/**
|
||||
* 系统上变量替换
|
||||
* $lx = 0 加'',$lx=1不加
|
||||
*/
|
||||
public function strreplace($str, $uid=0, $lx=0)
|
||||
{
|
||||
if(isempt($str))return '';
|
||||
$date = $this->rock->date;
|
||||
$month = date('Y-m');
|
||||
$str = str_replace('[date]', $date, $str);
|
||||
$str = str_replace('[month]', $month, $str);
|
||||
if(!contain($str,'{') || !contain($str,'}'))return $str; //没有{}变量
|
||||
|
||||
if($uid==0)$uid = $this->adminid;
|
||||
$ckey = 'u'.$uid.'';
|
||||
if(isset($this->usrr[$ckey])){
|
||||
$urs = $this->usrr[$ckey];
|
||||
}else{
|
||||
$urs = $this->db->getone('`[Q]admin`','`id`='.$uid.'');
|
||||
$companyid = arrvalue($urs,'companyid','1');
|
||||
if(ISMORECOM){
|
||||
$comid = arrvalue($urs, 'comid','0');
|
||||
if($comid>'0')$companyid = $comid;
|
||||
}
|
||||
$comrs = $this->db->getone('`[Q]company`','`id`='.$companyid.'');
|
||||
$urs['companyid'] = $companyid;
|
||||
$urs['companyname'] = arrvalue($comrs,'name');
|
||||
$urs['companynum'] = arrvalue($comrs,'num');
|
||||
$this->usrr[$ckey] = $urs;
|
||||
}
|
||||
if(!$urs)$urs= array();
|
||||
$urs['uid'] = $uid;
|
||||
$urs['date'] = $date;
|
||||
$urs['year'] = date('Y');
|
||||
$urs['month'] = $month;
|
||||
$urs['time'] = date('H:i:s');
|
||||
$urs['now'] = $this->rock->now;
|
||||
$urs['admin'] = arrvalue($urs,'name', $this->adminname);
|
||||
$urs['adminname'] = $urs['admin'];
|
||||
$urs['adminid'] = $uid;
|
||||
$urs['deptname'] = arrvalue($urs,'deptname');
|
||||
$urs['workdate'] = arrvalue($urs,'workdate');
|
||||
$urs['ranking'] = arrvalue($urs,'ranking');
|
||||
$urs['ismobile'] = $this->rock->ismobile() ? '1' : '0';
|
||||
$barr = $this->rock->matcharr($str);
|
||||
foreach($barr as $match){
|
||||
$key = $match;
|
||||
if(substr($key,0,4)=='urs.')$key = substr($key,4);
|
||||
if(isset($urs[$key])){
|
||||
$val = $urs[$key];
|
||||
if($lx==0)$val = "'$val'";
|
||||
$str = str_replace('{'.$match.'}', $val, $str);
|
||||
}
|
||||
//是否日期加减{date+1},{second-20}
|
||||
if(contain($match,'+') || contain($match,'-')){
|
||||
$add = 1;
|
||||
if(contain($match,'-'))$add=-1;
|
||||
$strss1 = explode('-', str_replace('+','-', $match));
|
||||
$dats = $strss1[0];
|
||||
$jg = (int)$strss1[1] * $add;;
|
||||
$cval = 'Y-m-d H:i:s';
|
||||
$lxs = 'd';
|
||||
if($dats=='date')$cval = 'Y-m-d';
|
||||
if($dats=='month'){
|
||||
$cval = 'Y-m';
|
||||
$lxs = 'm';
|
||||
}
|
||||
if($dats=='hour')$lxs = 'H';
|
||||
if($dats=='minute')$lxs = 'i';
|
||||
if($dats=='second')$lxs = 's';
|
||||
$val = c('date')->adddate($urs['now'], $lxs, $jg, $cval);
|
||||
if($lx==0)$val = "'$val'";
|
||||
$str = str_replace('{'.$match.'}', $val, $str);
|
||||
}
|
||||
}
|
||||
return $str;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user