[extensions] have extension categories, remove versions

This commit is contained in:
Shish 2024-02-10 19:42:28 +00:00
parent 81a8587543
commit 5735320a95
81 changed files with 127 additions and 21 deletions

View file

@ -129,6 +129,18 @@ enum ExtensionVisibility
case HIDDEN;
}
enum ExtensionCategory: string
{
case GENERAL = "General";
case ADMIN = "Admin";
case MODERATION = "Moderation";
case FILE_HANDLING = "File Handling";
case OBSERVABILITY = "Observability";
case INTEGRATION = "Integration";
case FEATURE = "Feature";
case METADATA = "Metadata";
}
abstract class ExtensionInfo
{
// Every credit you get costs us RAM. It stops now.
@ -156,8 +168,8 @@ abstract class ExtensionInfo
/** @var string[] */
public array $conflicts = [];
public ExtensionVisibility $visibility = ExtensionVisibility::DEFAULT;
public ExtensionCategory $category = ExtensionCategory::GENERAL;
public ?string $link = null;
public ?string $version = null;
public ?string $documentation = null;
/** @var DatabaseDriverID[] which DBs this ext supports (blank for 'all') */

View file

@ -16,4 +16,5 @@ class AdminPageInfo extends ExtensionInfo
public string $description = "Provides a base for various small admin functions";
public bool $core = true;
public ExtensionVisibility $visibility = ExtensionVisibility::HIDDEN;
public ExtensionCategory $category = ExtensionCategory::ADMIN;
}

View file

@ -12,5 +12,6 @@ class ApprovalInfo extends ExtensionInfo
public string $name = "Approval";
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public ExtensionCategory $category = ExtensionCategory::MODERATION;
public string $description = "Adds an approval step to the upload/import process.";
}

View file

@ -13,6 +13,7 @@ class ArtistsInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = ["Sein Kraft" => "mail@seinkraft.info","Alpha" => "alpha@furries.com.ar"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::METADATA;
public string $description = "Simple artists extension";
public bool $beta = true;
}

View file

@ -12,5 +12,6 @@ class AutoTaggerInfo extends ExtensionInfo
public string $name = "Auto-Tagger";
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public ExtensionCategory $category = ExtensionCategory::METADATA;
public string $description = "Provides several automatic tagging functions";
}

View file

@ -27,4 +27,5 @@ to block comments with four (or more) links in.
matched, eg banning \"sex\" would block the comment \"get free
sex call this number\", but allow \"This is a photo of Bob
from Essex\"";
public ExtensionCategory $category = ExtensionCategory::MODERATION;
}

View file

@ -13,7 +13,7 @@ class BrowserSearchInfo extends ExtensionInfo
public string $url = "http://atravelinggeek.com/";
public array $authors = ["ATravelingGeek" => "atg@atravelinggeek.com"];
public string $license = self::LICENSE_GPLV2;
public ?string $version = "0.1c, October 26, 2007";
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
public string $description = "Allows the user to add a browser 'plugin' to search the site with real-time suggestions";
public ?string $documentation =
"Once installed, users with an opensearch compatible browser should see their search box light up with whatever \"click here to add a search engine\" notification they have

View file

@ -35,4 +35,5 @@ class BulkActionsInfo extends ExtensionInfo
<br>Sets the source of all selected posts.
</p>
</p>";
public ExtensionCategory $category = ExtensionCategory::MODERATION;
}

View file

@ -23,4 +23,5 @@ class BulkAddInfo extends ExtensionInfo
tagged \"holiday 2008\")
<p><b>Note:</b> requires the \"admin\" extension to be enabled
";
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
}

View file

@ -27,4 +27,5 @@ Any value but the first may be omitted, but there must be five values per line.
Useful for importing tagged posts without having to do database manipulation.
<p><b>Note:</b> requires \"Admin Controls\" and optionally \"Post Ratings\" to be enabled<br><br>";
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
}

