/** * Punto de entrada de la aplicacion */ public function manejadorPeticiones() { $a = session_id(); if ($a == '') { session_start(); } $app = Aplication::getInstance(); $app->manejadorErrores(); $app->manejadorExcepciones(); $this->parseUri(); /* * $modulo = (!empty($_REQUEST['modulo'])) ? $_REQUEST['modulo'] : 'index'; $contro = (!empty($_REQUEST['controlador'])) ? $_REQUEST['controlador'] : 'home'; $metodo = (!empty($_REQUEST['metodo'])) ? $_REQUEST['metodo'] : 'index'; */ /** * Verifica que el modulo exista. */ if ($app->verificarModulo($this->modulo)) { $controlador = $app->cargarControlador($this->modulo, $this->controlador); if ($controlador === null) { $app->error(404, "No se encontro el controlador Pedido, verifique los parametros", "Error de URL"); } else { if ($app->verificarMetodo($controlador, $this->metodo)) { $metodo = $this->metodo; $controlador->{$metodo}(); } else { $app->error(404, "No se encontro la accion Pedida, verifique los parametros", "Error de URL"); } } } else { $app->error(404, "No se encontro el modulo Pedido, verifique los parametros", "Error de URL"); } }
/** * Metodo inicial del Modulo de facebook, donde se obtiene el codigo generado por facebook. Luego de que el cliente acepte * luego envia una peticion para obtener un accessToken */ function confirmarIdentidad() { if (!empty($_GET['code'])) { $redirectURL = "http://anfho93.sytes.net/facebook/home/confirmarIdentidad"; //$url = "Location: https://graph.facebook.com/oauth/access_token?client_id=" . APPID . "&redirect_uri=" . $redirectURL . "&client_secret=" . APPSECRET . "&code=" . $_GET['code']; $url = "https://graph.facebook.com/oauth/access_token?client_id=" . APPID . "&redirect_uri=" . $redirectURL . "&client_secret=" . APPSECRET . "&code=" . $_GET['code']; $accessToken = file_get_contents($url); @(list($aT, $expiracion) = explode("&", $accessToken, 2)); list($i, $valorToken) = explode("=", $aT); list($j, $expiracion) = explode("=", $expiracion); //Luego de tener el token y su tiempo de expiracion es necesario inspeccionarlos //para ello es necesario obtener un APP token de la aplicacion $url = "https://graph.facebook.com/oauth/access_token?client_id=" . APPID . "&client_secret=" . APPSECRET . "&grant_type=client_credentials"; $appToken = file_get_contents($url); list($k, $appToken) = explode("=", $appToken); $arrayInspeccion = $this->inspeccionarToken(trim($valorToken, '"'), trim($expiracion, '"'), trim($appToken, '"')); $validez = $arrayInspeccion["data"]["is_valid"]; if ($validez) { //el token es valido. $this->login(trim($appToken, '"'), trim($valorToken, '"'), $expiracion); } else { $pathtoVista = "./modulos/{$this->nombre}/views/Facebook.php"; $view = parent::cargarVista($pathtoVista, 'Facebook', array("json" => $arrayInspeccion)); parent::renderizarPagina($view->getHTML('error'), $view->getParametros()); } } else { //nego la peticion if ($_GET['error_reason'] != null) { //se muestra el error enviado por facebook. $app = Aplication::getInstance(); $msg = $_GET["error_reason"] . " " . $_GET["error"] . " " . $_GET['error_description']; $app->error('000', $msg, "Cancelaste el facebook Login"); } } }