rah / rah_terminal
Textpattern 的 Web 终端插件
Requires
- php: >=5.2.0
- textpattern/installer: *
- textpattern/lock: >=4.5.0
This package is auto-updated.
Last update: 2024-09-15 12:32:58 UTC
README
Rah_terminal 是 Textpattern CMS 的插件。它提供了一个终端仿真器界面,可以直接在 Textpattern 的管理面板中执行外部应用程序、命令和评估 PHP 代码。
安装
使用 Composer
$ composer.phar require rah/rah_terminal
Toolshed 通知
这是一个 toolshed 项目。它是实验性的,并且目前还不是 Rah 的主要支持产品线的一部分。请自行承担风险使用。
需求
- Textpattern 4.5.0 或更高版本。
模块
模块可以用来扩展 rah_terminal 的功能,添加额外的终端类型。模块与任何其他 Textpattern 插件一样,可以以相同的方式安装。以下模块可用。
扩展
该插件包含一个小的 API,可以用来向插件添加额外的终端类型。默认情况下,该插件包含 PHP、SQL 和 Shell 选项,但可以扩展以包含其他选项,如 Textile 生成器。这些添加的终端类型的行为与内置的相同。注册了一个回调函数,并且回调函数打印或返回到全局作用域的任何内容都将显示给用户。捕获抛出的异常和错误。
API
rah_terminal::get() – 获取 rah_terminal 类的实例
object rah_terminal::get();
get()
是您的标准工厂方法,遵循松散的单例模式。它返回 rah_terminal 类的一个实例。在创建对象时,始终使用 get()
而不是自己创建新实例。
rah_terminal::add_terminal() – 添加新的终端选项
object rah_terminal::add_terminal( string $name, string|null $label, callback $callback );
add_terminal()
添加并注册一个新的终端选项。第一个参数 $name
是终端选项的唯一名称,$label
是显示给用户的标签,而 $callback
是回调函数。
在注册新的标签时,请在 $name
和 $callback
函数中使用前缀,以避免与其他代码库冲突,包括 Textpattern 核心和 rah_terminal 本身。有关前缀的更多信息,请参阅 Textpattern 的 插件开发指南。
要使用 add_terminal()
,您首先需要使用静态方法 get()
获取 rah_terminal 的实例。
rah_terminal::get()
->add_terminal('abc_example', gTxt('abc_example_label'), 'abc_example_function');
add_privs() – 授予用户组对终端选项的权限
mixed add_privs(string $event, string $groups);
add_privs()
是一个标准的 Textpattern 函数。在 Textpattern 中,它用于授予权限。Rah_terminal 使用它来执行相同的事情,即授予用户对终端选项的访问权限。这是为了允许并限制某些组对某些终端的访问,同时允许其他组的访问。
$event
是允许访问的“事件”的名称,而 $groups
是用逗号分隔的用户组数字列表。请注意,这两个都不允许任何空格。
Rah_terminal的事件前缀为rah_terminal.
。终端事件名称将包括前缀,后跟通过add_terminal()
方法提供的第一个参数指定的终端选项名称。对于名称为abc_example
的终端选项,add_privs行将如下所示
add_privs('rah_terminal.abc_example', '1,2,3,4');
更新日志
版本 0.1.1 – 2013/05/07
- Composer包使用textpattern/installer和textpattern/lock
版本 0.1.0 – 2013/04/24
- 首次发布。