Jump to content

User:StonedChipmunk/AntiVandalMeter

From Wikipedia, the free encyclopedia

Credit Where Credit is Due!

[edit]

I'd like to give a big "thank you" to Topaz for the great Status Changer which, with his permission, was the base of Configs A and D. Sooooo...

Thank you!

[edit]

Installation

[edit]

Choose your configuration:

Configuration A

[edit]

Size: Automatically Created Sidebar
Installation: Hard
Ease of Use: Easy

Open your monobook.js (type in "User:(yourusername)/monobook.js" into the search box). Add the following code to it:

function inc (file) {
  var lt = String.fromCharCode(60);
  var gt = String.fromCharCode(62);
  if (file.indexOf(".js") > -1) {
    document.writeln(lt+'script type="text/javascript" src="/w/index.php?title='+file+'&action=raw&ctype=text/javascript&dontcountme=s"'+gt+lt+'/script'+gt);
  } else if (file.indexOf(".css") > -1) {
    document.writeln(lt+'link rel="stylesheet" type="text/css" href="/w/index.php?title='+file+'&action=raw&ctype=text/css" /'+gt);
  }
}

inc("User:Topaz/init.js");
inc("User:Topaz/util.js");
inc("User:Topaz/comm.js");
inc("User:Topaz/wputil.js");

Also add this line to the bottom (insert your username first):

inc("User:(yourusername)/avm.js");

Then, put "User:(yourusername)/avm.js" into the search box and start that page. Put the following code in it:

//

topaz.statuschanger_avm = new Object();

/* configuration */

// change these to whatever you'd like to show up on your status page.  you can add new lines in
// the same format provided there is a comma at the end of each line but the last one.  you can
// also use wikimarkup here to, for example, display an image instead of text.
topaz.statuschanger_avm.statuscode = {
  overload:'<center>The AVM displays my current frequency of fighting vandalism.<br>Low Med High<br>[[Image:Red pog.svg|20px|Low]] [[Image:Orange pog.svg|20px|Medium]] [[Image:Green pog.svg|20px|High]]<br>[[Image:Blue pog.svg|60px|OVERLOAD!]]<br>Status: OVERLOAD!</center>',
  high:'<center>The AVM displays my current frequency of fighting vandalism.<br>Low Med High<br>[[Image:Red pog.svg|20px|Low]] [[Image:Orange pog.svg|20px|Medium]] [[Image:Green pog.svg|20px|High]]<br>[[Image:Green pog.svg|60px|High]]<br>Status: High</center>',
  medium:'<center>The AVM displays my current frequency of fighting vandalism.<br>Low Med High<br>[[Image:Red pog.svg|20px|Low]] [[Image:Orange pog.svg|20px|Medium]] [[Image:Green pog.svg|20px|High]]<br>[[Image:Orange pog.svg|60px|Medium]]<br>Status: Medium</center>',
  low:'<center>The AVM displays my current frequency of fighting vandalism.<br>Low Med High<br>[[Image:Red pog.svg|20px|Low]] [[Image:Orange pog.svg|20px|Medium]] [[Image:Green pog.svg|20px|High]]<br>[[Image:Red pog.svg|60px|Low]]<br>Status: Low</center>'
};

// this will make wikimarkup work in your stauscodes but will disable auto-updating 
topaz.statuschanger_avm.enablewikimarkup = true;

// true to use the personal bar, false to create a panel in the left column
topaz.statuschanger_avm.usepersonalbar = false;

// true if you'd like your status page on your watchlist
topaz.statuschanger_avm.watchstatus = false;

/* end configuration */