View file

@ -12,6 +12,7 @@ class BulkDownloadInfo extends ExtensionInfo
public string $name = "Bulk Download";
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Allows bulk downloading images.";
public array $dependencies = [BulkActionsInfo::KEY];
}

View file

@ -14,6 +14,7 @@ class BulkImportExportInfo extends ExtensionInfo
public string $name = "Bulk Import/Export";
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Allows bulk exporting/importing of images and associated data.";
public array $dependencies = [BulkActionsInfo::KEY];
}

View file

@ -14,4 +14,5 @@ class BulkParentChildInfo extends ExtensionInfo
public string $license = self::LICENSE_WTFPL;
public string $description = "Allows bulk setting of parent-child relationships, in order of manual selection";
public array $dependencies = [BulkActionsInfo::KEY];
public ExtensionCategory $category = ExtensionCategory::METADATA;
}

View file

@ -13,6 +13,7 @@ class CommentListInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::FEATURE;
public string $description = "Allow users to make comments on images";
public ?string $documentation = "Formatting is done with the standard formatting API (normally BBCode)";
public bool $core = true;

View file

@ -22,6 +22,7 @@ class CronUploaderInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = ["YaoiFox" => "admin@yaoifox.com", "Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Uploads images automatically using Cron Jobs";
public function __construct()

View file

@ -13,7 +13,8 @@ class CustomHtmlHeadersInfo extends ExtensionInfo
public string $url = "http://www.drudexsoftware.com";
public array $authors = ["Drudex Software" => "support@drudexsoftware.com"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Allows admins to modify & set custom &lt;head&gt; content";
public ExtensionCategory $category = ExtensionCategory::ADMIN;
public string $description = "Allows admins to modify & set custom <head> content";
public ?string $documentation =
"When you go to board config you can find a block named Custom HTML Headers.
<br>In that block you can simply place any thing you can place within &lt;head&gt;&lt;/head&gt;

View file

@ -12,6 +12,7 @@ class DanbooruApiInfo extends ExtensionInfo
public string $name = "Danbooru Client API";
public array $authors = ["JJS" => "jsutinen@gmail.com"];
public string $description = "Allow Danbooru apps like Danbooru Uploader for Firefox to communicate with Shimmie";
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
public ?string $documentation =
"<b>Notes</b>:
<br>danbooru API based on documentation from danbooru 1.0 -

View file

@ -13,6 +13,7 @@ class DowntimeInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::ADMIN;
public string $description = "Show a \"down for maintenance\" page";
public ?string $documentation =
"Once installed there will be some more options on the config page --

View file

@ -14,4 +14,5 @@ class EokmInfo extends ExtensionInfo
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public string $description = "Check uploads against the EOKM blocklist";
public ExtensionCategory $category = ExtensionCategory::MODERATION;
}

View file

@ -14,6 +14,7 @@ class ExtManagerInfo extends ExtensionInfo
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
public ExtensionCategory $category = ExtensionCategory::ADMIN;
public string $description = "A thing for point & click extension management";
public ?string $documentation = "Allows the admin to view a list of all extensions and enable or disable them; also allows users to view the list of activated extensions and read their documentation";
public bool $core = true;

View file

@ -104,13 +104,12 @@ class ExtManager extends Extension
$extensions = array_filter($extensions, fn ($x) => Extension::is_enabled($x->key));
}
usort($extensions, function ($a, $b) {
if ($a->beta === true && $b->beta === false) {
return 1;
if($a->category->name !== $b->category->name) {
return $a->category->name <=> $b->category->name;
}
if ($a->beta === false && $b->beta === true) {
return -1;
if ($a->beta !== $b->beta) {
return $a->beta <=> $b->beta;
}
return strcmp($a->name, $b->name);
});
return $extensions;

View file

@ -7,6 +7,7 @@ namespace Shimmie2;
use function MicroHTML\LABEL;
use function MicroHTML\A;
use function MicroHTML\B;
use function MicroHTML\BR;
use function MicroHTML\IMG;
use function MicroHTML\TABLE;
use function MicroHTML\THEAD;
@ -18,7 +19,6 @@ use function MicroHTML\TD;
use function MicroHTML\INPUT;
use function MicroHTML\DIV;
use function MicroHTML\P;
use function MicroHTML\BR;
use function MicroHTML\emptyHTML;
use function MicroHTML\rawHTML;
@ -46,12 +46,27 @@ class ExtManagerTheme extends Themelet
)
);
$categories = [];
$last_cat = null;
foreach ($extensions as $extension) {
if ((!$editable && $extension->visibility === ExtensionVisibility::ADMIN)
|| $extension->visibility === ExtensionVisibility::HIDDEN) {
if (
(!$editable && $extension->visibility === ExtensionVisibility::ADMIN)
|| $extension->visibility === ExtensionVisibility::HIDDEN
) {
continue;
}
if($extension->category !== $last_cat) {
$last_cat = $extension->category;
$categories[] = $last_cat;
$tbody->appendChild(
TR(
["class" => 'category', "id" => $extension->category->value],
TH(["colspan" => '5'], BR(), $last_cat->value)
)
);
}
$tbody->appendChild(TR(
["data-ext" => $extension->name],
$editable ? TD(INPUT([
@ -98,9 +113,17 @@ class ExtManagerTheme extends Themelet
}
}
$cat_html = [
A(["href" => make_link()], "Index"),
BR(),
];
foreach ($categories as $cat) {
$cat_html[] = A(["href" => "#".$cat->value], $cat->value);
}
$page->set_title("Extensions");
$page->set_heading("Extensions");
$page->add_block(new NavBlock());
$page->add_block(new Block("Navigation", \MicroHTML\joinHTML(BR(), $cat_html), "left", 0));
$page->add_block(new Block("Extension Manager", $form));
}
@ -123,7 +146,6 @@ class ExtManagerTheme extends Themelet
$html = DIV(
["style" => 'margin: auto; text-align: left; width: 512px;'],
$author,
($info->version ? emptyHTML(BR(), B("Version: "), $info->version) : null),
($info->link ? emptyHTML(BR(), B("Home Page"), A(["href" => $info->link], "Link")) : null),
P(rawHTML($info->documentation ?? "(This extension has no documentation)")),
// <hr>,

View file

@ -12,5 +12,6 @@ class ForumInfo extends ExtensionInfo
public string $name = "Forum";
public array $authors = ["Sein Kraft" => "mail@seinkraft.info","Alpha" => "alpha@furries.com.ar"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::FEATURE;
public string $description = "Rough forum extension";
}

View file

@ -16,4 +16,5 @@ class GoogleAnalyticsInfo extends ExtensionInfo
public string $description = "Integrates Google Analytics tracking";
public ?string $documentation =
"User has to enter their Google Analytics ID in the Board Config to use this extension.";
public ExtensionCategory $category = ExtensionCategory::OBSERVABILITY;
}

View file

@ -13,5 +13,6 @@ class GraphQLInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
public string $description = "Add a graphql API";
}

View file

@ -13,6 +13,7 @@ class ArchiveFileHandlerInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $description = "Allow users to upload archives (zip, etc)";
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public ?string $documentation =
"Note: requires exec() access and an external unzip command
<p>Any command line unzipper should work, some examples:

View file

@ -12,5 +12,6 @@ class CBZFileHandlerInfo extends ExtensionInfo
public string $name = "Handle CBZ";
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Handle CBZ Comic Archives.";
}

View file

@ -12,5 +12,6 @@ class IcoFileHandlerInfo extends ExtensionInfo
public string $name = "Handle ICO";
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Handle windows icons";
}

View file

@ -12,5 +12,6 @@ class MP3FileHandlerInfo extends ExtensionInfo
public string $name = "Handle MP3";
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Handle MP3 files";
}

