/** * SlimCRUD constructor. * @param string $groupName * @param string $apiGroupName * @param Slim $slim */ public function __construct($groupName = "crud", $apiGroupName = "api", $slim = null) { session_start(); parent::__construct(); $this->groupName = $groupName; $this->apiGroupName = $apiGroupName; if ($slim == null) { $this->slim = new Slim(); } else { $this->slim = $slim; } // Upload function $this->slim->post("/louislam-crud/upload/:type", function ($type) { $result = $this->upload(); if (isset($_GET["fullpath"]) && $_GET["fullpath"] == "no") { } else { $result["url"] = \LouisLam\Util::fullURL($result["url"]); } if ($type == "js") { $url = $result["url"]; if ($result["uploaded"]) { echo <<<HTML <script type="text/javascript"> window.parent.CKEDITOR.tools.callFunction("0", "{$url}", ""); </script> HTML; } else { $msg = $result["msg"]; echo <<<HTML <script type="text/javascript"> alert("{$msg}"); </script> HTML; } } else { $this->enableJSONResponse(); echo json_encode($result); } }); // Upload Image function $this->slim->post("/louislam-crud/upload-image/:type", function ($type) { $result = $this->uploadImage("upload", "upload/", 1000); if (isset($_GET["fullpath"]) && $_GET["fullpath"] == "no") { } else { $result["url"] = \LouisLam\Util::fullURL($result["url"]); } if ($type == "js") { $url = $result["url"]; if ($result["uploaded"]) { echo <<<HTML <script type="text/javascript"> window.parent.CKEDITOR.tools.callFunction("0", "{$url}", ""); </script> HTML; } else { $msg = $result["msg"]; echo <<<HTML <script type="text/javascript"> alert("{$msg}"); </script> HTML; } } else { $this->enableJSONResponse(); echo json_encode($result); } }); $this->slim->get("/auth/login", function () { echo $this->getTemplateEngine()->render("adminlte::login"); }); $app = $this->slim; $this->slim->post("/auth/login", function () use($app) { $result = Auth::login($_POST["username"], $_POST["password"]); if ($result) { if (isset($_SESSION["redirect"])) { $app->redirect(Util::fullURL($_SESSION["redirect"])); } else { $app->redirect($this->getFirstPageURL()); } } else { $_SESSION['msg'] = "Username or password invalid"; $app->redirect(Util::fullURL("auth/login")); } }); $this->slim->get("/auth/logout", function () use($app) { Auth::logout(); $app->redirect(Util::fullURL("auth/login")); }); }