查看: 852|回复: 0

解决pc蛋蛋等期号不对问题WebBase.class

[复制链接]

77

主题

77

帖子

251

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
251
发表于 2019-10-18 05:12:54 | 显示全部楼层 |阅读模式
  1. <?php
  2. /**
  3. * 前台页面基类 DAVID UPDATE 2016-03-01
  4. */
  5. class WebBase extends Object{
  6.         public $controller;
  7.         public $action;
  8.         public $memberSessionName='member-session-name';
  9.         public $user;
  10.         public $headers;
  11.         public $page=1;
  12.         public $title='Maleo';
  13.         public $params=array();       
  14.         public $types;                       
  15.         public $playeds;       
  16.         public $playeds2;
  17.         public $urlPasswordKey='2u392!3ur92uf93@2r23#fe';
  18.         function __construct($dsn, $user='', $password=''){
  19.         session_start();
  20.                 try{
  21.                         parent::__construct($dsn, $user, $password);
  22.                         if($_SESSION[$this->memberSessionName]){
  23.                                 $this->user=unserialize($_SESSION[$this->memberSessionName]);
  24.                                 $this->updateSessionTime();
  25.                         }
  26.                         if($this->user['uid']){
  27.                                 if(!$_COOKIE['token']){
  28.                                 $token=base64_encode(crypt(session_id(),$this->user['username']).md5($this->user['updateTime']));
  29.                                 setcookie('token',$token, 0, '/');
  30.                                 }
  31.                         }else{
  32.                                 if($_COOKIE['token']){
  33.                                 setcookie('token', NULL, 0, '/');
  34.                                 }
  35.                         }
  36.                 }catch(Exception $e){
  37.                 }
  38.         }
  39.        
  40.         public function getSystemSettings($expire=null){
  41.                 if($expire===null) $expire=$this->expire;
  42.                 $file=$this->cacheDir . '/systemSettings';
  43.                 if($expire && is_file($file) && filemtime($file)+$expire>$this->time){
  44.                         return $this->settings=unserialize(file_get_contents($file));
  45.                 }
  46.                 $sql="select * from {$this->prename}params";
  47.                 $this->settings=array();
  48.                 if($data=$this->getRows($sql)){
  49.                         foreach($data as $var){
  50.                                 $this->settings[$var['name']]=$var['value'];
  51.                         }
  52.                 }
  53.                 file_put_contents($file, serialize($this->settings));
  54.                 return $this->settings;
  55.         }
  56.        
  57.         public function getTypes(){
  58.                 if($this->types) return $this->types;
  59.                 $sql="select * from {$this->prename}type where isDelete=0 order by sort asc";
  60.                 return $this->types=$this->getObject($sql, 'id');
  61.         }
  62.        
  63.         public function getPlayeds(){
  64.                 if($this->playeds) return $this->playeds;
  65.                 $sql="select * from {$this->prename}played ";
  66.                 return $this->playeds=$this->getObject($sql, 'id');
  67.         }
  68.        
  69.         public function getPlayeds2(){
  70.                 if($this->playeds2) return $this->playeds2;
  71.                 $sql="select * from {$this->prename}played2 ";
  72.                 return $this->playeds2=$this->getObject($sql, 'id');
  73.         }
  74.        
  75.         public function getplayedGroup(){
  76.                 if($this->playedGroup) return $this->playedGroup;
  77.                 $sql="select * from {$this->prename}played_group ";
  78.                 return $this->playedGroup=$this->getObject($sql, 'id');
  79.         }

  80.        
  81.         public function getSystemConfig(){
  82.                 $file=$this->cacheDir .'FDJSALKFJSIDFJSKLJFFSJDafkljdasa5235465723';
  83.                 if(is_file($file) && filemtime($file)+$this->expire>$this->time){
  84.                         $this->params=unserialize(file_get_contents($file));
  85.                 }else{
  86.                         $sql="select name, value from {$this->prename}params";
  87.                         if($data=$this->getRows($sql)) foreach($data as $var){
  88.                                 $this->params[$var['name']]=$var['value'];
  89.                         }
  90.                         //print_r($data);
  91.                         file_put_contents($file, serialize($this->params));
  92.                 }
  93.         }
  94.        
  95.         public function getGameNo($type, $time=null){
  96.                 $type=intval($type);
  97.                 if($time===null) $time=$this->time;
  98.                 $kjTime=$this->getTypeFtime($type);
  99.                 $atime=date('H:i:s', $time+$kjTime);
  100.                
  101.                 $sql="select actionNo, actionTime from {$this->prename}data_time where type=$type and actionTime>? order by actionTime limit 1";
  102.                 if ($type==70){
  103.                         $atime=date('y-m-d H:i:s', $time);
  104.                         $sql="select actionNo, lhcTime as actionTime from {$this->prename}data_time where type=$type and lhcTime>? order by lhcTime limit 1";
  105.                 }
  106.                 $return = $this->getRow($sql, $atime);
  107.                 if(!$return){
  108.                         $sql="select actionNo, actionTime from {$this->prename}data_time where type=$type order by actionTime limit 1";
  109.                         $return =$this->getRow($sql, $atime);
  110.                         $time=$time+24*3600;
  111.                 }
  112.                
  113.                 $types=$this->getTypes();
  114.                 if(($fun=$types[$type]['onGetNoed']) && method_exists($this, $fun)){
  115.                         $this->$fun($return['actionNo'], $return['actionTime'], $time);
  116.                 }
  117.                
  118.                 return $return;
  119.         }

  120.         public function getGameLastNo($type, $time=null){
  121.                 $type=intval($type);
  122.                 if($time===null) $time=$this->time;
  123.                 $kjTime=$this->getTypeFtime($type);
  124.                 $atime=date('H:i:s', $time);
  125.                 $sql="select actionNo, actionTime from {$this->prename}data_time where type=$type and actionTime<=? order by actionTime desc limit 1";
  126.                 if ($type==70){
  127.                         $atime=date('y-m-d H:i:s', $time);
  128.                         $sql="select actionNo, lhcTime as actionTime from {$this->prename}data_time where type=$type and lhcTime<=? order by lhcTime limit 1";
  129.                 }
  130.                 $return = $this->getRow($sql, $atime);
  131.                 if(!$return){
  132.                         $sql="select actionNo, actionTime from {$this->prename}data_time where type=$type order by actionNo desc limit 1";
  133.                         $return =$this->getRow($sql, $atime);
  134.                         $time=$time-24*3600;
  135.                 }
  136.                 $types=$this->getTypes();
  137.                 if(($fun=$types[$type]['onGetNoed']) && method_exists($this, $fun)){
  138.                         $this->$fun($return['actionNo'], $return['actionTime'], $time);
  139.                 }
  140.                
  141.                 return $return;
  142.         }

  143.         public function getGamenextNo($type, $time=null){
  144.                 $type=intval($type);
  145.                 if($time===null) $time=$this->time;
  146.                 $kjTime=$this->getTypeFtime($type);
  147.                 $atime=date('H:i:s', $time);
  148.                 $sql="select actionNo, actionTime from {$this->prename}data_time where type=$type and actionTime>? order by actionTime limit 1";
  149.                 if ($type==70){
  150.                         $atime=date('y-m-d H:i:s', $time);
  151.                         $sql="select actionNo, actionTime from {$this->prename}data_time where type=$type and lhcTime>? order by actionTime limit 1";
  152.                 }
  153.                 $return = $this->getRow($sql, $atime);
  154.                 if(!$return){
  155.                         $sql="select actionNo, actionTime from {$this->prename}data_time where type=$type order by actionTime limit 1";
  156.                         $return =$this->getRow($sql, $atime);
  157.                         $time=$time+24*3600;
  158.                 }
  159.                 $types=$this->getTypes();
  160.                 if(($fun=$types[$type]['onGetNoed']) && method_exists($this, $fun)){
  161.                         $this->$fun($return['actionNo'], $return['actionTime'], $time);
  162.                 }
  163.                 return $return;
  164.         }
  165.        
  166.         public function getGameNos($type, $num=0, $time=null){
  167.                 $type=intval($type);
  168.                 if($time===null) $time=$this->time;
  169.                 $ptime=date('H:i:s', $time);
  170.                
  171.                 $sql="select actionNo, actionTime from {$this->prename}data_time where type=$type and actionTime>? order by actionTime";
  172.                 if ($type==70){
  173.                         $ptime=date('y-m-d H:i:s', $time);
  174.                         $sql="select actionNo, lhcTime as actionTime from {$this->prename}data_time where type=$type and lhcTime>? order by lhcTime ";
  175.                 }
  176.                 if($num) $sql.=" limit $num";
  177.                 $return = $this->getRows($sql, $ptime);
  178.                 $types=$this->getTypes();
  179.                 if(($fun=$types[$type]['onGetNoed']) && method_exists($this, $fun)){
  180.                         if($return) foreach($return as $i=>$var){
  181.                                 $this->$fun($return[$i]['actionNo'], $return[$i]['actionTime'], $time);
  182.                                
  183.                                 $return[$i]['actionTime']=strtotime($return[$i]['actionTime']);
  184.                         }
  185.                 }
  186.                
  187.                 if(count($return)<$num){
  188.                         $sql="select actionNo, actionTime from {$this->prename}data_time where type=$type order by actionTime limit " . ($num-count($return));
  189.                         $return1=$this->getRows($sql);

  190.                         if(($fun=$types[$type]['onGetNoed']) && method_exists($this, $fun)){
  191.                                 if($return1) foreach($return1 as $i=>$var){
  192.                                         $this->$fun($return1[$i]['actionNo'], $return1[$i]['actionTime'], $time+24*3600);
  193.                                        
  194.                                         $return1[$i]['actionTime']=strtotime($return1[$i]['actionTime']);
  195.                                 }
  196.                         }
  197.                         $return=array_merge($return, $return1);
  198.                 }
  199.                
  200.                 return $return;
  201.         }
  202.        
  203.         private function setTimeNo(&$actionTime, &$time=null){
  204.                 $actionTime=wjStrFilter($actionTime);
  205.                 //if(preg_match('/^\d{4}/', $actionTime)) return;
  206.                 if(!$time) $time=$this->time;
  207.                 $actionTime=date('Y-m-d ', $time).$actionTime;
  208.         }
  209.        
  210.         public function noHdCQSSC(&$actionNo, &$actionTime, $time=null){
  211.                 $actionNo=wjStrFilter($actionNo);
  212.                 $this->setTimeNo($actionTime, $time);
  213.                 if($actionNo==0||$actionNo==120){
  214.                         $actionNo=date('Ymd120', $time - 24*3600);
  215.                         $actionTime=date('Y-m-d 00:00', $time);
  216.                         //echo $actionTime;
  217.                 }else{
  218.                         $actionNo=date('Ymd', $time).substr(1000+$actionNo,1);
  219.                 }
  220.                 //var_dump($actionNo);exit;
  221.         }
  222.        
  223.         public function onHdXjSsc(&$actionNo, &$actionTime, $time=null){
  224.                 $this->setTimeNo($actionTime, $time);
  225.                 if($actionNo>=84){
  226.                         $actionNo=date('Ymd-'.$actionNo, $time - 24*3600);
  227.                 }else{
  228.                         $actionNo=date('Ymd-', $time).substr(1000+$actionNo,1);
  229.                 }
  230.         }
  231.        
  232.         public function nojsHd(&$actionNo, &$actionTime, $time=null){
  233.                 $this->setTimeNo($actionTime, $time);
  234.                 $actionNo=date('Ymd', $time).substr(10000+$actionNo,1);
  235.         }

  236.         public function noHd(&$actionNo, &$actionTime, $time=null){
  237.                 //echo $actionNo;
  238.                 $this->setTimeNo($actionTime, $time);
  239.                 $actionNo=date('Ymd', $time).substr(100+$actionNo,1);
  240.         }
  241.        
  242.         public function noxHd(&$actionNo, &$actionTime, $time=null){
  243.                 $this->setTimeNo($actionTime, $time);
  244.                 /*if($actionNo>180){
  245.                         $time-=24*3600;
  246.                 }*/
  247.                 $timea=intval(date('Hi',time()));
  248.                 if($timea>=0 && $timea <= 404){
  249.                         $time-=24*3600;
  250.                         $actionNo=date('Ymd', $time).substr(1000+$actionNo,1);
  251.                 }else{
  252.                         $actionNo=date('Ymd', $time).substr(1000+$actionNo,1);
  253.                 }
  254.         }
  255.         public function noxHdgd11x5(&$actionNo, &$actionTime, $time=null){
  256.                 $this->setTimeNo($actionTime, $time);
  257.                 if($actionNo>84){
  258.                         $time-=24*3600;
  259.                 }
  260.                
  261.                 $actionNo=date('ymd', $time).substr(100+$actionNo,1);
  262.         }

  263.         public function noxHdgdklsf(&$actionNo, &$actionTime, $time = null)
  264.     {
  265.         $this->setTimeNo($actionTime, $time);
  266.         if ($actionNo > 84) {
  267.             $time -= 24 * 3600;
  268.         }
  269.         $actionNo = date('Ymd', $time) . substr(100 + $actionNo, 1);
  270.     }

  271.         public function noxHdk3(&$actionNo, &$actionTime, $time=null){
  272.                 $this->setTimeNo($actionTime, $time);
  273.                 $actionNo=date('ymd', $time).substr(1000+$actionNo,1);
  274.         }
  275.         public function no0Hdnc(&$actionNo, &$actionTime, $time=null){
  276.                 $this->setTimeNo($actionTime, $time);
  277.                 $actionNo=date('ymd', $time).substr(1000+$actionNo,1);
  278.         }
  279.         public function no0Hdjc(&$actionNo, &$actionTime, $time=null){
  280.                 $this->setTimeNo($actionTime, $time);
  281.                 $actionNo=date('Ymd', $time).substr(1000+$actionNo,1);
  282.         }
  283.         /**
  284.      * 新增 1 赛车
  285.      */
  286.         public function sy_JS_pk10(&$actionNo, &$actionTime, $time=null){
  287.         $this->setTimeNo($actionTime, $time);
  288.         $actionNo=date('Ymd', $time).str_pad($actionNo,4,"0",STR_PAD_LEFT);
  289.     }
  290.     /**
  291.      * 新增 1 时时彩
  292.      */
  293.     public function sy_JS_ssc(&$actionNo, &$actionTime, $time=null){
  294.         $this->setTimeNo($actionTime, $time);
  295.         $actionNo=date('Ymd', $time).str_pad($actionNo,4,"0",STR_PAD_LEFT);

  296.     }

  297.     /**
  298.      * 新增 2 六合彩
  299.      */
  300.     public function sy_JS_lhc(&$actionNo, &$actionTime, $time=null){
  301.         $this->setTimeNo($actionTime, $time);
  302.         $actionNo=date('Ymd', $time).str_pad($actionNo,3,"0",STR_PAD_LEFT);
  303.     }

  304.         /**
  305.         * 六合彩
  306.         */
  307.        
  308.         public function no6Hd(&$actionNo,&$actionTime,$time=null){       
  309.                 $actionNo=null;
  310.                 $actionTime=null;
  311.                 if($time===null) $time=$this->time;
  312.                 $atime=date('Y-m-d 00:00:00', $time);
  313.                 $sql="select actionNo, lhcTime from {$this->prename}data_time where type=70 and lhcTime>? order by id asc";
  314.                 $data = $this->getRow($sql, $atime);
  315.                 $actionNo=$data['actionNo'];
  316.                 $actionTime=$data['lhcTime'];
  317.     }

  318.         public function no0Hdk3(&$actionNo, &$actionTime, $time=null){
  319.                 $this->setTimeNo($actionTime, $time);
  320.                 $actionNo=date('md', $time).substr(100+$actionNo,1);
  321.         }

  322.         public function no0Hdf(&$actionNo, &$actionTime, $time=null){
  323.                 $this->setTimeNo($actionTime, $time);
  324.                 $actionNo=date('Ymd-', $time).substr(10000+$actionNo,1);
  325.         }
  326.        
  327.         public function pai3(&$actionNo, &$actionTime, $time=null){
  328.                 $this->setTimeNo($actionTime, $time);
  329.                 //echo $actionTime,' ',date('Y-m-d H:i:s', $time);
  330.                 $actionNo=date('Yz', $time)-6;
  331.                 $actionNo=substr($actionNo,0,4).substr(substr($actionNo,4)+1000,1);
  332.                 if($actionTime >= date('Y-m-d H:i:s', $time)){
  333.                        
  334.                 }else{
  335.                         $actionTime=date('Y-m-d 18:30', $time);
  336.                 }
  337.         }
  338.        
  339.         public function GXklsf(&$actionNo, &$actionTime, $time=null){
  340.                 $this->setTimeNo($actionTime, $time);
  341.                 $actionNo=date('Yz', $time).substr(100+$actionNo,1)+100;
  342.                 $actionNo=substr($actionNo,0,4).substr(substr($actionNo,4)+100000,1);
  343.         }
  344.        
  345.         public function BJpk10(&$actionNo, &$actionTime, $time=null){
  346.                 $this->setTimeNo($actionTime, $time);
  347.                 $actionNo = 179*(strtotime(date('Y-m-d', $time))-strtotime('2018-02-22'))/3600/24+$actionNo+667278;
  348.         }
  349.         public function Kuai8(&$actionNo, &$actionTime, $time=null){
  350.                 $this->setTimeNo($actionTime, $time);
  351.                 $actionNo = 179*(strtotime(date('Y-m-d', $time))-strtotime('2018-02-22'))/3600/24+$actionNo+873256;       
  352.         }

  353.         public function updateSessionTime(){
  354.                 $sql="update ssc_member_session set accessTime={$this->time} where id=?";
  355.                 $this->update($sql, $this->user['sessionId'], $this->user['sessionId']);
  356.         }

  357.         public function checkLogin(){
  358.                 if($user=unserialize($_SESSION[$this->memberSessionName])) return $user;
  359.                 header('location: /index.php/user/login');
  360.                 exit('您没有登录');
  361.         }

  362.         private function setClientMessage($message, $type='Info', $showTime=3000){
  363.                 $message=trim(rawurlencode($message), '"');
  364.                 header("X-$type-Message: $message");
  365.                 header("X-$type-Message-Times: $showTime");
  366.         }
  367.        
  368.         protected function info($message, $showTime=3000){
  369.                 $this->setClientMessage($message, 'Info', $showTime);
  370.         }
  371.         protected function success($message, $showTime=3000){
  372.                 $this->setClientMessage($message, 'Success', $showTime);
  373.         }
  374.         protected function warning($message, $showTime=3000){
  375.                 $this->setClientMessage($message, 'Warning', $showTime);
  376.         }
  377.         public function error($message, $showTime=5000){
  378.                 $this->setClientMessage($message, 'Error', $showTime);
  379.                 exit;
  380.         }
  381.         //获取延迟时间
  382.         public function getTypeFtime($type){
  383.                
  384.                 if($type){
  385.                                 $Ftime=$this->getValue("select data_ftime from {$this->prename}type where id = ? ", $type);
  386.                         }
  387.                         if(!$Ftime) $Ftime=0;
  388.                         return intval($Ftime);
  389.          }
  390.         //获取该玩法最高投注金额
  391.         public function getmaxcount($playedid){
  392.                 if($playedid){
  393.                                 $maxcount=$this->getRow("select minMoney, maxMoney, maxTurnMoney from {$this->prename}played where id = ? ", $playedid);
  394.                         }
  395.                         return $maxcount;
  396.          }

  397.          public function getmaxcount2($playedid){
  398.                 if($playedid){
  399.                                 $maxcount2=$this->getRow("select minMoney, maxMoney, maxTurnMoney from {$this->prename}played2 where id = ? ", $playedid);
  400.                         }
  401.                         return $maxcount2;
  402.          }
  403.          
  404.         //获取当期时间
  405.         public function getGameActionTime($type,$old=0){
  406.                 $actionNo=$this->getGameNo($type);
  407.                
  408.                 if($type==1 && $actionNo['actionTime']=='00:00'){
  409.                         $actionTime=strtotime($actionNo['actionTime'])+24*3600;
  410.                 }else{
  411.                         $actionTime=strtotime($actionNo['actionTime']);
  412.                 }
  413.                 if(!$actionTime) $actionTime=$old;
  414.                 return $actionTime;
  415.         }
  416.        
  417.         //获取当期期数
  418.         public function getGameActionNo($type){
  419.                 $actionNo=$this->getGameNo($type);
  420.                 return $actionNo['actionNo'];
  421.         }
  422.        
  423.         //随机函数
  424.         public function randomkeys($length)
  425.         {
  426.          $key = "";
  427.          $pattern='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
  428.          $pattern1='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  429.          $pattern2='0123456789';
  430.          for($i=0;$i<$length;$i++)
  431.          {
  432.            $key .= $pattern{mt_rand(0,35)};
  433.          }

  434.          return $key;
  435.         }

  436.         function createRandomStr($length){
  437.         $str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';//62个字符
  438.         $strlen = 62;
  439.         while($length > $strlen){
  440.         $str .= $str;
  441.         $strlen += 62;
  442.         }
  443.         $str = str_shuffle($str);
  444.         return substr($str,0,$length);
  445.         }
  446.         //输出单号
  447.         function formatwords($str){
  448.                
  449.         if($str){
  450.                 $len=strlen($str);  
  451.                 for($i=0;$i<$len;$i++){
  452.                         echo "<i>".substr($str, $i, 1)."</i>";
  453.                        
  454.                 }
  455.          }
  456.         }
  457.        

  458. }
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册极酷会员

本版积分规则

快速回复 返回顶部 返回列表