View file

@ -12,6 +12,7 @@ class PixelFileHandlerInfo extends ExtensionInfo
public string $name = "Handle Pixel";
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Handle JPEG, PNG, GIF, WEBP, etc files";
public bool $core = true;
}

View file

@ -12,5 +12,6 @@ class SVGFileHandlerInfo extends ExtensionInfo
public string $name = "Handle SVG";
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Handle static SVG files.";
}

View file

@ -12,6 +12,7 @@ class VideoFileHandlerInfo extends ExtensionInfo
public string $name = "Handle Video";
public array $authors = ["velocity37" => "velocity37@gmail.com",self::SHISH_NAME => self::SHISH_EMAIL, "jgen" => "jeffgenovy@gmail.com", "im-mi" => "im.mi.mail.mi@gmail.com"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Handle FLV, MP4, OGV and WEBM video files.";
public ?string $documentation =
"Based heavily on \"Handle MP3\" by Shish.<br><br>

View file

@ -13,5 +13,6 @@ class HolidayInfo extends ExtensionInfo
public string $url = "http://www.codeanimu.net";
public array $authors = ["DakuTree" => "thedakutree@codeanimu.net"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::ADMIN;
public string $description = "Use an additional stylesheet on certain holidays";
}

View file

@ -13,8 +13,8 @@ class ImageBanInfo extends ExtensionInfo
public string $url = "http://atravelinggeek.com/";
public array $authors = ["ATravelingGeek" => "atg@atravelinggeek.com"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::MODERATION;
public string $description = "Ban images based on their hash";
public ?string $version = "0.1, October 21, 2007";
public ?string $documentation =
"Based on the ResolutionLimit and IPban extensions by Shish";
}

View file

@ -13,6 +13,7 @@ class ImageViewCounterInfo extends ExtensionInfo
public string $url = "http://www.drudexsoftware.com/";
public array $authors = ["Drudex Software" => "support@drudexsoftware.com"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::METADATA;
public string $description = "Tracks & displays how many times a post is viewed";
public ?string $documentation =
"Whenever anyone views a post, a view will be added to that image.

View file

@ -13,6 +13,7 @@ class IndexInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::FEATURE;
public string $description = "Show a list of uploaded posts";
public bool $core = true;
public ?string $documentation = " etc.

View file

@ -13,6 +13,7 @@ class IPBanInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::MODERATION;
public string $description = "Ban IP addresses";
public ?string $documentation =
"<b>Adding a Ban</b>

View file

@ -13,5 +13,6 @@ class LiveFeedInfo extends ExtensionInfo
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
public ExtensionCategory $category = ExtensionCategory::OBSERVABILITY;
public string $description = "Logs user-safe (no IPs) data to a UDP socket, eg IRCCat";
}

View file

@ -12,6 +12,7 @@ class LogConsoleInfo extends ExtensionInfo
public string $name = "Logging (Console)";
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public ExtensionCategory $category = ExtensionCategory::OBSERVABILITY;
public string $description = "Send log events to the command line console.";
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
}

