Ejemplo n.º 1
0
 /**
  * 
  * @param unknown $user
  * @return ZfJoacubUsersOnline\Entity\Register
  */
 protected function getOrRegister($user)
 {
     if (isset($this->userRegister[$user->getId()])) {
         return $this->userRegister[$user->getId()];
     }
     $em = $this->sl->get('zf_joacub_users_online_doctrine_em');
     $em instanceof EntityManager;
     $repo = $em->getRepository('ZfJoacubUsersOnline\\Entity\\Register');
     $registerEntity = $repo->findOneBy(array('user' => $user));
     if (!$registerEntity) {
         $registerEntity = new Register();
         $registerEntity->setUser($user);
         $auth = $this->sl->get('zfcuser_auth_service');
         if ($auth->hasIdentity()) {
             if ($auth->getIdentity()->getId() == $user->getId()) {
                 $registerEntity->setLastConnect(new \DateTime('now'));
             } else {
                 $registerEntity->setLastConnect($user->getCreated());
             }
         }
         $registerEntity->setLastConnect($user->getCreated());
         $em->persist($registerEntity);
         $em->flush($registerEntity);
     }
     $this->userRegister[$user->getId()] = $registerEntity;
     return $registerEntity;
 }
 public function indexAction()
 {
     $em = $this->getServiceLocator()->get('zf_joacub_users_online_doctrine_em');
     $em instanceof EntityManager;
     if ($this->zfcUserAuthentication()->hasIdentity()) {
         $registerRepo = $em->getRepository('ZfJoacubUsersOnline\\Entity\\Register');
         $user = $this->zfcUserAuthentication()->getIdentity();
         $userRegister = $registerRepo->findOneBy(array('user' => $user));
         if (!$userRegister) {
             $userRegister = new Register();
             $userRegister->setUser($user);
         }
         $userRegister->setLastConnect(new \DateTime('now'));
         $em->persist($userRegister);
         $em->flush($userRegister);
         return new JsonModel(array(time()));
     }
     return new JsonModel(array('no user'));
 }