Difference between revisions of "SimpleForms"

From Wiki4Intranet
Jump to: navigation, search
(Split extension page to semantic data and russian description)
Line 1: Line 1:
{{Extension4i
+
{{Extension4info
 
|name=SimpleForms
 
|name=SimpleForms
 
|mediawiki=1.18+
 
|mediawiki=1.18+
 
|url=http://wiki.4intra.net/SimpleForms (оригинал — [[mediawikiwiki:Extension:Simple Forms]])
 
|url=http://wiki.4intra.net/SimpleForms (оригинал — [[mediawikiwiki:Extension:Simple Forms]])
|назначение=Вставка форм для создания вики-страниц по шаблону. Отрефакторенная версия расширения.
+
|description ru=Вставка форм для создания вики-страниц по шаблону. Отрефакторенная версия расширения.
 
|created=2007-04-25
 
|created=2007-04-25
 
|version=0.5 (2013-01-21)
 
|version=0.5 (2013-01-21)
Line 9: Line 9:
 
|status=fork
 
|status=fork
 
}}
 
}}
 
+
{{ExtensionFromInfo|lang=en|name=SimpleForms}}
== Использование ==
+
[[Category:Incomplete extension descriptions]]
 
+
Идеи использования расширения:
+
# (Хорошая) добавить на страницу форму с какими-то полями, а по нажатию кнопки собирать и сохранять из значений этих полей новую страницу по какому-либо шаблону.
+
# (Хуже, но сойдёт) добавить на страницу форму, которая может показать результат выполнения шаблона с учётом переданных полей формы, никуда его не сохраняя. Что-то вроде предварительного просмотра формы.
+
# (Совсем дурацкая) с помощью данного расширения добавить на страницу произвольную форму, отправляющую произвольные данные на произвольный ресурс. Данная идея совсем плоха — произвольные формы проще задать в виде чистого HTML в блоке <html> </html>, к чему и перешли авторы, когда забросили данное расширение.
+
 
+
И оригинальная версия расширения, и наша могут выполнять все 3 пункта.
+
 
+
Делается это с помощью 4-х новых функций парсера: form, input, formend и request.
+
 
+
Пример использования:
+
 
+
<pre>
+
{{#form: content = <nowiki>{{#dpl:category={{subst:#request:cat}}}}</nowiki> }}
+
{{#input: type = select | name = cat |
+
  * Select category
+
  * Category 1
+
  * Category 2
+
}}
+
{{#input: type = ajax | value = Preview list}}
+
 
+
Title: {{#input: type = text | name = pagename}}
+
{{#input: type = save | value = Save page}}
+
{{#input: type = edit | value = Preload edit form}}
+
 
+
{{#formend:}}
+
</pre>
+
 
+
Здесь:
+
* Нажатие Preview list покажет будущий результат внизу формы
+
* Нажатие Save page сохранит результат подстановки на страницу, название которой будет в поле pagename
+
* Нажатие Preload edit form откроет обычную форму редактирования страницы, название которой будет в поле pagename, с содержимым, заполненным из результата подстановки.
+
 
+
Обратите внимание на <tt><nowiki>{{subst:#request:cat}}</nowiki></tt>. Это и есть та подстановка, которая будет выполнена при сохранении статьи. Прочитать о subst подробнее можно в [[mediawikiwiki:Manual:Substitution|Manual:Substitution]].
+
 
+
== Отличия от оригинальной версии ==
+
 
+
Оригинальная версия данного расширения представляет из себя ужасное наслоение кривых хаков, имеет потенциальные проблемы безопасности, заброшена авторами и на MediaWiki 1.18 уже не заводится.
+
 
+
В нашей версии многие проблемы исправлены:
+
* Код расширения помещён в git-репозиторий :) и более не хранится на вики-странице.
+
* Ликвидирован наикривейший хак со страницей UNTITLED, использовавшийся для показа HTML-текста страницы, ни на какой странице не сохранённого.
+
* Улучшена безопасность:
+
** Оригинальный Simple Forms перезаписывал ЛЮБУЮ статью, если в запросе был всего лишь один параметр content. Наша версия сохраняет страницы только из одного места, со спецстраницы-обработчика.
+
** Добавлена проверка EditToken’ов при сохранении страниц.
+
** Проверка прав доступа при сохранении страниц более корректна.
+
* Добавлена возможность заполнения формы редактирования страницы (input type=edit).
+
* Добавлено раскрытие подстановок (subst). Как можно было использовать расширение без этого — загадка.
+
* Убран мёртвый код, локализация вынесена в отдельный файл. классы вынесены в отдельные файлы с автозагрузкой, JS вынесен в отдельный файл, подгружающийся ResourceLoader’ом.
+
* Убрана функция paramtype, по ошибке кроме того называвшася paratype.
+
 
+
Несовместимые изменения:
+
* Чтобы с формы можно было сохранить страницу, нужно указать input type=save вместо input type=submit.
+
 
+
== Установка ==
+
 
+
Процедура установки стандартная, нужно включить в <tt>LocalSettings.php</tt>:
+
 
+
<code-php>
+
require_once "$IP/extensions/SimpleForms/SimpleForms.php";
+
</code-php>
+
 
+
[[en:SimpleForms/en]]
+

Revision as of 18:52, 12 February 2013

SimpleForms is a MediaWiki extension.

Status for Mediawiki4Intranet distribution:

  • Inclusion date: 2010-10-26
  • Included version: newest available
  • Improvement status: Forked in MediaWiki4Intranet with major improvements