public function onlineAction() { $ip = $_SERVER['REMOTE_ADDR']; $date = new \DateTime(); $em = $this->getDoctrine()->getManager(); $user_ip = $em->getRepository('NewsMainBundle:Online')->findOneBy(array('user_ip' => $ip)); if (!$user_ip) { $last_visit = new Online(); $last_visit->setUserIp($ip); $last_visit->setLastVisit($date); $em->persist($last_visit); $em->flush(); } else { $user_ip->setLastVisit($date); $em->flush(); } $offline = $this->getDoctrine()->getRepository('NewsMainBundle:Online')->deleteUsersOfflineFromDb(); $online = $this->getDoctrine()->getRepository('NewsMainBundle:OnLine')->getUsersOnline(); if ($online) { $count_users_online = count($online); } else { $count_users_online = 0; } return $this->render('NewsMainBundle:Default:online.html.twig', array('count_users_online' => $count_users_online)); }