Esempio n. 1
0
 public static function run(Request $pedido)
 {
     $controller = ucfirst($pedido->getController());
     $caminho = ROOT . "controllers" . DS1 . $controller . DS1 . $controller . '.php';
     //        print $caminho;
     //        die;
     $metodo = $pedido->getMetodo();
     $parametro = $pedido->getParametros();
     if (is_readable($caminho)) {
         require $caminho;
         $controlador = ucfirst($controller);
         $namespace = "\\" . "controllers" . "\\" . $controlador;
         $controller = new $namespace();
         if (is_callable(array($controller, $metodo))) {
             $metodo = $pedido->getMetodo();
         } else {
             $metodo = "index";
         }
         if (isset($parametro)) {
             call_user_func_array(array($controller, $metodo), $parametro);
         } else {
             call_user_func(array($controller, $metodo));
         }
     } else {
         header("Location:" . URL . "error");
     }
 }
 /**
  * Autoriza el servicio
  */
 protected function _chequearKey()
 {
     $request = new Request();
     $parametros = $request->getParametros();
     $key_public = $this->_zend_request->getHeader("X-Public");
     $hash_private = $this->_zend_request->getHeader("X-Hash");
     $content = json_encode($parametros);
     $servicio = $this->_DAOService->getByPublicKey($key_public);
     if (!is_null($servicio)) {
         $hash = hash_hmac('sha256', $content, $servicio->key_private);
         if ($hash != $hash_private) {
             $this->_autorizado = false;
         }
     } else {
         $this->_autorizado = false;
     }
 }