1368
правок
WikiSysop (обсуждение | вклад) Нет описания правки |
WikiSysop (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
var formCreatePage = document.querySelector('.createbox'); | var formCreatePage = document.querySelector('.createbox'); | ||
formCreatePage.addEventListener('submit', function(ev) { | if (formCreatePage) { | ||
formCreatePage.addEventListener('submit', function(ev) { | |||
console.log('>> submit'); | |||
ev.preventDefault(); | |||
var pageTitle = formCreatePage.title.value; | |||
var pageContent = "{{Theme|parent=" + mw.config.get('wgTitle') + "}}\n==Описание раздела==\nТекст описания раздела\n\n==Идеальный результат==\nТекст идеального результата"; | |||
// Формирование запроса к API для создания страницы | |||
var params = { | |||
action: 'edit', | |||
title: pageTitle, | |||
text: pageContent, | |||
token: mw.user.tokens.get('csrfToken'), // Получение токена CSRF из MediaWiki | |||
format: 'json' | |||
}; | |||
// Отправка запроса POST к API MediaWiki | |||
$.post(mw.util.wikiScript('api'), params, function(data) { | |||
console.log('>>post', data.edit.result); | |||
if (data && data.edit && data.edit.result === 'Success') { | |||
// Если страница успешно создана, перенаправляем пользователя на неё | |||
// window.location.href = mw.util.getUrl(pageTitle); | |||
// остаемся на текущей странице | |||
// window.location.href = mw.util.getUrl(mw.config.get('wgPageName')); | |||
var api = new mw.Api(); | |||
api.postWithToken('csrf', { | |||
action: 'purge', | |||
titles: mw.config.get('wgPageName') // Получаем название текущей страницы | |||
}).done(function (data) { | |||
if (data && data.purge) { | |||
console.log('Кэш страницы успешно сброшен.'); | |||
location.reload(); // Перезагрузить страницу, чтобы увидеть изменения | |||
} else { | |||
console.log('Ошибка при сбросе кэша страницы.'); | |||
} | |||
}).fail(function (error) { | |||
console.log('Не удалось сбросить кэш страницы:', error); | |||
}); | |||
} else { | |||
// Обработка ошибок | |||
console.error('Не удалось создать страницу: ', data); | |||
} | |||
}); | }); | ||
}); | |||
} | |||