Пример #1
0
 public function actionUpdateOnlineStatus($id, $uid = null)
 {
     $time = time() - $this->module->onlineLimit;
     // delete older session entries
     YBoardSession::deleteAll("last_visit <" . $time);
     $session = YBoardSession::findOne($id);
     //print_r($session); die();
     if ($session == null) {
         $session = new YBoardSession();
         $session->setAttributes(['last_visit' => time(), 'id' => $id, 'user_id' => $uid]);
     } else {
         $session->setAttribute('last_visit', time());
     }
     $success = $session->save();
     $guests = YBoardSession::find()->where('user_id IS NULL')->count();
     $members = YBoardSession::find()->where('user_id IS NOT NULL')->count();
     //echo  json_encode(['success'=>$success, 'errors'=>$session->errors, 'users'=>['guests'=>$guests, 'members'=>$members]]);
     echo json_encode(['time' => $time, 'success' => $success, 'errors' => $session->errors, 'message' => YBoard::t('yboard', '{{guests}} guest(s) and {{members}} active member(s)', ['{guests}' => $guests, '{members}' => $members])]);
 }