Files
xinhu/webmain/model/baseModel.php
2022-08-14 16:47:40 +08:00

104 lines
3.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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;
}
}