baseModel.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php
  2. //基础使用
  3. class baseClassModel extends Model
  4. {
  5. private $usrr = array();
  6. /**
  7. * 获取异步地址
  8. */
  9. public function getasynurl($m, $a,$can=array(), $lx=0)
  10. {
  11. if($lx==0)$runurl = getconfig('localurl', URL);
  12. if($lx==1)$runurl = getconfig('anayurl', URL); //使用异步通信地址
  13. if($lx==2)$runurl = getconfig('waiurl', URL); //使用外网地址
  14. if($lx==3)$runurl = '';
  15. $key = getconfig('asynkey');
  16. if($key!='')$key = md5(md5($key));
  17. $uid = $this->adminid;
  18. if($uid==0)$uid = (int)arrvalue($GLOBALS,'adminid','0');
  19. if($uid==0)$uid = 1;//必须要有个值
  20. $runurl .= 'api.php?m='.$m.'&a='.$a.'&adminid='.$uid.'&asynkey='.$key.'';
  21. if(COMPANYNUM)$runurl.='&dwnum='.COMPANYNUM.'';
  22. if(is_array($can))foreach($can as $k=>$v)$runurl.='&'.$k.'='.$v.'';
  23. return $runurl;
  24. }
  25. /**
  26. * 系统上变量替换
  27. * $lx = 0 加'',$lx=1不加
  28. */
  29. public function strreplace($str, $uid=0, $lx=0)
  30. {
  31. if(isempt($str))return '';
  32. $date = $this->rock->date;
  33. $month = date('Y-m');
  34. $str = str_replace('[date]', $date, $str);
  35. $str = str_replace('[month]', $month, $str);
  36. if(!contain($str,'{') || !contain($str,'}'))return $str; //没有{}变量
  37. if($uid==0)$uid = $this->adminid;
  38. $ckey = 'u'.$uid.'';
  39. if(isset($this->usrr[$ckey])){
  40. $urs = $this->usrr[$ckey];
  41. }else{
  42. $urs = $this->db->getone('`[Q]admin`','`id`='.$uid.'');
  43. $companyid = arrvalue($urs,'companyid','1');
  44. if(ISMORECOM){
  45. $comid = arrvalue($urs, 'comid','0');
  46. if($comid>'0')$companyid = $comid;
  47. }
  48. $comrs = $this->db->getone('`[Q]company`','`id`='.$companyid.'');
  49. $urs['companyid'] = $companyid;
  50. $urs['companyname'] = arrvalue($comrs,'name');
  51. $urs['companynum'] = arrvalue($comrs,'num');
  52. $this->usrr[$ckey] = $urs;
  53. }
  54. if(!$urs)$urs= array();
  55. $urs['uid'] = $uid;
  56. $urs['date'] = $date;
  57. $urs['year'] = date('Y');
  58. $urs['month'] = $month;
  59. $urs['time'] = date('H:i:s');
  60. $urs['now'] = $this->rock->now;
  61. $urs['admin'] = arrvalue($urs,'name', $this->adminname);
  62. $urs['adminname'] = $urs['admin'];
  63. $urs['adminid'] = $uid;
  64. $urs['deptname'] = arrvalue($urs,'deptname');
  65. $urs['workdate'] = arrvalue($urs,'workdate');
  66. $urs['ranking'] = arrvalue($urs,'ranking');
  67. $urs['ismobile'] = $this->rock->ismobile() ? '1' : '0';
  68. $barr = $this->rock->matcharr($str);
  69. foreach($barr as $match){
  70. $key = $match;
  71. if(substr($key,0,4)=='urs.')$key = substr($key,4);
  72. if(isset($urs[$key])){
  73. $val = $urs[$key];
  74. if($lx==0)$val = "'$val'";
  75. $str = str_replace('{'.$match.'}', $val, $str);
  76. }
  77. //是否日期加减{date+1},{second-20}
  78. if(contain($match,'+') || contain($match,'-')){
  79. $add = 1;
  80. if(contain($match,'-'))$add=-1;
  81. $strss1 = explode('-', str_replace('+','-', $match));
  82. $dats = $strss1[0];
  83. $jg = (int)$strss1[1] * $add;;
  84. $cval = 'Y-m-d H:i:s';
  85. $lxs = 'd';
  86. if($dats=='date')$cval = 'Y-m-d';
  87. if($dats=='month'){
  88. $cval = 'Y-m';
  89. $lxs = 'm';
  90. }
  91. if($dats=='hour')$lxs = 'H';
  92. if($dats=='minute')$lxs = 'i';
  93. if($dats=='second')$lxs = 's';
  94. $val = c('date')->adddate($urs['now'], $lxs, $jg, $cval);
  95. if($lx==0)$val = "'$val'";
  96. $str = str_replace('{'.$match.'}', $val, $str);
  97. }
  98. }
  99. return $str;
  100. }
  101. }
粤ICP备19079148号