"Theme Gallery", "version" => "0.1", "author" => "Starbeamrainbowlabs", "description" => "Adds a theme gallery page and optional automatic theme updates.", "id" => "feature-theme-gallery", "code" => function() { global $settings; /** * @api {get} ?action=theme-gallery Display the theme gallery * @apiName ThemeGallery * @apiGroup Utility * @apiPermission Moderator */ add_action("theme-gallery", function() { global $settings; $themes_available = []; $gallery_urls = explode(" ", $settings->css_theme_gallery_index_url); foreach($gallery_urls as $url) { if(empty($url)) continue; $next_obj = json_decode(file_get_contents($url)); if($next_obj === null) { http_response_code(503); exit(page_renderer::render_main("Error - Theme Gallery - $settings->sitename", "

Error: Failed to download theme index file from " . htmlentities($url) . ".")); } foreach($next_obj as $theme) { $theme["index_url"] = $url; $theme["root"] = dirname($url) . "/{$theme["id"]}"; $theme["url"] = "{$theme["root"]}/theme.css"; $theme["preview_large"] = "{$theme["root"]}/preview_large.png"; $theme["preview_small"] = "{$theme["root"]}/preview_small.png"; $themes_available[] = $theme; } } $content = "

Theme Gallery

\n"; foreach($themes_available as $theme) { $content .= "

" . str_replace("\n", "

\n

", htmlentities($theme["description"])) . "

By " . htmlentities($theme["author"]) . " (View CSS, View Index)

"; } $content .= "
"; exit(page_renderer::render_main("Theme Gallery - $settings->sitename", "")); }); add_help_section("26-random-redirect", "Jumping to a random page", "

$settings->sitename has a function that can send you to a random page. To use it, click here. $settings->admindetails_name ($settings->sitename's adminstrator) may have added it to one of the menus.

"); } ]); ?>