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'; } }
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']); }