[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;
|
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
|
abstract class ExtensionInfo
|
||||||
{
|
{
|
||||||
// Every credit you get costs us RAM. It stops now.
|
// Every credit you get costs us RAM. It stops now.
|
||||||
|
@ -156,8 +168,8 @@ abstract class ExtensionInfo
|
||||||
/** @var string[] */
|
/** @var string[] */
|
||||||
public array $conflicts = [];
|
public array $conflicts = [];
|
||||||
public ExtensionVisibility $visibility = ExtensionVisibility::DEFAULT;
|
public ExtensionVisibility $visibility = ExtensionVisibility::DEFAULT;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::GENERAL;
|
||||||
public ?string $link = null;
|
public ?string $link = null;
|
||||||
public ?string $version = null;
|
|
||||||
public ?string $documentation = null;
|
public ?string $documentation = null;
|
||||||
|
|
||||||
/** @var DatabaseDriverID[] which DBs this ext supports (blank for 'all') */
|
/** @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 string $description = "Provides a base for various small admin functions";
|
||||||
public bool $core = true;
|
public bool $core = true;
|
||||||
public ExtensionVisibility $visibility = ExtensionVisibility::HIDDEN;
|
public ExtensionVisibility $visibility = ExtensionVisibility::HIDDEN;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::ADMIN;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,5 +12,6 @@ class ApprovalInfo extends ExtensionInfo
|
||||||
public string $name = "Approval";
|
public string $name = "Approval";
|
||||||
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
||||||
public string $license = self::LICENSE_WTFPL;
|
public string $license = self::LICENSE_WTFPL;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::MODERATION;
|
||||||
public string $description = "Adds an approval step to the upload/import process.";
|
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 string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = ["Sein Kraft" => "mail@seinkraft.info","Alpha" => "alpha@furries.com.ar"];
|
public array $authors = ["Sein Kraft" => "mail@seinkraft.info","Alpha" => "alpha@furries.com.ar"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::METADATA;
|
||||||
public string $description = "Simple artists extension";
|
public string $description = "Simple artists extension";
|
||||||
public bool $beta = true;
|
public bool $beta = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,5 +12,6 @@ class AutoTaggerInfo extends ExtensionInfo
|
||||||
public string $name = "Auto-Tagger";
|
public string $name = "Auto-Tagger";
|
||||||
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
||||||
public string $license = self::LICENSE_WTFPL;
|
public string $license = self::LICENSE_WTFPL;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::METADATA;
|
||||||
public string $description = "Provides several automatic tagging functions";
|
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
|
matched, eg banning \"sex\" would block the comment \"get free
|
||||||
sex call this number\", but allow \"This is a photo of Bob
|
sex call this number\", but allow \"This is a photo of Bob
|
||||||
from Essex\"";
|
from Essex\"";
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::MODERATION;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ class BrowserSearchInfo extends ExtensionInfo
|
||||||
public string $url = "http://atravelinggeek.com/";
|
public string $url = "http://atravelinggeek.com/";
|
||||||
public array $authors = ["ATravelingGeek" => "atg@atravelinggeek.com"];
|
public array $authors = ["ATravelingGeek" => "atg@atravelinggeek.com"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
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 $description = "Allows the user to add a browser 'plugin' to search the site with real-time suggestions";
|
||||||
public ?string $documentation =
|
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
|
"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.
|
<br>Sets the source of all selected posts.
|
||||||
</p>
|
</p>
|
||||||
</p>";
|
</p>";
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::MODERATION;
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,4 +23,5 @@ class BulkAddInfo extends ExtensionInfo
|
||||||
tagged \"holiday 2008\")
|
tagged \"holiday 2008\")
|
||||||
<p><b>Note:</b> requires the \"admin\" extension to be enabled
|
<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.
|
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>";
|
<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 string $name = "Bulk Download";
|
||||||
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
||||||
public string $license = self::LICENSE_WTFPL;
|
public string $license = self::LICENSE_WTFPL;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
|
||||||
public string $description = "Allows bulk downloading images.";
|
public string $description = "Allows bulk downloading images.";
|
||||||
public array $dependencies = [BulkActionsInfo::KEY];
|
public array $dependencies = [BulkActionsInfo::KEY];
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@ class BulkImportExportInfo extends ExtensionInfo
|
||||||
public string $name = "Bulk Import/Export";
|
public string $name = "Bulk Import/Export";
|
||||||
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
||||||
public string $license = self::LICENSE_WTFPL;
|
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 string $description = "Allows bulk exporting/importing of images and associated data.";
|
||||||
public array $dependencies = [BulkActionsInfo::KEY];
|
public array $dependencies = [BulkActionsInfo::KEY];
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,4 +14,5 @@ class BulkParentChildInfo extends ExtensionInfo
|
||||||
public string $license = self::LICENSE_WTFPL;
|
public string $license = self::LICENSE_WTFPL;
|
||||||
public string $description = "Allows bulk setting of parent-child relationships, in order of manual selection";
|
public string $description = "Allows bulk setting of parent-child relationships, in order of manual selection";
|
||||||
public array $dependencies = [BulkActionsInfo::KEY];
|
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 string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FEATURE;
|
||||||
public string $description = "Allow users to make comments on images";
|
public string $description = "Allow users to make comments on images";
|
||||||
public ?string $documentation = "Formatting is done with the standard formatting API (normally BBCode)";
|
public ?string $documentation = "Formatting is done with the standard formatting API (normally BBCode)";
|
||||||
public bool $core = true;
|
public bool $core = true;
|
||||||
|
|
|
@ -22,6 +22,7 @@ class CronUploaderInfo extends ExtensionInfo
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = ["YaoiFox" => "admin@yaoifox.com", "Matthew Barbour" => "matthew@darkholme.net"];
|
public array $authors = ["YaoiFox" => "admin@yaoifox.com", "Matthew Barbour" => "matthew@darkholme.net"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
|
||||||
public string $description = "Uploads images automatically using Cron Jobs";
|
public string $description = "Uploads images automatically using Cron Jobs";
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
|
|
@ -13,7 +13,8 @@ class CustomHtmlHeadersInfo extends ExtensionInfo
|
||||||
public string $url = "http://www.drudexsoftware.com";
|
public string $url = "http://www.drudexsoftware.com";
|
||||||
public array $authors = ["Drudex Software" => "support@drudexsoftware.com"];
|
public array $authors = ["Drudex Software" => "support@drudexsoftware.com"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
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 =
|
public ?string $documentation =
|
||||||
"When you go to board config you can find a block named Custom HTML Headers.
|
"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>
|
<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 string $name = "Danbooru Client API";
|
||||||
public array $authors = ["JJS" => "jsutinen@gmail.com"];
|
public array $authors = ["JJS" => "jsutinen@gmail.com"];
|
||||||
public string $description = "Allow Danbooru apps like Danbooru Uploader for Firefox to communicate with Shimmie";
|
public string $description = "Allow Danbooru apps like Danbooru Uploader for Firefox to communicate with Shimmie";
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
"<b>Notes</b>:
|
"<b>Notes</b>:
|
||||||
<br>danbooru API based on documentation from danbooru 1.0 -
|
<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 string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::ADMIN;
|
||||||
public string $description = "Show a \"down for maintenance\" page";
|
public string $description = "Show a \"down for maintenance\" page";
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
"Once installed there will be some more options on the config page --
|
"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 array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
public string $description = "Check uploads against the EOKM blocklist";
|
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 array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::ADMIN;
|
||||||
public string $description = "A thing for point & click extension management";
|
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 ?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;
|
public bool $core = true;
|
||||||
|
|
|
@ -104,13 +104,12 @@ class ExtManager extends Extension
|
||||||
$extensions = array_filter($extensions, fn ($x) => Extension::is_enabled($x->key));
|
$extensions = array_filter($extensions, fn ($x) => Extension::is_enabled($x->key));
|
||||||
}
|
}
|
||||||
usort($extensions, function ($a, $b) {
|
usort($extensions, function ($a, $b) {
|
||||||
if ($a->beta === true && $b->beta === false) {
|
if($a->category->name !== $b->category->name) {
|
||||||
return 1;
|
return $a->category->name <=> $b->category->name;
|
||||||
}
|
}
|
||||||
if ($a->beta === false && $b->beta === true) {
|
if ($a->beta !== $b->beta) {
|
||||||
return -1;
|
return $a->beta <=> $b->beta;
|
||||||
}
|
}
|
||||||
|
|
||||||
return strcmp($a->name, $b->name);
|
return strcmp($a->name, $b->name);
|
||||||
});
|
});
|
||||||
return $extensions;
|
return $extensions;
|
||||||
|
|
|
@ -7,6 +7,7 @@ namespace Shimmie2;
|
||||||
use function MicroHTML\LABEL;
|
use function MicroHTML\LABEL;
|
||||||
use function MicroHTML\A;
|
use function MicroHTML\A;
|
||||||
use function MicroHTML\B;
|
use function MicroHTML\B;
|
||||||
|
use function MicroHTML\BR;
|
||||||
use function MicroHTML\IMG;
|
use function MicroHTML\IMG;
|
||||||
use function MicroHTML\TABLE;
|
use function MicroHTML\TABLE;
|
||||||
use function MicroHTML\THEAD;
|
use function MicroHTML\THEAD;
|
||||||
|
@ -18,7 +19,6 @@ use function MicroHTML\TD;
|
||||||
use function MicroHTML\INPUT;
|
use function MicroHTML\INPUT;
|
||||||
use function MicroHTML\DIV;
|
use function MicroHTML\DIV;
|
||||||
use function MicroHTML\P;
|
use function MicroHTML\P;
|
||||||
use function MicroHTML\BR;
|
|
||||||
use function MicroHTML\emptyHTML;
|
use function MicroHTML\emptyHTML;
|
||||||
use function MicroHTML\rawHTML;
|
use function MicroHTML\rawHTML;
|
||||||
|
|
||||||
|
@ -46,12 +46,27 @@ class ExtManagerTheme extends Themelet
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$categories = [];
|
||||||
|
$last_cat = null;
|
||||||
foreach ($extensions as $extension) {
|
foreach ($extensions as $extension) {
|
||||||
if ((!$editable && $extension->visibility === ExtensionVisibility::ADMIN)
|
if (
|
||||||
|| $extension->visibility === ExtensionVisibility::HIDDEN) {
|
(!$editable && $extension->visibility === ExtensionVisibility::ADMIN)
|
||||||
|
|| $extension->visibility === ExtensionVisibility::HIDDEN
|
||||||
|
) {
|
||||||
continue;
|
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(
|
$tbody->appendChild(TR(
|
||||||
["data-ext" => $extension->name],
|
["data-ext" => $extension->name],
|
||||||
$editable ? TD(INPUT([
|
$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_title("Extensions");
|
||||||
$page->set_heading("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));
|
$page->add_block(new Block("Extension Manager", $form));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,7 +146,6 @@ class ExtManagerTheme extends Themelet
|
||||||
$html = DIV(
|
$html = DIV(
|
||||||
["style" => 'margin: auto; text-align: left; width: 512px;'],
|
["style" => 'margin: auto; text-align: left; width: 512px;'],
|
||||||
$author,
|
$author,
|
||||||
($info->version ? emptyHTML(BR(), B("Version: "), $info->version) : null),
|
|
||||||
($info->link ? emptyHTML(BR(), B("Home Page"), A(["href" => $info->link], "Link")) : null),
|
($info->link ? emptyHTML(BR(), B("Home Page"), A(["href" => $info->link], "Link")) : null),
|
||||||
P(rawHTML($info->documentation ?? "(This extension has no documentation)")),
|
P(rawHTML($info->documentation ?? "(This extension has no documentation)")),
|
||||||
// <hr>,
|
// <hr>,
|
||||||
|
|
|
@ -12,5 +12,6 @@ class ForumInfo extends ExtensionInfo
|
||||||
public string $name = "Forum";
|
public string $name = "Forum";
|
||||||
public array $authors = ["Sein Kraft" => "mail@seinkraft.info","Alpha" => "alpha@furries.com.ar"];
|
public array $authors = ["Sein Kraft" => "mail@seinkraft.info","Alpha" => "alpha@furries.com.ar"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FEATURE;
|
||||||
public string $description = "Rough forum extension";
|
public string $description = "Rough forum extension";
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,4 +16,5 @@ class GoogleAnalyticsInfo extends ExtensionInfo
|
||||||
public string $description = "Integrates Google Analytics tracking";
|
public string $description = "Integrates Google Analytics tracking";
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
"User has to enter their Google Analytics ID in the Board Config to use this extension.";
|
"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 string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
|
||||||
public string $description = "Add a graphql API";
|
public string $description = "Add a graphql API";
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ class ArchiveFileHandlerInfo extends ExtensionInfo
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $description = "Allow users to upload archives (zip, etc)";
|
public string $description = "Allow users to upload archives (zip, etc)";
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
"Note: requires exec() access and an external unzip command
|
"Note: requires exec() access and an external unzip command
|
||||||
<p>Any command line unzipper should work, some examples:
|
<p>Any command line unzipper should work, some examples:
|
||||||
|
|
|
@ -12,5 +12,6 @@ class CBZFileHandlerInfo extends ExtensionInfo
|
||||||
public string $name = "Handle CBZ";
|
public string $name = "Handle CBZ";
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
|
||||||
public string $description = "Handle CBZ Comic Archives.";
|
public string $description = "Handle CBZ Comic Archives.";
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,5 +12,6 @@ class IcoFileHandlerInfo extends ExtensionInfo
|
||||||
public string $name = "Handle ICO";
|
public string $name = "Handle ICO";
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
|
||||||
public string $description = "Handle windows icons";
|
public string $description = "Handle windows icons";
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,5 +12,6 @@ class MP3FileHandlerInfo extends ExtensionInfo
|
||||||
public string $name = "Handle MP3";
|
public string $name = "Handle MP3";
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
|
||||||
public string $description = "Handle MP3 files";
|
public string $description = "Handle MP3 files";
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ class PixelFileHandlerInfo extends ExtensionInfo
|
||||||
public string $name = "Handle Pixel";
|
public string $name = "Handle Pixel";
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
|
||||||
public string $description = "Handle JPEG, PNG, GIF, WEBP, etc files";
|
public string $description = "Handle JPEG, PNG, GIF, WEBP, etc files";
|
||||||
public bool $core = true;
|
public bool $core = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,5 +12,6 @@ class SVGFileHandlerInfo extends ExtensionInfo
|
||||||
public string $name = "Handle SVG";
|
public string $name = "Handle SVG";
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
|
||||||
public string $description = "Handle static SVG files.";
|
public string $description = "Handle static SVG files.";
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ class VideoFileHandlerInfo extends ExtensionInfo
|
||||||
public string $name = "Handle Video";
|
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 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 string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
|
||||||
public string $description = "Handle FLV, MP4, OGV and WEBM video files.";
|
public string $description = "Handle FLV, MP4, OGV and WEBM video files.";
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
"Based heavily on \"Handle MP3\" by Shish.<br><br>
|
"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 string $url = "http://www.codeanimu.net";
|
||||||
public array $authors = ["DakuTree" => "thedakutree@codeanimu.net"];
|
public array $authors = ["DakuTree" => "thedakutree@codeanimu.net"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::ADMIN;
|
||||||
public string $description = "Use an additional stylesheet on certain holidays";
|
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 string $url = "http://atravelinggeek.com/";
|
||||||
public array $authors = ["ATravelingGeek" => "atg@atravelinggeek.com"];
|
public array $authors = ["ATravelingGeek" => "atg@atravelinggeek.com"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::MODERATION;
|
||||||
public string $description = "Ban images based on their hash";
|
public string $description = "Ban images based on their hash";
|
||||||
public ?string $version = "0.1, October 21, 2007";
|
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
"Based on the ResolutionLimit and IPban extensions by Shish";
|
"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 string $url = "http://www.drudexsoftware.com/";
|
||||||
public array $authors = ["Drudex Software" => "support@drudexsoftware.com"];
|
public array $authors = ["Drudex Software" => "support@drudexsoftware.com"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
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 $description = "Tracks & displays how many times a post is viewed";
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
"Whenever anyone views a post, a view will be added to that image.
|
"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 string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FEATURE;
|
||||||
public string $description = "Show a list of uploaded posts";
|
public string $description = "Show a list of uploaded posts";
|
||||||
public bool $core = true;
|
public bool $core = true;
|
||||||
public ?string $documentation = " etc.
|
public ?string $documentation = " etc.
|
||||||
|
|
|
@ -13,6 +13,7 @@ class IPBanInfo extends ExtensionInfo
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::MODERATION;
|
||||||
public string $description = "Ban IP addresses";
|
public string $description = "Ban IP addresses";
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
"<b>Adding a Ban</b>
|
"<b>Adding a Ban</b>
|
||||||
|
|
|
@ -13,5 +13,6 @@ class LiveFeedInfo extends ExtensionInfo
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
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";
|
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 $name = "Logging (Console)";
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::OBSERVABILITY;
|
||||||
public string $description = "Send log events to the command line console.";
|
public string $description = "Send log events to the command line console.";
|
||||||
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ class LogDatabaseInfo extends ExtensionInfo
|
||||||
public string $name = "Logging (Database)";
|
public string $name = "Logging (Database)";
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::OBSERVABILITY;
|
||||||
public string $description = "Keep a record of SCore events (in the database).";
|
public string $description = "Keep a record of SCore events (in the database).";
|
||||||
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,4 +14,5 @@ class LogLogstashInfo extends ExtensionInfo
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $description = "Send log events to a network port.";
|
public string $description = "Send log events to a network port.";
|
||||||
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
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 array $authors = self::SHISH_AUTHOR;
|
||||||
public string $description = "Send log events to a network port.";
|
public string $description = "Send log events to a network port.";
|
||||||
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
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 array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
public string $description = "Log navigation timing data";
|
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 string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::MODERATION;
|
||||||
public string $description = "Redirect users to the rules if they use bad tags";
|
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 string $name = "Notes";
|
||||||
public array $authors = ["Sein Kraft" => "mail@seinkraft.info"];
|
public array $authors = ["Sein Kraft" => "mail@seinkraft.info"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::METADATA;
|
||||||
public string $description = "Annotate images";
|
public string $description = "Annotate images";
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ class NumericScoreInfo extends ExtensionInfo
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::METADATA;
|
||||||
public string $description = "Allow users to score images";
|
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.";
|
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 string $name = "Ouroboros API";
|
||||||
public array $authors = ["Diftraku" => "diftraku[at]derpy.me"];
|
public array $authors = ["Diftraku" => "diftraku[at]derpy.me"];
|
||||||
public string $description = "Ouroboros-like API for Shimmie";
|
public string $description = "Ouroboros-like API for Shimmie";
|
||||||
public ?string $version = "0.2";
|
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
"Currently working features
|
"Currently working features
|
||||||
<ul>
|
<ul>
|
||||||
|
|
|
@ -13,6 +13,7 @@ class PrivMsgInfo extends ExtensionInfo
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FEATURE;
|
||||||
public string $description = "Allow users to send messages to eachother";
|
public string $description = "Allow users to send messages to eachother";
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
"PMs show up on a user's profile page, readable by that user
|
"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 const KEY = "pools";
|
||||||
|
|
||||||
public string $key = self::KEY;
|
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 array $authors = ["Sein Kraft" => "mail@seinkraft.info", "jgen" => "jgen.tech@gmail.com", "Daku" => "admin@codeanimu.net"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
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 $description = "Allow users to create groups of images and order them.";
|
||||||
public ?string $documentation =
|
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.";
|
"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 string $name = "Post Titles";
|
||||||
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
||||||
public string $license = self::LICENSE_WTFPL;
|
public string $license = self::LICENSE_WTFPL;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::METADATA;
|
||||||
public string $description = "Add titles to media posts";
|
public string $description = "Add titles to media posts";
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,5 +12,6 @@ class PrivateImageInfo extends ExtensionInfo
|
||||||
public string $name = "Private Post";
|
public string $name = "Private Post";
|
||||||
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
||||||
public string $license = self::LICENSE_WTFPL;
|
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.";
|
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 string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
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 $description = "Allow users to rate images \"safe\", \"questionable\" or \"explicit\"";
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
"This shimmie extension provides filter:
|
"This shimmie extension provides filter:
|
||||||
|
|
|
@ -13,6 +13,7 @@ class RegenThumbInfo extends ExtensionInfo
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
|
||||||
public string $description = "Regenerate a thumbnail image";
|
public string $description = "Regenerate a thumbnail image";
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
"This adds a button in the post control section on a post's view page, which allows an admin to regenerate
|
"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 string $name = "Post Relationships";
|
||||||
public array $authors = ["Angus Johnston" => "admin@codeanimu.net"];
|
public array $authors = ["Angus Johnston" => "admin@codeanimu.net"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::METADATA;
|
||||||
public string $description = "Allow posts to have relationships (parent/child).";
|
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 $name = "Replace File";
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
|
||||||
public string $description = "Allows people to replace files for existing posts";
|
public string $description = "Allows people to replace files for existing posts";
|
||||||
|
|
||||||
// Core because several other extensions depend on it, this could be
|
// 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 array $authors = ["ATravelingGeek" => "atg@atravelinggeek.com"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
public string $description = "Report posts as dupes/illegal/etc";
|
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 array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
public string $description = "Allows the admin to set min / max image dimensions";
|
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 string $name = "Resize Post";
|
||||||
public array $authors = ["jgen" => "jgen.tech@gmail.com"];
|
public array $authors = ["jgen" => "jgen.tech@gmail.com"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
|
||||||
public string $description = "This extension allows admins to resize images.";
|
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 string $name = "Reverse Search Links";
|
||||||
public array $authors = ['joe' => 'joe@thisisjoes.site'];
|
public array $authors = ['joe' => 'joe@thisisjoes.site'];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
|
||||||
public string $description = "Provides reverse search links for images.";
|
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/>
|
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.";
|
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 string $name = "Rotate Image";
|
||||||
public array $authors = ["jgen" => "jgen.tech@gmail.com","Agasa" => "hiroshiagasa@gmail.com"];
|
public array $authors = ["jgen" => "jgen.tech@gmail.com","Agasa" => "hiroshiagasa@gmail.com"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::FILE_HANDLING;
|
||||||
public string $description = "Allows admins to rotate images.";
|
public string $description = "Allows admins to rotate images.";
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,5 +13,6 @@ class RSSCommentsInfo extends ExtensionInfo
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
|
||||||
public string $description = "Self explanatory";
|
public string $description = "Self explanatory";
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,7 @@ class RSSComments extends Extension
|
||||||
|
|
||||||
$title = $config->get_string(SetupConfig::TITLE);
|
$title = $config->get_string(SetupConfig::TITLE);
|
||||||
$base_href = make_http(get_base_href());
|
$base_href = make_http(get_base_href());
|
||||||
$version = $config->get_string('version');
|
$version = VERSION;
|
||||||
$xml = <<<EOD
|
$xml = <<<EOD
|
||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<rss version="2.0">
|
<rss version="2.0">
|
||||||
|
|
|
@ -13,5 +13,6 @@ class RSSImagesInfo extends ExtensionInfo
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
|
||||||
public string $description = "Self explanatory";
|
public string $description = "Self explanatory";
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,5 +13,6 @@ class S3Info extends ExtensionInfo
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = [self::SHISH_NAME => self::SHISH_EMAIL];
|
public array $authors = [self::SHISH_NAME => self::SHISH_EMAIL];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
|
||||||
public string $description = "Push post updates to S3";
|
public string $description = "Push post updates to S3";
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@ class SiteDescriptionInfo extends ExtensionInfo
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
|
||||||
public string $description = "A description for search engines";
|
public string $description = "A description for search engines";
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
"This extension sets the \"description\" meta tag in the header of pages so that search engines can pick it up";
|
"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 string $url = "http://drudexsoftware.com";
|
||||||
public array $authors = ["Sein Kraft" => "mail@seinkraft.info","Drudex Software" => "support@drudexsoftware.com"];
|
public array $authors = ["Sein Kraft" => "mail@seinkraft.info","Drudex Software" => "support@drudexsoftware.com"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
|
||||||
public string $description = "Sitemap with caching & advanced priorities";
|
public string $description = "Sitemap with caching & advanced priorities";
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,4 +13,5 @@ class SourceHistoryInfo extends ExtensionInfo
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $description = "Keep a record of source changes, and allows you to revert changes.";
|
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 array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::OBSERVABILITY;
|
||||||
public string $description = "Sends Shimmie stats to a StatsD server";
|
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";
|
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 string $url = "https://code.shishnet.org/shimmie2/";
|
||||||
public array $authors = ["Daniel Oaks" => "danneh@danneh.net"];
|
public array $authors = ["Daniel Oaks" => "danneh@danneh.net"];
|
||||||
public string $description = "Let tags be split into 'categories', like Danbooru's tagging";
|
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 bool $core = true;
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::METADATA;
|
||||||
public string $description = "Allow images to have tags assigned to them";
|
public string $description = "Allow images to have tags assigned to them";
|
||||||
public ?string $documentation =
|
public ?string $documentation =
|
||||||
" Here is a list of the tagging metatags available out of the box;
|
" 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 $key = self::KEY;
|
||||||
public string $name = "Tag EditCloud";
|
public string $name = "Tag EditCloud";
|
||||||
public array $authors = ["AtomicDryad" => null, "Luana Latte" => "luana.latte.cat@gmail.com"];
|
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.";
|
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 string $name = "Tag History";
|
||||||
public array $authors = ["Bzchan" => "bzchan@animemahou.com","jgen" => "jgen.tech@gmail.com"];
|
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 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 string $description = "Show the tags in various ways";
|
||||||
public bool $core = true;
|
public bool $core = true;
|
||||||
public ExtensionVisibility $visibility = ExtensionVisibility::HIDDEN;
|
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 array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
public string $description = "Recount / Rename / Etc";
|
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 string $name = "Transcode Image";
|
||||||
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
||||||
public string $license = self::LICENSE_WTFPL;
|
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 $description = "Allows admins to automatically and manually transcode images.";
|
||||||
public ?string $documentation =
|
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.
|
"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 string $name = "Transcode Video";
|
||||||
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
||||||
public string $license = self::LICENSE_WTFPL;
|
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 $description = "Allows admins to automatically and manually transcode videos.";
|
||||||
public ?string $documentation = "Requires ffmpeg";
|
public ?string $documentation = "Requires ffmpeg";
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,5 +12,6 @@ class TrashInfo extends ExtensionInfo
|
||||||
public string $name = "Trash";
|
public string $name = "Trash";
|
||||||
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
|
||||||
public string $license = self::LICENSE_WTFPL;
|
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";
|
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 string $url = "http://www.codeanimu.net";
|
||||||
public array $authors = ["DakuTree" => "dakutree@codeanimu.net"];
|
public array $authors = ["DakuTree" => "dakutree@codeanimu.net"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
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 array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::INTEGRATION;
|
||||||
public string $description = "Sends PURGE requests when a /post/view is updated";
|
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 const KEY = "wiki";
|
||||||
|
|
||||||
public string $key = self::KEY;
|
public string $key = self::KEY;
|
||||||
public string $name = "Simple Wiki";
|
public string $name = "Wiki";
|
||||||
public string $url = self::SHIMMIE_URL;
|
public string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = [self::SHISH_NAME => self::SHISH_EMAIL, "Luana Latte" => "luana.latte.cat@gmail.com"];
|
public array $authors = [self::SHISH_NAME => self::SHISH_EMAIL, "Luana Latte" => "luana.latte.cat@gmail.com"];
|
||||||
public string $license = self::LICENSE_GPLV2;
|
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 $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)";
|
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 string $url = self::SHIMMIE_URL;
|
||||||
public array $authors = self::SHISH_AUTHOR;
|
public array $authors = self::SHISH_AUTHOR;
|
||||||
public string $license = self::LICENSE_GPLV2;
|
public string $license = self::LICENSE_GPLV2;
|
||||||
|
public ExtensionCategory $category = ExtensionCategory::MODERATION;
|
||||||
public string $description = "Simple search and replace";
|
public string $description = "Simple search and replace";
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue