信呼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

104
webmain/model/baseModel.php Normal file
View 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;
}
}