https://wiki.nuit-debout.fr/api.php?action=feedcontributions&user=Tuxun&feedformat=atom
NuitDebout - Contributions de l’utilisateur [fr]
2024-03-28T15:08:32Z
Contributions de l’utilisateur
MediaWiki 1.26.2
https://wiki.nuit-debout.fr/index.php?title=Villes/Tours&diff=46969
Villes/Tours
2016-09-12T18:00:55Z
<p>Tuxun : </p>
<hr />
<div>== Suivre Tours Debout ==<br />
<br />
[https://www.communecter.org/#news.index.type.organizations.id.57187a6840bb4e80211d657d Groupe sur le réseau social communecter.org (opensource!)]<br />
<br />
[https://chat.nuitdebout.fr/channel/tours Chattez avec les Turons du mouvement !]<br />
<br />
== Les Nuits Debout à Tours pourquoi et pourquoi faire ==<br />
Depuis le 31 mars,<br />
un peu partout dans le monde, des hommes et des femmes, plus ou moins jeunes,<br />
plus ou moins vieux ou vieilles, de toutes conditions sociales, de diverses<br />
confessions, occupent l’espace publique.<br />
<br />
Après qu’hier, Tunis,<br />
Le Caire, Madrid, Athènes et New York eurent ouvert le chemin et que Paris eut repris<br />
le relais, aujourd’hui, un inextinguible désir de démocratie se répand de<br />
nouveau aux quatre coins du globe.<br />
<br />
En effet, depuis le<br />
printemps 2016, toutes celles et tous ceux qui sentent la colère gronder dans<br />
leurs cœurs se donnent rendez-vous sur les places publiques. <br />
<br />
Depuis bien<br />
longtemps, des hommes et des femmes, de toutes les nations, des cinq<br />
continents, constatent qu’il n’existe pas un seul État véritablement<br />
démocratique. <br />
<br />
Partout, et depuis<br />
toujours, le sexisme, le racisme, l’antisémitisme et le rejet de l’Altérité<br />
distillent leur venin. Dans tous les pays, la corruption, les malversations<br />
financières, les abus de biens sociaux et le clientélisme rongent les sociétés.<br />
Il n’existe aucun pays au monde où le peuple est souverain et gère les affaires<br />
de la Nation.<br />
<br />
Partout des élites<br />
se sont accaparées le pouvoir : ici des financiers sans scrupule, là-bas<br />
des religieux haineux, ailleurs des nationalistes rétrogrades. Tous imposent<br />
leurs lois à des masses d’individus maintenus dans l’ignorance et la<br />
dépendance. <br />
<br />
Partout, le déni du<br />
droit à autrui de faire un choix différent du sien, la xénophobie, la<br />
condamnation et la négation de la diversité s’érigent en valeurs sûres d’un<br />
nationalisme aussi dangereux que l’extrémisme religieux.<br />
<br />
Depuis la chute du<br />
mur de Berlin et la dislocation du bloc communiste, des hommes et des femmes<br />
prétendent qu’il n’existe qu’un seul modèle de société, celui fondé sur le<br />
libéralisme économique. Liberté oui, mais celle d’entreprendre. Ainsi, les<br />
citoyens et citoyennes se muèrent, lentement mais sûrement, consentant-e-es ou<br />
à leur insu, en consommateurs-trices.<br />
<br />
Partout dans le<br />
monde, on ne compte plus les réfugiés, les sans-abri, les sans-domicile-fixe, les<br />
sans-papiers et les sans-emploi, preuve de l’avancée de la précarité. Un<br />
chômeur n’est plus qu’une statistique économique montrée du doigt, au mieux, un<br />
enjeu électoral. Combien de millions d’hommes et de femmes, de par le monde,<br />
vivent en-dessous du seuil de pauvreté ?<br />
<br />
Partout, dans le<br />
monde du travail, les stratégies économiques des entreprises passent par une<br />
recherche permanente de davantage de flexibilité de l’emploi ; par une<br />
quête constante de la réduction des coûts, de la rentabilité et des gains de<br />
productivité. <br />
<br />
Partout, la<br />
dérégulation de l’économie mondiale a imposé le principe de « concurrence<br />
libre et non faussée », prétendument protecteur et finalement injuste pour<br />
toutes et tous.<br />
<br />
Tous les accords et<br />
les zones de libre-échange qui en découlent sont construits sur l’alignement<br />
des règles économiques, financières et sociales sur celles du pays disposant<br />
des lois du travail les plus flexibles, la protection sociale la plus minimale<br />
et les règles de défense de l’environnement les moins contraignantes. <br />
<br />
Partout, la<br />
recherche de la compétence et de la qualité du service fourni, du travail<br />
réalisé ou du bien produit, est, depuis longtemps, reléguée aux oubliettes.<br />
<br />
Partout, les<br />
salarié-e-s sont maintenu-e-s sous pression, non loin de la compression.<br />
<br />
Partout, les<br />
conditions de travail se détériorent et les maladies qui y sont liées progressent.<br />
Le stress, les dépressions et les harcèlements constituent de plus en plus le<br />
quotidien des salarié-e-s, dont certain-e-s finissent par se suicider à cause<br />
de leur travail. <br />
<br />
En France, au pays<br />
des cinq semaines de congés payés, des trente-cinq heures et des RTT, la<br />
protection sociale est désormais menacée, le système des retraites est constamment<br />
attaqué, le code du travail critiqué, vidé de sa substance et, plus que jamais,<br />
présenté comme le principal obstacle à l’amélioration de la compétitivité.<br />
<br />
Le pays de Jaurès<br />
et de l’abbé Pierre est devenu celui des logements et des emplois fictifs, des<br />
abus sociaux et des trafics d’influence. Des hommes politiques de tous bords<br />
trempent dans des scandales financiers. Des ministres occupent des<br />
habitations à loyer modéré tandis que des travailleuses-eurs sous<s>-</s>payé-e-s,<br />
en situation de précarité, peinent à trouver un logement. Certain-e-s sont même<br />
contraints de dormir dans leur voiture, quand ce n’est pas dehors.<br />
<br />
Au pays des droits<br />
de l’Homme, des individus usent de leur immunité parlementaire pour éviter de<br />
rendre des comptes à la justice. Pendant ce temps, des journalistes sont<br />
licencié-e-s pour avoir écrit des articles sur le chef de l’État ou des hommes,<br />
plus rarement des femmes, de pouvoir, influent-e-s. <br />
<br />
En France, cette<br />
année, un gouvernement, prétendument de gauche, a instauré la déchéance de<br />
nationalité, proclamé l'état d'urgence et usé, à plusieurs reprises, de<br />
l’alinéa 3, de l'article 49 d’une Constitution octroyée pour imposer des lois<br />
rejetées par une majorité de citoyen-ne-s.<br />
<br />
Partant<br />
de ce constat, le mouvement #ToursDebout appelle toutes les Tourangelles et tous<br />
les Tourangeaux désirant œuvrer pour la mise en place d’une nouveau régime<br />
politique à rejoindre les Assemblées publiques organisées de manière<br />
hebdomadaire.<br />
<br />
Rejoignez-nous. <br />
Apportez vos indignations, vos questions, vos révoltes et discutons en.<br />
<br />
Nuit Debout se réclame d'une démarche bienveillante alors n'ayez pas peur, ça se passe très bien !<br />
<br />
== Qu'est- ce que ce wiki ? ==<br />
Un wiki est un espace de communication collaboratif sur le web. Pour plus d'info, n'hésitez pas à vous reporter à la page [https://fr.wikipedia.org/wiki/Wiki Wiki sur WikipediA]<br />
<br />
C'est un endroit où vous pouvez participer à la création de ce qu'est nuit debout à Tours.<br />
Ce wiki est fait par et pour ceux qui participent à la nuit debout et pour ceux qui ne participent pas (encore) mais qui s’intéressent.<br />
<br />
Le saviez vous?<br />
* Sur un wiki toutes les modifications sont enregistrées et il est possible de revenir en arrière. N'ayez donc pas peur de venir faire vos améliorations qui seront à leur tour améliorées par quelqu'un d'autre. Cliquez juste sur [https://wiki.nuitdebout.fr/index.php?title=Villes/Tours&veaction=edit Modifier]. Un peu plus d'aide sur comment faire [[Aide:Bienvenue#Modifier_les_pages_du_wiki|par ici!]]<br />
<br />
Une liste des sous pages dans Villes/Tours, se trouvent ci dessous. Je vous conseille de commencer par [[Villes/Tours/Organisation des AG]] pour en savoir plus sur le fonctionnent du mouvement "ToursDebout", ou bien par [[Villes/Tours/Archivage]] pour lire un peu de quoi on discute pendant les réunions publiques! :)<br />
<br />
Sinon... pour <br />
<br />
<categorytree mode=all>Tours</categorytree><br />
<br />
<br />
[[Catégorie:Page Outil]]<br />
<br />
<br />
{{DEFAULTSORT:Tours}}<br />
[[Catégorie:Ville NuitDebout|Tours]]<br />
[[Catégorie:Tours]]<br />
[[Catégorie:Indre-et-Loire]]</div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=Villes/Tours&diff=46968
Villes/Tours
2016-09-12T15:50:58Z
<p>Tuxun : </p>
<hr />
<div>==Sur le web== <br />
[https://chat.nuitdebout.fr/channel/tours Discuter a distance!]<br />
[https://www.communecter.org/#organization.detail.id.57187a6840bb4e80211d657d groupe "communecter"]<br />
<br />
== Les Nuits Debout à Tours pourquoi et pourquoi faire ==<br />
Depuis le 31 mars,<br />
un peu partout dans le monde, des hommes et des femmes, plus ou moins jeunes,<br />
plus ou moins vieux ou vieilles, de toutes conditions sociales, de diverses<br />
confessions, occupent l’espace publique.<br />
<br />
Après qu’hier, Tunis,<br />
Le Caire, Madrid, Athènes et New York eurent ouvert le chemin et que Paris eut repris<br />
le relais, aujourd’hui, un inextinguible désir de démocratie se répand de<br />
nouveau aux quatre coins du globe.<br />
<br />
En effet, depuis le<br />
printemps 2016, toutes celles et tous ceux qui sentent la colère gronder dans<br />
leurs cœurs se donnent rendez-vous sur les places publiques. <br />
<br />
Depuis bien<br />
longtemps, des hommes et des femmes, de toutes les nations, des cinq<br />
continents, constatent qu’il n’existe pas un seul État véritablement<br />
démocratique. <br />
<br />
Partout, et depuis<br />
toujours, le sexisme, le racisme, l’antisémitisme et le rejet de l’Altérité<br />
distillent leur venin. Dans tous les pays, la corruption, les malversations<br />
financières, les abus de biens sociaux et le clientélisme rongent les sociétés.<br />
Il n’existe aucun pays au monde où le peuple est souverain et gère les affaires<br />
de la Nation.<br />
<br />
Partout des élites<br />
se sont accaparées le pouvoir : ici des financiers sans scrupule, là-bas<br />
des religieux haineux, ailleurs des nationalistes rétrogrades. Tous imposent<br />
leurs lois à des masses d’individus maintenus dans l’ignorance et la<br />
dépendance. <br />
<br />
Partout, le déni du<br />
droit à autrui de faire un choix différent du sien, la xénophobie, la<br />
condamnation et la négation de la diversité s’érigent en valeurs sûres d’un<br />
nationalisme aussi dangereux que l’extrémisme religieux.<br />
<br />
Depuis la chute du<br />
mur de Berlin et la dislocation du bloc communiste, des hommes et des femmes<br />
prétendent qu’il n’existe qu’un seul modèle de société, celui fondé sur le<br />
libéralisme économique. Liberté oui, mais celle d’entreprendre. Ainsi, les<br />
citoyens et citoyennes se muèrent, lentement mais sûrement, consentant-e-es ou<br />
à leur insu, en consommateurs-trices.<br />
<br />
Partout dans le<br />
monde, on ne compte plus les réfugiés, les sans-abri, les sans-domicile-fixe, les<br />
sans-papiers et les sans-emploi, preuve de l’avancée de la précarité. Un<br />
chômeur n’est plus qu’une statistique économique montrée du doigt, au mieux, un<br />
enjeu électoral. Combien de millions d’hommes et de femmes, de par le monde,<br />
vivent en-dessous du seuil de pauvreté ?<br />
<br />
Partout, dans le<br />
monde du travail, les stratégies économiques des entreprises passent par une<br />
recherche permanente de davantage de flexibilité de l’emploi ; par une<br />
quête constante de la réduction des coûts, de la rentabilité et des gains de<br />
productivité. <br />
<br />
Partout, la<br />
dérégulation de l’économie mondiale a imposé le principe de « concurrence<br />
libre et non faussée », prétendument protecteur et finalement injuste pour<br />
toutes et tous.<br />
<br />
Tous les accords et<br />
les zones de libre-échange qui en découlent sont construits sur l’alignement<br />
des règles économiques, financières et sociales sur celles du pays disposant<br />
des lois du travail les plus flexibles, la protection sociale la plus minimale<br />
et les règles de défense de l’environnement les moins contraignantes. <br />
<br />
Partout, la<br />
recherche de la compétence et de la qualité du service fourni, du travail<br />
réalisé ou du bien produit, est, depuis longtemps, reléguée aux oubliettes.<br />
<br />
Partout, les<br />
salarié-e-s sont maintenu-e-s sous pression, non loin de la compression.<br />
<br />
Partout, les<br />
conditions de travail se détériorent et les maladies qui y sont liées progressent.<br />
Le stress, les dépressions et les harcèlements constituent de plus en plus le<br />
quotidien des salarié-e-s, dont certain-e-s finissent par se suicider à cause<br />
de leur travail. <br />
<br />
En France, au pays<br />
des cinq semaines de congés payés, des trente-cinq heures et des RTT, la<br />
protection sociale est désormais menacée, le système des retraites est constamment<br />
attaqué, le code du travail critiqué, vidé de sa substance et, plus que jamais,<br />
présenté comme le principal obstacle à l’amélioration de la compétitivité.<br />
<br />
Le pays de Jaurès<br />
et de l’abbé Pierre est devenu celui des logements et des emplois fictifs, des<br />
abus sociaux et des trafics d’influence. Des hommes politiques de tous bords<br />
trempent dans des scandales financiers. Des ministres occupent des<br />
habitations à loyer modéré tandis que des travailleuses-eurs sous<s>-</s>payé-e-s,<br />
en situation de précarité, peinent à trouver un logement. Certain-e-s sont même<br />
contraints de dormir dans leur voiture, quand ce n’est pas dehors.<br />
<br />
Au pays des droits<br />
de l’Homme, des individus usent de leur immunité parlementaire pour éviter de<br />
rendre des comptes à la justice. Pendant ce temps, des journalistes sont<br />
licencié-e-s pour avoir écrit des articles sur le chef de l’État ou des hommes,<br />
plus rarement des femmes, de pouvoir, influent-e-s. <br />
<br />
En France, cette<br />
année, un gouvernement, prétendument de gauche, a instauré la déchéance de<br />
nationalité, proclamé l'état d'urgence et usé, à plusieurs reprises, de<br />
l’alinéa 3, de l'article 49 d’une Constitution octroyée pour imposer des lois<br />
rejetées par une majorité de citoyen-ne-s.<br />
<br />
Partant<br />
de ce constat, le mouvement #ToursDebout appelle toutes les Tourangelles et tous<br />
les Tourangeaux désirant œuvrer pour la mise en place d’une nouveau régime<br />
politique à rejoindre les Assemblées publiques organisées de manière<br />
hebdomadaire.<br />
<br />
Rejoignez-nous. <br />
Apportez vos indignations, vos questions, vos révoltes et discutons en.<br />
<br />
Nuit Debout se réclame d'une démarche bienveillante alors n'ayez pas peur, ça se passe très bien !<br />
<br />
== Qu'est- ce que ce wiki ? ==<br />
Un wiki est un espace de communication collaboratif sur le web. Pour plus d'info, n'hésitez pas à vous reporter à la page [https://fr.wikipedia.org/wiki/Wiki Wiki sur WikipediA]<br />
<br />
C'est un endroit où vous pouvez participer à la création de ce qu'est nuit debout à Tours.<br />
Ce wiki est fait par et pour ceux qui participent à la nuit debout et pour ceux qui ne participent pas (encore) mais qui s’intéressent.<br />
<br />
Le saviez vous?<br />
* Sur un wiki toutes les modifications sont enregistrées et il est possible de revenir en arrière. N'ayez donc pas peur de venir faire vos améliorations qui seront à leur tour améliorées par quelqu'un d'autre. Cliquez juste sur [https://wiki.nuitdebout.fr/index.php?title=Villes/Tours&veaction=edit Modifier]. Un peu plus d'aide sur comment faire [[Aide:Bienvenue#Modifier_les_pages_du_wiki|par ici!]]<br />
<br />
Une liste des sous pages dans Villes/Tours, se trouvent ci dessous. Je vous conseille de commencer par [[Villes/Tours/Organisation des AG]] pour en savoir plus sur le fonctionnent du mouvement "ToursDebout", ou bien par [[Villes/Tours/Archivage]] pour lire un peu de quoi on discute pendant les réunions publiques! :)<br />
<br />
Sinon... pour <br />
<br />
<categorytree mode=all>Tours</categorytree><br />
<br />
<br />
[[Catégorie:Page Outil]]<br />
<br />
<br />
{{DEFAULTSORT:Tours}}<br />
[[Catégorie:Ville NuitDebout|Tours]]<br />
[[Catégorie:Tours]]<br />
[[Catégorie:Indre-et-Loire]]</div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=45063
MediaWiki:Common.js
2016-07-17T04:02:53Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
function CshowToggles() {<br />
$content.find('span.CategoryTreeToggle').css('display', 'inline');<br />
}<br />
<br />
function ChandleNode() {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'Ccollapsed') {<br />
CexpandNode($link);<br />
} else {<br />
CcollapseNode($link);<br />
}<br />
}<br />
<br />
function CexpandNode($link) {<br />
var $children = $link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren');<br />
$children.show();<br />
$link.text(mw.msg('categorytree-collapse-bullet')).attr('title', mw.msg('categorytree-collapse')).data('ct-state', 'Cexpanded');<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
function CcollapseNode($link) {<br />
$link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren').hide();<br />
$link.text(mw.msg('categorytree-expand-bullet')).attr('title', mw.msg('categorytree-expand')).data('ct-state', 'Ccollapsed');<br />
}<br />
<br />
function CloadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
function Cerror() {<br />
var $retryLink;<br />
$retryLink = $('<a>').text(mw.msg('categorytree-retry')).attr('href', '#').click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
$children.text(mw.msg('categorytree-error') + ' ').append($retryLink);<br />
}<br />
$link.data('Cct-loaded', true);<br />
$children.append($('<i class="CategoryTreeNotice"></i>').text(mw.msg('categorytree-loading')));<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = $linkParentCTTag.data('ct-options') || mw.config.get('wgCategoryTreePageCategoryOptions');<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
$.get(mw.util.wikiScript(), {<br />
skin: mw.config.get('skin'),<br />
uselang: mw.config.get('wgUserLanguage'),<br />
debug: mw.config.get('debug'),<br />
action: 'ajax',<br />
rs: 'efCategoryTreeAjaxWrapper',<br />
rsargs: [ctTitle, ctOptions, 'json']<br />
}).done(function(data) {<br />
data = data.replace(/^\s+|\s+$/, '');<br />
data = data.replace(/##LOAD##/g, mw.msg('categorytree-expand'));<br />
if (data === '') {<br />
switch (ctMode) {<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
$children.html(data).find('.CategoryTreeToggle').click(ChandleNode);<br />
CshowToggles();<br />
}).fail(error);<br />
}<br />
<br />
//$('.sitenoticetree').first().delay(5000).load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
//$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
//$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
<br />
/////////////////////////////////<br />
var customizeToolbar = function() {<br />
<br />
<br />
<br />
/*start toolbar section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'emoticons': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Emoticons'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'categs': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Catégories'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'templates': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Raccourcis'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'videos': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'video'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
/*end toolbar section*/<br />
<br />
/*start group section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'emoticons',<br />
'groups': {<br />
'faces': {<br />
'label': 'Faces' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'groups': {<br />
'shorts': {<br />
'label': 'raccourci' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'categs',<br />
'groups': {<br />
'city': {<br />
'label': 'Villes Debouts' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'categs',<br />
'groups': {<br />
'wiki': {<br />
'label': 'Wiki' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'groups': {<br />
'video': {<br />
'label': 'video' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
/*end groups section*/<br />
<br />
/*start button group section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'emoticons',<br />
'group': 'faces',<br />
'tools': {<br />
'smile': {<br />
label: 'Smile!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: ":)" // text to be inserted<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'categs',<br />
'group': 'city',<br />
'tools': {<br />
'smile': {<br />
label: 'Smile!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: "[[Category:Commission]]" // text to be inserted<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'categs',<br />
'group': 'city',<br />
'tools': {<br />
'smile': {<br />
label: 'Smile!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: "[[Category:Compte_rendu_d'AG]]" // text to be inserted<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
//UploadWizard<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'shorts',<br />
'tools': {<br />
'code': {<br />
label: 'Liste de sous-pages', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: "{{Special:Index/{{FULLPAGENAME}}/}}" // text to be inserted<br />
}<br />
}<br />
<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'shorts',<br />
'tools': {<br />
'shortlinks': {<br />
label: 'liste de composants!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
'pre': <br />
"{| class='wikitable' border='1' "+<br />
"|-! Composant "+ <br />
"! Valeur/TYPE"+ <br />
"! quantité "+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 1K Ohm"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 100 Ohm"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 10K Ohm"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Potentiomètre:"+ <br />
"| 10K Ohm Linéaire"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Transistor:"+ <br />
"| 2N2222"+ <br />
"| 4"+ <br />
"|-"+ <br />
"| Condensateur:"+ <br />
"| 100 µF"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Condensateur:"+ <br />
"| 0.01 µF"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Arduino:"+ <br />
"| Uno ou + (à adapter)"+ <br />
"| 1"+ <br />
"|}",<br />
<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
<br />
<br />
//video buttons<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'archive': {<br />
label: 'Archive.org!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.nuitdebout.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
'pre': "{{#Widget:Archive.org|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'vimeo': {<br />
label: 'Vimeo', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.nuitdebout.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "{{#Widget:Vimeo|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'youtube': {<br />
label: 'Youtube', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.nuitdebout.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "{{#Widget:Youtube|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
};<br />
<br />
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */<br />
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {<br />
mw.loader.using( 'user.options', function () {<br />
// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])<br />
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {<br />
$.when(<br />
mw.loader.using( 'ext.wikiEditor.toolbar' ), $.ready<br />
).then( customizeToolbar );<br />
}<br />
} );<br />
}<br />
// Add the customizations to LiquidThreads' edit toolbar, if available<br />
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );<br />
<br />
$("div.portal h3").click(function() {<br />
<br />
$("this").next().toggle(500);<br />
});<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=Cat%C3%A9gorie:Mod%C3%A8le_sans_documentation&diff=45062
Catégorie:Modèle sans documentation
2016-07-17T03:52:39Z
<p>Tuxun : Page créée avec « Category:Gestion_du _wiki »</p>
<hr />
<div>[[Category:Gestion_du _wiki]</div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=45061
MediaWiki:Common.js
2016-07-17T03:46:40Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
function CshowToggles() {<br />
$content.find('span.CategoryTreeToggle').css('display', 'inline');<br />
}<br />
<br />
function ChandleNode() {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'Ccollapsed') {<br />
CexpandNode($link);<br />
} else {<br />
CcollapseNode($link);<br />
}<br />
}<br />
<br />
function CexpandNode($link) {<br />
var $children = $link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren');<br />
$children.show();<br />
$link.text(mw.msg('categorytree-collapse-bullet')).attr('title', mw.msg('categorytree-collapse')).data('ct-state', 'Cexpanded');<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
function CcollapseNode($link) {<br />
$link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren').hide();<br />
$link.text(mw.msg('categorytree-expand-bullet')).attr('title', mw.msg('categorytree-expand')).data('ct-state', 'Ccollapsed');<br />
}<br />
<br />
function CloadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
function Cerror() {<br />
var $retryLink;<br />
$retryLink = $('<a>').text(mw.msg('categorytree-retry')).attr('href', '#').click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
$children.text(mw.msg('categorytree-error') + ' ').append($retryLink);<br />
}<br />
$link.data('Cct-loaded', true);<br />
$children.append($('<i class="CategoryTreeNotice"></i>').text(mw.msg('categorytree-loading')));<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = $linkParentCTTag.data('ct-options') || mw.config.get('wgCategoryTreePageCategoryOptions');<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
$.get(mw.util.wikiScript(), {<br />
skin: mw.config.get('skin'),<br />
uselang: mw.config.get('wgUserLanguage'),<br />
debug: mw.config.get('debug'),<br />
action: 'ajax',<br />
rs: 'efCategoryTreeAjaxWrapper',<br />
rsargs: [ctTitle, ctOptions, 'json']<br />
}).done(function(data) {<br />
data = data.replace(/^\s+|\s+$/, '');<br />
data = data.replace(/##LOAD##/g, mw.msg('categorytree-expand'));<br />
if (data === '') {<br />
switch (ctMode) {<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
$children.html(data).find('.CategoryTreeToggle').click(ChandleNode);<br />
CshowToggles();<br />
}).fail(error);<br />
}<br />
<br />
//$('.sitenoticetree').first().delay(5000).load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
//$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
//$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
<br />
/////////////////////////////////<br />
var customizeToolbar = function() {<br />
<br />
<br />
<br />
/*start toolbar section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'emoticons': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Emoticons'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'categs': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Catégories'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'templates': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Raccourcis'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'videos': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'video'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
/*end toolbar section*/<br />
<br />
/*start group section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'emoticons',<br />
'groups': {<br />
'faces': {<br />
'label': 'Faces' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'groups': {<br />
'shorts': {<br />
'label': 'raccourci' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'groups': {<br />
'video': {<br />
'label': 'video' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
/*end groups section*/<br />
<br />
/*start button group section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'emoticons',<br />
'group': 'faces',<br />
'tools': {<br />
'smile': {<br />
label: 'Smile!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: ":)" // text to be inserted<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
//UploadWizard<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'shorts',<br />
'tools': {<br />
'code': {<br />
label: 'Liste de sous-pages', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: "{{Special:Index/{{FULLPAGENAME}}/}}" // text to be inserted<br />
}<br />
}<br />
<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'shorts',<br />
'tools': {<br />
'shortlinks': {<br />
label: 'liste de composants!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
'pre': <br />
"{| class='wikitable' border='1' "+<br />
"|-! Composant "+ <br />
"! Valeur/TYPE"+ <br />
"! quantité "+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 1K Ohm"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 100 Ohm"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 10K Ohm"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Potentiomètre:"+ <br />
"| 10K Ohm Linéaire"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Transistor:"+ <br />
"| 2N2222"+ <br />
"| 4"+ <br />
"|-"+ <br />
"| Condensateur:"+ <br />
"| 100 µF"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Condensateur:"+ <br />
"| 0.01 µF"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Arduino:"+ <br />
"| Uno ou + (à adapter)"+ <br />
"| 1"+ <br />
"|}",<br />
<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
<br />
<br />
//video buttons<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'archive': {<br />
label: 'Archive.org!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.nuitdebout.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
'pre': "{{#Widget:Archive.org|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'vimeo': {<br />
label: 'Vimeo', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.nuitdebout.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "{{#Widget:Vimeo|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'youtube': {<br />
label: 'Youtube', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.nuitdebout.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "{{#Widget:Youtube|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
};<br />
<br />
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */<br />
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {<br />
mw.loader.using( 'user.options', function () {<br />
// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])<br />
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {<br />
$.when(<br />
mw.loader.using( 'ext.wikiEditor.toolbar' ), $.ready<br />
).then( customizeToolbar );<br />
}<br />
} );<br />
}<br />
// Add the customizations to LiquidThreads' edit toolbar, if available<br />
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );<br />
<br />
$("div.portal h3").click(function() {<br />
<br />
$("this").next().toggle(500);<br />
});<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=45060
MediaWiki:Common.js
2016-07-17T03:42:41Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
function CshowToggles() {<br />
$content.find('span.CategoryTreeToggle').css('display', 'inline');<br />
}<br />
<br />
function ChandleNode() {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'Ccollapsed') {<br />
CexpandNode($link);<br />
} else {<br />
CcollapseNode($link);<br />
}<br />
}<br />
<br />
function CexpandNode($link) {<br />
var $children = $link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren');<br />
$children.show();<br />
$link.text(mw.msg('categorytree-collapse-bullet')).attr('title', mw.msg('categorytree-collapse')).data('ct-state', 'Cexpanded');<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
function CcollapseNode($link) {<br />
$link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren').hide();<br />
$link.text(mw.msg('categorytree-expand-bullet')).attr('title', mw.msg('categorytree-expand')).data('ct-state', 'Ccollapsed');<br />
}<br />
<br />
function CloadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
function Cerror() {<br />
var $retryLink;<br />
$retryLink = $('<a>').text(mw.msg('categorytree-retry')).attr('href', '#').click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
$children.text(mw.msg('categorytree-error') + ' ').append($retryLink);<br />
}<br />
$link.data('Cct-loaded', true);<br />
$children.append($('<i class="CategoryTreeNotice"></i>').text(mw.msg('categorytree-loading')));<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = $linkParentCTTag.data('ct-options') || mw.config.get('wgCategoryTreePageCategoryOptions');<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
$.get(mw.util.wikiScript(), {<br />
skin: mw.config.get('skin'),<br />
uselang: mw.config.get('wgUserLanguage'),<br />
debug: mw.config.get('debug'),<br />
action: 'ajax',<br />
rs: 'efCategoryTreeAjaxWrapper',<br />
rsargs: [ctTitle, ctOptions, 'json']<br />
}).done(function(data) {<br />
data = data.replace(/^\s+|\s+$/, '');<br />
data = data.replace(/##LOAD##/g, mw.msg('categorytree-expand'));<br />
if (data === '') {<br />
switch (ctMode) {<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
$children.html(data).find('.CategoryTreeToggle').click(ChandleNode);<br />
CshowToggles();<br />
}).fail(error);<br />
}<br />
<br />
//$('.sitenoticetree').first().delay(5000).load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
//$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
//$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
<br />
/////////////////////////////////<br />
var customizeToolbar = function() {<br />
<br />
<br />
<br />
/*start toolbar section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'emoticons': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Emoticons'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'categs': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Catégories'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'templates': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Raccourcis'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'videos': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'video'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
/*end toolbar section*/<br />
<br />
/*start group section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'emoticons',<br />
'groups': {<br />
'faces': {<br />
'label': 'Faces' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'groups': {<br />
'shorts': {<br />
'label': 'raccourci' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'groups': {<br />
'video': {<br />
'label': 'video' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
/*end groups section*/<br />
<br />
/*start button group section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'emoticons',<br />
'group': 'faces',<br />
'tools': {<br />
'smile': {<br />
label: 'Smile!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: ":)" // text to be inserted<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
//UploadWizard<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'shorts',<br />
'tools': {<br />
'code': {<br />
label: 'Liste de sous-pages', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: "{{Special:Index/{{FULLPAGENAME}}/}}" // text to be inserted<br />
}<br />
}<br />
<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'shorts',<br />
'tools': {<br />
'shortlinks': {<br />
label: 'liste de composants!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
'pre': <br />
"{| class='wikitable' border='1' "+<br />
"|-! Composant "+ <br />
"! Valeur/TYPE"+ <br />
"! quantité "+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 1K Ohm"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 100 Ohm"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 10K Ohm"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Potentiomètre:"+ <br />
"| 10K Ohm Linéaire"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Transistor:"+ <br />
"| 2N2222"+ <br />
"| 4"+ <br />
"|-"+ <br />
"| Condensateur:"+ <br />
"| 100 µF"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Condensateur:"+ <br />
"| 0.01 µF"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Arduino:"+ <br />
"| Uno ou + (à adapter)"+ <br />
"| 1"+ <br />
"|}",<br />
<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
<br />
<br />
//video buttons<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'archive': {<br />
label: 'Archive.org!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.nuitdebout.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
'pre': "{{#Widget:Archive.org|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'vimeo': {<br />
label: 'Vimeo', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.nuitdebout.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "{{#Widget:Vimeo|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'youtube': {<br />
label: 'Youtube', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.nuitdebout.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "{{#Widget:Youtube|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
};<br />
<br />
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */<br />
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {<br />
mw.loader.using( 'user.options', function () {<br />
// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])<br />
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {<br />
$.when(<br />
mw.loader.using( 'ext.wikiEditor.toolbar' ), $.ready<br />
).then( customizeToolbar );<br />
}<br />
} );<br />
}<br />
// Add the customizations to LiquidThreads' edit toolbar, if available<br />
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );<br />
<br />
$("div.mw-panel h3").click(function() {<br />
<br />
$("this").next().toggle(500);<br />
});<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=45059
MediaWiki:Common.js
2016-07-17T03:41:11Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
function CshowToggles() {<br />
$content.find('span.CategoryTreeToggle').css('display', 'inline');<br />
}<br />
<br />
function ChandleNode() {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'Ccollapsed') {<br />
CexpandNode($link);<br />
} else {<br />
CcollapseNode($link);<br />
}<br />
}<br />
<br />
function CexpandNode($link) {<br />
var $children = $link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren');<br />
$children.show();<br />
$link.text(mw.msg('categorytree-collapse-bullet')).attr('title', mw.msg('categorytree-collapse')).data('ct-state', 'Cexpanded');<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
function CcollapseNode($link) {<br />
$link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren').hide();<br />
$link.text(mw.msg('categorytree-expand-bullet')).attr('title', mw.msg('categorytree-expand')).data('ct-state', 'Ccollapsed');<br />
}<br />
<br />
function CloadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
function Cerror() {<br />
var $retryLink;<br />
$retryLink = $('<a>').text(mw.msg('categorytree-retry')).attr('href', '#').click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
$children.text(mw.msg('categorytree-error') + ' ').append($retryLink);<br />
}<br />
$link.data('Cct-loaded', true);<br />
$children.append($('<i class="CategoryTreeNotice"></i>').text(mw.msg('categorytree-loading')));<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = $linkParentCTTag.data('ct-options') || mw.config.get('wgCategoryTreePageCategoryOptions');<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
$.get(mw.util.wikiScript(), {<br />
skin: mw.config.get('skin'),<br />
uselang: mw.config.get('wgUserLanguage'),<br />
debug: mw.config.get('debug'),<br />
action: 'ajax',<br />
rs: 'efCategoryTreeAjaxWrapper',<br />
rsargs: [ctTitle, ctOptions, 'json']<br />
}).done(function(data) {<br />
data = data.replace(/^\s+|\s+$/, '');<br />
data = data.replace(/##LOAD##/g, mw.msg('categorytree-expand'));<br />
if (data === '') {<br />
switch (ctMode) {<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
$children.html(data).find('.CategoryTreeToggle').click(ChandleNode);<br />
CshowToggles();<br />
}).fail(error);<br />
}<br />
<br />
//$('.sitenoticetree').first().delay(5000).load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
//$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
//$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
<br />
/////////////////////////////////<br />
var customizeToolbar = function() {<br />
<br />
<br />
<br />
/*start toolbar section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'emoticons': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Emoticons'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'categs': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Catégories'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'templates': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Raccourcis'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'videos': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'video'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
/*end toolbar section*/<br />
<br />
/*start group section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'emoticons',<br />
'groups': {<br />
'faces': {<br />
'label': 'Faces' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'groups': {<br />
'shorts': {<br />
'label': 'raccourci' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'groups': {<br />
'video': {<br />
'label': 'video' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
/*end groups section*/<br />
<br />
/*start button group section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'emoticons',<br />
'group': 'faces',<br />
'tools': {<br />
'smile': {<br />
label: 'Smile!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: ":)" // text to be inserted<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
//UploadWizard<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'shorts',<br />
'tools': {<br />
'code': {<br />
label: 'Liste de sous-pages', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: "{{Special:Index/{{FULLPAGENAME}}/}}" // text to be inserted<br />
}<br />
}<br />
<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'shorts',<br />
'tools': {<br />
'shortlinks': {<br />
label: 'liste de composants!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
'pre': <br />
"{| class='wikitable' border='1' "+<br />
"|-! Composant "+ <br />
"! Valeur/TYPE"+ <br />
"! quantité "+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 1K Ohm"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 100 Ohm"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 10K Ohm"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Potentiomètre:"+ <br />
"| 10K Ohm Linéaire"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Transistor:"+ <br />
"| 2N2222"+ <br />
"| 4"+ <br />
"|-"+ <br />
"| Condensateur:"+ <br />
"| 100 µF"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Condensateur:"+ <br />
"| 0.01 µF"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Arduino:"+ <br />
"| Uno ou + (à adapter)"+ <br />
"| 1"+ <br />
"|}",<br />
<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
<br />
<br />
//video buttons<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'archive': {<br />
label: 'Archive.org!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.funlab.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
'pre': "{{#Widget:Archive.org|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'vimeo': {<br />
label: 'Vimeo', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.funlab.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "{{#Widget:Vimeo|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'youtube': {<br />
label: 'Youtube', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.funlab.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "{{#Widget:Youtube|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
};<br />
<br />
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */<br />
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {<br />
mw.loader.using( 'user.options', function () {<br />
// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])<br />
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {<br />
$.when(<br />
mw.loader.using( 'ext.wikiEditor.toolbar' ), $.ready<br />
).then( customizeToolbar );<br />
}<br />
} );<br />
}<br />
// Add the customizations to LiquidThreads' edit toolbar, if available<br />
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );<br />
<br />
$("div.mw-panel h3").click(function() {<br />
<br />
$("this").next().toggle(500);<br />
});<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=Fichier:Logovideo.png&diff=45058
Fichier:Logovideo.png
2016-07-17T03:38:04Z
<p>Tuxun : logo temporaire pour la barre de wikicode</p>
<hr />
<div>logo temporaire pour la barre de wikicode</div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=Utilisateur:Tuxun/common.js&diff=45057
Utilisateur:Tuxun/common.js
2016-07-17T03:34:31Z
<p>Tuxun : Page blanchie</p>
<hr />
<div></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=45056
MediaWiki:Common.js
2016-07-17T03:32:24Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
function CshowToggles() {<br />
$content.find('span.CategoryTreeToggle').css('display', 'inline');<br />
}<br />
<br />
function ChandleNode() {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'Ccollapsed') {<br />
CexpandNode($link);<br />
} else {<br />
CcollapseNode($link);<br />
}<br />
}<br />
<br />
function CexpandNode($link) {<br />
var $children = $link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren');<br />
$children.show();<br />
$link.text(mw.msg('categorytree-collapse-bullet')).attr('title', mw.msg('categorytree-collapse')).data('ct-state', 'Cexpanded');<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
function CcollapseNode($link) {<br />
$link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren').hide();<br />
$link.text(mw.msg('categorytree-expand-bullet')).attr('title', mw.msg('categorytree-expand')).data('ct-state', 'Ccollapsed');<br />
}<br />
<br />
function CloadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
function Cerror() {<br />
var $retryLink;<br />
$retryLink = $('<a>').text(mw.msg('categorytree-retry')).attr('href', '#').click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
$children.text(mw.msg('categorytree-error') + ' ').append($retryLink);<br />
}<br />
$link.data('Cct-loaded', true);<br />
$children.append($('<i class="CategoryTreeNotice"></i>').text(mw.msg('categorytree-loading')));<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = $linkParentCTTag.data('ct-options') || mw.config.get('wgCategoryTreePageCategoryOptions');<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
$.get(mw.util.wikiScript(), {<br />
skin: mw.config.get('skin'),<br />
uselang: mw.config.get('wgUserLanguage'),<br />
debug: mw.config.get('debug'),<br />
action: 'ajax',<br />
rs: 'efCategoryTreeAjaxWrapper',<br />
rsargs: [ctTitle, ctOptions, 'json']<br />
}).done(function(data) {<br />
data = data.replace(/^\s+|\s+$/, '');<br />
data = data.replace(/##LOAD##/g, mw.msg('categorytree-expand'));<br />
if (data === '') {<br />
switch (ctMode) {<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
$children.html(data).find('.CategoryTreeToggle').click(ChandleNode);<br />
CshowToggles();<br />
}).fail(error);<br />
}<br />
<br />
//$('.sitenoticetree').first().delay(5000).load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
//$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
//$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
<br />
/////////////////////////////////<br />
var customizeToolbar = function() {<br />
<br />
<br />
<br />
/*start toolbar section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'emoticons': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Emoticons'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'categs': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Catégories'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'templates': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Raccourcis'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'codesources': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'code source'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'filetools': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'fichiers'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'videos': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'video'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
/*end toolbar section*/<br />
<br />
/*start group section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'emoticons',<br />
'groups': {<br />
'faces': {<br />
'label': 'Faces' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'groups': {<br />
'licenses': {<br />
'label': 'licences' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'groups': {<br />
'shorts': {<br />
'label': 'raccourci' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'filetools',<br />
'groups': {<br />
'3dtools': {<br />
'label': 'stl' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'groups': {<br />
'video': {<br />
'label': 'video' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'codesources',<br />
'groups': {<br />
'sources': {<br />
'label': 'Code source' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
/*end groups section*/<br />
<br />
/*start button group section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'emoticons',<br />
'group': 'faces',<br />
'tools': {<br />
'smile': {<br />
label: 'Smile!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: ":)" // text to be inserted<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
//code butttons<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'codesources',<br />
'group': 'sources',<br />
'tools': {<br />
'code': {<br />
label: 'code!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "<code name='nom.ino'>",<br />
'periMsg': 'votre code ici',<br />
'post': "</code>"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'codesources',<br />
'group': 'sources',<br />
'tools': {<br />
'code': {<br />
label: 'code!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
'pre': "<code name='nom.ino' lang='cpp' download linenumbers>",<br />
'periMsg': 'wikieditor-toolbar-tool-bold-example',<br />
'post': "</code>"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'licenses',<br />
'tools': {<br />
'code': {<br />
label: 'CC-by-sa', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/9/96/CC-BY-SA-icon-80x15.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: "== Conditions d'utilisation == \n {{CC-by-sa-3.0}}" // text to be inserted<br />
}<br />
}<br />
<br />
}<br />
}<br />
} );<br />
<br />
//UploadWizard<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'shorts',<br />
'tools': {<br />
'code': {<br />
label: 'Liste de sous-pages', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: "{{Special:Index/{{FULLPAGENAME}}/}}" // text to be inserted<br />
}<br />
}<br />
<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'shorts',<br />
'tools': {<br />
'shortlinks': {<br />
label: 'liste de composants!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
'pre': <br />
"{| class='wikitable' border='1' "+<br />
"|-! Composant "+ <br />
"! Valeur/TYPE"+ <br />
"! quantité "+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 1K Ohm"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 100 Ohm"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 10K Ohm"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Potentiomètre:"+ <br />
"| 10K Ohm Linéaire"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Transistor:"+ <br />
"| 2N2222"+ <br />
"| 4"+ <br />
"|-"+ <br />
"| Condensateur:"+ <br />
"| 100 µF"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Condensateur:"+ <br />
"| 0.01 µF"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Arduino:"+ <br />
"| Uno ou + (à adapter)"+ <br />
"| 1"+ <br />
"|}",<br />
<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
//github3Dviewer<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'filetools',<br />
'group': '3dtools',<br />
'tools': {<br />
'stlgithubview': {<br />
label: 'git3d!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "<script src='https://embed.github.com/view/3d/",<br />
'periMsg': 'USER/REPO/BRANCH/PATH/FILE.stl',<br />
'post': "'></script>"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
//video buttons<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'archive': {<br />
label: 'Archive.org!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.funlab.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
'pre': "{{#Widget:Archive.org|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'vimeo': {<br />
label: 'Vimeo', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.funlab.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "{{#Widget:Vimeo|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'youtube': {<br />
label: 'Youtube', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.funlab.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "{{#Widget:Youtube|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
};<br />
<br />
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */<br />
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {<br />
mw.loader.using( 'user.options', function () {<br />
// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])<br />
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {<br />
$.when(<br />
mw.loader.using( 'ext.wikiEditor.toolbar' ), $.ready<br />
).then( customizeToolbar );<br />
}<br />
} );<br />
}<br />
// Add the customizations to LiquidThreads' edit toolbar, if available<br />
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );<br />
<br />
$("div.mw-panel h3").click(function() {<br />
<br />
$("this").next().toggle(500);<br />
});<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=Utilisateur:Tuxun/common.js&diff=45055
Utilisateur:Tuxun/common.js
2016-07-17T03:29:40Z
<p>Tuxun : Page créée avec « ///////////////////////////////// var customizeToolbar = function() { /*start toolbar section*/ $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'sections': { 'emo... »</p>
<hr />
<div><br />
<br />
/////////////////////////////////<br />
var customizeToolbar = function() {<br />
<br />
<br />
<br />
/*start toolbar section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'emoticons': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Emoticons'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'categs': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Catégories'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'templates': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'Raccourcis'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'codesources': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'code source'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'filetools': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'fichiers'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'sections': {<br />
'videos': {<br />
'type': 'toolbar', // Can also be 'booklet'<br />
'label': 'video'<br />
// or 'labelMsg': 'section-emoticons-label' for a localized label<br />
}<br />
}<br />
} );<br />
<br />
/*end toolbar section*/<br />
<br />
/*start group section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'emoticons',<br />
'groups': {<br />
'faces': {<br />
'label': 'Faces' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'groups': {<br />
'licenses': {<br />
'label': 'licences' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'groups': {<br />
'shorts': {<br />
'label': 'raccourci' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'filetools',<br />
'groups': {<br />
'3dtools': {<br />
'label': 'stl' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'groups': {<br />
'video': {<br />
'label': 'video' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'codesources',<br />
'groups': {<br />
'sources': {<br />
'label': 'Code source' // or use labelMsg for a localized label, see above<br />
}<br />
}<br />
} );<br />
/*end groups section*/<br />
<br />
/*start button group section*/<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'emoticons',<br />
'group': 'faces',<br />
'tools': {<br />
'smile': {<br />
label: 'Smile!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: ":)" // text to be inserted<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
//code butttons<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'codesources',<br />
'group': 'sources',<br />
'tools': {<br />
'code': {<br />
label: 'code!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "<code name='nom.ino'>",<br />
'periMsg': 'votre code ici',<br />
'post': "</code>"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'codesources',<br />
'group': 'sources',<br />
'tools': {<br />
'code': {<br />
label: 'code!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
'pre': "<code name='nom.ino' lang='cpp' download linenumbers>",<br />
'periMsg': 'wikieditor-toolbar-tool-bold-example',<br />
'post': "</code>"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'licenses',<br />
'tools': {<br />
'code': {<br />
label: 'CC-by-sa', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/9/96/CC-BY-SA-icon-80x15.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: "== Conditions d'utilisation == \n {{CC-by-sa-3.0}}" // text to be inserted<br />
}<br />
}<br />
<br />
}<br />
}<br />
} );<br />
<br />
//UploadWizard<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'shorts',<br />
'tools': {<br />
'code': {<br />
label: 'Liste de sous-pages', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
pre: "{{Special:Index/{{FULLPAGENAME}}/}}" // text to be inserted<br />
}<br />
}<br />
<br />
}<br />
}<br />
} );<br />
<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'templates',<br />
'group': 'shorts',<br />
'tools': {<br />
'shortlinks': {<br />
label: 'liste de composants!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'encapsulate',<br />
options: {<br />
'pre': <br />
"{| class='wikitable' border='1' "+<br />
"|-! Composant "+ <br />
"! Valeur/TYPE"+ <br />
"! quantité "+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 1K Ohm"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 100 Ohm"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Résistance:"+ <br />
"| 10K Ohm"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Potentiomètre:"+ <br />
"| 10K Ohm Linéaire"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Transistor:"+ <br />
"| 2N2222"+ <br />
"| 4"+ <br />
"|-"+ <br />
"| Condensateur:"+ <br />
"| 100 µF"+ <br />
"| 1"+ <br />
"|-"+ <br />
"| Condensateur:"+ <br />
"| 0.01 µF"+ <br />
"| 5"+ <br />
"|-"+ <br />
"| Arduino:"+ <br />
"| Uno ou + (à adapter)"+ <br />
"| 1"+ <br />
"|}",<br />
<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
<br />
//github3Dviewer<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'filetools',<br />
'group': '3dtools',<br />
'tools': {<br />
'stlgithubview': {<br />
label: 'git3d!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "<script src='https://embed.github.com/view/3d/",<br />
'periMsg': 'USER/REPO/BRANCH/PATH/FILE.stl',<br />
'post': "'></script>"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
//video buttons<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'archive': {<br />
label: 'Archive.org!', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.funlab.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
'pre': "{{#Widget:Archive.org|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'vimeo': {<br />
label: 'Vimeo', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.funlab.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "{{#Widget:Vimeo|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
'section': 'videos',<br />
'group': 'video',<br />
'tools': {<br />
'youtube': {<br />
label: 'Youtube', // or use labelMsg for a localized label, see above<br />
type: 'button',<br />
icon: '//wiki.funlab.fr/images/d/d0/Logovideo.png',<br />
action: {<br />
type: 'replace',<br />
options: {<br />
<br />
'pre': "{{#Widget:Youtube|id=",<br />
'periMsg': 'idvideo',<br />
'post': "}}"<br />
}<br />
}<br />
}<br />
}<br />
} );<br />
<br />
<br />
};<br />
<br />
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */<br />
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {<br />
mw.loader.using( 'user.options', function () {<br />
// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])<br />
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {<br />
$.when(<br />
mw.loader.using( 'ext.wikiEditor.toolbar' ), $.ready<br />
).then( customizeToolbar );<br />
}<br />
} );<br />
}<br />
// Add the customizations to LiquidThreads' edit toolbar, if available<br />
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );<br />
<br />
$("div.portal h3").click(function() {<br />
<br />
$("this").next().toggle(500);<br />
});</div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44729
MediaWiki:Common.js
2016-07-11T05:05:33Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
function CshowToggles() {<br />
$content.find('span.CategoryTreeToggle').css('display', 'inline');<br />
}<br />
<br />
function ChandleNode() {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'Ccollapsed') {<br />
CexpandNode($link);<br />
} else {<br />
CcollapseNode($link);<br />
}<br />
}<br />
<br />
function CexpandNode($link) {<br />
var $children = $link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren');<br />
$children.show();<br />
$link.text(mw.msg('categorytree-collapse-bullet')).attr('title', mw.msg('categorytree-collapse')).data('ct-state', 'Cexpanded');<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
function CcollapseNode($link) {<br />
$link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren').hide();<br />
$link.text(mw.msg('categorytree-expand-bullet')).attr('title', mw.msg('categorytree-expand')).data('ct-state', 'Ccollapsed');<br />
}<br />
<br />
function CloadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
function Cerror() {<br />
var $retryLink;<br />
$retryLink = $('<a>').text(mw.msg('categorytree-retry')).attr('href', '#').click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
$children.text(mw.msg('categorytree-error') + ' ').append($retryLink);<br />
}<br />
$link.data('Cct-loaded', true);<br />
$children.append($('<i class="CategoryTreeNotice"></i>').text(mw.msg('categorytree-loading')));<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = $linkParentCTTag.data('ct-options') || mw.config.get('wgCategoryTreePageCategoryOptions');<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
$.get(mw.util.wikiScript(), {<br />
skin: mw.config.get('skin'),<br />
uselang: mw.config.get('wgUserLanguage'),<br />
debug: mw.config.get('debug'),<br />
action: 'ajax',<br />
rs: 'efCategoryTreeAjaxWrapper',<br />
rsargs: [ctTitle, ctOptions, 'json']<br />
}).done(function(data) {<br />
data = data.replace(/^\s+|\s+$/, '');<br />
data = data.replace(/##LOAD##/g, mw.msg('categorytree-expand'));<br />
if (data === '') {<br />
switch (ctMode) {<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
$children.html(data).find('.CategoryTreeToggle').click(ChandleNode);<br />
CshowToggles();<br />
}).fail(error);<br />
}<br />
<br />
//$('.sitenoticetree').first().delay(5000).load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
//$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
//$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44728
MediaWiki:Common.js
2016-07-11T04:15:53Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////<br />
function CshowToggles() {<br />
$content.find('span.CategoryTreeToggle').css('display', 'inline');<br />
}<br />
<br />
function ChandleNode() {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'Ccollapsed') {<br />
CexpandNode($link);<br />
} else {<br />
CcollapseNode($link);<br />
}<br />
}<br />
<br />
function CexpandNode($link) {<br />
var $children = $link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren');<br />
$children.show();<br />
$link.text(mw.msg('categorytree-collapse-bullet')).attr('title', mw.msg('categorytree-collapse')).data('ct-state', 'Cexpanded');<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
function CcollapseNode($link) {<br />
$link.parents('.CategoryTreeItem').siblings('.CategoryTreeChildren').hide();<br />
$link.text(mw.msg('categorytree-expand-bullet')).attr('title', mw.msg('categorytree-expand')).data('ct-state', 'Ccollapsed');<br />
}<br />
<br />
function CloadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
function Cerror() {<br />
var $retryLink;<br />
$retryLink = $('<a>').text(mw.msg('categorytree-retry')).attr('href', '#').click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
$children.text(mw.msg('categorytree-error') + ' ').append($retryLink);<br />
}<br />
$link.data('Cct-loaded', true);<br />
$children.append($('<i class="CategoryTreeNotice"></i>').text(mw.msg('categorytree-loading')));<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = $linkParentCTTag.data('ct-options') || mw.config.get('wgCategoryTreePageCategoryOptions');<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
$.get(mw.util.wikiScript(), {<br />
skin: mw.config.get('skin'),<br />
uselang: mw.config.get('wgUserLanguage'),<br />
debug: mw.config.get('debug'),<br />
action: 'ajax',<br />
rs: 'efCategoryTreeAjaxWrapper',<br />
rsargs: [ctTitle, ctOptions, 'json']<br />
}).done(function(data) {<br />
data = data.replace(/^\s+|\s+$/, '');<br />
data = data.replace(/##LOAD##/g, mw.msg('categorytree-expand'));<br />
if (data === '') {<br />
switch (ctMode) {<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
$children.html(data).find('.CategoryTreeToggle').click(ChandleNode);<br />
CshowToggles();<br />
}).fail(error);<br />
}<br />
<br />
$('.sitenoticetree').first().delay(5000).load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44727
MediaWiki:Common.js
2016-07-11T04:12:40Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
importScript('MediaWiki:Categorytreesitenotice.js');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
$('.sitenoticetree').first().next().load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').delay(5000).css('color', 'red');<br />
$("#SiteNotice").find('.CategoryTreeToggle').removeClass('.CategoryTreeToggle').click(ChandleNode());<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44726
MediaWiki:Common.js
2016-07-11T04:10:55Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
importScript('MediaWiki:Categorytreesitenotice.js');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
$('.sitenoticetree').first().next().load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').delay(5000).css('color', 'red').click(handleNode());<br />
$("#SiteNotice").find('.CategoryTreeToggle').removeClass('.CategoryTreeToggle');<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44725
MediaWiki:Common.js
2016-07-11T04:07:16Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
importScript('MediaWiki:Categorytreesitenotice.js');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
<br />
<br />
<br />
$('.sitenoticetree').first().load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').delay(5000).css('color', 'red').click(handleNode());<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44724
MediaWiki:Common.js
2016-07-11T04:06:19Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
importScript('MediaWiki:Categorytreesitenotice.js');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
<br />
<br />
<br />
$('.sitenoticetree').first().load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
$("#SiteNotice").find('.CategoryTreeToggle').delay(5000).css('color', 'red');//.click(handleNode());<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44723
MediaWiki:Common.js
2016-07-11T04:03:43Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
importScript('MediaWiki:Categorytreesitenotice.js');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
$('.sitenoticetree').first().delay(5000).load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44721
MediaWiki:Common.js
2016-07-11T03:57:44Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
importScript('MediaWiki:Categorytreesitenotice.js');<br />
$('.sitenoticetree').first().delay(5000).load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44720
MediaWiki:Common.js
2016-07-11T03:56:19Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
<br />
$('.sitenoticetree').first().delay(5000).load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44719
MediaWiki:Common.js
2016-07-11T03:53:54Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
<br />
$('.sitenoticetree').first().delay(5000).load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').delay(5000).css('display', 'inline');//.click(handleNode());<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44718
MediaWiki:Common.js
2016-07-11T03:52:16Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
<br />
$('.sitenoticetree').first().load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').delay(5000).css('display', 'inline');//.click(handleNode());<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44717
MediaWiki:Common.js
2016-07-11T03:51:03Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
<br />
$('.sitenoticetree').first().load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').wait(5000).css('display', 'inline');//.click(handleNode());<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44716
MediaWiki:Common.js
2016-07-11T03:48:53Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
<br />
$('.sitenoticetree').first().load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
$("#SiteNotice").wait(5000).find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44715
MediaWiki:Common.js
2016-07-11T03:47:45Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
<br />
$('.sitenoticetree').first().load('https://wiki.nuitdebout.fr/index.php?title=Sp%C3%A9cial%3AArbreCat%C3%A9gorie&target=NuitDebout&mode=categories&namespaces= .CategoryTreeResult');<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');//.click(handleNode());<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('color', 'red');//.click(handleNode());<br />
<br />
<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44711
MediaWiki:Common.js
2016-07-11T03:39:58Z
<p>Tuxun : Annulation des modifications 44710 de Tuxun (discussion)</p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44710
MediaWiki:Common.js
2016-07-11T03:37:45Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
$( document ).ready(<br />
function (r){<br />
<br />
TshowToggles();<br />
});<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44689
MediaWiki:Common.js
2016-07-11T03:07:58Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44677
MediaWiki:Common.js
2016-07-11T00:33:42Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
<br />
<br />
<br />
<br />
<br />
function fhandleNode(/*e*/) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(fhandleNode());<br />
<br />
<br />
//collapseNode,expandNode,fhandleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
<br />
//addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=Cat%C3%A9gorie:Pages_avec_des_liens_de_fichiers_bris%C3%A9s&diff=44613
Catégorie:Pages avec des liens de fichiers brisés
2016-07-10T23:32:52Z
<p>Tuxun : Page créée avec « Category:Catégorie_de_maintenance »</p>
<hr />
<div>[[Category:Catégorie_de_maintenance]]</div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=Outils/Numerique/Mumble&diff=44612
Outils/Numerique/Mumble
2016-07-10T23:30:45Z
<p>Tuxun : </p>
<hr />
<div>{{Intro frame top}}<br />
<!-- TABS --><br />
{{Boîte à outils numériques/tabs|This=11}}<br />
|style="padding: 2em;" |<br />
<!-- CONTENT --><br />
<div style="background-color:#f6f6f6; padding:10px 30px 30px 30px;"><br />
<gallery mode=packed heights=250px ><br />
Mumble.png<br />
</gallery><br />
</div><br />
<br/><br />
<br />
<div style="background-color:#f6f6f6; padding:10px 30px 30px 30px;"><br />
==Serveur d'audio-conférence Mumble par internet de Nuit Debout.==<br />
<br />
Ce serveur est destiné à plusieurs usages :<br />
<br />
* '''Annuaire des Radios relatives à Nuit Debout''', mise en réseau des Radios, de leurs animateurs, et auditeurs, avec possibilité d'écouter et de participer.<br />
* '''Retransmission audio et/ou audio-conférences multiplex inter-villes des AG'''.<br />
* '''Retransmission audio des Radios consacrées à Nuit Debout'''.<br />
* '''Audio-conférence pour les travaux des commissions''', permettant l'écoute et la participation distante d'utilisateurs à des réunions de commissions, inter-commissions, mais aussi inter-villes.<br />
* '''Outil d'audio-conférence''' libre pour permettre à des contributeurs de nuit debout de discuter ensembles.<br />
* '''Diffusion en direct du son des Périscopes (en cours de création).<br />
<br />
Il est basé sur l'outil libre (L'application) mumble, téléchargeable ici : [https://sourceforge.net/projects/mumble/ Téléchargement de Mumble].<br />
</div><br />
<br />
<br/><br />
<div style="background-color:#f6f6f6; padding:10px 30px 30px 30px;"><br />
==Participer aux audio-conférences de Nuit Debout sur Mumble:==<br />
<br /><br />
La participation aux audio-conférences de Nuit Debout sur Mumble par internet (AG, Réunion de commissions, Radios) se réalise avec un ordinateur ou un smartphone, en installant un programme particulier dénommé Mumble. Après avoir installé l'application Mumble (Disponible sur tous les systèmes d'exploitation, et pour tous les smartphones), insérez les paramètres suivants en créant un "nouveau serveur favori", puis connectez vous sur ce nouveau serveur favori pour vous connecter sur le serveur Mumble de Nuit Debout :<br />
<br />
* Adresse : mumble.nuitdebout.fr<br />
* Port: 64738<br />
* Votre pseudonyme (ne doit pas comprendre d'espace)<br />
<br />
Le champ Password doit être laissé vide.<br />
<br />
Pour en savoir plus, et obtenir des conseils pour installer l'application Pumble sur votre Smartphone ou votre ordinateur, cliquez ici sur l'[[Outils/Numerique/Mumble/Tutoriel|Aide pour l'installation et le parametrage de l'Application Mumble]]<br />
<br />
<br />
==Pour ceux qui organisent les AG : Matériel pour installer un multiplex audio AG <-> Mumble==<br />
<br /><br/><br />
'''Configuration de l'application Mumble sur le smartphone:'''<br />
<br /><br/><br />
Afin de pouvoir activer l'audio-conférence d'une AG via un Smartphone, vous devez modifier légèrement la configuration de votre application Mumble (iOS) ou Plumble (Android) afin de désactiver l'option "Appuyer-pour-parler" (Push-to-talk) pour activer, au choix, et par ordre de préférence :<br /><br />
<br /><br />
* "Mode Voice Activated" : Permet de faire en sorte que la transmission de l'audio du micro de l'AG vers mumble n'ait lieu que lorsque un intervenant parle dans le micro de l'AG. Veillez à tester la sensibilité du seuil de déclenchement de la transmission audio avec le micro de l'AG, de telle sorte que les bruits ambiants sur la place ne déclenchent pas l'émission intempestivement.<br /><br/> <br />
Cette solution à l'avantage d'éviter de façon garantie les phénomènes d'écho lorsqu'un intervenant parlera depuis le mumble vers les enceintes amplifiées de la place (Le son de l'intervenant par mumble qui est amplifié dans l'enceinte sur la place revient faiblement via le micro de l'AG vers le mumble, ce qui fait que l'intervenant par mumble s'entend en écho, ce qui est extrêmement perturbant pour lui). Un fois le seuil de déclenchement de l'émission audio est réglé suffisamment haut sur mumble, votre système est parfaitement opérationnel.<br /><br/><br />
Je vous invite a tester la conf avec un volontaire sur mumble avant chaque AG pour être sur que tout est bien réglé.<br /><br /> <br />
L'inconvénient de cette approche, contrairement à la suivante, c'est que les personnes sur mumble n'entendront donc pas les bruits de fond ou les voix basses à l'AG via le micro de l'AG : Ils n'entendront l'audio de l'AG uniquement quand quelqu'un parlera normalement dans le micro de l'AG.<br /><br /><br />
<br />
* "Mode Transmission Continue" : Dans ce mode, votre smartphone transmet l'audio du micro de l'AG en permanence.<br /><br /> <br />
L'avantage de cette solution étant néanmoins une meilleure retransmission audio de l'AG vers le mumble dans la mesure ou votre smartphone transmet l'audio en permanence vers le mumble (Y compris les voix basses et les bruits ambiants), alors qu'en mode "voice activated", il n'est pas nécessaire de couper le micro avec son interrupteur dans la mesure ou l'émission audio est activée uniquement lorsqu'on parle normalement dans le micro.<br /><br /><br />
L'inconvénient de ce système est que l'animateur qui gère le micro sur l'AG doit systématiquement "couper le micro" de l'AG avec l'interrupteur situé sur le micro chaque fois qu'une personne sur internet parle via le mumble, et de le rallumer dès que le contributeur par mumble à fini de parler. C'est donc une gestion manuelle des soucis d'échos qui à mon avis n'est pas recommandable pour les gens peu expérimentés.<br /> <br />
<br /><br />
<br /><br />
'''Enceinte sur roulettes, avec batterie longue durée, et micros : 150€'''<br /><br />
Ibiza Port 8 VHF - Enceinte sono portable - Haut parleur avec micro sans fil et micro fil et lecteur MP3 (USB SD, chassis ABS, batterie longue durée)<br /><br /><br />
[[Fichier:enceinte.jpg|400px|center]]<br />
<br />
<br />
'''cables 11€ :''' <br /> <br />
Hama Câble Jack 3,52 mm 4 pôles m / 3 rca (1 vidéo et 2 audio) ms 1,5 m Noir<br /><br /><br />
[[Fichier:cables.jpg|200px|center]]<br />
<br />
<br />
'''Adaptateur jack 2€ :'''<br /> <br />
6.35 mm mono mâle vers RCA femelle (plaqué or)<br /><br /><br />
[[Fichier:adaptateur.jpg|200px|center]]<br />
<br />
<br />
'''Multiprise jack Y 3€ :''' <br /> <br />
6,35 mm Mono Jack Fiche Vers Double 6,35 mm Mono Jack Femelle Diviseur adaptateur<br /><br /><br />
[[Fichier:multiprise.jpg|200px|center]]<br />
<br/><br/><br />
'''Les branchements'''<br /><br /><br />
[[Fichier:branchement1.jpg|300px|center]] &nbsp; [[Fichier:branchement2.png|300px|center]]<br />
<br/><br />
<br />
</div><br />
<br/><br />
<br />
<div style="background-color:#f6f6f6; padding:10px 30px 30px 30px;"><br />
=== Des questions ? ===<br />
<br/><br />
<div class="plainlinks" style="text-align:center;">[https://chat.nuitdebout.fr/channel/commission-numerique {{Bouton cliquable|Contactez-nous sur le tchat chat.nuitdebout.fr}}]</div><br />
<br/><br />
<div class="plainlinks" style="text-align:center; font-size:120%;">[mailto:stman@riseup.net {{Bouton cliquable|couleur=bleu|Envoyez-nous un courriel}}]</div><br />
</div><br />
<br/><br />
|}<br />
<br />
<br />
<br />
== Liste de sous-pages dans {{FULLPAGENAME}})==<br />
{{Special:Index/{{FULLPAGENAME}}/}}</div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44478
MediaWiki:Common.js
2016-07-09T01:56:17Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
<br />
<br />
<br />
<br />
<br />
function fhandleNode(/*e*/) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(fhandleNode());<br />
<br />
<br />
//collapseNode,expandNode,fhandleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44477
MediaWiki:Common.js
2016-07-09T01:53:59Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
<br />
<br />
<br />
<br />
<br />
function fhandleNode(/*e*/) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(fhandleNode);<br />
<br />
};<br />
//collapseNode,expandNode,fhandleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44476
MediaWiki:Common.js
2016-07-09T01:47:06Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
<br />
<br />
<br />
<br />
<br />
function fhandleNode(/*e*/) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(fhandleNode);<br />
<br />
});<br />
//collapseNode,expandNode,fhandleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44473
MediaWiki:Common.js
2016-07-09T01:32:04Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
<br />
<br />
<br />
<br />
<br />
function fhandleNode(/*e*/) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click( fhandleNode());<br />
<br />
});<br />
//collapseNode,expandNode,fhandleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44472
MediaWiki:Common.js
2016-07-09T01:30:10Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function fhandleNode() {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click( fhandleNode);<br />
<br />
});<br />
//collapseNode,expandNode,fhandleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44471
MediaWiki:Common.js
2016-07-09T01:28:19Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function fhandleNode( node ) {<br />
var $link = node;<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click( fhandleNode(e));<br />
<br />
});<br />
//collapseNode,expandNode,fhandleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44470
MediaWiki:Common.js
2016-07-09T01:26:04Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function handleNode( /*e*/ ) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click( handleNode(e));<br />
<br />
});<br />
//collapseNode,expandNode,handleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44469
MediaWiki:Common.js
2016-07-09T01:25:02Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function handleNode( /*e*/ ) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click( handleNode(e);<br />
<br />
});<br />
//collapseNode,expandNode,handleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44468
MediaWiki:Common.js
2016-07-09T01:24:00Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function handleNode( /*e*/ ) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(f) {<br />
f.preventDefault();<br />
<br />
handleNode(f);<br />
});<br />
});<br />
//collapseNode,expandNode,handleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44467
MediaWiki:Common.js
2016-07-09T01:21:36Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function handleNode( /*e*/ ) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
<br />
e.click(function(f) {<br />
f.preventDefault();<br />
<br />
handleNode(f);<br />
});<br />
});<br />
//collapseNode,expandNode,handleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44466
MediaWiki:Common.js
2016-07-09T01:12:20Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function handleNode( /*e*/ ) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(f) {<br />
f.preventDefault();<br />
<br />
handleNode(f);<br />
});<br />
});<br />
//collapseNode,expandNode,handleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44465
MediaWiki:Common.js
2016-07-09T01:09:43Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function handleNode( /*e*/ ) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(f) {<br />
f.preventDefault();<br />
<br />
handleNode( $(this).parent().next().toggle());<br />
});<br />
});<br />
//collapseNode,expandNode,handleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44464
MediaWiki:Common.js
2016-07-09T01:06:34Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function handleNode( /*e*/ ) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
handleNode(e.parent().parent().next());<br />
});<br />
//collapseNode,expandNode,handleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44463
MediaWiki:Common.js
2016-07-09T00:59:35Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function handleNode( /*e*/ ) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
$(this).parent().next().toggle();<br />
});<br />
//collapseNode,expandNode,handleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
handleNode(e.parent().parent().next());<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44462
MediaWiki:Common.js
2016-07-09T00:54:57Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function handleNode( /*e*/ ) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
$(this).parent().next().toggle();<br />
});<br />
//collapseNode,expandNode,handleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
handleNode(e.parent().next());<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44461
MediaWiki:Common.js
2016-07-09T00:53:09Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function handleNode( /*e*/ ) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
$(this).parent().next().toggle();<br />
});<br />
//collapseNode,expandNode,handleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
handleNode(e);<br />
// $(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44460
MediaWiki:Common.js
2016-07-09T00:48:18Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function handleNode( /*e*/ ) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline').click(function(e) {<br />
e.preventDefault();<br />
$(this).parent().next().toggle();<br />
});<br />
//collapseNode,expandNode,handleNode<br />
<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
$(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44459
MediaWiki:Common.js
2016-07-09T00:46:28Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function handleNode( /*e*/ ) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');<br />
//collapseNode,expandNode,handleNode<br />
$("SiteNotice").find('.CategoryTreeBullet').on('click',handleNode);<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
$(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun
https://wiki.nuit-debout.fr/index.php?title=MediaWiki:Common.js&diff=44458
MediaWiki:Common.js
2016-07-09T00:43:25Z
<p>Tuxun : </p>
<hr />
<div>/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */<br />
// Affiche un lien "Sous-pages" dans les outils.<br />
var subPagesLink = function($) {<br />
var NSWithoutSubpages = new Array(-1, 6, 14, 104, 105);<br />
if (NSWithoutSubpages.indexOf(mw.config.get('wgNamespaceNumber')) == -1) {<br />
mw.util.addPortletLink('p-tb', mw.config.get('wgServer') + '/wiki/Spécial:Index/' + mw.config.get('wgPageName') + '/', 'Sous-pages');<br />
}<br />
}<br />
$(document).ready(subPagesLink);<br />
<br />
<br />
/**<br />
* Boîtes déroulantes<br />
*<br />
* Pour [[Modèle:Méta palette de navigation]]<br />
*/<br />
<br />
var Palette_Enrouler = '[masquer]';<br />
var Palette_Derouler = '[afficher]';<br />
<br />
var Palette_max = 1;<br />
<br />
function Palette_toggle($table) {<br />
$table.find('tr:not(:first)').toggleClass('navboxHidden');<br />
}<br />
<br />
function Palette(element) {<br />
if (!element) {<br />
element = document;<br />
}<br />
var $tables = $(element).find('table.collapsible');<br />
var autoCollapse = $tables.length > Palette_max;<br />
<br />
$.each($tables, function(_, table) {<br />
var $table = $(table);<br />
var collapsed = $table.hasClass('collapsed') || (autoCollapse && $table.hasClass('autocollapse'));<br />
$table.find('tr:first th:first').prepend(<br />
$('<span class="navboxToggle">\u00a0</span>').append(<br />
$('<a href="#">' + (collapsed ? Palette_Derouler : Palette_Enrouler) + '</a>').click(function() {<br />
if ($(this).text() === Palette_Enrouler) {<br />
$(this).text(Palette_Derouler);<br />
} else {<br />
$(this).text(Palette_Enrouler);<br />
}<br />
Palette_toggle($table);<br />
return false;<br />
})<br />
)<br />
);<br />
if (collapsed) {<br />
Palette_toggle($table);<br />
}<br />
});<br />
}<br />
$(function() {<br />
Palette();<br />
});<br />
<br />
<br />
/**<br />
* Pour [[Modèle:Boîte déroulante]]<br />
*/<br />
<br />
var BoiteDeroulante_Enrouler = '[masquer]';<br />
var BoiteDeroulante_Derouler = '[afficher]';<br />
var BoiteDeroulante_max = 0;<br />
var BoiteDeroulante_index = -1;<br />
<br />
function BoiteDeroulante_toggle(indexBoiteDeroulante) {<br />
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);<br />
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);<br />
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);<br />
if (!NavFrame || !NavToggle || !CaptionContainer) return;<br />
var caption = [];<br />
var CaptionSpans = CaptionContainer.getElementsByTagName('span');<br />
caption[0] = CaptionSpans[0].innerHTML;<br />
caption[1] = CaptionSpans[1].innerHTML;<br />
<br />
var Contents = NavFrame.getElementsByTagName('div');<br />
if (NavToggle.innerHTML == caption[1]) {<br />
NavToggle.innerHTML = caption[0];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass('NavContent')) {<br />
Contents[a].style.display = 'none';<br />
return;<br />
}<br />
}<br />
} else {<br />
NavToggle.innerHTML = caption[1];<br />
for (var a = 0, m = Contents.length; a < m; a++) {<br />
if ($(Contents[a]).hasClass("NavContent")) {<br />
Contents[a].style.display = 'block';<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
function BoiteDeroulante(Element) {<br />
if (!Element) Element = document;<br />
var NavFrameCount = -1;<br />
var NavFrames = Element.getElementsByTagName("div");<br />
for (var i = 0, l = NavFrames.length; i < l; i++) {<br />
if ($(NavFrames[i]).hasClass('NavFrame')) {<br />
var NavFrame = NavFrames[i];<br />
NavFrameCount++;<br />
BoiteDeroulante_index++;<br />
<br />
if (NavFrame.title && NavFrame.title.indexOf("/") != -1) {<br />
var Enrouler = NavFrame.title.HTMLize().split("/")[1];<br />
var Derouler = NavFrame.title.HTMLize().split("/")[0];<br />
} else {<br />
var Enrouler = BoiteDeroulante_Enrouler;<br />
var Derouler = BoiteDeroulante_Derouler;<br />
}<br />
NavFrame.title = '';<br />
var CaptionContainer = document.createElement('span');<br />
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;<br />
CaptionContainer.style.display = "none";<br />
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';<br />
NavFrame.appendChild(CaptionContainer);<br />
<br />
var NavToggle = document.createElement("a");<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;<br />
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';<br />
var NavToggleText = document.createTextNode(Enrouler);<br />
NavToggle.appendChild(NavToggleText);<br />
<br />
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);<br />
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;<br />
if (BoiteDeroulante_max <= NavFrameCount) {<br />
BoiteDeroulante_toggle(BoiteDeroulante_index);<br />
}<br />
}<br />
}<br />
<br />
}<br />
<br />
mw.hook('wikipage.content').add(function() {<br />
BoiteDeroulante();<br />
});<br />
<br />
<br />
// ******************************* HOTCATSMULTI ******************************* //<br />
<br />
/**<br />
* Ajoute des liens après les catégories pour rapidement<br />
* supprimer / modifier / ajouter une catégorie sur un article.<br />
* Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.<br />
* Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]<br />
*<br />
* Auteur original : Magnus Manske<br />
* Adaptation pour WP:fr : Zelda<br />
* Adaptation édition multiple : Dr Brains<br />
*<br />
* {{Catégorisation JS|HotCatsMulti}}<br />
*/<br />
<br />
//<source lang=javascript><pre><nowiki><br />
///////////////////////// VARIABLES ////////////////////////////////////////////////////////<br />
<br />
//// PARAMÈTRES PERSONNALISABLES ////<br />
<br />
// Délai avant les suggestions, en ms<br />
window.hotcat_suggestion_delay = 200;<br />
<br />
// Taille de la liste déroulante (en items)<br />
window.hotcat_list_size = 10;<br />
<br />
// Nombre de catégories suggérées lors de la recherche (maximum autorisé : 4999 pour les sysop et les bots, 499 pour les autres utilisateurs)<br />
window.hotcat_list_items = 50;<br />
<br />
// Permet d'afficher la liste de suggestion vers le bas<br />
window.hotcat_list_down = false;<br />
<br />
// Permet d'enregistrer automatiquement la modification<br />
window.hotcat_autocommit = true;<br />
<br />
// Modification mineure ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Minoredit = 1;<br />
<br />
// Suivre la page modifiée ( -1 = défaut ; 0 = jamais ; 1 = toujours )<br />
window.hotcat_Watchthis = -1;<br />
<br />
// Activation automatique du mode "multi"<br />
window.hotcat_AutoMulti = false;<br />
<br />
// Afficher de la légende<br />
window.hotcat_ShowLegend = true;<br />
<br />
// Afficher sur une seule ligne<br />
window.hotcat_ShowInline = false;<br />
<br />
// Ne pas confirmer la suppression<br />
window.hotcat_SkipConfirm = false;<br />
<br />
// Ne pas afficher le récapitulatif<br />
window.hotcat_SkipRecap = false;<br />
<br />
// Afficher le bouton pour suggérer les catégories-mères<br />
window.hotcat_ParentButton = true;<br />
<br />
// Afficher le bouton pour suggérer les catégories-filles<br />
window.hotcat_DaughterButton = true;<br />
<br />
// Icônes pour signifier l'existence ou non de la catégorie choisie<br />
window.hotcat_exists_size = 20;<br />
window.hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png";<br />
window.hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png";<br />
<br />
// Lien vers la documentation<br />
window.hotcat_docURL = "//fr.wikipedia.org/wiki/Projet:JavaScript/Notices/HotCatsMulti#Fonctionnement";<br />
<br />
// ID du lien pour les catégories cachées<br />
window.hotcat_HiddenCatsLinkID = "mw-hidden-cats-link";<br />
<br />
// Titre de catégorie sensible à la casse de la première lettre<br />
window.hotcat_CaseSensitive = false;<br />
<br />
// Mode débuggage<br />
window.hotcat_DebugMode = false;<br />
<br />
// Groupe nécessaire pour appliquer une balise<br />
window.hotcat_TagGroup = "user";<br />
<br />
// Affichage pour une langue se lisant de droite à gauche.<br />
window.hotcat_rtl = $('body').hasClass('rtl');<br />
<br />
//// TEXTES ////<br />
<br />
window.hotcat_text_MultiLinkText = "(±)";<br />
window.hotcat_text_MultiLinkTitle = "Modifier plusieurs catégories";<br />
window.hotcat_text_MultiInputOK = "Valider";<br />
window.hotcat_text_MultiInputCancel = "Annuler";<br />
<br />
window.hotcat_text_Minoredit = "Édition mineure : $1";<br />
window.hotcat_text_Watchthis = "Suivre cette page : $1";<br />
window.hotcat_text_RadioDefault = "Défaut";<br />
window.hotcat_text_RadioYes = "Oui";<br />
window.hotcat_text_RadioNo = "Non";<br />
<br />
window.hotcat_text_LabelText = "Légende :";<br />
window.hotcat_text_LabelTitle = "Voir la page d\'aide (nouvelle fenêtre)";<br />
<br />
window.hotcat_text_DefaultSortText = "(D)";<br />
window.hotcat_text_DefaultSortTitle = "Ajouter/modifier/supprimer la clef de tri principale";<br />
<br />
window.hotcat_text_RemoveLinkText = "(–)";<br />
window.hotcat_text_RemoveLinkTitle = "Supprimer la catégorie « $1 »";<br />
window.hotcat_text_RemoveConfirm = "Voulez-vous vraiment supprimer la catégorie « $1 » ?";<br />
window.hotcat_text_ModifyLinkText = "(±)";<br />
window.hotcat_text_ModifyLinkTitle = "Modifier la catégorie « $1 »";<br />
window.hotcat_text_AddLinkText = "(+)";<br />
window.hotcat_text_AddLinkTitle = "Ajouter une catégorie";<br />
<br />
window.hotcat_text_Exists_YesTitle = "Cette catégorie existe.";<br />
window.hotcat_text_Exists_NoTitle = "Cette catégorie n'existe pas.";<br />
window.hotcat_text_ParentTitle = "Suggérer les catégories-mères";<br />
window.hotcat_text_ParentText = "↑";<br />
window.hotcat_text_DaughterTitle = "Suggérer les catégories-filles";<br />
window.hotcat_text_DaughterText = "↓";<br />
window.hotcat_text_InputOK = "OK";<br />
window.hotcat_text_InputCancel = "Annuler";<br />
<br />
window.hotcat_text_RecapTitle = 'Récapitulatif :';<br />
window.hotcat_text_RecapRemove = 'Catégories à supprimer';<br />
window.hotcat_text_RecapModify = 'Catégories à modifier';<br />
window.hotcat_text_RecapAdd = 'Catégories à ajouter';<br />
window.hotcat_text_RecapSort = 'Clef de tri globale';<br />
<br />
window.hotcat_text_AlertProblem1 = "Impossible de trouver la catégorie « $1 » - elle est peut-être incluse via un modèle.";<br />
window.hotcat_text_AlertProblem2 = "La catégorie « $1 » est déjà présente.";<br />
window.hotcat_text_AlertProblem3 = "Plusieurs occurrences de la catégorie « $1 » trouvées.";<br />
<br />
<br />
window.hotcat_text_ResumeScript = "[[Projet:JavaScript/Notices/HotCatsMulti|HotCatsMulti]] : ";<br />
<br />
window.hotcat_text_NoCatTemplate = "à catégoriser";<br />
<br />
window.hotcat_text_HotCatTag = "";<br />
if (mw.config.get('wgServer') == '//fr.wikipedia.org') window.hotcat_text_HotCatTag = "HotCats";<br />
<br />
<br />
//// VARIABLES NON PERSONNALISABLES ////<br />
<br />
window.hotcat_text_SystemMessage = {<br />
"red-link-title": false,<br />
"pagecategorieslink": false,<br />
"categories": false,<br />
"pagecategories": false<br />
};<br />
<br />
<br />
window.hotcat_Multi_Edit = false;<br />
window.hotcat_suggest_running = 0;<br />
window.hotcat_running = 0;<br />
window.hotcat_last_v = "";<br />
window.hotcat_last_key = "";<br />
window.hotcat_OldDefaultSort = "";<br />
window.hotcat_OldPageContent = false;<br />
window.hotcat_Form_Index = 1000;<br />
window.hotcat_NewCatsIndex = 2000;<br />
window.hotcat_CatNamespace = mw.config.get('wgFormattedNamespaces')[14] + ':';<br />
window.hotcat_DefaultsortAliases = [];<br />
window.hotcat_Multi_IsEditPage = ((mw.config.get('wgAction') == "edit") || (mw.config.get('wgAction') == "submit"));<br />
window.hotcat_Multi_IsSection = false;<br />
<br />
window.hotcat_SpanMatrix = [];<br />
window.hotcat_CatLinkMatrix = [];<br />
window.hotcat_CatLinkIsRedMatrix = [];<br />
window.hotcat_RemoveLinkMatrix = [];<br />
window.hotcat_ModifyLinkMatrix = [];<br />
window.hotcat_FormMatrix = [];<br />
window.hotcat_TextMatrix = [];<br />
window.hotcat_ListMatrix = [];<br />
window.hotcat_ExistMatrix = [];<br />
window.hotcat_CatNameMatrix = [];<br />
window.hotcat_SortMatrix = [];<br />
<br />
///////////////////////// AJAX ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_ajax = {<br />
http: function(bundle) {<br />
var xmlhttp;<br />
try {<br />
xmlhttp = new XMLHttpRequest();<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (e) {<br />
try {<br />
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (e) {<br />
xmlhttp = false;<br />
}<br />
}<br />
}<br />
if (xmlhttp) {<br />
xmlhttp.onreadystatechange = function() {<br />
if (xmlhttp.readyState == 4)<br />
hotcat_ajax.httpComplete(xmlhttp, bundle);<br />
};<br />
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);<br />
if (bundle.headers) {<br />
for (var field in bundle.headers)<br />
try {<br />
xmlhttp.setRequestHeader(field, bundle.headers[field]);<br />
} catch (err) {}<br />
}<br />
xmlhttp.send(bundle.data ? bundle.data : null);<br />
}<br />
return xmlhttp;<br />
},<br />
httpComplete: function(xmlhttp, bundle) {<br />
if (xmlhttp.status == 200 || xmlhttp.status == 302) {<br />
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);<br />
} else if (bundle.onFailure) {<br />
bundle.onFailure(xmlhttp, bundle);<br />
}<br />
}<br />
};<br />
<br />
<br />
///////////////////////// REQUÊTES PRÉLIMINAIRES ////////////////////////////////////////////////////////<br />
<br />
<br />
// RÉCUPÉRATION ALIAS DE LA CLEF DE TRI GLOBALE ET DES MESSAGES SYSTEME<br />
<br />
// Mise à jour du cookie<br />
<br />
window.hotcat_SetCookie = function(cookieName, cookieValue) {<br />
var now = new Date();<br />
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365);<br />
return jQuery.cookie(cookieName, cookieValue, {<br />
expires: nextYear,<br />
path: "/"<br />
});<br />
};<br />
<br />
// Interrogation du cookie<br />
<br />
window.hotcat_GetCookie = function(cookieName) {<br />
return jQuery.cookie(cookieName);<br />
};<br />
<br />
window.hotcat_getDefaultsortAliasesAndMessages = function(Mode) {<br />
var meta = [];<br />
var otherparams = {};<br />
var missingmessages = [];<br />
var CookieMessages = hotcat_GetCookie("hotcatmessages");<br />
if (CookieMessages) {<br />
CookieMessages = CookieMessages.split("||");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
var found = false;<br />
for (var a = 0, l = CookieMessages.length; a < l; a++) {<br />
if (CookieMessages[a].indexOf(Message + "::") !== 0) continue;<br />
found = true;<br />
hotcat_text_SystemMessage[Message] = CookieMessages[a].split("::")[1];<br />
}<br />
if (!found) missingmessages.push(Message);<br />
}<br />
<br />
} else {<br />
for (var Message in hotcat_text_SystemMessage) {<br />
missingmessages.push(Message);<br />
}<br />
}<br />
if (missingmessages.length > 0) {<br />
meta.push("allmessages");<br />
otherparams["ammessages"] = missingmessages.join("|");<br />
}<br />
var CookieDefaultsortAliases = hotcat_GetCookie("hotcatdefaultsortaliases");<br />
if (CookieDefaultsortAliases) {<br />
hotcat_DefaultsortAliases = CookieDefaultsortAliases.split("||");<br />
}<br />
if (hotcat_DefaultsortAliases.length === 0) {<br />
meta.push("siteinfo");<br />
otherparams["siprop"] = "magicwords";<br />
}<br />
if (meta.length === 0) {<br />
hotcat_getOldPageContent();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=' + meta.join("|");<br />
for (var paramname in otherparams) {<br />
URL += "&" + paramname + "=" + otherparams[paramname];<br />
}<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveDefaultsortAliasesAndMessages,<br />
nextcallback: hotcat_getOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveDefaultsortAliasesAndMessages = function(Req, data) {<br />
var Response = Req.responseXML;<br />
var MagicWords = Response.getElementsByTagName('magicword');<br />
if (MagicWords.length > 0) {<br />
for (var a = 0; a < MagicWords.length; a++) {<br />
var MagicWordName = MagicWords[a].getAttribute('name');<br />
if (MagicWordName == "defaultsort") {<br />
var Aliases = MagicWords[a].getElementsByTagName('alias');<br />
for (var b = 0; b < Aliases.length; b++) {<br />
var ThisAlias = Aliases[b].firstChild.nodeValue;<br />
ThisAlias = ThisAlias.replace(/:/g, "");<br />
if (hotcat_DefaultsortAliases.indexOf(ThisAlias) == -1) hotcat_DefaultsortAliases.push(ThisAlias);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatdefaultsortaliases", hotcat_DefaultsortAliases.join("||"));<br />
}<br />
var Messages = Response.getElementsByTagName('message');<br />
if (Messages.length > 0) {<br />
var cookievalue = [];<br />
for (var a = 0; a < Messages.length; a++) {<br />
var MessageName = Messages[a].getAttribute('name');<br />
var MessageContent = (Messages[a].firstChild ? Messages[a].firstChild.nodeValue : "");<br />
for (var Message in hotcat_text_SystemMessage) {<br />
if (MessageName == Message) {<br />
hotcat_text_SystemMessage[Message] = MessageContent;<br />
cookievalue.push(Message + "::" + MessageContent);<br />
}<br />
}<br />
}<br />
hotcat_SetCookie("hotcatmessages", cookievalue.join("||"));<br />
}<br />
if (typeof(data.nextcallback) === "function") data.nextcallback(data);<br />
};<br />
<br />
// RÉCUPÉRATION DU CONTENU ACTUEL DE LA PAGE (asynchrone ou synchrone)<br />
<br />
window.hotcat_getOldPageContent = function() {<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_receiveOldPageContent<br />
});<br />
};<br />
<br />
window.hotcat_receiveOldPageContent = function(Req, data) {<br />
hotcat_OldPageContent = Req.responseText;<br />
hotcat();<br />
};<br />
<br />
window.hotcat_gettag = function() {<br />
if (!hotcat_text_HotCatTag || !hotcat_TagGroup) return false;<br />
var UserGroups = mw.config.get('wgUserGroups');<br />
if (UserGroups === null) UserGroups = ["*"];<br />
if (UserGroups.indexOf(hotcat_TagGroup) !== -1) return hotcat_text_HotCatTag;<br />
return false;<br />
};<br />
<br />
<br />
// FONCTION DE TRANSFORMATION INITIALE<br />
<br />
window.hotcat = function() {<br />
if (hotcat_running !== 0) return;<br />
hotcat_running = 1;<br />
var catlinks = document.getElementById("catlinks");<br />
var hotcatStop = hotcat_getSectionNumber();<br />
if (hotcatStop) {<br />
if (catlinks) catlinks.parentNode.removeChild(catlinks);<br />
return;<br />
}<br />
if (!catlinks) {<br />
var bodyC = document.getElementById("bodyContent"); // Monobook, Chick, Simple, Mymw.config.get('skin'), Vector<br />
if (!bodyC) bodyC = document.getElementById("article"); // Cologneblue, Nostalgia, Standard<br />
if (!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern<br />
if (!bodyC) return;<br />
catlinks = document.createElement("div");<br />
catlinks.id = "catlinks";<br />
catlinks.className = "catlinks";<br />
catlinks = bodyC.appendChild(catlinks);<br />
} else {<br />
$(catlinks).removeClass("catlinks-allhidden");<br />
}<br />
if (typeof(hotcat_LangCustom) == "function") hotcat_LangCustom();<br />
if (typeof(hotcat_SiteCustom) == "function") hotcat_SiteCustom();<br />
if (typeof(hotcat_UserCustom) == "function") hotcat_UserCustom();<br />
if (mw.config.get('wgAction') == "edit") hotcat_list_down = true;<br />
var catline = document.getElementById('mw-normal-catlinks');<br />
if (!catline || catline === null || typeof catline == 'undefined') {<br />
catline = catlinks.insertBefore(document.createElement("div"), catlinks.firstChild);<br />
catline.id = "mw-normal-catlinks";<br />
}<br />
hotcat_append_firstlink(catline);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
if (hotcat_Multi_IsEditPage) {<br />
var CatLine = document.getElementById("catlinks");<br />
var PreviewWindow = document.getElementById("wikiPreview");<br />
if ((CatLine) && (PreviewWindow)) {<br />
CatLine.parentNode.removeChild(CatLine);<br />
PreviewWindow.parentNode.insertBefore(CatLine, PreviewWindow.nextSibling);<br />
hotcat_update_existing();<br />
}<br />
}<br />
};<br />
<br />
// DÉTERMINATION DE LA SECTION ÉDITÉE (si section et section != dernière ou section == new : arrêt hotCats)<br />
<br />
window.hotcat_getSectionNumber = function() {<br />
if (!hotcat_Multi_IsEditPage) return false;<br />
var SectionNumber = document.editform.wpSection.value;<br />
if (SectionNumber === "") return false;<br />
hotcat_Multi_IsSection = SectionNumber;<br />
if (SectionNumber === "new") return true;<br />
SectionNumber = parseInt(SectionNumber);<br />
hotcat_Multi_IsSection = SectionNumber;<br />
var SectionRegExp = new RegExp("[^=\\|\\{\n]*={1,6}[^=\n]+={1,6}\n", "ig");<br />
var Sections = hotcat_OldPageContent.match(SectionRegExp);<br />
if (Sections === null) return false;<br />
if (Sections.length === SectionNumber) return false;<br />
return true;<br />
};<br />
<br />
// CRÉATION DU LIEN "CATÉGORIES"<br />
<br />
window.hotcat_append_firstlink = function(catline, plural) {<br />
if (!hotcat_text_SystemMessage.pagecategorieslink || !hotcat_text_SystemMessage.categories || !hotcat_text_SystemMessage.pagecategories) {<br />
hotcat_GetMessages(false);<br />
}<br />
if (!catline.firstChild) {<br />
var a = document.createElement('a');<br />
a.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_text_SystemMessage.pagecategorieslink);<br />
a.title = hotcat_text_SystemMessage.categories;<br />
a.appendChild(document.createTextNode(hotcat_PLURAL(hotcat_text_SystemMessage.pagecategories, plural)));<br />
catline.appendChild(a);<br />
catline.appendChild(document.createTextNode(' : '));<br />
} else {<br />
catline.firstChild.title = hotcat_text_SystemMessage.categories;<br />
}<br />
};<br />
<br />
// MODIFICATION DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_modify_existing = function(catline) {<br />
var ul = catline.getElementsByTagName("ul")[0];<br />
if (!ul) { // ( Mediawiki < 1.18 )<br />
var spans = catline.getElementsByTagName("span");<br />
for (var i = 0, l = spans.length; i < l; i++) {<br />
hotcat_modify_span(spans[i], i);<br />
}<br />
return;<br />
}<br />
var lis = ul.getElementsByTagName("li");<br />
for (var i = 0, l = lis.length; i < l; i++) {<br />
var li = lis[i];<br />
var cat_link = li.getElementsByTagName('a')[0];<br />
var span = document.createElement('span');<br />
li.appendChild(span);<br />
span.appendChild(cat_link);<br />
hotcat_modify_span(span, i);<br />
}<br />
};<br />
<br />
// AJOUT DES LIENS (–) ET (±)<br />
<br />
window.hotcat_modify_span = function(span, i) {<br />
if (!hotcat_text_SystemMessage["red-link-title"]) hotcat_GetMessages(false);<br />
var cat_link = span.getElementsByTagName('a')[0];<br />
if (!cat_link) return;<br />
cat_link.id = "CatLink_" + i;<br />
var cat_title = cat_link.title;<br />
if (!cat_title) return;<br />
cat_title = cat_title.split(hotcat_CatNamespace).join('');<br />
cat_title = cat_title.replace(hotcat_text_SystemMessage["red-link-title"].split('$1').join(''), "");<br />
var sep1 = document.createTextNode(" ");<br />
span.id = "hotcat_Span_" + i;<br />
var a1 = document.createTextNode("(–)");<br />
var remove_link = document.createElement("a");<br />
var remove_id = "hotcat_remove_" + i;<br />
remove_link.id = remove_id;<br />
remove_link.href = "javascript:hotcat_remove(\"" + cat_title + "\"," + i + ");";<br />
remove_link.title = hotcat_text_RemoveLinkTitle.split("$1").join(cat_title);<br />
remove_link.appendChild(a1);<br />
span.appendChild(sep1);<br />
span.appendChild(remove_link);<br />
var mod_id = "hotcat_modify_" + i;<br />
var sep2 = document.createTextNode(" ");<br />
var a2 = document.createTextNode("(±)");<br />
var modify_link = document.createElement("a");<br />
modify_link.id = mod_id;<br />
modify_link.href = "javascript:hotcat_modify(\"" + cat_title + "\"," + i + ");";<br />
modify_link.title = hotcat_text_ModifyLinkTitle.split("$1").join(cat_title);<br />
modify_link.appendChild(a2);<br />
span.appendChild(sep2);<br />
span.appendChild(modify_link);<br />
hotcat_SpanMatrix[i] = span;<br />
hotcat_CatLinkMatrix[i] = cat_link;<br />
hotcat_CatLinkIsRedMatrix[i] = !!($(cat_link).hasClass("new"));<br />
hotcat_CatNameMatrix[i] = cat_title;<br />
hotcat_RemoveLinkMatrix[i] = remove_link;<br />
hotcat_ModifyLinkMatrix[i] = modify_link;<br />
};<br />
<br />
// AJOUT DU LIEN (+)<br />
<br />
window.hotcat_append_add_span = function(catline) {<br />
var Spans = catline.getElementsByTagName('span');<br />
var span_add = document.createElement('span');<br />
var a_add = document.createElement("a");<br />
var a_text = document.createTextNode(hotcat_text_AddLinkText);<br />
span_add.id = "hotcat_add";<br />
a_add.id = "hotcat_addlink";<br />
a_add.href = "javascript:hotcat_add_new(" + hotcat_Form_Index + ")";<br />
a_add.title = hotcat_text_AddLinkTitle;<br />
a_add.appendChild(a_text);<br />
span_add.appendChild(a_add);<br />
if (Spans[0]) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(span_add);<br />
hotcat_SpanMatrix[hotcat_Form_Index] = span_add;<br />
hotcat_Form_Index++;<br />
};<br />
<br />
///////////////////////// ÉDITION SIMPLE ////////////////////////////////////////////////////////<br />
<br />
// FONCTION DE RETRAIT D'UNE CATÉGORIE<br />
<br />
window.hotcat_remove = function(cat_title, Index) {<br />
if (!hotcat_Multi_Edit) {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
RemovedCategories.push(cat_title);<br />
if (hotcat_SkipConfirm || confirm(hotcat_text_RemoveConfirm.split("$1").join(cat_title))) {<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
}<br />
} else {<br />
var Span = hotcat_SpanMatrix[Index];<br />
if ($(Span).hasClass("AddedCatSpan")) {<br />
Span.parentNode.removeChild(Span);<br />
} else {<br />
var FirstLink = hotcat_CatLinkMatrix[Index];<br />
var OldCat = hotcat_CatNameMatrix[Index];<br />
FirstLink.innerHTML = OldCat;<br />
FirstLink.title = hotcat_CatNamespace + OldCat;<br />
FirstLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCat);<br />
$(FirstLink).addClass('RemovedCategory');<br />
$(FirstLink).removeClass("ModifiedCategory");<br />
if (hotcat_CatLinkIsRedMatrix[Index]) {<br />
if (!$(FirstLink).hasClass("new")) $(FirstLink).addClass("new");<br />
} else {<br />
$(FirstLink).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
};<br />
<br />
// MODIFICATION D'UNE CATÉGORIE<br />
<br />
window.hotcat_modify = function(catname, Index) {<br />
var link = hotcat_CatLinkMatrix[Index];<br />
var span = hotcat_SpanMatrix[Index];<br />
var Links = span.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "none";<br />
}<br />
span.firstChild.style.display = "none";<br />
hotcat_create_new_span(span, catname, Index);<br />
hotcat_text_changed(Index);<br />
};<br />
<br />
// AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_add_new = function(Index) {<br />
var span_add = document.getElementById("hotcat_add");<br />
span_add.getElementsByTagName('a')[0].style.display = "none";<br />
hotcat_create_new_span(span_add, "", Index);<br />
};<br />
<br />
// CRÉATION DU FORMULAIRE DE MODIFICATION OU D'AJOUT D'UNE CATÉGORIE<br />
<br />
window.hotcat_create_new_span = function(thespan, init_text, Index) {<br />
var DefaultSort = hotcat_defaultSort_getOneOld(init_text);<br />
if ($(thespan).hasClass("AddedCatSpan")) DefaultSort = hotcat_SortMatrix[Index];<br />
hotcat_CatNameMatrix[Index] = init_text;<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form" + Index;<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text" + Index;<br />
text.type = "text";<br />
text.value = init_text + DefaultSort;<br />
text.onkeyup = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
window.setTimeout("hotcat_text_changed(" + FormIndex + ");", hotcat_suggestion_delay);<br />
};<br />
var list = document.createElement("select");<br />
list.id = "hotcat_list" + Index;<br />
list.style.display = "none";<br />
list.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_replace(FormIndex);<br />
};<br />
var exists = document.createElement("img");<br />
exists.id = "hotcat_exists" + Index;<br />
exists.height = hotcat_exists_size;<br />
exists.width = hotcat_exists_size;<br />
exists.title = hotcat_text_Exists_NoTitle;<br />
exists.src = hotcat_exists_no;<br />
var ParentCats = document.createElement("input");<br />
ParentCats.id = "hotcat_parents" + Index;<br />
ParentCats.type = "button";<br />
ParentCats.value = hotcat_text_ParentText;<br />
ParentCats.title = hotcat_text_ParentTitle;<br />
ParentCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "UP");<br />
};<br />
var DaughterCats = document.createElement("input");<br />
DaughterCats.id = "hotcat_daughters" + Index;<br />
DaughterCats.type = "button";<br />
DaughterCats.value = hotcat_text_DaughterText;<br />
DaughterCats.title = hotcat_text_DaughterTitle;<br />
DaughterCats.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_text_changed(FormIndex, "DOWN");<br />
};<br />
var OK = document.createElement("input");<br />
OK.id = "hotcat_OK" + Index;<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_ok(FormIndex);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.id = "hotcat_cancel" + Index;<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var FormIndex = hotcat_getIndex(this);<br />
hotcat_cancel(FormIndex);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(list);<br />
form.appendChild(exists);<br />
if (hotcat_ParentButton) {<br />
form.appendChild(ParentCats);<br />
}<br />
if (hotcat_DaughterButton) {<br />
form.appendChild(DaughterCats);<br />
}<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
text.focus();<br />
hotcat_upDate_FormPositions();<br />
hotcat_FormMatrix[Index] = form;<br />
hotcat_TextMatrix[Index] = text;<br />
hotcat_ListMatrix[Index] = list;<br />
hotcat_ExistMatrix[Index] = exists;<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE<br />
<br />
window.hotcat_ok = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewCatName = Input.value.ucFirst().replace(/\|.*/, "");<br />
var NewDefaultSort = Input.value.ucFirst().split(NewCatName).join("");<br />
hotcat_SortMatrix[Index] = NewDefaultSort;<br />
if (NewCatName == "") {<br />
hotcat_cancel(Index);<br />
return;<br />
}<br />
if (hotcat_Multi_Edit == false) {<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) return;<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
if (TheSpan.id != "hotcat_add") {<br />
ModifiedCategories_from.push(OldCatName + OldDefaultSort);<br />
ModifiedCategories_to.push(NewCatName + NewDefaultSort);<br />
} else {<br />
AddedCategories.push(NewCatName + NewDefaultSort);<br />
}<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, hotcat_OldDefaultSort);<br />
} else {<br />
var Exist = (IfExist.title == hotcat_text_Exists_YesTitle);<br />
if (TheSpan.id != "hotcat_add") {<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
if ((!$(CatLink).hasClass("AddedCategory")) && (!$(CatLink).hasClass("ModifiedCategory"))) $(CatLink).addClass("ModifiedCategory");<br />
if ((OldCatName + OldDefaultSort) == (NewCatName + NewDefaultSort)) {<br />
$(CatLink).removeClass("ModifiedCategory");<br />
}<br />
$(CatLink).removeClass("RemovedCategory");<br />
} else {<br />
hotcat_NewCatsIndex++<br />
hotcat_CatNameMatrix[hotcat_NewCatsIndex] = NewCatName;<br />
hotcat_SortMatrix[hotcat_NewCatsIndex] = NewDefaultSort;<br />
var NewSpan = document.createElement('span');<br />
NewSpan.id = "hotcat_Span_" + hotcat_NewCatsIndex;<br />
NewSpan.className = "AddedCatSpan";<br />
CatLink = document.createElement('a');<br />
CatLink.id = "CatLink_" + hotcat_NewCatsIndex;<br />
CatLink.innerHTML = NewCatName;<br />
CatLink.title = hotcat_CatNamespace + NewCatName;<br />
CatLink.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + NewCatName);<br />
$(CatLink).addClass("AddedCategory");<br />
var RemoveLink = document.createElement('a');<br />
RemoveLink.innerHTML = hotcat_text_RemoveLinkText;<br />
RemoveLink.id = "hotcat_remove_" + hotcat_NewCatsIndex;<br />
RemoveLink.title = hotcat_text_RemoveLinkTitle.split("$1").join(NewCatName);<br />
RemoveLink.href = "javascript:hotcat_remove(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ");";<br />
var ModifyLink = document.createElement('a');<br />
ModifyLink.innerHTML = hotcat_text_ModifyLinkText;<br />
ModifyLink.id = "hotcat_modify_" + hotcat_NewCatsIndex;<br />
ModifyLink.title = hotcat_text_ModifyLinkTitle.split("$1").join(NewCatName);<br />
ModifyLink.href = "javascript:hotcat_modify(\"" + NewCatName + "\"," + hotcat_NewCatsIndex + ")";<br />
NewSpan.appendChild(CatLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(RemoveLink);<br />
NewSpan.appendChild(document.createTextNode(" "));<br />
NewSpan.appendChild(ModifyLink);<br />
NewSpan.appendChild(document.createTextNode(" | "));<br />
TheSpan.parentNode.insertBefore(NewSpan, TheSpan);<br />
hotcat_SpanMatrix[hotcat_NewCatsIndex] = NewSpan;<br />
hotcat_CatLinkMatrix[hotcat_NewCatsIndex] = CatLink;<br />
hotcat_RemoveLinkMatrix[hotcat_NewCatsIndex] = RemoveLink;<br />
hotcat_ModifyLinkMatrix.push[hotcat_NewCatsIndex] = ModifyLink;<br />
}<br />
if (!Exist) {<br />
$(CatLink).addClass("new");<br />
} else {<br />
$(CatLink).removeClass("new");<br />
}<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (var a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
}<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE<br />
<br />
window.hotcat_cancel = function(Index) {<br />
var Form = hotcat_FormMatrix[Index];<br />
var Input = hotcat_TextMatrix[Index];<br />
var TheSpan = hotcat_SpanMatrix[Index];<br />
var CatLink = hotcat_CatLinkMatrix[Index];<br />
var IfExist = hotcat_ExistMatrix[Index];<br />
var OldCatLink = hotcat_RemoveLinkMatrix[Index];<br />
TheSpan.removeChild(Form);<br />
var Links = TheSpan.getElementsByTagName('a');<br />
for (a = 0; a < Links.length; a++) {<br />
Links[a].style.display = "";<br />
}<br />
TheSpan.firstChild.style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
if (TheSpan.id != "hotcat_add") {<br />
document.getElementById("hotcat_modify_" + Index).focus();<br />
} else {<br />
document.getElementById("hotcat_addlink").focus();<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION MULTIPLE ////////////////////////////////////////////////////////<br />
<br />
// AJOUT DU LIEN (±)<br />
<br />
window.hotcat_append_multiedit_span = function(CatLine) {<br />
var FirstLink = CatLine.getElementsByTagName('a')[0];<br />
var Span = document.createElement('span');<br />
Span.id = 'hotcat_modify_multi_span';<br />
var Link = document.createElement('a');<br />
Link.id = "hotcat_modify_multi_Link";<br />
Link.innerHTML = hotcat_text_MultiLinkText;<br />
Link.title = hotcat_text_MultiLinkTitle;<br />
Link.href = "javascript:hotcat_multiedit_createForm();";<br />
Span.appendChild(Link);<br />
FirstLink.parentNode.insertBefore(Span, FirstLink.nextSibling);<br />
FirstLink.parentNode.insertBefore(document.createTextNode(" "), FirstLink.nextSibling);<br />
var DefaultSortSpan = document.createElement('span');<br />
DefaultSortSpan.id = 'hotcat_DefaultSort_span';<br />
var DefaultSortLink = document.createElement('a');<br />
DefaultSortLink.id = "hotcat_DefaultSort_Link";<br />
DefaultSortLink.innerHTML = hotcat_text_DefaultSortText;<br />
DefaultSortLink.title = hotcat_text_DefaultSortTitle;<br />
DefaultSortLink.href = "javascript:hotcat_defaultSort_createForm();";<br />
DefaultSortSpan.appendChild(DefaultSortLink);<br />
var OldDefaultSortSpan = document.createElement('span');<br />
OldDefaultSortSpan.style.display = "none";<br />
OldDefaultSortSpan.id = "OldDefaultSortSpan";<br />
DefaultSortSpan.appendChild(OldDefaultSortSpan);<br />
Span.parentNode.insertBefore(DefaultSortSpan, Span.nextSibling);<br />
Span.parentNode.insertBefore(document.createTextNode(" "), Span.nextSibling);<br />
if (hotcat_AutoMulti) hotcat_multiedit_createForm();<br />
};<br />
<br />
// CREATION DU FORMULAIRE "MULTI"<br />
<br />
window.hotcat_multiedit_createForm = function() {<br />
var OldForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (OldForms[0]) OldForms[0].parentNode.removeChild(OldForms[0]);<br />
var OldLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < OldLinks.length; a++) {<br />
OldLinks[a].style.display = "";<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
var OldSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
for (var a = 0; a < OldSpans.length; a++) {<br />
if (OldSpans[a].id != 'OldDefaultSortSpan') OldSpans[a].style.display = "";<br />
}<br />
if (!document.getElementById("hotcat_addlink")) hotcat_add_new(document.getElementById("hotcat_add"));<br />
var Legend = "";<br />
if (hotcat_ShowLegend) {<br />
Legend = '<small>' +<br />
'<a href="' + hotcat_docURL + '" title="' + hotcat_text_LabelTitle + '" target="_blank" ' +<br />
'style="color:#002BB8;padding:0.2em;margin-left:' + (hotcat_ShowInline ? 5 : 100) + 'px;">' +<br />
'&nbsp;<b>' + hotcat_text_LabelText + '</b>' +<br />
'&nbsp;<span class="RemovedCategory">' + hotcat_text_RecapRemove + '</span>' +<br />
'&nbsp;<span class="ModifiedCategory">' + hotcat_text_RecapModify + '</span>' +<br />
'&nbsp;<span class="AddedCategory">' + hotcat_text_RecapAdd + '</span>' +<br />
'</a>' +<br />
'</small>';<br />
}<br />
var BR = "";<br />
if (!hotcat_ShowInline) BR = "<br />";<br />
<br />
var RadioBoxes = "";<br />
if (!hotcat_Multi_IsEditPage) {<br />
var MinorOneChecked = ((hotcat_Minoredit == -1) ? 'checked="checked" ' : '');<br />
var MinorTwoChecked = ((hotcat_Minoredit == 0) ? 'checked="checked" ' : '');<br />
var MinorThreeChecked = ((hotcat_Minoredit == 1) ? 'checked="checked" ' : '');<br />
var WatchOneChecked = ((hotcat_Watchthis == -1) ? 'checked="checked" ' : '');<br />
var WatchTwoChecked = ((hotcat_Watchthis == 0) ? 'checked="checked" ' : '');<br />
var WatchThreeChecked = ((hotcat_Watchthis == 1) ? 'checked="checked" ' : '');<br />
RadioBoxes = '<span id="hotcat_RadioBoxes">' +<br />
'&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Minor" type="radio" name="Minor" ' + MinorOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Minor_0" type="radio" name="Minor" ' + MinorTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Minor-1" type="radio" name="Minor" ' + MinorThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Minoredit.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>&nbsp;&nbsp;<span style="border:1px dotted silver;padding:0.1em;">' +<br />
'<input id="Watch" type="radio" name="Watch" ' + WatchOneChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioDefault) + '" />' +<br />
'<input id="Watch0" type="radio" name="Watch" ' + WatchTwoChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioNo) + '" />' +<br />
'<input id="Watch1" type="radio" name="Watch" ' + WatchThreeChecked + ' style="cursor:pointer;" ' +<br />
'title="' + hotcat_text_Watchthis.split("$1").join(hotcat_text_RadioYes) + '" />' +<br />
'</span>' +<br />
'</span>';<br />
}<br />
<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Span = Link.parentNode;<br />
var Form = document.createElement('form');<br />
Form.id = "hotcat_modify_multi_form";<br />
Form.style.display = "inline";<br />
Form.innerHTML = '' +<br />
Legend +<br />
BR +<br />
'<input id="hotcat_modify_multi_InputOK" type="button" disabled="disabled" ' +<br />
'value="' + hotcat_text_MultiInputOK + '" ' +<br />
'onclick="hotcat_multiedit_FormOK()" onselect="hotcat_multiedit_FormOK()" />' +<br />
'<input id="hotcat_modify_multi_InputCancel" type="button" ' +<br />
'value="' + hotcat_text_MultiInputCancel + '" ' +<br />
'onclick="hotcat_multiedit_CancelForm()" onselect="hotcat_multiedit_CancelForm()" />' +<br />
RadioBoxes +<br />
BR;<br />
Span.appendChild(Form);<br />
Link.style.display = "none";<br />
hotcat_Multi_Edit = true;<br />
if (!hotcat_AutoMulti) document.getElementById("hotcat_modify_multi_InputCancel").focus();<br />
};<br />
<br />
// ANNULATION DU FORMULAIRE "MULTI" + MODIFICATION DES LIENS, FONCTIONS ET IDS DE LA BARRE DE CATÉGORIES<br />
<br />
window.hotcat_multiedit_CancelForm = function() {<br />
var Link = document.getElementById('hotcat_modify_multi_Link');<br />
var Form = document.getElementById('hotcat_modify_multi_form');<br />
if (Link) Link.style.display = "inline";<br />
var CatForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
while (CatForms[0]) {<br />
CatForms[0].parentNode.removeChild(CatForms[0]);<br />
}<br />
var CatSpans = document.getElementById('mw-normal-catlinks').getElementsByTagName('span');<br />
var SpanToRemove = [];<br />
for (var a = 1; a < CatSpans.length; a++) {<br />
if ($(CatSpans[a]).hasClass("AddedCatSpan")) SpanToRemove.push(CatSpans[a]);<br />
}<br />
for (var a = 0; a < SpanToRemove.length; a++) {<br />
SpanToRemove[a].parentNode.removeChild(SpanToRemove[a]);<br />
}<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
CatLinks[a].style.display = "inline";<br />
$(CatLinks[a]).removeClass("RemovedCategory");<br />
if ($(CatLinks[a]).hasClass("ModifiedCategory")) {<br />
var Index = hotcat_getIndex(CatLinks[a]);<br />
var Parent = CatLinks[a].parentNode;<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
hotcat_SortMatrix[Index] = OldDefaultSort;<br />
CatLinks[a].innerHTML = OldCatName;<br />
CatLinks[a].title = hotcat_CatNamespace + OldCatName;<br />
CatLinks[a].href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(hotcat_CatNamespace + OldCatName);<br />
$(CatLinks[a]).removeClass("ModifiedCategory");<br />
}<br />
if ($(CatLinks[a]).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSortSpan.innerHTML = hotcat_OldDefaultSort;<br />
$(CatLinks[a]).removeClass("ModifiedDefaultSort");<br />
}<br />
}<br />
for (var a = 0; a < hotcat_CatLinkMatrix.length; a++) {<br />
if (!hotcat_CatLinkMatrix[a]) continue;<br />
if (hotcat_CatLinkIsRedMatrix[a]) {<br />
if (!$(hotcat_CatLinkMatrix[a]).hasClass("new")) $(hotcat_CatLinkMatrix[a]).addClass("new");<br />
} else {<br />
$(hotcat_CatLinkMatrix[a]).removeClass("new");<br />
}<br />
}<br />
hotcat_Multi_Edit = false;<br />
Link.focus();<br />
};<br />
<br />
// VALIDATION DU FORMULAIRE "MULTI" + LISTING DES CATÉGORIES À ENLEVER/MODIFIER/AJOUTER<br />
<br />
window.hotcat_multiedit_FormOK = function() {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = hotcat_OldDefaultSort;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
var Index = hotcat_getIndex(Link);<br />
if ($(Link).hasClass("RemovedCategory")) {<br />
RemovedCategories.push(Link.innerHTML.ucFirst());<br />
}<br />
if ($(Link).hasClass("ModifiedCategory")) {<br />
var NewCatName = Link.innerHTML.ucFirst();<br />
var OldCatName = hotcat_CatNameMatrix[Index];<br />
var OldDefaultSort = hotcat_defaultSort_getOneOld(OldCatName);<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
if ((OldCatName + OldDefaultSort) != (NewCatName + NewDefaultSort)) {<br />
ModifiedCategories_from.push((OldCatName + OldDefaultSort));<br />
ModifiedCategories_to.push((NewCatName + NewDefaultSort));<br />
}<br />
}<br />
if ($(Link).hasClass("AddedCategory")) {<br />
var NewDefaultSort = hotcat_SortMatrix[Index];<br />
AddedCategories.push(Link.innerHTML.ucFirst() + NewDefaultSort);<br />
}<br />
if ($(Link).hasClass("ModifiedDefaultSort")) {<br />
var DefaultSortSpan = document.getElementById("OldDefaultSortSpan");<br />
DefaultSort = DefaultSortSpan.innerHTML;<br />
}<br />
}<br />
var RadioBoxesSpan = document.getElementById("hotcat_RadioBoxes");<br />
var RecapMinor = '';<br />
var RecapWatch = '';<br />
var Newhotcat_Minoredit = false;<br />
var Newhotcat_Watchthis = false;<br />
if (RadioBoxesSpan) {<br />
var RadioBoxes = RadioBoxesSpan.getElementsByTagName('input');<br />
for (var a = 0; a < RadioBoxes.length; a++) {<br />
if (RadioBoxes[a].type != "radio") continue;<br />
if (!RadioBoxes[a].checked) continue;<br />
var BoxName = RadioBoxes[a].name;<br />
var Number = hotcat_getIndex(RadioBoxes[a]);<br />
if (BoxName == "Minor") {<br />
var Minor = -1;<br />
var TextMinor = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Minor = Number;<br />
TextMinor = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Minoredit = Minor;<br />
RecapMinor += hotcat_text_Minoredit.split("$1").join(TextMinor) + '\n';<br />
} else if (BoxName == "Watch") {<br />
var Watch = -1;<br />
var TextWatch = hotcat_text_RadioDefault;<br />
if (Number == 0) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioNo;<br />
} else if (Number == 1) {<br />
Watch = Number;<br />
TextWatch = hotcat_text_RadioYes;<br />
}<br />
Newhotcat_Watchthis = Watch;<br />
RecapWatch += hotcat_text_Watchthis.split("$1").join(TextWatch) + '\n';<br />
}<br />
}<br />
}<br />
var TextrecapTitle = hotcat_text_RecapTitle + '\n\n';<br />
var TextRecap = TextrecapTitle;<br />
if (RemovedCategories[0]) {<br />
TextRecap += hotcat_text_RecapRemove + ' :\n';<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
TextRecap += '* « ' + RemovedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (ModifiedCategories_to[0]) {<br />
TextRecap += hotcat_text_RecapModify + ' :\n';<br />
for (var a = 0; a < ModifiedCategories_to.length; a++) {<br />
TextRecap += '* « ' + ModifiedCategories_from[a] + ' » -> « ' + ModifiedCategories_to[a] + ' »\n';<br />
}<br />
}<br />
if (AddedCategories[0]) {<br />
TextRecap += hotcat_text_RecapAdd + ' :\n';<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
TextRecap += '* « ' + AddedCategories[a] + ' »\n';<br />
}<br />
}<br />
if (DefaultSort != hotcat_OldDefaultSort) {<br />
TextRecap += hotcat_text_RecapSort + ' :\n';<br />
TextRecap += '* « ' + hotcat_OldDefaultSort + ' » -> « ' + DefaultSort + ' »\n';<br />
}<br />
if (TextRecap == TextrecapTitle) return;<br />
TextRecap += RecapMinor;<br />
TextRecap += RecapWatch;<br />
if (hotcat_SkipRecap || confirm(TextRecap)) {<br />
hotcat_Minoredit = Newhotcat_Minoredit;<br />
hotcat_Watchthis = Newhotcat_Watchthis;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
};<br />
<br />
// VÉRIFICATION DES CHANGEMENTS EFFECTUÉS<br />
<br />
window.hotcat_Multi_CheckForChanges = function() {<br />
if (!hotcat_Multi_Edit) return;<br />
var CatLinks = document.getElementById('mw-normal-catlinks').getElementsByTagName('a');<br />
var AnythingChanged = false;<br />
for (var a = 0; a < CatLinks.length; a++) {<br />
var Link = CatLinks[a];<br />
if (($(Link).hasClass("RemovedCategory")) || ($(Link).hasClass("ModifiedCategory")) || ($(Link).hasClass("AddedCategory")) || ($(Link).hasClass("ModifiedDefaultSort"))) {<br />
AnythingChanged = true;<br />
}<br />
}<br />
if (AnythingChanged) {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "";<br />
} else {<br />
document.getElementById('hotcat_modify_multi_InputOK').disabled = "disabled";<br />
}<br />
};<br />
<br />
///////////////////////// CLEFS DE TRI ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_getOld = function(ID) {<br />
var OldDefaultSpan = document.getElementById(ID);<br />
if (!OldDefaultSpan) return;<br />
var Page = hotcat_OldPageContent;<br />
for (var a = 0; a < hotcat_DefaultsortAliases.length; a++) {<br />
if (Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':') != -1) {<br />
var AvantCle = Page.substring(0, Page.indexOf('{{' + hotcat_DefaultsortAliases[a] + ':'));<br />
var Cle = Page.split(AvantCle).join('');<br />
Cle = Cle.substring(0, Cle.indexOf("}"));<br />
Cle = Cle.substring((Cle.indexOf(":") + 1), Cle.length);<br />
hotcat_OldDefaultSort = Cle;<br />
OldDefaultSpan.innerHTML = hotcat_OldDefaultSort;<br />
return;<br />
}<br />
}<br />
};<br />
<br />
// RÉCUPÉRATION CLEF DE TRI PARTICULIÈRE<br />
<br />
window.hotcat_defaultSort_getOneOld = function(TargetCategory) {<br />
var Page = hotcat_OldPageContent;<br />
var Key = "";<br />
var CurrentKey = "";<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + TargetCategory.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matches = Page.match(REGEXP);<br />
if (matches != null && matches.length == 1) {<br />
CurrentKey = Page.replace(REGEXP, "DEFAULTKEYstart$2DEFAULTKEYend");<br />
if ((CurrentKey.indexOf("DEFAULTKEYstart") != -1) && (CurrentKey.indexOf("DEFAULTKEYend") != -1)) {<br />
var Before = CurrentKey.split("DEFAULTKEYstart")[0] + "DEFAULTKEYstart";<br />
var After = "DEFAULTKEYend" + CurrentKey.split("DEFAULTKEYend")[1];<br />
CurrentKey = CurrentKey.split(Before).join("");<br />
CurrentKey = CurrentKey.split(After).join("");<br />
if (CurrentKey.indexOf('|') != -1) Key = CurrentKey;<br />
}<br />
}<br />
return Key;<br />
};<br />
<br />
// CRÉATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_defaultSort_createForm = function() {<br />
hotcat_defaultSort_getOld("OldDefaultSortSpan");<br />
var thespan = document.getElementById('hotcat_DefaultSort_span');<br />
var OldDefaultSort = thespan.getElementsByTagName('span')[0].innerHTML;<br />
thespan.getElementsByTagName('a')[0].style.display = "none";<br />
var form = document.createElement("form");<br />
form.id = "hotcat_form_Default";<br />
form.method = "post";<br />
form.onsubmit = function() {<br />
hotcat_Default_ok(this);<br />
return false;<br />
};<br />
form.style.display = "inline";<br />
var text = document.createElement("input");<br />
text.size = 40;<br />
text.id = "hotcat_text_Default";<br />
text.type = "text";<br />
text.value = OldDefaultSort;<br />
var OK = document.createElement("input");<br />
OK.type = "button";<br />
OK.value = hotcat_text_InputOK;<br />
OK.onclick = function() {<br />
hotcat_Default_ok(this.parentNode);<br />
};<br />
var cancel = document.createElement("input");<br />
cancel.type = "button";<br />
cancel.value = hotcat_text_InputCancel;<br />
cancel.onclick = function() {<br />
var Form = this.parentNode;<br />
hotcat_Default_Cancel(Form);<br />
};<br />
form.appendChild(text);<br />
form.appendChild(OK);<br />
form.appendChild(cancel);<br />
thespan.appendChild(form);<br />
hotcat_upDate_FormPositions();<br />
text.focus();<br />
};<br />
<br />
// ANNULATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_Cancel = function(Form) {<br />
var Span = Form.parentNode;<br />
Form.parentNode.getElementsByTagName('a')[0].style.display = "";<br />
Form.parentNode.removeChild(Form);<br />
if (hotcat_Multi_Edit) {<br />
Span.getElementsByTagName('span')[0].innerHTML = hotcat_OldDefaultSort;<br />
$(Span.getElementsByTagName('a')[0]).removeClass("ModifiedDefaultSort");<br />
Span.getElementsByTagName('a')[0].style.display = "";<br />
hotcat_Multi_CheckForChanges();<br />
}<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
};<br />
<br />
// VALIDATION FORMULAIRE CLEF DE TRI GLOBALE<br />
<br />
window.hotcat_Default_ok = function(Form) {<br />
var Text = document.getElementById("hotcat_text_Default");<br />
var OldDefaultSort = hotcat_OldDefaultSort;<br />
var NewDefaultSort = Text.value;<br />
if (!hotcat_Multi_Edit) {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var RemovedCategories = [];<br />
var ModifiedCategories_from = [];<br />
var ModifiedCategories_to = [];<br />
var AddedCategories = [];<br />
var DefaultSort = NewDefaultSort;<br />
hotcat_Edit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
}<br />
} else {<br />
if (OldDefaultSort == NewDefaultSort) {<br />
hotcat_Default_Cancel(Form);<br />
return;<br />
} else {<br />
var Span = Form.parentNode;<br />
Span.getElementsByTagName('span')[0].innerHTML = Text.value;<br />
var Link = Span.getElementsByTagName('a')[0];<br />
Link.style.display = "";<br />
$(Link).addClass("ModifiedDefaultSort");<br />
Form.parentNode.removeChild(Form);<br />
hotcat_Multi_CheckForChanges();<br />
hotcat_upDate_FormPositions();<br />
document.getElementById("hotcat_DefaultSort_Link").focus();<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// ÉDITION ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_Edit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
if (hotcat_Multi_IsEditPage) {<br />
hotcat_autocommit = false;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
hotcat_multiedit_CancelForm();<br />
return;<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_TrueEdit,<br />
removedcats: RemovedCategories,<br />
modifiedcatsfrom: ModifiedCategories_from,<br />
modifiedcatsto: ModifiedCategories_to,<br />
addedcats: AddedCategories,<br />
defaultsort: DefaultSort<br />
});<br />
};<br />
<br />
window.hotcat_TrueEdit = function(Req, data) {<br />
var RemovedCategories = data.removedcats;<br />
var ModifiedCategories_from = data.modifiedcatsfrom;<br />
var ModifiedCategories_to = data.modifiedcatsto;<br />
var AddedCategories = data.addedcats;<br />
var DefaultSort = data.defaultsort;<br />
while (document.body.firstChild) {<br />
document.body.removeChild(document.body.firstChild);<br />
}<br />
document.body.innerHTML = Req.responseText;<br />
hotcat_DoEdit(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort);<br />
};<br />
<br />
window.hotcat_DoEdit = function(RemovedCategories, ModifiedCategories_from, ModifiedCategories_to, AddedCategories, DefaultSort) {<br />
var prevent_autocommit = 0;<br />
if (typeof(hotcat_EditCustom) == "function") hotcat_EditCustom();<br />
if (hotcat_autocommit) document.editform.style.display = "none";<br />
for (var a = 0, l = ModifiedCategories_to.length; a < l; a++) {<br />
ModifiedCategories_to[a] = ModifiedCategories_to[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
for (var a = 0, l = AddedCategories.length; a < l; a++) {<br />
AddedCategories[a] = AddedCategories[a].replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
}<br />
var OldText = document.getElementById('wpTextbox1').value;<br />
var summary = [];<br />
for (var a = 0; a < RemovedCategories.length; a++) {<br />
var OldCatName = RemovedCategories[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var REGEXP = new RegExp("(\\s*)\\[\\[ *(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category) *: *" + OldCatName.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");<br />
var matchesCatName = OldText.match(REGEXP);<br />
if (matchesCatName != null && matchesCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP, "");<br />
summary.push(" – [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesCatNameUnsorted == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesCatNameUnsorted.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((RemovedCategories[0]) && ((ModifiedCategories_from[0]) || (AddedCategories[0]))) summary.push(" |");<br />
for (var a = 0; a < ModifiedCategories_from.length; a++) {<br />
var OldCatName = ModifiedCategories_from[a];<br />
var OldCatNameUnsorted = OldCatName.replace(/\|.*/, "");<br />
var NewCatName = ModifiedCategories_to[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP_OLD = hotcat_CreateRegExp(OldCatName);<br />
var REGEXP_NEW = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesOldCatName = OldText.match(REGEXP_OLD);<br />
var matchesNewCatName = OldText.match(REGEXP_NEW);<br />
if (((matchesNewCatName == null) || (OldCatNameUnsorted == NewCatNameUnsorted)) && matchesOldCatName != null && matchesOldCatName.length == 1) {<br />
OldText = OldText.replace(REGEXP_OLD, "$1[[" + hotcat_CatNamespace + NewCatName + "$6]]");<br />
summary.push(" ± [[" + hotcat_CatNamespace + OldCatNameUnsorted + "]]->[[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
} else {<br />
prevent_autocommit = 1;<br />
if (matchesOldCatName == null) {<br />
alert(hotcat_text_AlertProblem1.split('$1').join(OldCatNameUnsorted));<br />
} else if (matchesOldCatName.length > 1) {<br />
alert(hotcat_text_AlertProblem3.split('$1').join(OldCatNameUnsorted));<br />
} else if ((matchesNewCatName != null) && (OldCatNameUnsorted != NewCatNameUnsorted)) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
}<br />
}<br />
}<br />
if ((AddedCategories[0]) && (ModifiedCategories_from[0])) summary.push(" |");<br />
for (var a = 0; a < AddedCategories.length; a++) {<br />
var NewCatName = AddedCategories[a];<br />
var NewCatNameUnsorted = NewCatName.replace(/\|.*/, "");<br />
var REGEXP = hotcat_CreateRegExp(NewCatNameUnsorted);<br />
var matchesCatNameUnsorted = OldText.match(REGEXP);<br />
if (matchesCatNameUnsorted != null) {<br />
alert(hotcat_text_AlertProblem2.split('$1').join(NewCatNameUnsorted));<br />
prevent_autocommit = 1;<br />
continue;<br />
}<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig")<br />
var index = -1;<br />
while (re.exec(OldText) != null) index = re.lastIndex;<br />
var txt = "[[" + hotcat_CatNamespace + NewCatName + "]]";<br />
if (index < 0) { // no category<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
while (SuiteModele.indexOf('\n\n') != -1) {<br />
SuiteModele = SuiteModele.split("\n\n").join("\n");<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + txt + '\n\n' + SuiteModele;<br />
} else {<br />
OldText = OldText.substring(0, index) + '\n' + txt + OldText.substring(index);<br />
}<br />
summary.push(" + [[" + hotcat_CatNamespace + NewCatNameUnsorted + "]]");<br />
}<br />
if ((DefaultSort != hotcat_OldDefaultSort) && (DefaultSort != "undefined")) {<br />
var NewDefaultSort = "{{DEFAULTSORT:" + DefaultSort + "}}\n";<br />
var HasDefaultSort = null;<br />
for (var d = 0; d < hotcat_DefaultsortAliases.length; d++) {<br />
if (OldText.indexOf(hotcat_DefaultsortAliases[d]) != -1) HasDefaultSort = hotcat_DefaultsortAliases[d] + ":";<br />
}<br />
if (HasDefaultSort != null) {<br />
if (DefaultSort == "") {<br />
NewDefaultSort = "";<br />
summary.push("; – {{DEFAULTSORT:" + hotcat_OldDefaultSort + "}}");<br />
} else {<br />
summary.push("; ± {{DEFAULTSORT:}} : " + hotcat_OldDefaultSort + " -> " + DefaultSort);<br />
}<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}\n").join(NewDefaultSort);<br />
OldText = OldText.split("{{" + HasDefaultSort + hotcat_OldDefaultSort + "}}").join(NewDefaultSort);<br />
} else if (DefaultSort != "") {<br />
var re = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var index = re.exec(OldText);<br />
if (index == null) {<br />
var interWiki = new RegExp('^\\s*\\[\\[([a-z][a-z].?(x?-[^\\]]+)?|simple|tokipona):([^\\]]*)\\]\\]\\s*$');<br />
var blank = new RegExp('^\\s*$');<br />
var lines = OldText.split('\n');<br />
var DebutModele = '';<br />
var SuiteModele = '';<br />
for (var lineId = lines.length - 1; lineId >= 0; --lineId) {<br />
if (!interWiki.test(lines[lineId]) && !blank.test(lines[lineId])) {<br />
DebutModele = lines.slice(0, lineId + 1).join('\n') + '\n\n';<br />
SuiteModele = lines.slice(lineId + 1).join('\n');<br />
break;<br />
}<br />
}<br />
if (DebutModele === '') {<br />
// edge case: source has nothing else than interwikis<br />
SuiteModele = OldText;<br />
}<br />
SuiteModele = SuiteModele.replace(/^\n/, "");<br />
OldText = DebutModele + NewDefaultSort + '\n' + SuiteModele;<br />
} else {<br />
var lastindex = (re.lastIndex);<br />
var compile = re.compile(re);<br />
var FirstCat = re.exec(OldText).toString();<br />
FirstCat = FirstCat.replace(/\n/g, "");<br />
var Before = OldText.substring(0, lastindex).replace(FirstCat, "");<br />
var After = FirstCat + OldText.substring(lastindex);<br />
OldText = Before + NewDefaultSort + After;<br />
}<br />
summary.push("; + " + NewDefaultSort);<br />
}<br />
}<br />
var cat = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var nocat1 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}\n";<br />
var nocat1Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}\n";<br />
var nocat2 = "{{" + hotcat_text_NoCatTemplate.ucFirst() + "}}";<br />
var nocat2Bis = "{{" + hotcat_text_NoCatTemplate.lcFirst() + "}}";<br />
if (cat.exec(OldText) != null) {<br />
OldText = OldText.split(nocat1).join("");<br />
OldText = OldText.split(nocat1Bis).join("");<br />
OldText = OldText.split(nocat2).join("");<br />
OldText = OldText.split(nocat2Bis).join("");<br />
}<br />
document.getElementById('wpTextbox1').value = OldText;<br />
document.getElementById('wpSummary').value = hotcat_text_ResumeScript + summary.join("");<br />
if (!hotcat_Multi_IsEditPage) {<br />
if (hotcat_Minoredit == 1) document.editform.wpMinoredit.checked = true;<br />
if (hotcat_Minoredit == 0) document.editform.wpMinoredit.checked = false;<br />
if (hotcat_Watchthis == 1) document.editform.wpWatchthis.checked = true;<br />
if (hotcat_Watchthis == 0) document.editform.wpWatchthis.checked = false;<br />
}<br />
if ((hotcat_autocommit) && (prevent_autocommit != 1)) {<br />
var watchthisparam = {};<br />
watchthisparam[-1] = "nochange";<br />
watchthisparam[0] = "unwatch";<br />
watchthisparam[1] = "watch";<br />
var datas = {<br />
action: 'edit',<br />
title: mw.config.get('wgPageName'),<br />
text: OldText,<br />
summary: hotcat_text_ResumeScript + summary.join(""),<br />
watchlist: watchthisparam[hotcat_Watchthis],<br />
token: document.editform.wpEditToken.value<br />
};<br />
if (document.editform.wpMinoredit.checked) {<br />
datas['minor'] = 1;<br />
}<br />
var hotcattag = hotcat_gettag();<br />
if (hotcattag) {<br />
datas.summary = summary.join("");<br />
datas.tags = hotcattag;<br />
}<br />
var api = new mw.Api();<br />
api.post(datas, {<br />
'contentType': 'application/x-www-form-urlencoded'<br />
}).then(function(data) {<br />
window.location.reload();<br />
});<br />
return;<br />
}<br />
if (prevent_autocommit == 1) document.editform.style.display = "";<br />
if (hotcat_Multi_IsEditPage) hotcat_update_existing();<br />
};<br />
<br />
///////////////////////// SUGGESTIONS ////////////////////////////////////////////////////////<br />
<br />
// REQUÊTE DE SUGGESTIONS<br />
<br />
window.hotcat_text_changed = function(FormIndex, Mode, titles, catContinue) {<br />
if (hotcat_suggest_running) return;<br />
if (!Mode) Mode = false;<br />
if ((!FormIndex) || (FormIndex == "")) FormIndex = "0";<br />
if (!titles) titles = [];<br />
if (!catContinue) catContinue = "";<br />
var text = hotcat_TextMatrix[FormIndex];<br />
if (!text) {<br />
alert('PB hotcat_text_changed () : ' + FormIndex);<br />
return;<br />
}<br />
var v = text.value;<br />
v = hotcat_deleteUnwantedUnicodeChars(v);<br />
v = v.replace(new RegExp("^" + hotcat_CatNamespace, "ig"), "");<br />
v = v.ucFirst();<br />
text.value = v;<br />
if (v.indexOf("|") != -1) v = v.split("|")[0];<br />
var APILimit = (((mw.config.get('wgUserGroups').indexOf("sysop") != -1) || (mw.config.get('wgUserGroups').indexOf("bot") != -1)) ? 4999 : 499);<br />
if (hotcat_list_items > APILimit) hotcat_list_items = APILimit; // API max<br />
if (Mode == "UP") { // Suggestions catégories-mères<br />
var URL = "/api.php?format=xml&action=query&prop=categories&titles=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cllimit=" + hotcat_list_items;<br />
var TagName = "cl";<br />
var Replace = false;<br />
} else if (Mode == "DOWN") { // Suggestions catégories-filles<br />
var URL = "/api.php?format=xml&action=query&list=categorymembers&cmnamespace=14&cmtitle=" + hotcat_CatNamespace + encodeURIComponent(v) + "&cmlimit=" + APILimit + catContinue;<br />
var TagName = "cm";<br />
var Replace = false;<br />
} else { // Suggestions normales<br />
var URL = "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent(v) + "&aplimit=" + hotcat_list_items;<br />
var TagName = "p";<br />
var Replace = true;<br />
}<br />
hotcat_suggest_running = 1;<br />
if (v != "") {<br />
hotcat_ajax.http({<br />
url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL,<br />
onSuccess: hotcat_text_changedBis,<br />
tagname: TagName,<br />
replacetext: Replace,<br />
titles: titles,<br />
formindex: FormIndex,<br />
mode: Mode<br />
});<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
window.hotcat_text_changedBis = function(Req, data) {<br />
var titles = data.titles;<br />
var FormIndex = data.formindex;<br />
var Mode = data.mode;<br />
var TagName = data.tagname;<br />
var Replace = data.replacetext;<br />
var xml = Req.responseXML;<br />
if (xml == null) return;<br />
var pages = xml.getElementsByTagName(TagName);<br />
for (var i = 0; i < pages.length; i++) {<br />
var s = pages[i].getAttribute("title");<br />
if (s.indexOf(hotcat_CatNamespace) != -1) {<br />
s = s.split(hotcat_CatNamespace).join('');<br />
titles.push(s);<br />
}<br />
}<br />
var CanContinue = xml.getElementsByTagName("query-continue")[0];<br />
if (Mode == "DOWN" && CanContinue) {<br />
CanContinueId = "&cmcontinue=" + encodeURIComponent(CanContinue.firstChild.getAttribute("cmcontinue"));<br />
hotcat_suggest_running = 0;<br />
hotcat_text_changed(FormIndex, Mode, titles, CanContinueId);<br />
} else {<br />
hotcat_show_suggestions(titles, FormIndex, Replace);<br />
}<br />
};<br />
<br />
// AFFICHAGE DES SUGGESTIONS<br />
<br />
window.hotcat_show_suggestions = function(titles, FormIndex, Replace, Mode) {<br />
hotcat_suggest_running = 0;<br />
var text = hotcat_TextMatrix[FormIndex];<br />
var list = hotcat_ListMatrix[FormIndex];<br />
var icon = hotcat_ExistMatrix[FormIndex];<br />
if ((!text) || (!list) || (!icon)) {<br />
alert('PB hotcat_show_suggestions() : ' + FormIndex);<br />
return;<br />
}<br />
if (titles.length == 0) {<br />
list.style.display = "none";<br />
if (Replace) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
}<br />
return;<br />
}<br />
var TailleListe = hotcat_list_size;<br />
if (titles.length < TailleListe) TailleListe = titles.length;<br />
var listh = TailleListe * 20;<br />
list.size = 5;<br />
list.style.align = "left";<br />
list.style.zIndex = 5;<br />
list.style.position = "relative";<br />
list.style.width = text.offsetWidth + "px";<br />
list.style.height = listh + "px";<br />
while (list.firstChild) list.removeChild(list.firstChild);<br />
for (var i = 0; i < titles.length; i++) {<br />
var opt = document.createElement("option");<br />
var ot = document.createTextNode(titles[i]);<br />
opt.appendChild(ot);<br />
opt.value = titles[i];<br />
list.appendChild(opt);<br />
}<br />
if (hotcat_list_down) {<br />
list.style.top = parseInt(text.offsetHeight) + "px";<br />
list.style.marginBottom = "-" + (listh + parseInt(text.offsetHeight)) + "px";<br />
} else {<br />
list.style.marginTop = "-" + listh + "px";<br />
list.style.display = "inline";<br />
$(list).position({<br />
my: "left bottom",<br />
at: "left top",<br />
collision: "none",<br />
of: $(text)<br />
});<br />
}<br />
list.style.marginLeft = "-" + text.offsetWidth + "px";<br />
list.onkeyup = hotcat_KeypressedOnList;<br />
list.style.display = "inline";<br />
icon.title = hotcat_text_Exists_YesTitle;<br />
icon.src = hotcat_exists_yes;<br />
var first_title = titles.shift();<br />
hotcat_last_v = text.value.ucFirst();<br />
var hotcat_last_v_Split = hotcat_last_v;<br />
if (hotcat_last_v.indexOf('|') != -1) {<br />
hotcat_last_key = hotcat_last_v.substring(hotcat_last_v.indexOf("|"), hotcat_last_v.length);<br />
hotcat_last_v_Split = hotcat_last_v.split(hotcat_last_key).join('');<br />
} else {<br />
hotcat_last_key = "";<br />
}<br />
if (first_title == hotcat_last_v_Split) return;<br />
if (Replace) {<br />
var suggestion = first_title;<br />
if (suggestion.indexOf(hotcat_last_v_Split) == -1) {<br />
icon.src = hotcat_exists_no;<br />
icon.title = hotcat_text_Exists_NoTitle;<br />
return;<br />
}<br />
text.value = suggestion + hotcat_last_key;<br />
if (text.createTextRange) {<br />
var ra = text.createTextRange();<br />
ra.moveStart("character", hotcat_last_v.length);<br />
ra.moveEnd("character", suggestion.length);<br />
ra.select();<br />
} else if (text.setSelectionRange) {<br />
text.setSelectionRange(hotcat_last_v.length, suggestion.length);<br />
} else {<br />
text.selectionStart = hotcat_last_v.length;<br />
text.selectionEnd = suggestion.length;<br />
}<br />
} else {<br />
list.focus();<br />
}<br />
};<br />
<br />
// MISE A JOUR DE LA POSITION DES LISTES DE SUGGESTIONS<br />
<br />
window.hotcat_upDate_FormPositions = function() {<br />
var AllForms = document.getElementById('mw-normal-catlinks').getElementsByTagName('form');<br />
for (var a = 0; a < AllForms.length; a++) {<br />
if (AllForms[a].id == "hotcat_modify_multi_form") continue;<br />
if (AllForms[a].id == "hotcat_form_Default") continue;<br />
var ThisForm = AllForms[a];<br />
var ThisSelect = ThisForm.getElementsByTagName('select')[0];<br />
var Options = ThisSelect.getElementsByTagName('option');<br />
var ThisInput = ThisForm.getElementsByTagName('input')[0];<br />
var ListHeight = hotcat_list_size * 20;<br />
if (Options.length < hotcat_list_size) {<br />
ListHeight = Options.length * 20;<br />
}<br />
if (hotcat_list_down) {<br />
ThisSelect.style.top = parseInt(ThisInput.offsetHeight) + "px";<br />
ThisSelect.style.marginBottom = "-" + (ListHeight + parseInt(ThisInput.offsetHeight)) + "px";<br />
} else {<br />
ThisSelect.style.marginTop = "-" + ListHeight + "px";<br />
}<br />
ThisSelect.style.marginLeft = "-" + ThisInput.offsetWidth + "px";<br />
}<br />
};<br />
<br />
// SÉLECTION D'UNE SUGGESTION AU CLAVIER<br />
<br />
window.hotcat_KeypressedOnList = function(e) {<br />
if (!e) var e = window.event;<br />
if (e.keyCode != 13) return;<br />
hotcat_text_replace(hotcat_getIndex(this));<br />
};<br />
<br />
// REMPLACEMENT DU CHAMP DE TEXTE PAR UNE SUGGESTION<br />
<br />
window.hotcat_text_replace = function(Index) {<br />
var Text = hotcat_TextMatrix[Index];<br />
var TextValue = Text.value;<br />
var List = hotcat_ListMatrix[Index];<br />
var Options = List.getElementsByTagName('option');<br />
for (var a = 0; a < Options.length; a++) {<br />
if (Options[a].selected) {<br />
var ListValue = Options[a].value;<br />
if (TextValue.indexOf('|') != -1) {<br />
hotcat_last_key = TextValue.substring(TextValue.indexOf("|"), TextValue.length);<br />
}<br />
Text.value = ListValue + hotcat_last_key;<br />
hotcat_text_changed(Index);<br />
Text.focus();<br />
return;<br />
}<br />
}<br />
};<br />
<br />
///////////////////////// MISE A JOUR BARRE DE CATÉGORIES ////////////////////////////////////////////////////////<br />
<br />
window.hotcat_update_existing = function() {<br />
var OldText = document.getElementById("wpTextbox1").value;<br />
OldText = hotcat_update_existing_Strip(OldText);<br />
var catRegExp = new RegExp("\\[\\[(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):[^\\]]+\\]\\]", "ig");<br />
var Matches = OldText.match(catRegExp);<br />
var Cats = [];<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var ThisMatch = Matches[a];<br />
ThisMatch = ThisMatch.replace(new RegExp("\\[\\[(" + mw.config.get('wgFormattedNamespaces')[14] + "|Category):", "ig"), "");<br />
ThisMatch = ThisMatch.replace(new RegExp("\\]\\]", "ig"), "");<br />
var ThisCat = ThisMatch.replace(/\|.*/g, "");<br />
Cats.push(ThisCat);<br />
}<br />
}<br />
hotcat_update_existing_Exists(Cats);<br />
};<br />
<br />
window.hotcat_update_existing_Strip = function(Text) {<br />
Text = hotcat_update_existing_StripTag(Text, "<nowiki[^>]*>", "</" + "nowiki>");<br />
Text = hotcat_update_existing_StripTag(Text, "<includeonly[^>]*>", "</" + "includeonly>");<br />
Text = hotcat_update_existing_StripTag(Text, "<pre[ ]+[^>]*>", "</" + "pre>");<br />
Text = hotcat_update_existing_StripTag(Text, "<source[ ]+[^>]*>", "</" + "source>");<br />
Text = hotcat_update_existing_StripTag(Text, "<syntaxhighlight[ ]*[^>]*>", "</" + "syntaxhighlight>");<br />
Text = hotcat_update_existing_StripTag(Text, "<!--[\\-]*", "-->");<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_StripTag = function(Text, StartTag, EndTag) {<br />
var TagRegExp = new RegExp(StartTag, "ig");<br />
var Matches = Text.match(TagRegExp);<br />
if (Matches != null) {<br />
for (var a = 0, l = Matches.length; a < l; a++) {<br />
var BeforeTag = Text.substring(0, Text.indexOf(Matches[a]));<br />
var AfterTag = Text.substring(BeforeTag.length, Text.length);<br />
if (AfterTag.indexOf(EndTag) == -1) {<br />
AfterTag = "";<br />
} else {<br />
AfterTag = AfterTag.substring((AfterTag.indexOf(EndTag) + (EndTag.length)), AfterTag.length);<br />
}<br />
Text = BeforeTag + AfterTag;<br />
if (Text.match(TagRegExp) == null) break;<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
window.hotcat_update_existing_Exists = function(Cats, NewCats) {<br />
if (!Cats[0]) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
if (!NewCats) NewCats = [];<br />
var CatTitles = [];<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
CatTitles.push(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURIComponent(Cats[a]));<br />
}<br />
var URL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=info&titles=' + CatTitles;<br />
hotcat_ajax.http({<br />
url: URL,<br />
onSuccess: hotcat_update_existing_ExistsBis,<br />
cats: Cats,<br />
newcats: NewCats<br />
});<br />
};<br />
<br />
window.hotcat_update_existing_ExistsBis = function(Req, data) {<br />
var Cats = data.cats;<br />
var NewCats = data.newcats;<br />
<br />
var ObjetXML = Req.responseXML;<br />
if (!ObjetXML) {<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
return;<br />
}<br />
var Pages = ObjetXML.getElementsByTagName('page');<br />
for (var a = 0, l = Pages.length; a < l; a++) {<br />
var Page = Pages[a];<br />
var Title = Page.getAttribute("title").split(mw.config.get('wgFormattedNamespaces')[14] + ":").join("");<br />
var Index = Cats.indexOf(Title);<br />
if (Index == -1) continue;<br />
var Missing = Page.getAttribute("missing");<br />
if (Missing == "") {<br />
NewCats[Index] = true;<br />
} else {<br />
NewCats[Index] = false;<br />
}<br />
}<br />
hotcat_update_existing_Update(Cats, NewCats);<br />
};<br />
<br />
window.hotcat_update_existing_Update = function(Cats, NewCats) {<br />
var CatLine = document.getElementById("mw-normal-catlinks");<br />
var catline = document.createElement("div");<br />
catline.id = "mw-normal-catlinks";<br />
CatLine.parentNode.insertBefore(catline, CatLine);<br />
var plural = (Cats.length != 1);<br />
hotcat_append_firstlink(catline, plural);<br />
for (var a = 0, l = Cats.length; a < l; a++) {<br />
var Cat = Cats[a];<br />
var Link = document.createElement('a');<br />
Link.title = mw.config.get('wgFormattedNamespaces')[14] + ":" + Cat;<br />
Link.appendChild(document.createTextNode(Cat));<br />
Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(mw.config.get('wgFormattedNamespaces')[14] + ":" + encodeURI(Cat));<br />
if (NewCats[a]) Link.className = "new";<br />
var Span = document.createElement('span');<br />
Span.appendChild(Link);<br />
if (a != 0) catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(Span);<br />
}<br />
var HiddenCatsLink = document.getElementById(hotcat_HiddenCatsLinkID);<br />
if (HiddenCatsLink) {<br />
HiddenCatsLink.parentNode.removeChild(HiddenCatsLink);<br />
catline.appendChild(document.createTextNode(' | '));<br />
catline.appendChild(HiddenCatsLink);<br />
}<br />
CatLine.parentNode.removeChild(CatLine);<br />
hotcat_modify_existing(catline);<br />
hotcat_append_add_span(catline);<br />
hotcat_append_multiedit_span(catline);<br />
};<br />
<br />
<br />
///////////////////////// DIVERS ////////////////////////////////////////////////////////<br />
<br />
// RÉCUPÉRATION DU N° D'INDEX<br />
<br />
window.hotcat_getIndex = function(Element) {<br />
return parseInt(Element.id.replace(/[^0-9]/g, ""));<br />
};<br />
<br />
// GESTION {{PLURAL:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_PLURAL = function(Text, Plural) {<br />
var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Plural) {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[1];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// GESTION {{GENDER:}} (MESSAGES SYSTÈME)<br />
<br />
window.hotcat_GENDER = function(Text, Gender) {<br />
var PluralRegExp = new RegExp("\\{\\{GENDER[^\\}]+\\}\\}", "ig");<br />
var Matches = Text.match(PluralRegExp);<br />
if (Matches != null) {<br />
for (var b = 0, m = Matches.length; b < m; b++) {<br />
var Match = Matches[b];<br />
var Params = Match.split('}}').join('').split('|');<br />
var Result = "";<br />
if (Gender == "male") {<br />
Result = Params[1];<br />
} else if (Gender == "female") {<br />
Result = Params[2];<br />
} else {<br />
Result = Params[3];<br />
}<br />
if (!Result) Result = "";<br />
Text = Text.replace(Match, Result);<br />
}<br />
}<br />
return Text;<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MAJUSCULE<br />
<br />
String.prototype.ucFirst = function() {<br />
return this.substr(0, 1).toUpperCase() + this.substr(1, this.length);<br />
};<br />
<br />
// PREMIÈRE LETTRE EN MINUSCULE<br />
<br />
String.prototype.lcFirst = function() {<br />
return this.substr(0, 1).toLowerCase() + this.substr(1, this.length);<br />
};<br />
<br />
window.hotcat_CreateRegExp = function(Cat) {<br />
if (hotcat_CaseSensitive) {<br />
Cat = Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1");<br />
} else {<br />
Cat = "(" + Cat.ucFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + "|" + Cat.lcFirst().replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + ")";<br />
}<br />
var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:" + mw.config.get('wgFormattedNamespaces')[14] + "|Category)( |_)*:( |_)*" + Cat + "( |_)*(\\|[^\\]]*)?\\]\\]", "g");<br />
return CatRegExp;<br />
};<br />
<br />
// Retrait de caractères unicode indésirables<br />
<br />
window.hotcat_deleteUnwantedUnicodeChars = function(Text) {<br />
return Text.replace(/\u200E|\u200F|\u202A|\u202B|\u202C|\u202D|\u202E/g, '');<br />
};<br />
<br />
///////////////////////// LANCEMENT ////////////////////////////////////////////////////////<br />
<br />
<br />
window.hotcat_Launch = function() {<br />
var hotcat_CanEdit = true;<br />
var RestrictionEdit = mw.config.get('wgRestrictionEdit');<br />
var Groups = mw.config.get('wgUserGroups');<br />
if (RestrictionEdit !== null && typeof(RestrictionEdit) === 'object' && RestrictionEdit.length > 0) {<br />
hotcat_CanEdit = false;<br />
if (Groups !== null && typeof(Groups) === 'object') {<br />
for (var a = 0, l = RestrictionEdit.length; a < l; a++) {<br />
if (Groups.indexOf(RestrictionEdit[a]) != -1) hotcat_CanEdit = true;<br />
}<br />
}<br />
}<br />
if (!hotcat_CanEdit) return;<br />
// Définition styles CSS<br />
mw.loader.addStyleTag("" +<br />
".RemovedCategory { text-decoration:line-through;background-color:#FF9999; } " +<br />
".ModifiedCategory { background-color:#CCCC77; } " +<br />
".AddedCategory { background-color:#99FF99; } " +<br />
".ModifiedDefaultSort { background-color:#CCCC77; } " +<br />
"#catlinks, #catlinks div { text-align:" + (window.hotcat_rtl ? 'right' : 'left') + " !important; } " +<br />
"#mw-normal-catlinks * { display:inline; } " +<br />
"#catlinks option { display:block !important; } "<br />
);<br />
var HCMmodules = [<br />
mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Gadget-HotCatsMultiCustomEdit.js&action=raw&ctype=text/javascript'<br />
];<br />
var Lang = mw.config.get('wgUserLanguage');<br />
if (!Lang) Lang = mw.config.get('wgContentLanguage');<br />
if (Lang && Lang !== "fr") {<br />
HCMmodules.push('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js/i18n/' + Lang + '.js&action=raw&ctype=text/javascript');<br />
}<br />
// Lancement<br />
mw.loader.implement("HotCatsModules", HCMmodules, {}, {}, {});<br />
mw.loader.using(["HotCatsModules", "jquery.ui.position"], function() {<br />
$(hotcat_getDefaultsortAliasesAndMessages);<br />
});<br />
};<br />
<br />
<br />
if (mw.config.get('wgNamespaceNumber') > -1 && mw.config.get('wgNamespaceNumber') % 2 === 0 && document.URL.indexOf("printable=yes") == -1 && ["history", "delete"].indexOf(mw.config.get('wgAction')) === -1) {<br />
hotcat_Launch();<br />
}<br />
/////////////////////////////////////////////////////////<br />
////////////categorytree sur mediawki/sitenotice////////<br />
//// https://www.mediawiki.org/wiki/Extension:CategoryTree/fr#Using_CategoryTree_in_the_Sidebar ///<br />
<br />
<br />
//1<br />
function AppendCategoryTreeToSidebar() {<br />
try {<br />
var node = document.getElementById("p-tb")<br />
.getElementsByTagName('div')[0]<br />
.getElementsByTagName('ul')[0];<br />
<br />
var aNode = document.createElement('a');<br />
var liNode = document.createElement('li');<br />
<br />
aNode.appendChild(document.createTextNode('ArbresDesCategories'));<br />
aNode.setAttribute('href', 'https://wiki.nuitdebout.fr/wiki/Outils/Numerique/Wiki/ArbreDesCategories');<br />
liNode.appendChild(aNode);<br />
liNode.className = 'plainlinks';<br />
node.appendChild(liNode);<br />
} catch (e) {<br />
// lets just ignore what's happened<br />
return;<br />
}<br />
}<br />
/////////////////////////////////////////////////////////<br />
addOnloadHook(AppendCategoryTreeToSidebar);<br />
//test2!<br />
/**<br />
* JavaScript for the CategoryTree extension.<br />
*<br />
* @file<br />
* @ingroup Extensions<br />
* @author Daniel Kinzler, brightbyte.de<br />
* @copyright © 2006 Daniel Kinzler<br />
* @licence GNU General Public Licence 2.0 or later<br />
*/<br />
/**<br />
* Handles clicks on the expand buttons, and calls the appropriate function<br />
*<br />
* @context {Element} CategoryTreeToggle<br />
* @param e {jQuery.Event}<br />
*/<br />
function handleNode( /*e*/ ) {<br />
var $link = $(this);<br />
if ($link.data('ct-state') === 'collapsed') {<br />
expandNode($link);<br />
} else {<br />
collapseNode($link);<br />
}<br />
}<br />
<br />
/**<br />
* Expands a given node (loading it's children if not loaded)<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function expandNode($link) {<br />
// Show the children node<br />
var $children = $link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren');<br />
$children.show();<br />
<br />
$link<br />
.text(mw.msg('categorytree-collapse-bullet'))<br />
.attr('title', mw.msg('categorytree-collapse'))<br />
.data('ct-state', 'expanded');<br />
<br />
if (!$link.data('ct-loaded')) {<br />
loadChildren($link, $children);<br />
}<br />
}<br />
<br />
/**<br />
* Collapses a node<br />
*<br />
* @param {jQuery} $link<br />
*/<br />
function collapseNode($link) {<br />
// Hide the children node<br />
$link.parents('.CategoryTreeItem')<br />
.siblings('.CategoryTreeChildren').hide();<br />
<br />
$link<br />
.text(mw.msg('categorytree-expand-bullet'))<br />
.attr('title', mw.msg('categorytree-expand'))<br />
.data('ct-state', 'collapsed');<br />
}<br />
<br />
/**<br />
* Loads children for a node via an HTTP call<br />
*<br />
* @param {jQuery} $link<br />
* @param {jQuery} $children<br />
*/<br />
function loadChildren($link, $children) {<br />
var $linkParentCTTag, ctTitle, ctMode, ctOptions;<br />
<br />
/**<br />
* Error callback<br />
*/<br />
function error() {<br />
var $retryLink;<br />
<br />
$retryLink = $('<a>')<br />
.text(mw.msg('categorytree-retry'))<br />
.attr('href', '#')<br />
.click(function(e) {<br />
e.preventDefault();<br />
loadChildren($link, $children);<br />
});<br />
<br />
$children<br />
.text(mw.msg('categorytree-error') + ' ')<br />
.append($retryLink);<br />
}<br />
<br />
$link.data('ct-loaded', true);<br />
<br />
$children.append(<br />
$('<i class="CategoryTreeNotice"></i>')<br />
.text(mw.msg('categorytree-loading'))<br />
);<br />
<br />
$linkParentCTTag = $link.parents('.CategoryTreeTag');<br />
<br />
// Element may not have a .CategoryTreeTag parent, fallback to defauls<br />
// Probably a CategoryPage (@todo: based on what?)<br />
ctTitle = $link.data('ct-title');<br />
ctMode = $linkParentCTTag.data('ct-mode');<br />
ctMode = typeof ctMode === 'number' ? ctMode : undefined;<br />
ctOptions = JSON.stringify($linkParentCTTag.data('ct-options'));<br />
if (!ctOptions) {<br />
ctOptions = mw.config.get('wgCategoryTreePageCategoryOptions');<br />
}<br />
<br />
// Mode and options have defaults or fallbacks, title does not.<br />
// Don't make a request if there is no title.<br />
if (typeof ctTitle !== 'string') {<br />
error();<br />
return;<br />
}<br />
<br />
new mw.Api().get({<br />
action: 'categorytree',<br />
category: ctTitle,<br />
options: ctOptions,<br />
uselang: mw.config.get('wgUserLanguage'),<br />
formatversion: 2<br />
}).done(function(data) {<br />
data = data.categorytree.html;<br />
<br />
if (data === '') {<br />
switch (ctMode) {<br />
// CT_MODE_CATEGORIES = 0<br />
case 0:<br />
data = mw.msg('categorytree-no-subcategories');<br />
break;<br />
// CT_MODE_PAGES = 10<br />
case 10:<br />
data = mw.msg('categorytree-no-pages');<br />
break;<br />
// CT_MODE_PARENTS = 100<br />
case 100:<br />
data = mw.msg('categorytree-no-parent-categories');<br />
break;<br />
// CT_MODE_ALL = 20<br />
default:<br />
data = mw.msg('categorytree-nothing-found');<br />
}<br />
<br />
data = $('<i class="CategoryTreeNotice"></i>').text(data);<br />
}<br />
<br />
$children<br />
.html(data)<br />
.find('.CategoryTreeToggle')<br />
.click(handleNode);<br />
<br />
showToggles();<br />
})<br />
.fail(error);<br />
}<br />
<br />
<br />
<br />
<br />
/**<br />
* Sets display inline to tree toggle<br />
*/<br />
function showToggles() {<br />
<br />
$("#SiteNotice").find('.CategoryTreeToggle').css('display', 'inline');<br />
//collapseNode,expandNode,handleNode<br />
$("SiteNotice").find('.CategoryTreeBullet').click(handleNode);<br />
/*<br />
<br />
$("SiteNotice").find('.CategoryTreeBullet').click(function(e) {<br />
e.preventDefault();<br />
$(this).parent().next().toggle();<br />
});<br />
*/<br />
<br />
}<br />
addOnloadHook(showToggles());<br />
<br />
//</nowiki></pre></source></div>
Tuxun