View file

@ -12,6 +12,7 @@ class LogDatabaseInfo extends ExtensionInfo
public string $name = "Logging (Database)";
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public ExtensionCategory $category = ExtensionCategory::OBSERVABILITY;
public string $description = "Keep a record of SCore events (in the database).";
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
}

View file

@ -14,4 +14,5 @@ class LogLogstashInfo extends ExtensionInfo
public array $authors = self::SHISH_AUTHOR;
public string $description = "Send log events to a network port.";
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
public ExtensionCategory $category = ExtensionCategory::OBSERVABILITY;
}

View file

@ -14,4 +14,5 @@ class LogNetInfo extends ExtensionInfo
public array $authors = self::SHISH_AUTHOR;
public string $description = "Send log events to a network port.";
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
public ExtensionCategory $category = ExtensionCategory::OBSERVABILITY;
}

View file

@ -13,4 +13,5 @@ class NavTimingInfo extends ExtensionInfo
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public string $description = "Log navigation timing data";
public ExtensionCategory $category = ExtensionCategory::OBSERVABILITY;
}

View file

@ -13,5 +13,6 @@ class NotATagInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::MODERATION;
public string $description = "Redirect users to the rules if they use bad tags";
}

View file

@ -12,5 +12,6 @@ class NotesInfo extends ExtensionInfo
public string $name = "Notes";
public array $authors = ["Sein Kraft" => "mail@seinkraft.info"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::METADATA;
public string $description = "Annotate images";
}

