User:Flominator/flos functions.js

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
var what_is_it_summary_inserted = false;
 function insert_link_before(tagname, previous_element, linkcode)
 {
 	var vl_logout = document.getElementById(previous_element);
 	if (vl_logout) 
 	{
 		var ins_li = document.createElement(tagname);
 		ins_li.innerHTML=/* */linkcode;/* */
 		 vl_logout.parentNode.insertBefore(ins_li, vl_logout);
 	}
 }

 function insert_information_template()
 {
    info_template= "{{Information\n|Description=\n|Source=\n|Date=\n|Author=\n|Permission=\n|other_versions=\n}}"
  insert_into_textarea(document.forms[0].wpTextbox1, info_template)
  document.forms[0].wpSummary.value=document.forms[0].wpSummary.value + " " + "{{information}}";
}

 
 function insert_painting_template()
 {
   painting_template = "{{Artwork\n|Title = \n|Artist = {{Creator:}}\n|Year = \n|Technique = \n|Dimensions = {{Size|cm||}}\n|Gallery = \n|Location = \n|Notes = \n|Source = \n|Permission = \n|Other versions = \n}}";
  insert_into_textarea(document.forms[0].wpTextbox1, painting_template);
  document.forms[0].wpSummary.value=document.forms[0].wpSummary.value + " " + "{{painting}}";
 
 }

 function insert_translation (lang)
 {
  ta = document.forms[0].wpTextbox1;
  if((!ta.selectionEnd) || (ta.selectionEnd==ta.selectionStart))
  {
    trans = window.prompt("Translation in " + lang);
  }
  else
  {
    pos = ta.selectionStart;
    trans =  ta.value.substr(ta.selectionStart, ta.selectionEnd-ta.selectionStart);
    ta.value = ta.value.substr(0, ta.selectionStart) + ta.value.substr(ta.selectionEnd);
    ta.selectionStart=pos;
    ta.selectionEnd= ta.selectionStart;
  }
  if(trans!=null)
  {
   trans_template = "{{" + lang + "|" + trans + "}}";
   insert_into_textarea(ta, trans_template);
   document.forms[0].wpSummary.value=document.forms[0].wpSummary.value + " " + "{{" + lang + "}}";
  }
 }
  
 function insert_into_textarea(ta, insert_text)
 {
 	var wgPageName = mw.config.get('wgPageName');
   if(wgPageName=='Special:Upload')
   {
    ta = document.getElementById("wpUploadDescription");
   }
   pos = ta.selectionStart;
   ta.value = ta.value.substr(0, pos) + insert_text + ta.value.substr(pos);

 }

 function replace_stuff()
 {
  /* <nowiki> */
  var form = document.forms["editform"]; 
  if (!form) return;
  var wgTitle = mw.config.get('wgTitle');
  if(wgTitle!= "Flominator/flos functions.js")
  {
   var text = form.elements["wpTextbox1"];
   var cat_small = new RegExp("");
   text.value = text.value
      .replace(/^Bild:/gm,    "Image:")
      .replace(/^Datei:/gm,    "Image:")
      .replace(/^Image:/gm,    "File:")
      .replace(/\[category:/gm,    "[Category:")
      .replace(/{{BotMoveToCommons\|de.wikipedia}}/gm,    "")
      .replace(/__NOTOC__/gm,    "")
      .replace(/{{uncat}} <!-- Remove this line once you have added categories -->/gm,    "")
      .replace(/Original uploader was /gm,    "")
      .replace(/ at \[http:\/\/de\.wikipedia.org de\.wikipedia\]/gm,    "")
      .replace(/ at \[http:\/\/en\.wikipedia.org en\.wikipedia\]/gm,    "")
      .replace(/\n{3,}/g, "\n")
      .replace(/^\n/, "") 
      .replace(/Created by ~~~\./gm,    "self-made")
      .replace(/\[http:\/\/www.freilichtmuseum-neuhausen.de/g,    "[["); 
   /* </nowiki> */
   }
 }

 function insert_self_licenses()
 {
   insert_into_textarea(document.forms[0].wpTextbox1, "{{self2|GFDL|cc-by-sa-2.5,2.0,1.0|author=}}");
 }

 function insert_first_uploader()
 {
  var uploader = getFirstUploaderAPI ();
  var wiki_uploader = '[[User:' + uploader + '|' + uploader + ']]';
  insert_into_textarea(document.forms[0].wpTextbox1, wiki_uploader);
 }
 
 function show_infobox()
 {
  var info_links = '<a href="#" onclick="insert_information_template()">Information</a>';

  var paint_link = '&nbsp;<a href="#" onclick="insert_painting_template()">Paint</a>';

  var trans_link_de = '<a href="#" onclick="insert_translation(\'de\')"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Flag_of_Germany.svg/15px-Flag_of_Germany.svg.png" border="0"></a>';

  var trans_link_en = '<a href="#" onclick="insert_translation(\'en\')"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Flag_of_the_United_Kingdom.svg/15px-Flag of the United Kingdom.svg.png" border="0"></a>';

  var trans_links = 'Trans: ' + trans_link_de + ' ' + trans_link_en;
  
  var insert_self_links = '<a href="#" onclick="insert_self_licenses()">self</a>&nbsp;<a href="#" onclick="insert_first_uploader()">Uploader</a>';

  var infobox = '<ul><li>' + info_links + paint_link + '</li><li>' + trans_links + '</li><li>' + insert_self_links + '</li></ul>';

  insert_link_before("div", "p-participate", infobox);
 }

 function categories_to_the_end ()
 {
 	var wgAction = mw.config.get('wgAction');
  if(wgAction=="edit")
  {
   //document.forms[0].wpTextbox1.value=document.forms[0].wpTextbox1.value.replace(/([\s\S]*)((\[\[Category:[^\]]+\]\]\s*)+)([\s\S]*)/, "$1$4$2");
  }
 }

 function check_for_categories ()
 {
 	var wgAction = mw.config.get('wgAction');
  if(wgAction=="edit")
  {
   cats_there = document.forms[0].wpTextbox1.value.search(/([\s\S]*)((\[\[Category:[^\]]+\]\]\s*)+)([\s\S]*)/);
   if(cats_there==-1)
   {
     alert ("Please insert categories!");
   }
  }
 }

 function mark_as_minor_edit(is_checked)
 {
  document.forms[0].wpMinoredit.checked = is_checked;
 }

function getFirstUploaderAPI () {
	var wgNamespaceNumber = mw.config.get('wgNamespaceNumber');
	var  wgPageName = mw.config.get('wgPageName');
 /*Written by Magnus Manske (who else?)*/
  if ( wgNamespaceNumber != 6 ) return '' ; // Not an image
  var title = wgPageName ;
  var request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0");
  var url = "https://commons.wikimedia.org/w/api.php?action=query&format=xml&prop=imageinfo&iihistory&iiprop=timestamp|user|url&titles="+title ;
  request.open("GET", url, false);
  request.send(null);
  var xml = request.responseXML ;
  var iis = xml.getElementsByTagName('ii') ;
  var ret = '' ;
  for ( i = 0 ; i < iis.length ; i++ ) {
    ret = iis[i].getAttribute('user');
  }
  return ret ;
 }

 function add_what_is_it()
 {
 	
 	var wgTitle = mw.config.get('wgTitle');
  var iframe = '<iframe width="100" src="https://tools.wmflabs.org/multidesc/?title=&baseon=en&commons_title=&image=' + wgTitle + '&doit=Do+it%21&raw=1" onmouseover="summarize_what_is_it();"></iframe>'

  /*
  window.captureEvents(Event.KEYPRESS); window.onkeypress = Ausgabe; function Ausgabe (Ereignis) { alert("Sie haben die Taste mit dem Wert " + Ereignis.which + " gedrueckt"); }
*/

  insert_link_before("li", "p-tb", iframe );
 }
 function summarize_what_is_it()
 {
  if(what_is_it_summary_inserted==false)
  {
    var summary = document.forms[0].wpSummary.value + ' info from [[toollabs:multidesc|multidesc]]  added';
    document.forms[0].wpSummary.value = summary;
    what_is_it_summary_inserted = true;
  }
 }

 function addcroplink()
 {
 	var wgNamespaceNumber = mw.config.get('wgNamespaceNumber');
 	var wgTitle  = mw.config.get('wgTitle');
   if(wgNamespaceNumber == 6)
   {
      if(wgTitle.match(/(.*)\.(jpg|jpeg)/gi))
      {
          var croplink = "http://tools.wmflabs.org/cropbot/cropbot.php?img="+wgTitle;
          mw.util.addPortletLink("p-tb", croplink, "Crop", "p-crop", "Crop this image", "o", false);
      }
   }
 }

 function lookForDupes()
 {
   var dupes = document.getElementById('mw-imagepage-section-duplicates');
   if(dupes) 
   {
    alert("Dubletten vorhanden");
   }
  }

$(addcroplink);
$(document).trigger('loadWikiScript', ['User:Flominator/flos functions.js']);