예제 #1
0
 public function getUseractivestatus()
 {
     $today = new \DateTime("now");
     $activatedate = new \DateTime($this->user->activated_date);
     $deactivatedate = new \DateTime($this->user->deactivated_date);
     $pausedate = new \DateTime($this->user->paused_date);
     $useractiveday = UserActivedays::find()->where(['user_id' => $this->user_id])->orderBy(['activated_date' => SORT_DESC])->one();
     if (isset($useractiveday)) {
         return $useractiveday->status;
     } else {
         return 'aktief';
     }
 }
예제 #2
0
 public function actionPauseren($id)
 {
     $today = date("Y-m-d H:i:s");
     $useractiveday = UserActivedays::find()->where(['user_id' => $id])->orderBy(['activated_date' => SORT_DESC])->one();
     $p = new \DateTime($useractiveday->paused_date);
     // zet de oude gepauseerde datum
     $p = date_format($p, 'Y-m-d-');
     $a = new \DateTime($useractiveday->activated_date);
     $a = date_format($a, 'Y-m-d-');
     $t = new \DateTime($today);
     $t = date_format($t, 'Y-m-d-');
     if (isset($useractiveday)) {
         // indien aktieve  datum vandaag is en status is aktief
         if ($useractiveday->status == 'aktief' && $a == $t) {
             $tc = new \DateTime($today);
             $ac = new \DateTime($useractiveday->activated_date);
             $useractiveday->status = 'aktief';
             $useractiveday->paused_date = $t;
             $useractiveday->days = $ac->diff($tc)->days;
             $useractiveday->save(false);
             //insert new record as pause
             $uad = new UserActivedays();
             $uad->status = "pauze";
             $uad->user_id = $id;
             // zet user_id
             $uad->activated_date = $today;
             //zet activated day
             $uad->paused_date = '0000-00-00 00:00:00';
             $uad->create_time = $today;
             $uad->save();
         } elseif ($useractiveday->status == 'pauze' && $a == $t) {
             $lastactiveday = UserActivedays::find()->where(['user_id' => $id, 'status' => 'aktief'])->orderBy(['activated_date' => SORT_DESC])->one();
             $lastactiveday->paused_date = '0000-00-00 00:00:00';
             $lastactiveday->save(false);
             //delete pause date as it on the same date
             $useractiveday->delete();
         } elseif ($useractiveday->status == 'aktief' && $a != $t) {
             $t = new \DateTime($today);
             $a = new \DateTime($useractiveday->activated_date);
             $useractiveday->days = $a->diff($t)->days;
             $useractiveday->paused_date = $today;
             $useractiveday->save(false);
             $uad = new UserActivedays();
             $uad->status = "pauze";
             $uad->user_id = $id;
             // zet user_id
             $uad->activated_date = $today;
             //zet activated day
             $uad->paused_date = '0000-00-00 00:00:00';
             $uad->create_time = $today;
             $uad->save(false);
         } elseif ($useractiveday->status == 'pauze' && $a != $t) {
             $useractiveday->paused_date = $today;
             $useractiveday->save(false);
             $uad = new UserActivedays();
             $uad->status = "aktief";
             $uad->user_id = $id;
             // zet user_id
             $uad->activated_date = $today;
             //zet activated day
             $uad->paused_date = '0000-00-00 00:00:00';
             $uad->create_time = $today;
             $uad->save(false);
         }
     }
     return $this->redirect(['index']);
 }