PDA

View Full Version : Administrative and Maintenance Tools - Excessive Signature Check


tmiland
03-30-2008, 10:00 PM
vBulletin Excessive Signature Check v1.0

Modified for vBulletin 3.7.0 rc1
?Tommy Miland 2008
http://www.snute.net
With permission from original owner

Original script for e107 by:
?Richard Perry 2004
http://www.greycube.com

Released under the terms and conditions of the
GNU General Public License (http://gnu.org).

Note: Use at your own risk!

Installation:

- Upload the signaturecheck.php to your admincp folder
- Add a link in the footer template
Find:<if condition="$vboptions['hometitle']"><a href="$vboptions[homeurl]">$vboptions[hometitle]</a> -</if> Add after:
<if condition="$show['admincplink']"><a href="$admincpdir/signaturecheck.php$session[sessionurl_q]">Check Signatures</a> -</if>
Configuration:

Edit the signaturecheck.php and near the top you can change the following settings

$image_maxsize = // MAX FILE SIZE IN KB
$image_maxwidth = // WIDTH IN PIXELS
$image_maxheight = // HEIGHT IN PIXELS
$image_timeout = // TIME ALLOWED FOR LOADING THE IMAGE IN SECONDS


Running:

Note the script can only be run by an admin.


By default the script is PASSIVE and will NOT remove any signatures, just display the results.

For this type in a browser www.yourdomain.com/forum/admincp/signaturecheck.php (http://www.yourdomain.com/forum/admincp/signaturecheck.php)


You can make the script active and go through replacing excessive signatures as well

For this type in a browser www.yourdomain.com/forum/admincp/signaturecheck.php?active=1 (http://www.yourdomain.com/forum/admincp/signaturecheck.php?active=1)


On either mode, THE SCRIPT CAN TAKE A LONG TIME TO LOAD, this is because the

webserver has to download each signature image to be able to check the size.

Just be patient and go make a drink, im talking about 10 mins per 500 sigs.



Limitations:

Currently the signature check is limited to checking images only

This means that excessive text based signatures ( large fonts, long lines etc ) will not be fixed.

Existing signatures in your forum posts will not be replaced, wich means the script will only replace signatures in the profile.
To replace signatures wich have been removed by the script, you need to run "Empty Signature Cache" in the Maintenance section of Admincp. (Thanks to FRDS (https://vborg.vbsupport.ru/member.php?u=200299) for the reminder) :)

Take a look at the images to see how it works:

RvG2
03-31-2008, 04:22 PM
hey nice idea :)

SEOvB
03-31-2008, 04:41 PM
Cool idea and nicely done, but vBulletin can do this already using the signature permissions, and then rebuild signature cache from maintence i beleive :)

Though this gives a report and is alot cooler :)

tmiland
03-31-2008, 04:54 PM
Cool idea and nicely done, but vBulletin can do this already using the signature permissions, and then rebuild signature cache from maintence i beleive :)

Though this gives a report and is alot cooler :)

Thank you :)
Vbulletin has no way of controlling external images, as far as i know, thats why i did this :)
The image a user uploads is another thing. I'm talking about an image between the [IMG] tags wich is hosted at f.eks photobucket.

If there is, please tell me where to find those settings! :D

KURTZ
03-31-2008, 04:56 PM
interesting tool ... nice job ;)

Guest210212002
03-31-2008, 06:00 PM
/me clicks install

iRO Wiki
03-31-2008, 06:50 PM
First suggestion:

It would be a lot cleaner to go through if all results with "no image" could be hidden.


Noticed a few glitches so far:

On a few I get Signature Removed - Only One Image is Allowed.

There's no setting in the file for amount of images allowed, and the code further down is confusing! Having it look up usergroup[sigmaximages] (if possible) or just making it an option at the top with the rest would be awesome!

When the image isn't found, I get messages similar to the following:

Warning: fsockopen() [function.fsockopen]: unable to connect to img165.imageshack.us:80 (Connection timed out) in /xxx/admincp/signaturecheck.php on line 106

Warning: getimagesize(http://imageurlhere.com) [function.getimagesize]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /xxx/admincp/signaturecheck.php on line 156


Is that normal? The script is working fine by detecting a 404, I'm just not sure it's supposed to be returing those errors.



My forums.domain.com is turned into forums.domain.com/forum for the result URL.

Changing line 65 to this should fix it no matter what your base URL is:

echo "<a href='/member.php?u=$mysql_row[userid]'>$mysql_row[userid]</a> $check_result <br />";

I'll keep toying with it!

King Kovifor
03-31-2008, 07:51 PM
You might want to try to utilize the vBulletin options. They would allow non-coders an easy way to change their options for your mod.

tmiland
03-31-2008, 07:53 PM
On a few I get Signature Removed - Only One Image is Allowed.

There's no setting in the file for amount of images allowed, and the code further down is confusing! Having it look up usergroup[sigmaximages] (if possible) or just making it an option at the top with the rest would be awesome!


Hmm... As a temporary fix, change line 96 from if ($images[1][1]) to if ($images[1][2])When the image isn't found, I get messages similar to the following: Warning: fsockopen() [function.fsockopen]: unable to connect to img165.imageshack.us:80 (Connection timed out) in /xxx/admincp/signaturecheck.php on line 106
Warning: getimagesize(http://imageurlhere.com (http://imageurlhere.com/)) [function.getimagesize]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /xxx/admincp/signaturecheck.php on line 156
Is that normal? The script is working fine by detecting a 404, I'm just not sure it's supposed to be returing those errors.

It should state below the error something like this: Signature Removed - Unable to load the image
My forums.domain.com is turned into forums.domain.com/forum for the result URL.

Changing line 65 to this should fix it no matter what your base URL is:

Code:
echo "<a href='/member.php?u=$mysql_row[userid]'>$mysql_row[userid]</a> $check_result <br />";
That doesnt work for me... It will bring me to mydomain/member.php?u=x
and is ofcourse different from user to user :)

King Kovifor
03-31-2008, 07:55 PM
Also, it is proper coding style for vBulletin is to use the vBulletin Database class ($vbulletin->db) for all your mySQL actions.

tmiland
03-31-2008, 07:56 PM
You might want to try to utilize the vBulletin options. They would allow non-coders an easy way to change their options for your mod.

Great idea, i'll see what i can do :)

Hornstar
04-01-2008, 05:55 AM
yeah this has great potential like the above suggestions, they are great. I'll keep an eye on it for future updates, but for now I wont be installing it just yet. Keep up the good work tho.

iRO Wiki
04-01-2008, 07:28 AM
That doesnt work for me... It will bring me to mydomain/member.php?u=x
and is ofcourse different from user to user

Well I took that right out of vb's code, it seems to know where things should be if you just have member.php?xxxx etc, I'll try testing it more tomorrow on my end!

TheInsaneManiac
10-26-2008, 11:08 AM
I allow more than one image on my forums.

Zachery
10-26-2008, 10:09 PM
You know you're breaking the GPL by releasing this for vBulletin right?