open-csp/flex-form

HTML5 表单渲染器

安装: 307

依赖项: 0

建议者: 0

安全: 0

星标: 5

关注者: 2

分支: 4

开放问题: 1

语言:JavaScript

类型:mediawiki-extension

v2.2.21 2024-08-06 08:55 UTC

README

FlexForm 是一个增强的 HTML5 渲染引擎。

它渲染 HTML5 表单元素,允许通过一个表单编辑或创建一个或多个页面。

版本 2 对其配置进行了更改。因此,升级到版本 2 意味着调整您的本地设置。

版本 1 是对之前的 WSForm 的完全重写和精简版本。

安装

https://github.com/Open-CSP/FlexForm 下载实例。在您的 Wiki 扩展文件夹中创建一个 "FlexForm" 文件夹,并将文件提取到那里。

或者使用 Composer 安装。更多信息请参阅: https://www.mediawiki.org/wiki/Composer/For_extensions

Composer 需要的名称是:open-csp/flex-form

如果您不是使用 composer 安装 FlexForm,那么您仍然需要在 extensions/Flex-Form 内运行 php composer --update

composer require open-csp/flex-form

设置

您可以在 Localsettings.php 中调整 FlexForm 的某些设置。

$wgFlexFormConfig['secure']                                        = true; //( default is true ). Will render form that make no sense when inspected in the browser
$wgFlexFormConfig['sec_key']                                       = ""; // A salt key for encryption. Used together with "secure" option. Must be set when using multiple instances of a wiki
$wgFlexFormConfig['auto_save_interval']                            = 30000; // defaults to 3 minutes.
$wgFlexFormConfig['auto_save_after_change']                        = 3000; // defaults to 3 seconds after last change
$wgFlexFormConfig['FlexFormDefaultTheme']                          = "Plain"; // Currently the only form
$wgFlexFormConfig['rc_site_key']                                   = ""; // reCaptcha site key
$wgFlexFormConfig['rc_secret_key']                                 = ""; // reCaptcha secret key
$wgFlexFormConfig['file_temp_path']                                = ""; // When using image upload conversion, we need a place to temporarily store images.
$wgFlexFormConfig['can_create_user']                               = false; // If FlexForm is allowed to create new users
$wgFlexFormConfig['filter_input_tags']                             = false; // Defaults to false. Will filter all parser arguments to plain text, except value parameters. Will also disallow onClick and onFocus parameter. This feature will most likely be removed in future updates.
$wgFlexFormConfig['allowedGroups']                                 = ["sysop","moderator"]; // Defaults to sysop. Only a user in the allowedGroups is able to edit pages with a FlexForm in the source.
$wgFlexFormConfig['renderonlyapprovedforms']                       = true; // Defaults to true. When a user in the allowedGroups creates a form it will become valid and will be rendered. Someone not in the allowedGroups can create a form and save it, but it will never be rendered until a user from the allowedGroups will edit and re-save the page. Only then will a form become valid. The message "FORM CANNOT BE RENDERED, NOT VALIDATED" will be shown instead of the form when it is invalid.
$wgFlexFormConfig['renderi18nErrorInsteadofImageForApprovedForms'] = false; // When a form is invalid, an invalid image will be rendered instead of the form. Set to true to render i18n invalid message.
$wgFlexFormConfig['userscaneditallpages']                          = false; // Defaults to false. This differs from FlexForm before 2.0. FlexForm will now honor the UserCan functions in MediaWiki. If a form edits or creates a page a user has no rights to, the form will fail.
$wgFlexFormConfig['hideEdit']                                      = true; // Defaults to true. If a user is not in the allowedGroups then hide edit and editsource menu items for any page containing a FlexForm form.
$wgFlexFormConfig['create-seo-titles']                             = true; // Defaults to false. Will filter any user input on creating a new page to be SEO friendly.
$wgFlexFormConfig['auto_save_btn_on']                              = "Autosave On";
$wgFlexFormConfig['auto_save_btn_off']                             = "Autosave Off";
$wgFlexFormConfig['loadScriptPath']                                = ""; // Defaults to what is described by the loadscript form argument. When you change it do a different folder, then loadScript argument will be looking in this folder for its JavaScript file to load with the Form.
$wgFlexFormConfig['use_smtp']                                      = false; // when sending email, should we use separate smtp ?
$wgFlexFormConfig['smtp_host']                                     = "";
$wgFlexFormConfig['smtp_authentication']                           = true;
$wgFlexFormConfig['smtp_username']                                 = "";
$wgFlexFormConfig['smtp_password']                                 = "";
$wgFlexFormConfig['smtp_secure']                                   = "TLS";
$wgFlexFormConfig['smtp_port']                                     = 587;

