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; }