Example #1
0
 public static function generateCode($poll_id, $member_id)
 {
     $code = new Code();
     $code->member_id = $member_id;
     $code->poll_id = $poll_id;
     $length = 10;
     $code->token = Yii::$app->getSecurity()->generateRandomString($length);
     // Better safe than sorry, avoid collisions.
     while (!$code->validate(['token'])) {
         $code->token = Yii::$app->getSecurity()->generateRandomString($length);
     }
     return $code;
 }
 /**
  * Creates a new Code model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Code();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $count = $model->count;
         $codes = [];
         for ($i = 0; $i < $count; $i++) {
             $codeModel = clone $model;
             $codeModel->code = Code::generateCode();
             $codeModel->used = 0;
             $codeModel->save();
             $codes[] = $codeModel->z_b_id . str_pad($codeModel->z_p_id, 3, '0', STR_PAD_LEFT) . $codeModel->code;
         }
         return $this->render('create-summary', ['codes' => $codes, 'bank' => Bank::findOne($codeModel->z_b_id), 'count' => $count]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Example #3
0
 function html_str($url)
 {
     /*
     $qihao = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('em[class=red]',0)->innertext;
     $code1 = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('ul[id=open_code_list]',0)->find('li[class=ico-ball3]',0)->innertext;
     $code2 = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('ul[id=open_code_list]',0)->find('li[class=ico-ball3]',1)->innertext;
     $code3 = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('ul[id=open_code_list]',0)->find('li[class=ico-ball3]',2)->innertext;
     $code4 = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('ul[id=open_code_list]',0)->find('li[class=ico-ball3]',3)->innertext;
     $code5 = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('ul[id=open_code_list]',0)->find('li[class=ico-ball3]',4)->innertext;
     $msg = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('p[class=kj-date]',0)->find('em[class=kj-date-txt]',0)->innertext;
     
     echo $qihao.'<br/>';
     echo $code1.'<br/>';
     echo $code2.'<br/>';
     echo $code3.'<br/>';
     echo $code4.'<br/>';
     echo $code5.'<br/>';
     echo $msg.'<br/>';
     exit;
     */
     $qihao2 = $this->grab->find('div[class=mod-aside mod-aside-xssckj]', 0)->find('div[class=bd]', 0)->find('div[class=kpkjcode]', 0)->find('table', 0)->find('tr', 1)->find('td', 0)->plaintext;
     $code = $this->grab->find('div[class=mod-aside mod-aside-xssckj]', 0)->find('div[class=bd]', 0)->find('div[class=kpkjcode]', 0)->find('table', 0)->find('tr', 1)->find('td', 1)->plaintext;
     if ($code != '--') {
         // == '--' 正在开奖中
         $isKaiJiang = $this->grab->find('div[class=mod-aside mod-aside-xssckj]', 0)->find('div[class=bd]', 0)->find('div[class=kpkjcode]', 0)->find('table', 0)->find('tr', 1)->find('td', 2)->plaintext;
         if ($isKaiJiang != '--' && $isKaiJiang != '开奖中') {
             //能读取到数据
             $sizeProportion = $this->grab->find('div[class=mod-aside mod-aside-xssckj]', 0)->find('div[class=bd]', 0)->find('div[class=kpkjcode]', 0)->find('table', 0)->find('tr', 1)->find('td', 2)->find('span', 0)->plaintext;
             $jioubili = $this->grab->find('div[class=mod-aside mod-aside-xssckj]', 0)->find('div[class=bd]', 0)->find('div[class=kpkjcode]', 0)->find('table', 0)->find('tr', 1)->find('td', 2)->find('span', 1)->plaintext;
             $codeArr = explode(" ", $code);
             list($one, $two, $three, $four, $five) = $codeArr;
             $result = Code::findOne(['qishu' => $qihao2, 'type' => $this->codeType[$url]]);
             if ($result) {
                 $urlName = array_keys($this->urlArr, $url);
                 echo $urlName[0] . ' - [新时时彩] 最新数据已经采集过了<br/>';
                 return;
             }
             $model = new Code();
             $model->qishu = $qihao2;
             $model->one = $one;
             $model->two = $two;
             $model->three = $three;
             $model->four = $four;
             $model->five = $five;
             $model->type = $this->codeType[$url];
             $model->size = $sizeProportion;
             $model->jiou = $jioubili;
             $model->time = time();
             if ($model->validate() && $model->save()) {
                 $urlName = array_keys($this->urlArr, $url);
                 $logModel = new Log();
                 $logModel->type = 1;
                 $logModel->content = $urlName[0] . '.开奖信息抓取成功';
                 $logModel->time = time();
                 $logModel->save();
                 echo $urlName[0] . '.开奖信息抓取成功-[新时时彩]<br/>';
                 $this->find($qihao2, $urlName[0], $codeArr, $model->id);
                 return;
             }
         } else {
             $urlName = array_keys($this->urlArr, $url);
             echo $urlName[0] . '等待开奖...<br/>';
         }
     } else {
         $urlName = array_keys($this->urlArr, $url);
         echo $urlName[0] . ' -[新时时彩] 等待开奖...<br/>';
         return;
     }
 }