[extensions] have extension categories, remove versions
This commit is contained in:
parent
81a8587543
commit
5735320a95
81 changed files with 127 additions and 21 deletions
|
@ -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') */
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -35,4 +35,5 @@ class BulkActionsInfo extends ExtensionInfo
|
|||
<br>Sets the source of all selected posts.
|
||||
</p>
|
||||
</p>";
|
||||
public ExtensionCategory $category = ExtensionCategory::MODERATION;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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 <head> 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 <head></head>
|
||||
|
|
|
@ -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 -
|
||||
|
|
|
@ -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 --
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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>,
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.";
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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).";
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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)";
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
Reference in a new issue