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]);
     }
 }
Example #2
0
 public function getSession()
 {
     return $this->hasOne(Session::className(), ['id' => 'session_id']);
 }
Example #3
0
 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;
 }