在您的 LocalSettings.php 文件末尾添加以下行以启用扩展

wfLoadExtension( 'FlexForm' );

运行 更新脚本,该脚本将自动创建此扩展所需的数据库表。

导航到您的维基百科上的 Special:Version,以验证扩展是否成功安装。

从 1.x 版本迁移到 2.0 版本

请注意配置设置中的更改。默认情况下,设置 renderonlyapprovedforms 将为 true。这意味着一旦您安装 FlexForm v2.0,您的维基百科中所有现有的 FlexForm 表单都将显示为未验证。请访问此文档页面 https://www.open-csp.org/DevOps:Doc/FlexForm/2.0/Validated_Forms 了解如何轻松解决这个问题。

文档

请访问: https://www.open-csp.org/DevOps:Doc/FlexForm

变更日志

  • 2.3.1 : 通过实例和 JSON 修复 _create
  • 2.3.0 : 为保持一致性:添加了 allowtags 的值解析,并为 select 属性添加了 required=required。
  • 2.2.21 : 检查 mwreturn 的更改,以考虑服务器端口。
  • 2.2.20 : 修复 Token 错误
  • 2.2.19 : 更改 allowsort、allowclear 和 allowtags 的 token 行为。向后兼容。
  • 2.2.18 : 重新编写加载必要的 JavaScript
  • 2.2.17 : 文件上传中的错误修复
  • 2.2.15 : 使用 _createuser 时允许字段替换。
  • 2.2.14 : 修复在包含空格的页面上查找模板的问题
  • 2.2.12 : 修复创建范围页面的问题。修复多个表单上的 reCaptcha。
  • 2.2.11 : 添加 reCaptcha Enterprise 和 Recaptcha v2 I'm not a Robot 支持
  • 2.2.10 : 添加递归解析内容以查找模板和值的支持。
  • 2.2.9 : 添加从 xls/xlsx 转换为 JSON 的支持。添加转换的槽位支持。
  • 2.2.8 : 为实例添加一些额外的 CSS。将 no-disable-on-submit 更改为按表单工作
  • 2.2.7 : 修复 no_submit_on_return 和禁用提交按钮
  • 2.2.6 : 更改了一些用于消息和修复的实现
  • 2.2.5 : 添加持久消息,一个消息特殊页面,并更新 FlexForm 的分支
  • 2.2.4 : 当 secure 设置为 false 时,输入类型为 message
  • 2.2.3 : 刷新 SMW 属性更改和调试选项更改。
  • 2.2.2 : 弃用 showmessages https://www.open-csp.org/DevOps:Doc/FlexForm/2.0/Installation_of_FlexForm#Notification.2FMessages
  • 2.2.1 : 已从选项字段中移除HTML特殊字符。
  • 2.2.0 : 添加了消息系统。
  • 2.1.34 : 调整代码以处理相似的模板名称。
  • 2.1.33 : 强制更新DeferredUpdate。
  • 2.1.32 : Tempex字段已裁剪。
  • 2.1.31 : 修复了扩展参数为空的问题。i18n更新。(https://github.com/Open-CSP/FlexForm/pull/35/commits
  • 2.1.30 : 修复了#34
  • 2.1.29 : 修复了下一个可用命名空间问题。
  • 2.1.28 : 在getWikitextForTransclusion中进行了对空内容的双重检查。修复了实例和表单字段数组的错误。
  • 2.1.27 : 当创建页面时使用未知命名空间,使用主命名空间。
  • 2.1.26 : 添加了无法解析命名空间检查。
  • 2.1.25 : 更新了检查页面是否具有表单的功能,使其仅检查相关页面。
  • 2.1.24 : 修复了具有多个标记的实例的bug。
  • 2.1.23 : 修改配置选项以切换null编辑(forceNullEdit)。
  • 2.1.22 : 修复了Ajax调用结束例程处理;清理后的post值现在是递归的。
  • 2.1.21 : 修复了实例中的错误。
  • 2.1.20 : 使用composer更新邮件。更改了组织。未使用宽松搜索的实例。
  • 2.1.19 : 在安全表单上进行假阳性检查。添加了对引用的JSON路径键的支持。
  • 2.1.18 : 显示在单个表单中使用多个_create的错误。
  • 2.1.17 : 将null编辑更改为删除smwproperties刷新。
  • 2.1.16 : 在调试中添加了时间信息。
  • 2.1.15 : 修复了在未使用模板的情况下创建页面的数组值问题。
  • 2.1.14 : 令牌使用与普通输入字段相同的required="required"选项。
  • 2.1.13 : 将非预定义值添加到令牌实例中。添加了有效的JSON模式检查。
  • 2.1.12 : 添加了表单权限参数。
  • 2.1.11 : 将令牌渲染添加到json模式中。
  • 2.1.10 : 修复了重定向问题。
  • 2.1.9 : 在语义ask查询中添加了replacevariables解析器选项。
  • 2.1.8 : 修复了在MCR槽中设置显示标题的问题。
  • 2.1.7 : 修复了Pandoc图像名称上传。感谢Bernhard Krabina!
  • 2.1.6 : 修复了画布和签名上传的bug。
  • 2.1.5 : 修复了可能的错误smw查询路径(感谢@Bovine-collab)。这关闭了#30。还添加了非空数组检查。
  • 2.1.4 : 简化了phpList邮寄ID。
  • 2.1.3 : 修复了已批准表单的bug。
  • 2.1.2 : 为PHPList扩展添加了一个必填字段(如复选框以允许注册)。
  • 2.1.1 : 对扩展处理器和PHPList扩展进行了一些更改,以支持扩展的本地设置配置。
  • 2.1 : 更多信息: https://wikibase-solutions.com/developer-logs/flexform-v2-1
  • 2.0.12 : 使用wfExpandUrl以适应非空ArticlePath设置。
  • 2.0.11 : 添加了loadscript配置设置。
  • 2.0.10 : TinyMCE选择器更改。
  • 2.0.9 : 添加了对Select和Token的选项和选择的解析。
  • 2.0.8 : 添加了Select和Token的新渲染方式,无需选项。
  • 2.0.7 : 修复了自定义HTML参数。
  • 2.0.6 : 将autosave || 更改为 &&,添加了autosave="none",请参阅文档。
  • 2.0.4 : 修复了标记上的缺少的sortable。
  • 2.0.3 : 修复了页面id 0的编辑问题。
  • 2.0.2 : 对自动保存按钮及其位置进行了微调。
  • 2.0.0 : 添加了已批准表单、-usercan-选项和代码优化、wgCapitalLinks等。
  • 1.1.45 : 分离了wiki编辑和创建。
  • 1.1.44 : 为实例添加了JSON支持。修复了创建页面选项上的nooverwrite。
  • 1.1.43 : 添加了JSON编辑支持。取消了jQuery.UI依赖。
  • 1.1.42 : 实例和多创建 json 支持
  • 1.1.41 : 添加复制和粘贴支持。多创建 json 支持完成。Tempex 和 Calc 安全并支持实例。reCaptcha 变更
  • 1.1.40 : 多创建 json 支持
  • 1.1.39 : 本地主机重定向修复
  • 1.1.38 : 移除 API 下一个可用警告
  • 1.1.37 : 版本更新
  • 1.1.36 : 添加安全 calc 并解析模板字段
  • 1.1.35 : 添加 calc 选项。修复具有不同路径和 URL 的维基百科
  • 1.1.34 : 文件上传 dropzone 详述修复
  • 1.1.33 : 为文件页面添加模板支持
  • 1.1.32 : 将 Git 与特殊页面分离
  • 1.1.31 : 版本更新以 Git 更新
  • 1.1.28 : 在更改后自动保存。添加管理员 Git 更新功能。
  • 1.1.27 : 添加调查模块。更多内容稍后介绍。为 SMQ 查询添加筛选选项。_create 添加 noseo 选项
  • 1.1.26 : 使用默认内容渲染实例将执行 SMW Ask 以获取令牌的显示属性,使用其值和查询。
  • 1.1.25 : 实例默认内容 2 令牌修复
  • 1.1.24 : 修复了 select2 令牌回调被多次初始化的问题。移除了 1.12 J-UI 依赖。
  • 1.1.23 : 另一个实例更新令牌。最近的更改现在已启动。
  • 1.1.22 : 实例和 textarea 修复
  • 1.1.21 : 修复了字段集中出现的段落标签
  • 1.1.20 : 修复了文件上传预览和 dropzone 的问题
  • 1.1.19 : 添加 wscreate usefield 选项。修复 SMW 查询结果被转义
  • 1.1.17 : 修复了与实例的自动保存
  • 1.1.16 : 修复了未加载 VE 时的 VE 错误信息
  • 1.1.15 : 扩展了钩子以包含扩展名称。
  • 1.1.14 : 创建用户电子邮件现在是一个系统消息。添加 FFAfterFormHandling 钩子。
  • 1.1.13 : 添加扩展支持
  • 1.1.12 : 将实体编码添加到 mwreturn 以支持 &-符号。修复多个实例问题。
  • 1.1.11 : SEO url 的文件上传
  • 1.1.10 : 添加可排序令牌
  • 1.1.9 : 添加附录和 SEO 设置
  • 1.1.8 : 修复文件上传
  • 1.1.7 : 添加 HTML 截图上传(canvas)
  • 1.1.6 : 修复 reCaptcha。准备测试。 #8
  • 1.1.5 : 修复了槽创建错误
  • 1.1.4 : 实例更改
  • 1.1.3 : 为令牌添加框架解析。表单验证设置为输入字段验证。修复!
  • 1.1.2 : 修复了表单中按 Enter 键不提交的问题。安全校验和更改。
  • 1.1.1 : 添加了对匿名用户的支持
  • 1.1.0 : 电子邮件机器人 API 支持,创建用户支持,重构后的各种修复。添加安全选项。
  • 1.0.0 : 发布
  • 1.0.0 发布候选版 6 : CreateUser,扩展支持
  • 1.0.0 发布候选版 5 : 多创建的 leadingZero
  • 1.0.0 发布候选版 4 : id 正则验证更改为仅允许 HTML5
  • 1.0.0 发布候选版 3 : 文件上传命名约定更改
  • 1.0.0 发布候选版 2 : smwquery 结果修复
  • 1.0.0 发布候选版 1 : 创建时的 id 修复
  • 1.0.0 测试版 10: 实例和安全更改
  • 1.0.0 测试版 8: 资源加载在处理槽时更改
  • 1.0.0 测试版 3: 更多清理。修复 Select 的渲染和 show-on-select 修复。
  • 1.0.0 测试版 2: 更多清理,并添加 GET 操作。添加隐藏 css 类。
  • 1.0.0 测试版 1: 首次公开版本