User:Living Concrete/sandboxreset.js

/* Script works with Template:X* and Wikipedia:Sandbox, as well as the introduction sandboxes. *//* Based off of [[User:VoA/monobook.js]]. */addOnloadHook(function() {  if(wgPageName == "Wikipedia:Sandbox" || (wgPageName.lastIndexOf("Wikipedia:Tutorial") != -1 && wgPageName.lastIndexOf("/sandbox") != -1))  {    mw.util.addPortletLink('p-cactions', "javascript:sandboxReset(0)", "reset", "ca-sand", "Reset the Sandbox", "");    mw.util.addPortletLink('p-cactions', "javascript:sandboxReset(1)", "rake", "ca-sand", "Rake in Sandbox Header", "");    if(document.URL.lastIndexOf("&sandboxautoreset=true") == -1)      return;    var form = document.editform;    if(document.URL.lastIndexOf("&rake=yes") == -1) {      if(wgPageName.lastIndexOf("Wikipedia:Tutorial") != -1 && wgPageName.lastIndexOf("/sandbox") != -1)        form.wpTextbox1.value = "{{Please leave this line alone (tutorial sandbox heading)}}\n" + "<!-- Hello! Feel free to try your formatting and editing skills below this line. As this page is for editing experiments, this page will automatically be cleaned every 12 hours. -->";      else        form.wpTextbox1.value = "{{Please leave this line alone (sandbox heading)}}\n" + "<!-- Hello! Feel free to try your formatting and editing skills below this line. As this page is for editing experiments, this page will automatically be cleaned every 12 hours. -->";      form.wpSummary.value = "[[User:Ember of Light/sandboxreset.js|JavaScript assisted edit]]: Resetting the sandbox.";      form.wpSave.click();    }    else if(document.URL.lastIndexOf("&rake=no") == -1) {      if(wgPageName.lastIndexOf("Wikipedia:Tutorial") != -1 && wgPageName.lastIndexOf("/sandbox") != -1) {        if(form.wpTextbox1.value.lastIndexOf("{{Please leave this line alone (tutorial sandbox heading)}}") != -1) {          alert("Heading already exists on page. No need for a rake.");          return;        }      } else {        if(form.wpTextbox1.value.lastIndexOf("{{Please leave this line alone (sandbox heading)}}") != -1) {          alert("Heading already exists on page. No need for a rake.");          return;        }      }      if(wgPageName.lastIndexOf("Wikipedia:Tutorial") != -1 && wgPageName.lastIndexOf("/sandbox") != -1)        form.wpTextbox1.value = "{{Please leave this line alone (tutorial sandbox heading)}}\n" + "<!-- Hello! Feel free to try your formatting and editing skills below this line. As this page is for editing experiments, this page will automatically be cleaned every 12 hours. -->\n" + form.wpTextbox1.value;      else        form.wpTextbox1.value = "{{Please leave this line alone (sandbox heading)}}\n" + "<!-- Hello! Feel free to try your formatting and editing skills below this line. As this page is for editing experiments, this page will automatically be cleaned every 12 hours. -->\n" + form.wpTextbox1.value;      form.wpSummary.value = "[[User:Ember of Light/sandboxreset.js|JavaScript assisted edit]]: Rake in sandbox header.";      form.wpSave.click();    }  }  else if(wgPageName == "Template:X1" || wgPageName == "Template:X2" || wgPageName == "Template:X3" || wgPageName == "Template:X4" || wgPageName == "Template:X5" || wgPageName == "Template:X6" || wgPageName == "Template:X7" || wgPageName == "Template:X8" || wgPageName == "Template:X9" || wgPageName == "Template:Template_sandbox") {    mw.util.addPortletLink('p-cactions', "javascript:sandboxReset(0)", "reset", "ca-sand", "Reset the Sandbox", "");    mw.util.addPortletLink('p-cactions', "javascript:sandboxReset(1)", "rake", "ca-sand", "Rake in Sandbox Header", "");    if(document.URL.lastIndexOf("&sandboxautoreset=true") == -1)      return;    var form = document.editform;    if(document.URL.lastIndexOf("&rake=yes") == -1) {      form.wpTextbox1.value = "This sandbox is itself a template.  This sandbox is for experimenting with templates.\n" + "{{Please leave this line alone (template sandbox heading)}}\n\n" + "If you defined parameters such as <tt><nowiki>{{Template sandbox|First|Second|name=\"Named\"}}</nowiki></tt>:\n" + ";First:{{{1}}}\n" + ";Second:{{{2}}}\n" + ";Name:{{{name}}}\n\n" + "----\n" + "<!-- Hello!  Feel free to try your formatting and editing skills below this line.  As this page is for editing experiments, this page will automatically be cleaned every 12 hours. -->";      form.wpSummary.value = "[[User:Ember of Light/sandboxreset.js|JavaScript assisted edit]]: Resetting the sandbox.";      form.wpSave.click();    }    else if(document.URL.lastIndexOf("&rake=no") == -1) {      if(form.wpTextbox1.value.lastIndexOf("{{Please leave this line alone (template sandbox heading)}}") != -1) {        alert("Heading already exists on page. No need for a rake.");        return;      }      form.wpTextbox1.value = "This sandbox is itself a template.  This sandbox is for experimenting with templates.\n" + "{{Please leave this line alone (template sandbox heading)}}\n\n" + "If you defined parameters such as <tt><nowiki>{{Template sandbox|First|Second|name=\"Named\"}}</nowiki></tt>:\n" + ";First:{{{1}}}\n" + ";Second:{{{2}}}\n" + ";Name:{{{name}}}\n\n" + "----\n" + "<!-- Hello!  Feel free to try your formatting and editing skills below this line.  As this page is for editing experiments, this page will automatically be cleaned every 12 hours. -->\n" + form.wpTextbox1.value;      form.wpSummary.value = "[[User:Ember of Light/sandboxreset.js|JavaScript assisted edit]]: Rake in sandbox header.";      form.wpSave.click();    }  }});function sandboxReset(num) {  if(num == 0)    location.assign("/w/index.php?title=" + wgPageName + "&action=edit&sandboxautoreset=true&rake=no");  else    location.assign("/w/index.php?title=" + wgPageName + "&action=edit&sandboxautoreset=true&rake=yes");}