public function actionIndex($sessionId = null) { if (!$sessionId) { $session = yii::$app->worksess->soon(); } else { $session = Session::findOne($sessionId); } $sessions = yii::$app->worksess->getSessions(null, $date); if ($session) { $data = yii::$app->service->getReportBySession($session); if ($session) { $date = date('Y-m-d', $session->start_timestamp); } else { $date = date('Y-m-d'); } return $this->render('index', ['data' => $data, 'date' => $date, 'session' => $session, 'sessions' => $sessions, 'sessionId' => $sessionId, 'module' => $this->module, 'currency' => $this->module->currency]); } else { return $this->render('index', ['sessions' => $sessions, 'session' => false, 'module' => $this->module]); } }
public function getSession() { return $this->hasOne(Session::className(), ['id' => 'session_id']); }
public function getSecondsBySession($for = null, $session) { if ($for) { $sum = UserSession::find()->where(['session_id' => $session->id, 'user_id' => $for->getId()])->sum('stop_timestamp-start_timestamp'); if ($sum === null) { if ($sess = UserSession::find()->where(['session_id' => $session->id, 'user_id' => $for->getId()])->one()) { $sum = time() - $sess->start_timestamp; } } } else { $sum = SessionModel::find()->where(['session_id' => $session->id])->sum('stop_timestamp-start_timestamp'); if ($sum === null) { if ($sess = SessionModel::find()->where(['session_id' => $session->id])->one()) { $sum = time() - $sess->start_timestamp; } } } return $sum; }