public static function load() { /** * $module = array( * "id" => "The Module ID", * "location" => "The absolute location to module", * "url" => "URL to Module" * ) */ foreach (self::$mods as $module) { require_once "{$module["location"]}/Module.php"; $moduleIdentifier = "\\Lobby\\Module\\{$module['id']}"; if (isset($module["appID"])) { $App = new Apps($module["appID"]); new $moduleIdentifier(array($module["id"], $module["location"], $module["url"]), $App->getInstance()); } else { new $moduleIdentifier(array($module["id"], $module["location"], $module["url"])); } } }
public function appAdminSetup() { Router::route("/admin/app/[:appID]?/[**:page]?", function ($request) { $appID = $request->appID; $page = $request->page === null ? "/" : "/{$request->page}"; $App = new \Lobby\Apps($appID); if (!$App->exists) { ser(); return null; } Hooks::addFilter("admin.view.sidebar", function ($links) use($appID, $App) { $links["/admin/app/{$appID}"] = $App->info["name"]; return $links; }); Hooks::addFilter("app.manifest", function ($info) { $info["adminURL"] = L_URL . "/admin/app/" . $info["id"]; return $info; }); $class = $App->getInstance(); /** * Set the title */ Response::setTitle($App->info["name"]); $pageResponse = $class->page($page); if ($pageResponse === "auto") { if ($page === "/") { $page = "/index"; } $html = $class->inc("/src/page/admin{$page}.php"); if ($html) { Response::setPage($html); } else { ser(); } } else { if ($pageResponse === null) { ob_start(); echo ser("Error", "The app '<strong>{$AppID}</strong>' does not have an Admin Page. <a clear href='" . \Lobby::u("/app/{$AppID}") . "' class='btn green'>Go To App</a>"); $error = ob_get_contents(); ob_end_clean(); Response::setPage($error); } else { Response::setPage($pageResponse); } } }); }