View file

@ -13,6 +13,7 @@ class NumericScoreInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::METADATA;
public string $description = "Allow users to score images";
public ?string $documentation = "Each registered user may vote a post +1 or -1, the image's score is the sum of all votes.";
}

View file

@ -12,7 +12,7 @@ class OuroborosAPIInfo extends ExtensionInfo
public string $name = "Ouroboros API";
public array $authors = ["Diftraku" => "diftraku[at]derpy.me"];
public string $description = "Ouroboros-like API for Shimmie";
public ?string $version = "0.2";
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
public ?string $documentation =
"Currently working features
<ul>

View file

@ -13,6 +13,7 @@ class PrivMsgInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::FEATURE;
public string $description = "Allow users to send messages to eachother";
public ?string $documentation =
"PMs show up on a user's profile page, readable by that user

View file

@ -9,9 +9,10 @@ class PoolsInfo extends ExtensionInfo
public const KEY = "pools";
public string $key = self::KEY;
public string $name = "Pools System";
public string $name = "Pools";
public array $authors = ["Sein Kraft" => "mail@seinkraft.info", "jgen" => "jgen.tech@gmail.com", "Daku" => "admin@codeanimu.net"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::FEATURE;
public string $description = "Allow users to create groups of images and order them.";
public ?string $documentation =
"This extension allows users to created named groups of images, and order the images within the group. Useful for related images like in a comic, etc.";

View file

@ -12,5 +12,6 @@ class PostTitlesInfo extends ExtensionInfo
public string $name = "Post Titles";
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public ExtensionCategory $category = ExtensionCategory::METADATA;
public string $description = "Add titles to media posts";
}

View file

@ -12,5 +12,6 @@ class PrivateImageInfo extends ExtensionInfo
public string $name = "Private Post";
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public ExtensionCategory $category = ExtensionCategory::METADATA;
public string $description = "Allows users to mark images as private, which prevents other users from seeing them.";
}

View file

@ -13,6 +13,7 @@ class RatingsInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::METADATA;
public string $description = "Allow users to rate images \"safe\", \"questionable\" or \"explicit\"";
public ?string $documentation =
"This shimmie extension provides filter:

View file

@ -13,6 +13,7 @@ class RegenThumbInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Regenerate a thumbnail image";
public ?string $documentation =
"This adds a button in the post control section on a post's view page, which allows an admin to regenerate

View file

@ -12,5 +12,6 @@ class RelationshipsInfo extends ExtensionInfo
public string $name = "Post Relationships";
public array $authors = ["Angus Johnston" => "admin@codeanimu.net"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::METADATA;
public string $description = "Allow posts to have relationships (parent/child).";
}

View file

@ -12,6 +12,7 @@ class ReplaceFileInfo extends ExtensionInfo
public string $name = "Replace File";
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Allows people to replace files for existing posts";
// Core because several other extensions depend on it, this could be

View file

@ -14,5 +14,5 @@ class ReportImageInfo extends ExtensionInfo
public array $authors = ["ATravelingGeek" => "atg@atravelinggeek.com"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Report posts as dupes/illegal/etc";
public ?string $version = "0.3a";
public ExtensionCategory $category = ExtensionCategory::MODERATION;
}