topaz.statuschanger_avm.buttonlist = {};
topaz.statuschanger_avm.oldonload = window.onload;
window.onload = function() {
  if (typeof topaz.statuschanger_avm.oldonload == "function") {
    setTimeout('topaz.statuschanger_avm.oldonload()',50);
  }
  if (!topaz.statuschanger_avm.usepersonalbar) {
    topaz.wputil.addsidepanel("tz-statuschanger", "status changer");
  }
  var buttonlist = [];
  for (status in topaz.statuschanger_avm.statuscode) {
    buttonlist.push(status);
    topaz.statuschanger_avm.buttonlist[status] =
        topaz.wputil.addsidepanelbutton(
          topaz.statuschanger_avm.usepersonalbar ? "p-personal" : "tz-statuschanger",
          status,
          'javascript:topaz.statuschanger_avm.setstatus("' + status + '")'
        );
  }

  if (topaz.statuschanger_avm.usepersonalbar) {
    for(var i=0; i<buttonlist.length; i++) {
      with (topaz.statuschanger_avm.buttonlist[buttonlist[i]].style) {
        if (i != buttonlist.length-1) {
          borderRight = "1px solid #aaaaaa";
          paddingRight = "2px";
        }
        if (i != 0) {
          marginLeft = "0px";
          paddingLeft = "2px";
        }
      }
    }
  }

  var spanlist = document.getElementsByTagName("span");
  for (var i=0; i<spanlist.length; i++) {
    if (spanlist[i].className == "topaz.statuschanger_avm.curstatus."+escape(topaz.wputil.username())) {
      topaz.util.cookie.set("topaz.statuschanger_avm.curstatus", spanlist[i].innerHTML);
    }
  }

  topaz.statuschanger_avm.update();
};

topaz.statuschanger_avm.setstatus = function(statusname) {
  topaz.wputil.setpagecontent(
      "User:"+topaz.wputil.username()+"/AVM",

      (!topaz.statuschanger_avm.enablewikimarkup ?
          '<includeonly><span class="topaz.statuschanger_avm.inlinestatus.'
          + escape(topaz.wputil.username())
          + '"></includeonly>'
      : '') +

      topaz.statuschanger_avm.statuscode[statusname] +

      (!topaz.statuschanger_avm.enablewikimarkup ?
          '<includeonly></span></includeonly>'
      : '') +

      '<span class="topaz.statuschanger_avm.curstatus.'+escape(topaz.wputil.username()) +
      '" style="display:none">'+statusname+'</span>',

      statusname,
      topaz.statuschanger_avm.watchstatus);
  topaz.util.cookie.set("topaz.statuschanger_avm.curstatus", statusname);
  topaz.statuschanger_avm.update();
};

topaz.statuschanger_avm.laststatus = null;
topaz.statuschanger_avm.update = function() {
  var curstatus = topaz.util.cookie.get("topaz.statuschanger_avm.curstatus");
  if (curstatus && curstatus != topaz.statuschanger_avm.laststatus) {
    for (status in topaz.statuschanger_avm.buttonlist) {
      with (topaz.statuschanger_avm.buttonlist[status].style) {
        if (status == curstatus) {
          fontWeight = "bold";
        } else {
          fontWeight = "normal";
        }
      }
    }

    if (!topaz.statuschanger_avm.enablewikimarkup) {
      var spanlist = document.getElementsByTagName("span");
      for (var i=0; i<spanlist.length; i++) {
        if (spanlist[i].className == "topaz.statuschanger_avm.inlinestatus."+escape(topaz.wputil.username())) {
          spanlist[i].innerHTML = topaz.statuschanger_avm.statuscode[curstatus];
        }
      }
    }
  }
  topaz.statuschanger_avm.laststatus = curstatus;
};

setInterval("topaz.statuschanger_avm.update()", 5000);


//

Then, go back to your userpage. Once you are there, hold shift while clicking the Reload button. This starts the scripts. Then, once the page is reloaded, you'll see a box on the left sidebar that says something like "status changer" with some options. Click one for now to start the AVM status page. Your browser might freeze up for a few seconds, this is normal.
Once you are back to normal, go somewhere in your userpage and put the following code in (remember to replace your username):

