wikibase-solutions / flex-form
HTML5 表单渲染器
Requires
- php: ^7.3.19
- ext-exif: *
- ext-json: *
- composer/installers: 1.*,>=1.0.1
- galbar/jsonpath: ^2.1
- phpmailer/phpmailer: ^6.8.0
- phpoffice/phpspreadsheet: 1.14.1
- ryakad/pandoc-php: ~1.0
Requires (Dev)
- dev-main
- v2.2.21
- v2.2.19
- v2.2.18
- v2.2.17
- v2.2.16
- v2.2.15
- v2.2.14
- v2.2.13
- v2.2.12
- v2.2.11
- v2.2.10
- v2.2.9
- v2.2.8
- v2.2.7
- v2.2.6
- v2.2.5
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.35
- v2.1.34
- v2.1.33
- v2.1.32
- v2.1.31
- v2.1.30
- v2.1.29
- v2.1.28
- v2.1.27
- v2.1.26
- v2.1.25
- v2.1.24
- v2.1.23
- v2.1.22
- v2.1.21
- v2.1.20
- v2.1.19
- v2.1.18
- v2.1.17
- v2.1.16
- v2.1.15
- v2.1.14
- v2.1.13
- v2.1.12
- v2.1.11
- v2.1.10
- v2.1.9
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.0
- v2.0.12
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- V2.0.1
- v2.0.0
- 2.0.0beta
- v1.1.45
- v1.1.44
- v1.1.43
- v1.1.42
- v1.1.41
- v1.1.40
- v1.1.39
- v1.1.38
- v1.1.37
- v1.1.36
- v1.1.35
- v1.1.34
- v1.1.33
- v1.1.32
- v1.1.31
- v1.1.30
- v1.1.29
- v1.1.28
- v1.1.27
- v1.1.26
- v1.1.25
- v1.1.24
- v1.1.23
- v1.1.22
- v1.1.21
- v1.1.20
- v1.1.19
- v1.1.17
- v1.1.16
- v1.1.15
- v1.1.14
- v1.1.12
- v1.1.11
- v1.1.10
- v1.1.9
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.1
- v1.1.0
- v1.0.16
- v1.0.15
- v1.0.14
- 1.0.0
- 1.0.0Beta8
- 1.0.0Beta7
- dev-REL1_39
- dev-REL1_35
This package is auto-updated.
Last update: 2024-08-30 12:48:12 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' );
运行 更新脚本,该脚本将自动创建此扩展所需的数据库表。
转到您的 Wiki 上的 Special:Version 以验证扩展是否成功安装。
从 1.x 版本迁移到 2.0 版本
请注意配置设置中的更改。默认情况下,renderonlyapprovedforms 设置为 true。这意味着一旦您安装了 FlexForm v2.0,您的 Wiki 中现有的所有 FlexForm 表单都将显示为未验证。请访问此文档页面 https://www.open-csp.org/DevOps:Doc/FlexForm/2.0/Validated_Forms 以了解如何轻松解决这个问题。
文档
访问: https://www.open-csp.org/DevOps:Doc/FlexForm
变更日志
- 2.3.1 : _create with instances and JSON fix
- 2.3.0 : 为保持一致性:添加了 allowtags 值的解析,并添加了 required=required 到 select 属性。
- 2.2.21 : 检查 mwreturn 变化以考虑主机中的服务器端口。
- 2.2.20 : Token bugfix
- 2.2.19 : 改变了 allowsort、allowclear 和 allowtags 的 token 行为。向后兼容。
- 2.2.18 : 重新编写必要的 JavaScript 加载
- 2.2.17 : 文件上传中的 bug 修复
- 2.2.15 : 当使用 _createuser 时允许字段替换。
- 2.2.14 : 修复了在带空格的页面上查找模板的问题
- 2.2.12 : 修复了创建包含范围的页面的问题。修复了多个表单上的 reCaptcha。
- 2.2.11 : 添加了 reCaptcha Enterprise 和 Recaptcha v2 我不是机器人支持
- 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 : 输入类型为 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 : 编辑配置选项以切换空编辑(forceNullEdit)
- 2.1.22 : 修复了 Ajax 调用结束例程处理;干净的 post 值现在是递归的
- 2.1.21 : 修复了实例中的错误
- 2.1.20 : 使用 composer 更新邮件。更改了组织。实例不使用宽松搜索。
- 2.1.19 : 在安全表单上进行了假阳性检查。添加了对引号 json 路径键的支持。
- 2.1.18 : 显示错误,说明在单个表单中使用多个 _create 的不正确使用。
- 2.1.17 : 将空编辑更改为移除 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 : 为选择和标记添加了选项和选择的解析
- 2.0.8 : 无选项的新方法渲染选择和标记
- 2.0.7 : 修复了 HTML 参数自定义
- 2.0.6 : 将 "autosave ||" 更改为 "&&",添加了 autosave="none",请参阅文档。
- 2.0.4 : 令牌缺少可排序功能
- 2.0.3 : 页面ID 0编辑修复
- 2.0.2 : 对自动保存按钮和位置的细微调整
- 2.0.0 : 添加了已批准的表单、-usercan-选项和代码优化、wgCapitalLinks 等
- 1.1.45 : 分离了维基编辑和创建
- 1.1.44 : 实例的JSON支持。修复了创建页面选项上的nooverwrite。
- 1.1.43 : JSON编辑支持。删除了jQuery.UI依赖
- 1.1.42 : 实例和多个_create JSON支持
- 1.1.41 : 添加了对格式化的复制和粘贴支持。_create JSON支持完成。Tempex和Calc安全并具有实例。reCaptcha更改
- 1.1.40 : _create 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 : autosave onintervalafterchange。添加了管理员Git更新功能。
- 1.1.27 : 添加了调查模块。更多内容稍后介绍。为SMQ查询添加了过滤选项。为_create添加noseo选项
- 1.1.26 : 使用默认内容渲染实例将执行SMW Ask以获取令牌的显示属性,使用其值和查询。
- 1.1.25 : Instance default-content 2 令牌修复
- 1.1.24 : 修复了select2令牌回调被多次启动的问题。删除了1.12 J-UI依赖。
- 1.1.23 : 对令牌的另一个实例更新。最近的变化现在被启动。
- 1.1.22 : 实例和textarea修复
- 1.1.21 : 修复了在fieldset中出现的段落标签
- 1.1.20 : 修复了文件上传预览和dropzone问题
- 1.1.19 : 添加了wscreate usefield like选项。修复了SMW查询结果被转义
- 1.1.17 : 修复了与实例的自动保存
- 1.1.16 : 当没有VE加载时,修复了VE错误信息
- 1.1.15 : 扩展了钩子以包含扩展名称。
- 1.1.14 : 创建用户电子邮件现在是系统消息。添加了FFAfterFormHandling 钩子。
- 1.1.13 : 添加了对扩展的支持
- 1.1.12 : 添加了对mwreturn的实体解码以支持 &-sign。修复了多个实例问题。
- 1.1.11 : SEO URL的文件上传
- 1.1.10 : 添加了可排序令牌
- 1.1.9 : 补遗和SEO设置
- 1.1.8 : FileUpload修复
- 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 : 创建用户,扩展支持
- 1.0.0 发布候选版 5 : 多次创建的leadingZero
- 1.0.0 发布候选版 4 : id正则验证更改为仅允许HTML5
- 1.0.0 发布候选版 3 : 文件上传命名约定更改
- 1.0.0 发布候选版 2 : smw查询结果修复
- 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: 首次公开发布