View file

@ -14,4 +14,5 @@ class ResolutionLimitInfo extends ExtensionInfo
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public string $description = "Allows the admin to set min / max image dimensions";
public ExtensionCategory $category = ExtensionCategory::MODERATION;
}

View file

@ -18,6 +18,6 @@ class ResizeImageInfo extends ExtensionInfo
public string $name = "Resize Post";
public array $authors = ["jgen" => "jgen.tech@gmail.com"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "This extension allows admins to resize images.";
public ?string $version = "0.1";
}

View file

@ -12,6 +12,7 @@ class ReverseSearchLinksInfo extends ExtensionInfo
public string $name = "Reverse Search Links";
public array $authors = ['joe' => 'joe@thisisjoes.site'];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
public string $description = "Provides reverse search links for images.";
public ?string $documentation = "Click on an icon in the 'Reverse Image Search' block to search for the image using the corresponding service. This may be useful to find the original source or author of an image.<br/>
Options for which services to show and the position and priority of the block are available for admins on the config page.";

View file

@ -18,5 +18,6 @@ class RotateImageInfo extends ExtensionInfo
public string $name = "Rotate Image";
public array $authors = ["jgen" => "jgen.tech@gmail.com","Agasa" => "hiroshiagasa@gmail.com"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Allows admins to rotate images.";
}

View file

@ -13,5 +13,6 @@ class RSSCommentsInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
public string $description = "Self explanatory";
}

View file

@ -57,7 +57,7 @@ class RSSComments extends Extension
$title = $config->get_string(SetupConfig::TITLE);
$base_href = make_http(get_base_href());
$version = $config->get_string('version');
$version = VERSION;
$xml = <<<EOD
<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">

View file

@ -13,5 +13,6 @@ class RSSImagesInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
public string $description = "Self explanatory";
}

View file

@ -13,5 +13,6 @@ class S3Info extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = [self::SHISH_NAME => self::SHISH_EMAIL];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
public string $description = "Push post updates to S3";
}

View file

@ -14,6 +14,7 @@ class SiteDescriptionInfo extends ExtensionInfo
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
public string $description = "A description for search engines";
public ?string $documentation =
"This extension sets the \"description\" meta tag in the header of pages so that search engines can pick it up";

View file

@ -13,5 +13,6 @@ class XMLSitemapInfo extends ExtensionInfo
public string $url = "http://drudexsoftware.com";
public array $authors = ["Sein Kraft" => "mail@seinkraft.info","Drudex Software" => "support@drudexsoftware.com"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
public string $description = "Sitemap with caching & advanced priorities";
}

View file

@ -13,4 +13,5 @@ class SourceHistoryInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $description = "Keep a record of source changes, and allows you to revert changes.";
public ExtensionCategory $category = ExtensionCategory::MODERATION;
}

View file

@ -14,6 +14,7 @@ class StatsDInterfaceInfo extends ExtensionInfo
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
public ExtensionCategory $category = ExtensionCategory::OBSERVABILITY;
public string $description = "Sends Shimmie stats to a StatsD server";
public ?string $documentation = "define('STATSD_HOST', 'my.server.com:8125'); in shimmie.conf.php to set the host";
}

View file

@ -13,4 +13,5 @@ class TagCategoriesInfo extends ExtensionInfo
public string $url = "https://code.shishnet.org/shimmie2/";
public array $authors = ["Daniel Oaks" => "danneh@danneh.net"];
public string $description = "Let tags be split into 'categories', like Danbooru's tagging";
public ExtensionCategory $category = ExtensionCategory::METADATA;
}

View file

@ -13,6 +13,7 @@ class TagEditInfo extends ExtensionInfo
public bool $core = true;
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public ExtensionCategory $category = ExtensionCategory::METADATA;
public string $description = "Allow images to have tags assigned to them";
public ?string $documentation =
" Here is a list of the tagging metatags available out of the box;

