예제 #1
0
파일: Modules.php 프로젝트: LobbyOS/server
 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"]));
         }
     }
 }
예제 #2
0
파일: Module.php 프로젝트: LobbyOS/server
 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);
             }
         }
     });
 }