public function AsideAction(Request $request) { if ($request->isInternal()) { $this->loadModel('CategoryModel'); $this->loadModel('EmailModel'); $this->loadModel('TwitterModel'); $this->loadModel('RssModel'); $id = $request->getSession()->get('id'); $categories = $this->categorymodel->getByUserId($id); $emailStreams = $this->emailmodel->getByUserId($id); $twitterStreams = $this->twittermodel->getByUserId($id); $rssStreams = $this->rssmodel->getByUserId($id); $streams = array('emailStreams' => $emailStreams, 'twitterStreams' => $twitterStreams, 'rssStreams' => $rssStreams); $data = array('categories' => $categories, 'streams' => $streams); $this->render('layouts/aside', $data); } }
public function ArticleAction(Request $request, $id) { if ($request->isInternal()) { $this->loadModel('ArticleModel'); /** @var ArticleEntity $article */ $article = $this->articlemodel->getById($id); if ($article) { $user = $request->getSession()->get('id'); //$favoris = $this->articlemodel->getIdOfFavoris($request->getSession()->get('id')); //Renvoyer des boolean Est dans les favoris,est dans les stream des followers, est dans le blog perso ou pas, etc $favoris = $this->articlemodel->getArticleFromBlog($user, $article->getId()); $blog = $this->articlemodel->getArticleFromBlog($user, $article->getId()); $this->render('layouts/article', array('article' => $article, 'favoris' => $favoris, 'blog' => $blog)); } } else { $this->loadModel('ArticleModel'); /** @var ArticleEntity $article */ $article = $this->articlemodel->getById($id); if ($article) { $this->render('layouts/home', array('title' => substr($article->getTitle(), 0, 50) . '...', 'articles' => array($article))); } else { $this->redirectToRoute('index'); } } }
public function FacebookAction(Request $request) { if ($request->getSession()->isGranted(Session::USER_IS_CONNECTED)) { $this->redirectToRoute('index'); return; } $appId = '1563533667270416'; $appSecret = 'e8d11a4b6bef48629c71839c86de8b01'; foreach ($_COOKIE as $k => $v) { if (strpos($k, "FBRLH_") !== FALSE) { $_SESSION[$k] = $v; } } $fb = new Facebook\Facebook(['app_id' => $appId, 'app_secret' => $appSecret, 'default_graph_version' => 'v2.5']); foreach ($_COOKIE as $k => $v) { if (strpos($k, "FBRLH_") !== FALSE) { $_SESSION[$k] = $v; } } $helper = $fb->getRedirectLoginHelper(); if (isset($_SESSION['facebook_access_token'])) { $accessToken = $_SESSION['facebook_access_token']; $userData = $fb->get('/me?fields=id,name,email', $accessToken)->getDecodedBody(); $this->loadModel('UserModel'); /** @var UserEntity $userEntity */ $userEntity = $this->usermodel->getByNameOrEmail($userData['email']); if ($userEntity) { if ($userEntity->getAuthentification() == UserModel::AUTHENTIFICATION_BY_EXTERNAL) { $request->getSession()->set('id', $userEntity->getId()); } // sinon c'est un compte du site, donc pas connectable avec google/facebook } else { $id = $this->usermodel->addExternalUser($userData['name'], $userData['email']); $request->getSession()->set('id', $id); } if (!$request->isInternal()) { $this->redirectToRoute('index'); } else { $helper = $fb->getRedirectLoginHelper(); $permissions = ['public_profile', 'email', 'user_likes']; // optional $loginUrl = $helper->getLoginUrl('http://alex83690.alwaysdata.net/aaron/facebook', $permissions); foreach ($_SESSION as $k => $v) { if (strpos($k, "FBRLH_") !== FALSE) { if (!setcookie($k, $v)) { //what?? } else { $_COOKIE[$k] = $v; } } } $this->render('forms/facebookForm', array('loginUrl' => $loginUrl, 'errors' => 'Le compte existe déjà. Utilisez le mot de passe pour vous connecter.')); } } else { // We don't have the accessToken // But are we in the process of getting it ? if (isset($_REQUEST['code'])) { try { $accessToken = $helper->getAccessToken(); } catch (Facebook\Exceptions\FacebookResponseException $e) { $this->redirectToRoute('index'); return; } catch (Facebook\Exceptions\FacebookSDKException $e) { $this->redirectToRoute('index'); return; } $error = ''; if (isset($accessToken)) { $_SESSION['facebook_access_token'] = (string) $accessToken; $userData = $fb->get('/me?fields=id,name,email', $accessToken)->getDecodedBody(); $this->loadModel('UserModel'); /** @var UserEntity $userEntity */ if (isset($userData['email'])) { $userEntity = $this->usermodel->getByNameOrEmail($userData['email']); if ($userEntity) { if ($userEntity->getAuthentification() == UserModel::AUTHENTIFICATION_BY_EXTERNAL) { $request->getSession()->set('id', $userEntity->getId()); } else { $error = 'Le compte existe déjà. Utilisez le mot de passe pour vous connecter.'; } } else { $id = $this->usermodel->addExternalUser($userData['name'], $userData['email']); $request->getSession()->set('id', $id); } } if ($request->isInternal()) { $helper = $fb->getRedirectLoginHelper(); $permissions = ['public_profile', 'email', 'user_likes']; // optional $loginUrl = $helper->getLoginUrl('http://alex83690.alwaysdata.net/aaron/facebook', $permissions); foreach ($_SESSION as $k => $v) { if (strpos($k, "FBRLH_") !== FALSE) { if (!setcookie($k, $v)) { //what?? } else { $_COOKIE[$k] = $v; } } } $this->render("forms/facebookForm", array('loginUrl' => $loginUrl, 'errors' => $error)); } else { $this->redirectToRoute('index'); } } } else { // Well looks like we are a fresh dude, login to Facebook! $helper = $fb->getRedirectLoginHelper(); $permissions = ['public_profile', 'email', 'user_likes']; // optional $loginUrl = $helper->getLoginUrl('http://alex83690.alwaysdata.net/aaron/facebook', $permissions); foreach ($_SESSION as $k => $v) { if (strpos($k, "FBRLH_") !== FALSE) { if (!setcookie($k, $v)) { //what?? } else { $_COOKIE[$k] = $v; } } } if ($request->isInternal()) { $this->render("forms/facebookForm", array('loginUrl' => $loginUrl)); } } } }