{|style="border:1px solid #66FF33; background-color: #99FF66; margin-left:.1em; margin-top:2px; -moz-border;" align="right" width="240px"
|-
|
|-
|

== [[User:StonedChipmunk/AntiVandalMeter|AntiVandalMeter]] ==
{{User:(yourusername)/AVM}}<br><center><small>You can now use the AVM on your own userpage! [[User:StonedChipmunk/AntiVandalMeter|Click here to find out more!]]</small></center>

|-
|}

This will create a green box on the right of your userpage with your status (it will automatically insert your AVM status). Try changing your status. (You have to reload the page normally to see the changes, or you can go to another page and return to your userpage - but don't use the back button.)

Congratulations! You've completed the installation process. If you have any problems, leave them on my talk page.

Configuration B

[edit]

Size: Automatically Created Sidebar
Installation: Medium
Ease of Use: Medium

Unavailable at this time. Please wait while I update the template code and replace it.

Configuration C

[edit]

Size: Automatically Created Sidebar
Installation: Easy
Ease of Use: Hard

To install the AVM with Configuration C, put the following code in your userpage somewhere:

{|style="border:1px solid #66FF33; background-color: #99FF66; margin-left:.1em; margin-top:2px; -moz-border;" align="right" width="240px"
|-
|
|-
|
== [[User:StonedChipmunk/AntiVandalMeter|AntiVandalMeter]] ==
<center>The AVM displays my current frequency of fighting vandalism.<br>Low Med High<br>[[Image:Red pog.svg|20px|Low]] [[Image:Orange pog.svg|20px|Medium]] [[Image:Green pog.svg|20px|High]]<br>[[Image:**REPLACE ME WITH "Green", "Orange", OR "Red"** pog.svg|60px|Status]]<br>Status: **REPLACE WITH TEXTUAL STATUS**</center>
<br><center><small>You can now use the AVM on your own userpage! [[User:StonedChipmunk/AntiVandalMeter|Click here to find out more!]]</small></center>
|-
|}


Configuration D

[edit]

Size: Full-Width
Installation: Hard
Ease of Use: Easy

Open your monobook.js (type in "User:(yourusername)/monobook.js" into the search box). Add the following code to it:

function inc (file) {
  var lt = String.fromCharCode(60);
  var gt = String.fromCharCode(62);
  if (file.indexOf(".js") > -1) {
    document.writeln(lt+'script type="text/javascript" src="/w/index.php?title='+file+'&action=raw&ctype=text/javascript&dontcountme=s"'+gt+lt+'/script'+gt);
  } else if (file.indexOf(".css") > -1) {
    document.writeln(lt+'link rel="stylesheet" type="text/css" href="/w/index.php?title='+file+'&action=raw&ctype=text/css" /'+gt);
  }
}

inc("User:Topaz/init.js");
inc("User:Topaz/util.js");
inc("User:Topaz/comm.js");
inc("User:Topaz/wputil.js");

Also add this line to the bottom (insert your username first):

inc("User:(yourusername)/avm.js");

Then, put "User:(yourusername)/avm.js" into the search box and start that page. Put the following code in it:

//

topaz.statuschanger_avm = new Object();

/* configuration */

// change these to whatever you'd like to show up on your status page.  you can add new lines in
// the same format provided there is a comma at the end of each line but the last one.  you can
// also use wikimarkup here to, for example, display an image instead of text.
topaz.statuschanger_avm.statuscode = {
  overload:'<center>The AVM displays my current frequency of fighting vandalism. You can also get a copy of the AVM [[User:StonedChipmunk/AntiVandalMeter|here]]!</center><br><center>{[[Image:Red pog.svg|10px|Low]] - Low} {[[Image:Orange pog.svg|10px|Medium]] - Medium} {[[Image:Green pog.svg|10px|High]] - High}</center><br><center>Status: [[Image:Blue pog.svg|30px|Status]] - OVERLOAD!</center>',
  high:'<center>The AVM displays my current frequency of fighting vandalism. You can also get a copy of the AVM [[User:StonedChipmunk/AntiVandalMeter|here]]!</center><br><center>{[[Image:Red pog.svg|10px|Low]] - Low} {[[Image:Orange pog.svg|10px|Medium]] - Medium} {[[Image:Green pog.svg|10px|High]] - High}</center><br><center>Status: [[Image:Green pog.svg|30px|Status]] - High</center>',
  medium:'<center>The AVM displays my current frequency of fighting vandalism. You can also get a copy of the AVM [[User:StonedChipmunk/AntiVandalMeter|here]]!</center><br><center>{[[Image:Red pog.svg|10px|Low]] - Low} {[[Image:Orange pog.svg|10px|Medium]] - Medium} {[[Image:Green pog.svg|10px|High]] - High}</center><br><center>Status: [[Image:Orange pog.svg|30px|Status]] - Medium</center>',
  low:'<center>The AVM displays my current frequency of fighting vandalism. You can also get a copy of the AVM [[User:StonedChipmunk/AntiVandalMeter|here]]!</center><br><center>{[[Image:Red pog.svg|10px|Low]] - Low} {[[Image:Orange pog.svg|10px|Medium]] - Medium} {[[Image:Green pog.svg|10px|High]] - High}</center><br><center>Status: [[Image:Red pog.svg|30px|Status]] - Low</center>'
};

// this will make wikimarkup work in your stauscodes but will disable auto-updating 
topaz.statuschanger_avm.enablewikimarkup = true;

// true to use the personal bar, false to create a panel in the left column
topaz.statuschanger_avm.usepersonalbar = false;

// true if you'd like your status page on your watchlist
topaz.statuschanger_avm.watchstatus = false;

/* end configuration */


topaz.statuschanger_avm.buttonlist = {};
topaz.statuschanger_avm.oldonload = window.onload;
window.onload = function() {
  if (typeof topaz.statuschanger_avm.oldonload == "function") {
    setTimeout('topaz.statuschanger_avm.oldonload()',50);
  }
  if (!topaz.statuschanger_avm.usepersonalbar) {
    topaz.wputil.addsidepanel("tz-statuschanger", "status changer");
  }
  var buttonlist = [];
  for (status in topaz.statuschanger_avm.statuscode) {
    buttonlist.push(status);
    topaz.statuschanger_avm.buttonlist[status] =
        topaz.wputil.addsidepanelbutton(
          topaz.statuschanger_avm.usepersonalbar ? "p-personal" : "tz-statuschanger",
          status,
          'javascript:topaz.statuschanger_avm.setstatus("' + status + '")'
        );
  }

  if (topaz.statuschanger_avm.usepersonalbar) {
    for(var i=0; i<buttonlist.length; i++) {
      with (topaz.statuschanger_avm.buttonlist[buttonlist[i]].style) {
        if (i != buttonlist.length-1) {
          borderRight = "1px solid #aaaaaa";
          paddingRight = "2px";
        }
        if (i != 0) {
          marginLeft = "0px";
          paddingLeft = "2px";
        }
      }
    }
  }

  var spanlist = document.getElementsByTagName("span");
  for (var i=0; i<spanlist.length; i++) {
    if (spanlist[i].className == "topaz.statuschanger_avm.curstatus."+escape(topaz.wputil.username())) {
      topaz.util.cookie.set("topaz.statuschanger_avm.curstatus", spanlist[i].innerHTML);
    }
  }

  topaz.statuschanger_avm.update();
};

topaz.statuschanger_avm.setstatus = function(statusname) {
  topaz.wputil.setpagecontent(
      "User:"+topaz.wputil.username()+"/AVM",

      (!topaz.statuschanger_avm.enablewikimarkup ?
          '<includeonly><span class="topaz.statuschanger_avm.inlinestatus.'
          + escape(topaz.wputil.username())
          + '"></includeonly>'
      : '') +

      topaz.statuschanger_avm.statuscode[statusname] +

      (!topaz.statuschanger_avm.enablewikimarkup ?
          '<includeonly></span></includeonly>'
      : '') +

      '<span class="topaz.statuschanger_avm.curstatus.'+escape(topaz.wputil.username()) +
      '" style="display:none">'+statusname+'</span>',

      statusname,
      topaz.statuschanger_avm.watchstatus);
  topaz.util.cookie.set("topaz.statuschanger_avm.curstatus", statusname);
  topaz.statuschanger_avm.update();
};

topaz.statuschanger_avm.laststatus = null;
topaz.statuschanger_avm.update = function() {
  var curstatus = topaz.util.cookie.get("topaz.statuschanger_avm.curstatus");
  if (curstatus && curstatus != topaz.statuschanger_avm.laststatus) {
    for (status in topaz.statuschanger_avm.buttonlist) {
      with (topaz.statuschanger_avm.buttonlist[status].style) {
        if (status == curstatus) {
          fontWeight = "bold";
        } else {
          fontWeight = "normal";
        }
      }
    }

    if (!topaz.statuschanger_avm.enablewikimarkup) {
      var spanlist = document.getElementsByTagName("span");
      for (var i=0; i<spanlist.length; i++) {
        if (spanlist[i].className == "topaz.statuschanger_avm.inlinestatus."+escape(topaz.wputil.username())) {
          spanlist[i].innerHTML = topaz.statuschanger_avm.statuscode[curstatus];
        }
      }
    }
  }
  topaz.statuschanger_avm.laststatus = curstatus;
};

setInterval("topaz.statuschanger_avm.update()", 5000);


//

Then, go back to your userpage. Once you are there, hold shift while clicking the Reload button. This starts the scripts. Then, once the page is reloaded, you'll see a box on the left sidebar that says something like "status changer" with some options. Click one for now to start the AVM status page. Your browser might freeze up for a few seconds, this is normal.
Once you are back to normal, go somewhere in your userpage and put the following code in (remember to replace your username):

== [[User:StonedChipmunk/AntiVandalMeter|AntiVandalMeter]] ==
{{User:(yourusername)/AVM}}

This will create a new section with your status (it will automatically insert your AVM status). Try changing your status. (You have to reload the page normally to see the changes, or you can go to another page and return to your userpage - but don't use the back button.)

Congratulations! You've completed the installation process. If you have any problems, leave them on my talk page.


Configuration E

[edit]

Size: Full-Width
Installation: Medium
Ease of Use: Medium

Unavailable at this time. Please wait while I update the template code and replace it.

Configuration F

[edit]

Size: Full-Width
Installation: Easy
Ease of Use: Hard

To install the AVM with Configuration F, put the following code in your userpage somewhere:

<br>== [[User:StonedChipmunk/AntiVandalMeter|AntiVandalMeter]] ==<br>{|style="border:1px solid #999999; background-color: #CCCCCC; margin-left:.1em; margin-top:2px; -moz-border;" width="75%"<br>|<br><center>The AVM displays my current frequency of fighting vandalism. You can also get a copy of the AVM [[User:StonedChipmunk/AntiVandalMeter|here]]!</center><br><center>{[[Image:Red pog.svg|10px|Low]] - Low} {[[Image:Orange pog.svg|10px|Medium]] - Medium} {[[Image:Green pog.svg|10px|High]] - High}</center><br><center>Status: [[Image:**REPLACE WITH "Green", "Orange", OR "Red" WITHOUT QUOTES** pog.svg|30px|Status]] - **REPLACE WITH TEXTUAL STATUS**</center><br><br>|-<br>|<br>|-<br>|}


Samples

[edit]

A sample of Configs A-C can be found here.
A sample of Configs D-F can be found here.