Exemple #1
0
    /*
     * HttpError doesn't have access to
     * vars outside of here.
     */
    $render = new render();
    $config = new config();
    $build = new page();
    $pages = new db("pages");
    $request = $_SERVER['REQUEST_URI'];
    $found = false;
    foreach ($pages->all() as $page) {
        $component = array_keys($page)[0];
        if ($page["endpoint"] != "/") {
            //Add slash to URL
            $page["endpoint"] = "/" . $page["endpoint"];
        }
        if ($page["endpoint"] == $request) {
            $found = $page;
        }
    }
    if ($found) {
        $endpoint = "app/cache/" . $found['page'] . ".html";
        if (file_exists($endpoint)) {
            die(file_get_contents($endpoint));
        }
        $build->render($found);
    } else {
        $render->render("admin.error", ["system" => $config->system]);
    }
    die;
});
Exemple #2
0
 function render($page, $save = false)
 {
     $render = new render();
     $components = new db("components");
     $keys = array_keys($page);
     $html = "";
     foreach ($keys as $key) {
         if ($key != "page" && $key != "endpoint" && $key != "layout") {
             $strkey = str_replace("_", " ", $key);
             $query = $components->get($strkey);
             if (is_array($query)) {
                 $page[$key]["template"] = $query['filename'];
                 $page[$key]["key"] = $key;
             }
         }
     }
     $title = $page['page'];
     $endpoint = $page['endpoint'];
     $layout = isset($page['layout']) ? $page['layout'] : false;
     $variables = new db("variables");
     $pages = new db("pages");
     $layouts = new db("layouts");
     $headFoot = false;
     $array = array();
     $names = array();
     $values = array();
     unset($page['page']);
     unset($page['endpoint']);
     unset($page['layout']);
     foreach ($page as $item) {
         foreach ($item as $k => $x) {
             if (is_array($x)) {
                 foreach ($x as $n => $v) {
                     if ($n == "name") {
                         $names[] = $v;
                     }
                     if ($n == "value") {
                         if ($v == "on") {
                             $v = true;
                         }
                         $values[] = $v;
                     }
                 }
             }
         }
         $array = array_combine($names, $values);
         $array["variables"] = $variables->all();
         $array["pages"] = $pages->all();
         if ($layout) {
             $custom = $layouts->get($layout);
             $array['custom'] = array("js" => $custom['customjs'], "css" => $custom['customcss']);
         }
         if ($render->exists("header.twig", "frontend") && $render->exists("footer.twig", "frontend")) {
             $headFoot = true;
             $html .= $render->render("layout/header.twig", $array, "frontend");
         }
         if (isset($item['template'])) {
             $html .= $render->render("component/" . $item['template'], $array, "frontend");
         } else {
             $html .= "<p>Component Not Found.</p>";
         }
         if ($headFoot) {
             $html .= $render->render("layout/footer.twig", $array, "frontend");
         }
     }
     if ($save) {
         return $html;
     }
     echo $html;
     die;
 }
Exemple #3
0
        $render->render("admin.variables", ["system" => $config->system, "variables" => $db->all()]);
    });
    //Extensions
    $route->respond("/extensions", function ($request, $response, $service, $app) {
        $app->isUser;
        $render = new render();
        $config = new config();
        $db = new db("extensions");
        if (isset($request->title) && isset($request->filename) && strpos($request->filename, '.php') !== FALSE) {
            $db->set($request->title, $request->filename);
        }
        if (isset($_GET['delete'])) {
            $db->delete($_GET['delete']);
        }
        $render->render("admin.extensions", ["system" => $config->system, "extensions" => $db->all()]);
    });
    //Extension
    $route->respond("/extension/[:extension]", function ($request, $response, $service, $app) {
        $app->isUser;
        if (!isset($request->extension) || !file_exists("app/resources/backend/extensions/" . $request->extension . ".twig")) {
            $response->redirect(BACKEND . "/pages");
            return;
        }
        $ext = $request->extension;
        $render = new render();
        $config = new config();
        $db = new db("extensions");
        $render->render("../extensions/{$ext}", ["system" => $config->system, "extensions" => $db->all()]);
    });
});
$route->dispatch();