View file

@ -11,5 +11,6 @@ class TagEditCloudInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Tag EditCloud";
public array $authors = ["AtomicDryad" => null, "Luana Latte" => "luana.latte.cat@gmail.com"];
public ExtensionCategory $category = ExtensionCategory::METADATA;
public string $description = "Add or remove tags to the editor via clicking.";
}

View file

@ -12,4 +12,5 @@ class TagHistoryInfo extends ExtensionInfo
public string $name = "Tag History";
public array $authors = ["Bzchan" => "bzchan@animemahou.com","jgen" => "jgen.tech@gmail.com"];
public string $description = "Keep a record of tag changes, and allows you to revert changes.";
public ExtensionCategory $category = ExtensionCategory::MODERATION;
}

View file

@ -15,4 +15,5 @@ class TagListInfo extends ExtensionInfo
public string $description = "Show the tags in various ways";
public bool $core = true;
public ExtensionVisibility $visibility = ExtensionVisibility::HIDDEN;
public ExtensionCategory $category = ExtensionCategory::METADATA;
}

View file

@ -14,4 +14,5 @@ class TagToolsInfo extends ExtensionInfo
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public string $description = "Recount / Rename / Etc";
public ExtensionCategory $category = ExtensionCategory::ADMIN;
}

View file

@ -12,6 +12,7 @@ class TranscodeImageInfo extends ExtensionInfo
public string $name = "Transcode Image";
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Allows admins to automatically and manually transcode images.";
public ?string $documentation =
"Can transcode on-demand and automatically on upload. Config screen allows choosing an output format for each of the supported input formats.

View file

@ -12,6 +12,7 @@ class TranscodeVideoInfo extends ExtensionInfo
public string $name = "Transcode Video";
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
public string $description = "Allows admins to automatically and manually transcode videos.";
public ?string $documentation = "Requires ffmpeg";
}

View file

@ -12,5 +12,6 @@ class TrashInfo extends ExtensionInfo
public string $name = "Trash";
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public ExtensionCategory $category = ExtensionCategory::MODERATION;
public string $description = "Provides \"Trash\" or \"Recycle Bin\"-type functionality, storing deleted images for later recovery";
}

View file

@ -13,5 +13,7 @@ class UpdateInfo extends ExtensionInfo
public string $url = "http://www.codeanimu.net";
public array $authors = ["DakuTree" => "dakutree@codeanimu.net"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Shimmie updater! (Requires admin panel extension & transload engine (cURL/fopen/Wget))";
public string $description = "Shimmie updater!";
public array $dependencies = [AdminPageInfo::KEY];
public ExtensionCategory $category = ExtensionCategory::ADMIN;
}

View file

@ -14,5 +14,6 @@ class VarnishPurgerInfo extends ExtensionInfo
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
public string $description = "Sends PURGE requests when a /post/view is updated";
}

View file

@ -9,10 +9,11 @@ class WikiInfo extends ExtensionInfo
public const KEY = "wiki";
public string $key = self::KEY;
public string $name = "Simple Wiki";
public string $name = "Wiki";
public string $url = self::SHIMMIE_URL;
public array $authors = [self::SHISH_NAME => self::SHISH_EMAIL, "Luana Latte" => "luana.latte.cat@gmail.com"];
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::FEATURE;
public string $description = "A simple wiki, for those who don't want the hugeness of mediawiki";
public ?string $documentation = "Standard formatting APIs are used (This will be BBCode by default)";
}

View file

@ -13,5 +13,6 @@ class WordFilterInfo extends ExtensionInfo
public string $url = self::SHIMMIE_URL;
public array $authors = self::SHISH_AUTHOR;
public string $license = self::LICENSE_GPLV2;
public ExtensionCategory $category = ExtensionCategory::MODERATION;
public string $description = "Simple search and replace";
}