MediaWiki:Monobook.js

From BoyWiki
Revision as of 16:15, 23 September 2012 by Connor (talk | contribs) (New page: →‎Any JavaScript here will be loaded for users using the MonoBook skin: →‎Append an Agora link to Navigation menu (if connected): function addlinkportletmenu() { if (wgUserName !...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for users using the MonoBook skin */

/* Append an Agora link to Navigation menu (if connected) */

function addlinkportletmenu() {
  if (wgUserName != null)
  addPortletLink("p-navigation", "https://en.boywiki.org/wiki/BoyWiki:Agora",
"Agora", "n-agora", "to exchange or document on the management and writing of
BoyWiki");
}

addOnloadHook(addlinkportletmenu);

/* For the 'dialogue' pages attribute the dialog class to body */
/* Used by css to colorize indentation in Agora */

function attrib_class_dialog() {
  /* only for Agora or discussion pages */
  var bodyclass = document.body.className;
  if (bodyclass.match(/page-BoyWiki_Agora/)
        || bodyclass.match(/page-Discussion_/)
        || bodyclass.match(/page-Discuss_/))
     document.body.className = bodyclass + ' dialog';
}

addOnloadHook(attrib_class_dialog);

/* Agora : if new sub-page created append un title section link (called by
submit) */

function pgagora_insert_topsection() {
  /* only if agora new page and write permission */
  if (wgAction != 'edit' && wgAction != 'submit') return true;
  if (wgUserGroups == null || wgUserGroups.join("
").match(/scribe|sysop|fsc|bureaucrat/) == null) return true;
  if (wgPageName == null || wgPageName.match(/^BoyWiki:Agora\//) == null)
return true;
  if (wgTitle == null) return true;
  if (wgArticleId != 0) return true;
  if (document.forms['editform'].elements['wpSummary'] == undefined) return true;
  if
(document.getElementById('wpSummaryLabel').firstChild.firstChild.data.match(/Sujet\/titre/)
== null) return true;
 
  /* retrieve text */
  var content = document.forms['editform'].elements['wpTextbox1'].value;
  /* if title already present */
  if (content.match(/^\n?=\[\[[^\]\/]*Agora\/[^\]]*\]\]=/)) return true;
  /* otherwise copy subject sub-title */
  var subject = document.forms['editform'].elements['wpSummary'].value;
  document.forms['editform'].elements['wpSummary'].value = "";
  if (subject.length) subject = "=="+subject+"==\n";
  /* and insert title + subject at beginning of page */
  var title = "=[[BoyWiki:"+wgTitle+"|"+wgTitle+"]]=\n";
  document.forms['editform'].elements['wpTextbox1'].value =  title + subject
+ content;
  return true;
}

/* Manage call to function() on submit action before sendind the page  */

function initeventpostform() {
  if (wgAction == 'edit' || wgAction == 'submit') {
     if (document.forms['editform'] == undefined ||
document.forms['editform'].elements['wpTextbox1'] == undefined) return;
     document.forms['editform'].onsubmit = function() {
        /* for agora pages: append section title link */
        pgagora_insert_topsection();
        /* other function */
       
     }
  }
}

addOnloadHook(initeventpostform);