rah/rah_terminal

Textpattern 的 Web 终端插件

安装: 24

依赖关系: 3

建议者: 0

安全: 0

星标: 2

关注者: 4

分支: 2

开放问题: 0

类型:textpattern-plugin

0.1.1 2013-05-07 12:01 UTC

This package is auto-updated.

Last update: 2024-09-15 12:32:58 UTC


README

Twitter | GitHub | 捐赠

Rah_terminal 是 Textpattern CMS 的插件。它提供了一个终端仿真器界面,可以直接在 Textpattern 的管理面板中执行外部应用程序、命令和评估 PHP 代码。

安装

使用 Composer

$ composer.phar require rah/rah_terminal

Toolshed 通知

这是一个 toolshed 项目。它是实验性的,并且目前还不是 Rah 的主要支持产品线的一部分。请自行承担风险使用。

需求

  • Textpattern 4.5.0 或更高版本。

模块

模块可以用来扩展 rah_terminal 的功能,添加额外的终端类型。模块与任何其他 Textpattern 插件一样,可以以相同的方式安装。以下模块可用。

扩展

该插件包含一个小的 API,可以用来向插件添加额外的终端类型。默认情况下,该插件包含 PHPSQL 和 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

版本 0.1.0 – 2013/04/24

  • 首次发布。