ЧТМ:Расширения/BatchTools/1.45/0.1: различия между версиями

Нет описания правки
Нет описания правки
Строка 16: Строка 16:
- Реализовано экранирование имён страниц при выводе ошибок для предотвращения уязвимостей типа XSS.</markdown>
- Реализовано экранирование имён страниц при выводе ошибок для предотвращения уязвимостей типа XSS.</markdown>


== ROOT ==
<pre>
/
├── CHANGELOG.md
├── extension.json
├── i18n/
│  ├── BatchTools.alias.php
│  ├── en.json
│  └── ru.json
└── includes/
    └── SpecialBatchTools.php
</pre>
 
 
== BatchTools ==
 
=== CHANGELOG.md ===
<syntaxhighlight lang="markdown">
# История изменений (BatchTools)
 
Все заметные изменения в этом проекте будут документироваться в данном файле.
Формат основан на стандартах Keep a Changelog.
 
## [0.1.0] — 2026-05-24
 
### Добавлено
- Создана служебная страница `Special:BatchTools` (с поддержкой ЧПУ-алиаса «Пакетные инструменты» на русском языке).
- Реализована вкладка «Массовое удаление» для быстрой очистки ненужных страниц списком.
- Реализована вкладка «Массовое восстановление» для группового возврата ранее удалённых страниц.
- Добавлены новые права доступа: `deletebatch` (для удаления) и `undeletebatch` (для восстановления).
- Интегрирована локализация интерфейса на английском (`en`) и русском (`ru`) языках.
 
### Безопасность и ограничения
- Добавлена проверка прав пользователя (Authority) перед выполнением любых операций.
- Реализована защита от межсайтовой подделки запросов (CSRF) с помощью механизма Edit Token ядра MediaWiki.
- Введено ограничение на размер пакета: за одну операцию допускается обрабатывать не более 500 страниц.
- Реализовано экранирование имён страниц при выводе ошибок для предотвращения уязвимостей типа XSS.
</syntaxhighlight>


=== extension.json ===
=== extension.json ===
Строка 23: Строка 59:
"name": "BatchTools",
"name": "BatchTools",
"version": "0.1",
"version": "0.1",
"author": "Diman Russkov",
"author": "Name",
"descriptionmsg": "batchtools-desc",
"descriptionmsg": "batchtools-desc",
"type": "specialpage",
"type": "specialpage",
Строка 50: Строка 86:
}
}
</syntaxhighlight>
</syntaxhighlight>


== i18n ==
== i18n ==
=== BatchTools.alias.php ===
<syntaxhighlight lang="php">
<?php
/**
* Aliases for special pages of the BatchTools extension
*/
$specialPageAliases = [];
/** English (English) */
$specialPageAliases['en'] = [
'BatchTools' => [ 'BatchTools' ],
];
/** Russian (Русский) */
$specialPageAliases['ru'] = [
'BatchTools' => [ 'BatchTools', 'Пакетные_инструменты' ],
];
</syntaxhighlight>


=== en.json ===
=== en.json ===
Строка 114: Строка 171:
}
}
</syntaxhighlight>
</syntaxhighlight>


== includes ==
== includes ==