<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>A.cc Extension: Ban Poster</title>
		<link>http://www.allegro.cc/forums/view/590229</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sat, 24 Feb 2007 22:33:37 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[New a.cc javascript extension.  Adds a &#39;ban&#39; link by every post which can be used to ban that annoying user you&#39;re tired of hearing from.<br />
<br />
To install, select all of this text (make sure to scroll down!) and copy it to your clipboard (control + C):<br />
<pre class="source-code"><span class="c">// Ignore Poster app Version 0.1</span>
<span class="c">//</span>
<span class="c">// namespace: ban</span>

<span class="c">// This class represents a post in the thread</span>
<span class="c">//</span>
<span class="c">// class ban_Post</span>
<span class="c">// {</span>

  <span class="c">// id should reference an id value for the table containing the post.</span>
  <span class="c">// doc is an option value.  Defaults to global document.</span>
  function ban_Post<span class="k2">(</span>id, doc<span class="k2">)</span>
  <span class="k2">{</span>
    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>doc<span class="k2">)</span>
      doc <span class="k3">=</span> document<span class="k2">;</span>
    
    this.id <span class="k3">=</span> id<span class="k2">;</span>
    this.doc <span class="k3">=</span> doc<span class="k2">;</span>
    this.table <span class="k3">=</span> doc.getElementById<span class="k2">(</span>id<span class="k2">)</span><span class="k2">;</span>
    this.tableBackup <span class="k3">=</span> null<span class="k2">;</span>
    this.memberId <span class="k3">=</span> this.getMemberId<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
    this.showing <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
  <span class="k2">}</span>

  ban_Post.prototype.createBackup <span class="k3">=</span> function<span class="k2">(</span><span class="k2">)</span>
  <span class="k2">{</span>
    this.tableBackup <span class="k3">=</span> this.table.cloneNode<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
  <span class="k2">}</span>

  ban_Post.prototype.hide <span class="k3">=</span> function<span class="k2">(</span><span class="k2">)</span>
  <span class="k2">{</span>
    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>this.showing<span class="k2">)</span>
      <span class="k1">return</span><span class="k2">;</span>

    this.table.innerHTML <span class="k3">=</span> <span class="s">'&lt;tr&gt;&lt;td&gt;&lt;center&gt;Poster banned. &lt;a id="ban_link'</span> <span class="k3">+</span> <span class="k3">+</span><span class="k3">+</span>ban_linkNum <span class="k3">+</span> <span class="s">'" href="javascript:;"&gt;unban&lt;/a&gt;&lt;/center&gt;&lt;/td&gt;&lt;/tr&gt;'</span><span class="k2">;</span>

    this.showing <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>

    var post <span class="k3">=</span> <span class="k1">this</span><span class="k2">;</span>
    
    this.doc.getElementById<span class="k2">(</span><span class="s">"ban_link"</span> <span class="k3">+</span> ban_linkNum<span class="k2">)</span>.onclick <span class="k3">=</span> function<span class="k2">(</span><span class="k2">)</span>
    <span class="k2">{</span>
      var id <span class="k3">=</span> post.memberId<span class="k2">;</span>
      
      <span class="k1">if</span><span class="k2">(</span>id.length<span class="k2">)</span>
        ban_setBanned<span class="k2">(</span>id, <span class="k1">false</span><span class="k2">)</span><span class="k2">;</span>
      
      post.show<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
    <span class="k2">}</span>
  <span class="k2">}</span>

  ban_Post.prototype.show <span class="k3">=</span> function<span class="k2">(</span><span class="k2">)</span>
  <span class="k2">{</span>
    <span class="k1">if</span><span class="k2">(</span>this.showing<span class="k2">)</span>
      <span class="k1">return</span><span class="k2">;</span>

    this.table.parentNode.replaceChild<span class="k2">(</span>this.tableBackup.cloneNode<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span>, this.table<span class="k2">)</span><span class="k2">;</span>

    this.showing <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
  <span class="k2">}</span>

  <span class="c">// Returns true if this post should be banned or false otherwise</span>
  ban_Post.prototype.isBanned <span class="k3">=</span> function<span class="k2">(</span><span class="k2">)</span>
  <span class="k2">{</span>
    var id <span class="k3">=</span> this.getMemberId<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
    
    <span class="k1">return</span> id.length ? ban_isBanned<span class="k2">(</span>id<span class="k2">)</span> <span class="k2">:</span> <span class="k1">false</span><span class="k2">;</span>
  <span class="k2">}</span>
  
  ban_Post.prototype.getMemberId <span class="k3">=</span> function<span class="k2">(</span><span class="k2">)</span>
  <span class="k2">{</span>
    var str <span class="k3">=</span> this.table.className.toString<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
    var end <span class="k3">=</span> str.indexOf<span class="k2">(</span><span class="s">' '</span><span class="k2">)</span><span class="k2">;</span>

    <span class="k1">if</span><span class="k2">(</span>end <span class="k3">=</span><span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">)</span>
      <span class="k1">return</span> <span class="s">""</span><span class="k2">;</span>

    var ret <span class="k3">=</span> str.substring<span class="k2">(</span><span class="n">1</span>, end<span class="k2">)</span><span class="k2">;</span>

    <span class="k1">if</span><span class="k2">(</span>ret <span class="k3">=</span><span class="k3">=</span> null<span class="k2">)</span>
      ret <span class="k3">=</span> <span class="s">""</span><span class="k2">;</span>

    <span class="k1">return</span> ret<span class="k2">;</span>
  <span class="k2">}</span>

  ban_Post.prototype.getHeader <span class="k3">=</span> function<span class="k2">(</span><span class="k2">)</span>
  <span class="k2">{</span>
    var divs <span class="k3">=</span> this.table.getElementsByTagName<span class="k2">(</span><span class="s">"DIV"</span><span class="k2">)</span><span class="k2">;</span>

    <span class="k1">for</span><span class="k2">(</span>var i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> divs.length<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
      <span class="k1">if</span><span class="k2">(</span>divs<span class="k2">[</span>i<span class="k2">]</span>.className <span class="k3">=</span><span class="k3">=</span> <span class="s">"header"</span><span class="k2">)</span>
        <span class="k1">return</span> divs<span class="k2">[</span>i<span class="k2">]</span>.innerHTML<span class="k2">;</span>
    
    <span class="k1">return</span> null<span class="k2">;</span>
  <span class="k2">}</span>

  ban_Post.prototype.setHeader <span class="k3">=</span> function<span class="k2">(</span>header<span class="k2">)</span>
  <span class="k2">{</span>
    var divs <span class="k3">=</span> this.table.getElementsByTagName<span class="k2">(</span><span class="s">"DIV"</span><span class="k2">)</span><span class="k2">;</span>

    <span class="k1">for</span><span class="k2">(</span>var i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> divs.length<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
      <span class="k1">if</span><span class="k2">(</span>divs<span class="k2">[</span>i<span class="k2">]</span>.className <span class="k3">=</span><span class="k3">=</span> <span class="s">"header"</span><span class="k2">)</span>
        divs<span class="k2">[</span>i<span class="k2">]</span>.innerHTML <span class="k3">=</span> header<span class="k2">;</span>
  <span class="k2">}</span>

<span class="c">// }</span>

<span class="c">// Returns true if the member with id 'memberId' is banned.</span>
<span class="c">// isBanned finds this information in the cookies</span>
function ban_isBanned<span class="k2">(</span>memberId<span class="k2">)</span>
<span class="k2">{</span>
  <span class="k1">return</span> ban_readCookie<span class="k2">(</span><span class="s">"ban_"</span> <span class="k3">+</span> memberId<span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> null<span class="k2">;</span>
<span class="k2">}</span>

<span class="c">// Sets the member with id 'memberId' to either banned or</span>
<span class="c">// not banned depending on if 'isBanned' is true or false</span>
<span class="c">// respectively.</span>
function ban_setBanned<span class="k2">(</span>memberId, isBanned<span class="k2">)</span>
<span class="k2">{</span>
  <span class="k1">if</span><span class="k2">(</span>isBanned <span class="k3">=</span><span class="k3">=</span> null <span class="k3">|</span><span class="k3">|</span> isBanned<span class="k2">)</span>
    ban_createCookie<span class="k2">(</span><span class="s">"ban_"</span> <span class="k3">+</span> memberId, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
  <span class="k1">else</span>
    ban_eraseCookie<span class="k2">(</span><span class="s">"ban_"</span> <span class="k3">+</span> memberId<span class="k2">)</span><span class="k2">;</span>

  ban_updateBans<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>

<span class="c">// Returns a list of ban_Post instances that have been found</span>
<span class="c">// doc is the document to search, defaults to the global document</span>
function ban_findPosts<span class="k2">(</span>doc<span class="k2">)</span>
<span class="k2">{</span>
  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>doc<span class="k2">)</span> doc <span class="k3">=</span> document<span class="k2">;</span>
  
  var tables <span class="k3">=</span> doc.getElementsByTagName<span class="k2">(</span><span class="s">"table"</span><span class="k2">)</span><span class="k2">;</span>
  var posts <span class="k3">=</span> <span class="k1">new</span> Array<span class="k2">;</span>

  <span class="k1">for</span><span class="k2">(</span>var i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> tables.length<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
    <span class="k1">if</span><span class="k2">(</span>tables<span class="k2">[</span>i<span class="k2">]</span>.id.indexOf<span class="k2">(</span><span class="s">"post-"</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>
      posts<span class="k2">[</span>posts.length<span class="k2">]</span> <span class="k3">=</span> <span class="k1">new</span> ban_Post<span class="k2">(</span>tables<span class="k2">[</span>i<span class="k2">]</span>.id, doc<span class="k2">)</span><span class="k2">;</span>

  <span class="k1">return</span> posts<span class="k2">;</span>
<span class="k2">}</span>

var ban_linkNum <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>

function ban_updateBans<span class="k2">(</span><span class="k2">)</span>
<span class="k2">{</span>
  <span class="k1">if</span><span class="k2">(</span>posts <span class="k3">=</span><span class="k3">=</span> null<span class="k2">)</span>
    <span class="k1">return</span><span class="k2">;</span>

  <span class="k1">for</span><span class="k2">(</span>var i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> posts.length<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
    <span class="k1">if</span><span class="k2">(</span>posts<span class="k2">[</span>i<span class="k2">]</span>.isBanned<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
      posts<span class="k2">[</span>i<span class="k2">]</span>.hide<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
    <span class="k1">else</span>
      posts<span class="k2">[</span>i<span class="k2">]</span>.show<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>

var posts <span class="k3">=</span> null<span class="k2">;</span>

function ban_load_helper<span class="k2">(</span>aTag<span class="k2">)</span>
<span class="k2">{</span>
  aTag.onclick <span class="k3">=</span> function<span class="k2">(</span><span class="k2">)</span>
  <span class="k2">{</span>
    <span class="k1">if</span><span class="k2">(</span>this.ban_memberId<span class="k2">)</span>
      ban_setBanned<span class="k2">(</span>this.ban_memberId<span class="k2">)</span><span class="k2">;</span>
  <span class="k2">}</span>
<span class="k2">}</span>

function ban_load<span class="k2">(</span><span class="k2">)</span>
<span class="k2">{</span>
  posts <span class="k3">=</span> ban_findPosts<span class="k2">(</span>document<span class="k2">)</span><span class="k2">;</span>

  <span class="k1">for</span><span class="k2">(</span>var i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> posts.length<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span> <span class="k2">{</span>
    
    posts<span class="k2">[</span>i<span class="k2">]</span>.setHeader<span class="k2">(</span>posts<span class="k2">[</span>i<span class="k2">]</span>.getHeader<span class="k2">(</span><span class="k2">)</span>
      <span class="k3">+</span> <span class="s">'&lt;a id="ban_link'</span> <span class="k3">+</span> <span class="k3">+</span><span class="k3">+</span>ban_linkNum <span class="k3">+</span> <span class="s">'" href="javascript:;"&gt;Ban&lt;/a&gt;'</span><span class="k2">)</span><span class="k2">;</span>

    var a <span class="k3">=</span> document.getElementById<span class="k2">(</span><span class="s">"ban_link"</span> <span class="k3">+</span> ban_linkNum<span class="k2">)</span><span class="k2">;</span>

    <span class="k1">if</span><span class="k2">(</span>a <span class="k3">!</span><span class="k3">=</span> null<span class="k2">)</span> <span class="k2">{</span>

      a.ban_memberId <span class="k3">=</span> posts<span class="k2">[</span>i<span class="k2">]</span>.memberId<span class="k2">;</span>
      ban_load_helper<span class="k2">(</span>a<span class="k2">)</span><span class="k2">;</span>
    <span class="k2">}</span>

    posts<span class="k2">[</span>i<span class="k2">]</span>.createBackup<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>

    <span class="k1">if</span><span class="k2">(</span>posts<span class="k2">[</span>i<span class="k2">]</span>.isBanned<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
      posts<span class="k2">[</span>i<span class="k2">]</span>.hide<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
  <span class="k2">}</span>
<span class="k2">}</span>

doc.add_onLoad<span class="k2">(</span>ban_load<span class="k2">)</span><span class="k2">;</span>

<span class="c">// Cookies!</span>
<span class="c">// {</span>
  function ban_createCookie<span class="k2">(</span>name,value,days<span class="k2">)</span> <span class="k2">{</span>
  	
  	<span class="k1">if</span><span class="k2">(</span>days <span class="k3">=</span><span class="k3">=</span> null<span class="k2">)</span>
  		days <span class="k3">=</span> <span class="n">365</span><span class="k2">;</span>
  	
  	var date <span class="k3">=</span> <span class="k1">new</span> Date<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
  	date.setTime<span class="k2">(</span>date.getTime<span class="k2">(</span><span class="k2">)</span><span class="k3">+</span><span class="k2">(</span>days<span class="k3">*</span><span class="n">24</span><span class="k3">*</span><span class="n">60</span><span class="k3">*</span><span class="n">60</span><span class="k3">*</span><span class="n">1000</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
  	var expires <span class="k3">=</span> <span class="s">"; expires="</span><span class="k3">+</span>date.toGMTString<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>

  	document.cookie <span class="k3">=</span> name<span class="k3">+</span><span class="s">"="</span><span class="k3">+</span>value<span class="k3">+</span>expires<span class="k3">+</span><span class="s">"; path=/"</span><span class="k2">;</span>
  <span class="k2">}</span>
  
  function ban_readCookie<span class="k2">(</span>name<span class="k2">)</span> <span class="k2">{</span>
  	var nameEQ <span class="k3">=</span> name <span class="k3">+</span> <span class="s">"="</span><span class="k2">;</span>
  	var ca <span class="k3">=</span> document.cookie.split<span class="k2">(</span><span class="s">';'</span><span class="k2">)</span><span class="k2">;</span>
  	<span class="k1">for</span><span class="k2">(</span>var i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>i <span class="k3">&lt;</span> ca.length<span class="k2">;</span>i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span> <span class="k2">{</span>
  		var c <span class="k3">=</span> ca<span class="k2">[</span>i<span class="k2">]</span><span class="k2">;</span>
  		<span class="k1">while</span> <span class="k2">(</span>c.charAt<span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="s">' '</span><span class="k2">)</span> c <span class="k3">=</span> c.substring<span class="k2">(</span><span class="n">1</span>,c.length<span class="k2">)</span><span class="k2">;</span>
  		<span class="k1">if</span> <span class="k2">(</span>c.indexOf<span class="k2">(</span>nameEQ<span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k1">return</span> c.substring<span class="k2">(</span>nameEQ.length,c.length<span class="k2">)</span><span class="k2">;</span>
  	<span class="k2">}</span>
  	<span class="k1">return</span> null<span class="k2">;</span>
  <span class="k2">}</span>
  
  function ban_eraseCookie<span class="k2">(</span>name<span class="k2">)</span> <span class="k2">{</span>
  	ban_createCookie<span class="k2">(</span>name,<span class="s">""</span>,<span class="k3">-</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
  <span class="k2">}</span>
<span class="c">// }</span></pre>Then navigate to the <a href="http://www.allegro.cc/cc/theme-css">extensions</a> page and select the bottom text box with your mouse and paste (control + V).  You must be logged in to navigate to this page.<br />
<br />
Click save and enjoy!<br />
<br />
<span class="remote-thumbnail"><span>png;972;768;160;126</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/b3752c68924e21b666c6ea50d80d9f4b.thumb.jpg" alt="" width="160" height="126" /></span>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Sat, 24 Feb 2007 05:49:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Dustin, how nice of you to choose me as the example <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />. Or did I just say &quot;Poster banned. unban&quot;? <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jakub Wasilewski)</author>
		<pubDate>Sat, 24 Feb 2007 06:41:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Sorry, what was that now?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Sat, 24 Feb 2007 06:53:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Does this work in practise? What if you have a problem which the banned user answers. Then you write something like &quot;Anyone?&quot; after he has given the answer. It will look strange anyway. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kentl)</author>
		<pubDate>Sat, 24 Feb 2007 07:26:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Pretty cool, thanks Dustin!</p><p>kentl: Look at the screenshot <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kauhiz)</author>
		<pubDate>Sat, 24 Feb 2007 21:09:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
kentl: Look at the screenshot <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div></div><p>
Yes I looked at it before I posted. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /> What about it?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kentl)</author>
		<pubDate>Sat, 24 Feb 2007 21:14:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It says poster banned when a banned poster posts (man, that sounded like a nursery rhyme or something). So you won&#39;t just be oblivious to someone posting. And you can unban them just as easily.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kauhiz)</author>
		<pubDate>Sat, 24 Feb 2007 21:16:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>But when would you actually keep someone banned? It could get strange in almost every kind of situation if you miss a post by someone. And if you always have to switch between banned and unbanned it sounds like it will get tedious and more annoying than just skimming through uninteresting posts.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kentl)</author>
		<pubDate>Sat, 24 Feb 2007 21:31:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I guess a cooler, but not necessarily any more usable approach would be to show the post as normal, but hide the whole thing with the poster blocked message, then provide a link to view the post anyway (without unblocking them).</p><p>Also, block is the correct word here, because you aren&#39;t really banning them, just blocking them. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Sat, 24 Feb 2007 21:52:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Funny. Allegro.cc is one of the only boards I&#39;m on where I wouldn&#39;t even consider blocking someone.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Sirocco)</author>
		<pubDate>Sat, 24 Feb 2007 22:05:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Also, block is the correct word here, because you aren&#39;t really banning them, just blocking them. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div></div><p>
Yes but isn&#39;t &quot;banning&quot; someone a tad more satisfying? <img src="http://www.allegro.cc/forums/smileys/lipsrsealed.gif" alt=":-X" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Sat, 24 Feb 2007 22:33:37 +0000</pubDate>
	</item>
</rss>
