예제 #1
0
<?php

require "requires.php";
// Se inician las variables
$url = $_GET['url'];
Moe::start();
Moe::redirect($url);
예제 #2
0
<?php

Moe::routes(array("/" => "person@index", "edit" => "person@edit", "update" => "person@update", "insert" => "person@insert", "aggregate" => "person@aggregate", "delete" => "person@delete"));
예제 #3
0
 public static function redirect($url)
 {
     $post = $_POST;
     $get = $_GET;
     unset($_POST);
     unset($_GET);
     $class = "";
     $function = "";
     $parametros = array();
     $urlArray = explode("/", $url);
     $estadoClassFunction = false;
     $arrKeysLength = array_map('strlen', array_keys(self::$routes));
     array_multisort($arrKeysLength, SORT_DESC, self::$routes);
     // comparamos routes con la url y si es igual se le da valores a la clase y la funcion
     foreach (self::$routes as $route => $classFunction) {
         // Si la ruta es igual a la url
         $classFunction = explode("@", $classFunction);
         $lenRoute = strlen($route);
         $lenUrl = strlen($url);
         printVar($url);
         printVar(substr($url, 0, $lenRoute));
         if ($route == substr($url, 0, $lenRoute)) {
             self::$myRoute = $route;
             $class = $classFunction[0];
             $function = $classFunction[1];
             //Se crean los parametros
             if ($lenUrl > $lenRoute && substr($url, $lenRoute, $lenUrl - $lenRoute) != "/") {
                 if (substr($url, $lenRoute, 1) == "/") {
                     $lenRoute++;
                 }
                 $urlParametros = substr($url, $lenRoute, $lenUrl - $lenRoute);
                 $urlArrayParametros = explode("/", $urlParametros);
                 foreach ($urlArrayParametros as $idVar => $valueVar) {
                     $parametros['var' . ($idVar + 1)] = decrypt($valueVar);
                 }
             }
             break 1;
             // si la url es igual al la clase y a la función, agragamos un elemento a la url array para que no tomen valores en el siguiente paso
         } else {
             if ($urlArray[0] == $classFunction[0] && $urlArray[1] == $classFunction[1]) {
                 $estadoClassFunction = true;
             }
         }
     }
     $parametros = count($parametros) == 0 && count($post) > 0 ? $post : $parametros;
     // Si en el paso anterior no hubo una ruta igual a la de la url y la url es de dos parametros, le damos valor a class y function
     if ($class == "" || $function == "") {
         if ($estadoClassFunction == false) {
             $class = $urlArray[0];
             $function = isset($urlArray[1]) ? $urlArray[1] : "";
             //Se crean los parametros
             $urlArrayParametros = $urlArray;
             // Se eliminan los dos primeros
             array_shift($urlArrayParametros);
             array_shift($urlArrayParametros);
             if (count($urlArray) > 2 && $urlArrayParametros[0] != "") {
                 // Se crea arreglo de urlParametros
                 foreach ($urlArrayParametros as $idVar => $valueVar) {
                     $parametros['var' . ($idVar + 1)] = decrypt($valueVar);
                 }
             }
         }
     }
     foreach ($parametros as $key => $value) {
         CleanDoor::allClean($value);
     }
     // si la class es igual a generate y la function es igual a models
     if ($class == "generate" && $function == "models") {
         regenerateDataObject();
         exit;
     }
     // Si la clase y el metodo existe, instanciamos el metodo
     if (method_exists($class, $function)) {
         $class = new $class();
         if (count($parametros) > 0) {
             $class->{$function}($parametros);
         } else {
             $class->{$function}();
         }
     } else {
         // la pagina es incorrecta
         view()->display("errorUrl.html");
         exit;
     }
 }
예제 #4
0
<?php

Moe::config(array('DEBUG_PHP' => 0, 'DEBUG_PEAR' => 0, 'TIMEZONE' => 'America/Bogota', 'DATABASE' => array('SERVER' => '127.0.0.1', 'DBNAME' => 'lataberna', 'USER' => 'root', 'PASSWORD' => '1nt3r4ct1v3')));
예제 #5
0
 public static function routes($routes)
 {
     self::$routes = $routes;
 }
예제 #6
0
//ini_set('display_errors',1);
$rutaArray = array();
$rutaArray['admSecciones/'] = "Seccion@listaSecciones";
$rutaArray['admEditSecciones/'] = "Seccion@editaSecciones";
$rutaArray['agrSecciones/'] = "Seccion@agregarSeccion";
$rutaArray['grdSecciones/'] = "Seccion@grdSeccion";
$rutaArray['agrContenido/'] = "Contenido@creaContenido";
$rutaArray['grdContenido/'] = "Contenido@grdContenido";
$rutaArray['agrMultimedia/'] = "Contenido@creaMultimedia";
$rutaArray['grdMultmedia/'] = "Contenido@grdMultmedia";
$seccion = model("LallamaradaSeccion");
$seccions = $seccion->getData();
foreach ($seccions as $seccionGet) {
    // Cuando el nombre de la ruta es distinta a "/" agrega un / al final
    $ruta = $seccionGet['nombre'] == "/" ? $seccionGet['nombre'] : $seccionGet['nombre'] . "/";
    if (isset($seccionGet['idPadre']) && $seccionGet['idPadre'] != 0) {
        $idPadre = $seccionGet['idPadre'];
        do {
            $padre = $seccion->getData(array("fields" => array("id", "nombre", "idPadre"), 'conditions' => array("id" => $idPadre)));
            $ruta = $padre[0]['nombre'] . "/" . $ruta;
            $idPadre = $padre[0]['idPadre'];
        } while ($idPadre > 0);
    }
    $ruta = substr($ruta, 0, 1) == "/" && strlen($ruta) > 1 ? substr($ruta, 2) : $ruta;
    $rutaArray[$ruta] = "Contenido@getContent";
}
Moe::routes($rutaArray);
/*Moe::routes(array(
	"/"=>"Seccion@index",
	));*/
예제 #7
0
 public static function redirect($url)
 {
     $post = $_POST;
     $get = $_GET;
     unset($_POST);
     unset($_GET);
     $class = "";
     $function = "";
     $parametros = array();
     $urlArray = explode("/", $url);
     $nUrl = count($urlArray);
     $estadoClassFunction = 0;
     $routes = self::$routes;
     $arrKeysLength = array_map('strlen', array_keys($routes));
     array_multisort($arrKeysLength, SORT_DESC, $routes);
     // comparamos routes con la url y si es igual se le da valores a la clase y la funcion
     foreach ($routes as $route => $classFunction) {
         // Si la ruta es igual a la url
         $routeArray = explode("/", $route);
         if (count($routeArray) == count($urlArray)) {
             $nRoute = count($routeArray);
             for ($i = 0; $i < $nRoute; $i++) {
                 if (substr($routeArray[$i], 0, 1) != '$' && $urlArray[$i] == $routeArray[$i]) {
                     $estadoClassFunction++;
                 } else {
                     if (substr($routeArray[$i], 0, 1) == '$') {
                         $keyParametro = substr($routeArray[$i], 1);
                         $value = CleanDoor::allClean($urlArray[$i]);
                         $parametros[$keyParametro] = $value;
                         $estadoClassFunction++;
                     } else {
                         $estadoClassFunction = 0;
                         break;
                     }
                 }
             }
         } else {
             $estadoClassFunction = 0;
         }
         if ($nUrl == $estadoClassFunction) {
             self::$myRoute = $route;
             $classFunction = explode("@", $classFunction);
             $class = $classFunction[0];
             $function = $classFunction[1];
             break;
         }
     }
     $parametros = count($parametros) == 0 && count($post) > 0 ? $post : $parametros;
     // Si en el paso anterior no hubo una ruta igual a la de la url y la url es de dos parametros, le damos valor a class y function
     /*
     	if($class=="" || $function==""){
     		if ($estadoClassFunction==false) {
     			$class=$urlArray[0];
     			$function=(isset($urlArray[1])) ? $urlArray[1] : "";
     			//Se crean los parametros
     			$urlArrayParametros=$urlArray;
     			// Se eliminan los dos primeros
     			array_shift($urlArrayParametros);
     			array_shift($urlArrayParametros);
     			if (count($urlArray)>2 && $urlArrayParametros[0]!="") {
     				// Se crea arreglo de urlParametros
     				foreach ($urlArrayParametros as $idVar => $valueVar) {
     					$parametros['var'.($idVar+1)]=decrypt($valueVar);
     				}
     			}
     		}
     	}
     */
     // si la class es igual a generate y la function es igual a models
     if ($class == "generate" && $function == "models") {
         regenerateDataObject();
         exit;
     }
     // Si la clase y el metodo existe, instanciamos el metodo
     if (method_exists($class, $function)) {
         $class = new $class();
         if (count($parametros) > 0) {
             $class->{$function}($parametros);
         } else {
             $class->{$function}();
         }
     } else {
         // la pagina es incorrecta
         view()->display("errorUrl.html");
         exit;
     }
 }