コード例 #1
0
 /**
  * @Route("/user/list", name="chat.user.list")
  */
 public function userListAction()
 {
     $run = function () {
         $em = $this->get('doctrine.orm.entity_manager');
         $userClass = $this->container->get('fos_user.user_manager')->getClass();
         $query = $em->getRepository($userClass)->createQueryBuilder('u')->select('u.id, u.username, u.email')->andWhere('u.enabled = true')->andWhere('u.username NOT IN (:excluded)')->setParameters(['excluded' => ['system', $this->getUser()->getUsername()]])->getQuery();
         $data = $query->getResult(\Doctrine\ORM\Query::HYDRATE_ARRAY);
         $ids = $this->getActiveUsersIds();
         $data = array_map(function ($e) use($ids) {
             $e['online'] = in_array($e['id'], $ids);
             $e['image'] = util::get_gravatar($e['email']);
             return $e;
         }, $data);
         usort($data, function ($a, $b) {
             return $a['online'] < $b['online'];
         });
         return $this->getFrame()->getDataFrame('Users', $data);
     };
     return $this->handleJsonAction($run);
 }
コード例 #2
0
ファイル: UtilTest.php プロジェクト: aiddroid/utilphp
 public function test_get_gravatar()
 {
     $_SERVER['HTTPS'] = 'on';
     $this->assertEquals('https://secure.gravatar.com/avatar/a4bf5bbb9feaa2713d99a3b52ab80024?s=32', util::get_gravatar('*****@*****.**'));
     $this->assertEquals('https://secure.gravatar.com/avatar/a4bf5bbb9feaa2713d99a3b52ab80024?s=128', util::get_gravatar('*****@*****.**', 128));
     $_SERVER['HTTPS'] = 'off';
     $this->assertEquals('http://www.gravatar.com/avatar/a4bf5bbb9feaa2713d99a3b52ab80024?s=32', util::get_gravatar('*****@*****.**'));
     $this->assertEquals('http://www.gravatar.com/avatar/a4bf5bbb9feaa2713d99a3b52ab80024?s=128', util::get_gravatar('*****@*****.**', 128));
 }