Beispiel #1
0
function web_route()
{
    pt_init();
    define("DOCUMENT_ROOT", $_SERVER['DOCUMENT_ROOT']);
    define("SCRIPT_FILENAME", $_SERVER['SCRIPT_FILENAME']);
    define("SCRIPT_NAME", $_SERVER['SCRIPT_NAME']);
    define("REQUEST_URI", $_SERVER['REQUEST_URI']);
    ob_start();
    if (isset($_REQUEST['model']) && isset($_REQUEST['action'])) {
        $model_file = $_REQUEST['model'];
        PtApp::$action = $_REQUEST['action'];
        route_model($model_file, PtApp::$action, "action");
    } else {
        if (!empty($_SERVER['REDIRECT_URL']) || $_SERVER['SCRIPT_NAME'] == "/index.php") {
            if ($_SERVER['SCRIPT_NAME'] == "/index.php") {
                $REDIRECT_URL = "/index";
            } else {
                $REDIRECT_URL = $_SERVER['REDIRECT_URL'];
            }
            if (substr($REDIRECT_URL, -4) == '.php') {
                $REDIRECT_URL = substr($REDIRECT_URL, 0, -4);
            }
            $control = parse_control($REDIRECT_URL);
            $path = PATH_WEBROOT . $control . ".php";
            PtApp::$control = $control;
            if (is_file($path)) {
                route_control($path);
            } else {
                //action
                throw new ErrorException("not found url", 100404);
            }
        } else {
            $info = parse_url(REQUEST_URI);
            $REDIRECT_URL = $info['path'];
            if (substr($REDIRECT_URL, -4) == ".php") {
                PtApp::$control = substr($REDIRECT_URL, 0, -4);
                $path = PATH_WEBROOT . $REDIRECT_URL;
            } else {
                if (substr($REDIRECT_URL, -1) == "/") {
                    $REDIRECT_URL = $REDIRECT_URL . "index";
                }
                $control = parse_control($REDIRECT_URL);
                $path = PATH_WEBROOT . $control . ".php";
                PtApp::$control = $control;
                //PtApp::$control = $REDIRECT_URL;
                //$REDIRECT_URL = $REDIRECT_URL.".php";
                //$path =  PATH_WEBROOT.$REDIRECT_URL;
            }
            if (is_file($path)) {
                route_control($path);
            } else {
                //action
                throw new ErrorException("not found url", 100404);
            }
        }
    }
}