clarkwinkelmann/flarum-local-extenders

为您的本地 extend.php 提供有用的扩展器

1.0.1 2022-08-17 20:04 UTC

This package is auto-updated.

Last update: 2024-09-18 00:36:01 UTC


README

MIT license Latest Stable Version Total Downloads Donate

本软件包为您本地的 Flarum extend.php 提供有用的扩展器

这不是一个实际的扩展,它不会出现在您的 Flarum 管理面板中。

安装

composer require clarkwinkelmann/flarum-local-extenders

配置

可以通过将它们添加到 Flarum 安装根目录下的 extend.php 文件中的数组来使用这些扩展器。

以下列出了功能摘要以及示例。有关完整文档和警告,请参阅源代码中的 PHPDoc 块。

在管理员中更改扩展列表

允许您自定义扩展列表在管理面板中的显示方式。

"隐藏扩展"和"隐藏版本"实际上隐藏了数据,但当扩展启用时,仍然可以猜测。

所有其他选项只是外观上的改变,只改变了外观,而没有隐藏原始值或功能。

始终可以通过 API 启用/禁用扩展或编辑其设置。

示例

(new ClarkWinkelmann\LocalExtenders\AlterExtensionListInAdmin())
    ->extension('flarum-markdown', function ($extension) {
        // To Hide the extension completely
        $extension->hide();
        
        // To hide select information or buttons
        $extension->hideVersion();
        $extension->hideSettings();
        
        // To change the look
        $extension->title = 'New title';
        $extension->description = 'New description';
        $extension->iconName = 'fas fa-tree';
        $extension->iconColor = '#aa0000';
        $extension->iconBackgroundColor = '#aa0000';
        $extension->iconImage = __DIR__.'/path/to/image.png'; // SVG/PNG/JPG
        
        // You can also chain calls via the methods
        $extension
            ->title('New title')
            ->iconName('fas fa-tree');
    }),

启动后跟

添加一个新用户首选项,该首选项控制一个新功能"跟紧行讨论"。

与包含在订阅中的"跟紧行讨论"功能的工作方式完全一样,但适用于讨论的启动。

示例

new ClarkWinkelmann\LocalExtenders\FollowAfterStart(),

默认情况下是启用的。要设置默认禁用,请向构造函数传递参数。

new ClarkWinkelmann\LocalExtenders\FollowAfterStart(false),

前端无模块

类似于 Flarum 的前端 extender for js & css,但有几个不同之处。

  • 不处理 JavaScript 文件作为模块,允许添加不是为模块加载器设计的自定义代码。
  • 允许使用单个扩展器添加多个 JavaScript 文件。

示例

(new ClarkWinkelmann\LocalExtenders\FrontendWithoutModule('admin'))
    ->js(__DIR__.'/local/one-file.js')
    ->js(__DIR__.'/local/one-other-file.js')
    ->css(__DIR__.'/local/you-can-also-import-css-but-its-identical-to-the-core-extender.less'),

在管理员中隐藏扩展版本

从管理员面板的数据负载中删除所有扩展的扩展版本。

示例

new ClarkWinkelmann\LocalExtenders\HideExtensionVersionInAdmin(),

在管理员中隐藏 Flarum 版本

从管理员面板的数据负载中删除 Flarum 版本。

示例

new ClarkWinkelmann\LocalExtenders\HideFlarumVersionInAdmin(),

在管理员中隐藏系统信息

从管理员面板的数据负载中删除 PHP 和 MySQL 版本。

示例

new ClarkWinkelmann\LocalExtenders\HideSystemInfoInAdmin(),

覆盖设置

设置一些键值对,以便通过 SettingsRepositoryInterface::get() 返回。即使通过管理员面板设置了其他值,通过此扩展器定义的值也将具有优先级。

示例

(new ClarkWinkelmann\LocalExtenders\OverrideSettings())
    ->set('mail_driver', 'log')
    ->set('forum_title', 'Hello'),

从 SettingsRepositoryInterface::all() 负载中隐藏一些键。这仅隐藏来自数据库的值,因为通过此扩展器覆盖的值根本不会通过 ::all() 返回。

示例

(new ClarkWinkelmann\LocalExtenders\OverrideSettings())
    ->hide('mail_driver'),

覆盖的值也可以通过传递给构造函数的关联数组设置。

new ClarkWinkelmann\LocalExtenders\OverrideSettings([
    'fof-stopforumspam.ip' => '1',
    'fof-stopforumspam.email' => '0',
    'fof-stopforumspam.api_key' => 'abcdefg',
]),

默认情况下记住我

当登录模态打开时检查"记住我"复选框。

示例

new ClarkWinkelmann\LocalExtenders\RememberMeByDefault(),

用 HTML 替换管理员组件视图

用给定的 HTML 替换管理员组件的视图方法。

示例

(new ClarkWinkelmann\LocalExtenders\ReplaceAdminComponentViewWithHtml())
    ->string('MailPage', '<p>We have already configured email for you</p>'),
(new ClarkWinkelmann\LocalExtenders\ReplaceAdminComponentViewWithHtml())
    ->file('MailPage', __DIR__.'/local/mail.html'),

链接