Archive for the ‘Wordpress’ Category

VN:F [1.8.0_1031]
Rating: 0.0/10 (0 votes cast)

Do you want to post your email publicly and visible for anyone who reads your blog/website to have the ability to contact you but you do not want to have your private email box spammed with ridiculous amounts of phishing emails and junk you did not ask for? What about making the email address fully click-able with a “mailto:” anchor tag. What about setting the email address automatically in a completely cloaked image, that remains anonymous at the same time? Well I think I have thought up the perfect solution for you.

The concept is really simple. Page crawlers look for mailto:myemailaddress@mydomain.com, or the key factors in there, which are ‘mailto:‘, ‘@‘, and ‘.com,.net,.org, etc’. So if we take these out of the raw HTML code then the page crawler wont see it. Now sure you can just break it up with stuff like myemailaddress -at- mydomain -dot- com, which definately will slow the crawlers down, but lets remember that the people who write these bots are smart and like a challenge.  So because the idea of breaking up or spelling out email addresses has gotten more popular, its also gotten common to include a small dictionary of common words that are releated to email addresses and then to just grab a string and then convert it back to the real email address.

The Idea here is to take the above mention concept and move to the next extreme.  Lets encode our email address when we bust it up and it will quite literally disappear into the website and yet it will also remain in plain site for us humans.  Also because we have made it for all practical purposes invisible to bots and crawlers, we can put back some of the features we removed before, like put the link back in and make the email address clickable once more.

So.. lets have a look at some code.

First thing we need to do when we grab out email address out of a database is to give it a simple encoding like so…

function strToHex($string, $x=0) {
	$hex='';
	for($i=0; $i < strlen($string); $i++) {
		$hex .= dechex(ord($string[$i]));
	}
	echo strtoupper($hex);
}

Next we need to work some javascript magic on it. For this I prefer to use jQuery.

jQuery.fn.hex_mail = function(username, domain_name, domain_ext, link_text) {
    var conusername = DoAsciiHex(username);
    var condomain = DoAsciiHex(domain_name);
    var condomext = DoAsciiHex(domain_ext);
    var link_text;
    var email;
    var useImage = 0;

	if(link_text) {
		if(link_text == " ") {
			useImage = 1;
		} else {
        	link_txt = link_text;
    	}
    } else {
        link_txt = conusername + "@" + condomain + "." + condomext;
    }
    if(useImage == 1) {
    	mail_link = "";
    	jQuery(this).wrap(mail_link);
	} else {
	    mail_link = "" + link_txt +"";
	    jQuery(this).append(mail_link);
    }
};

Now what the javascript is doing is, taking the encoded text, decoding it and then placing the text into a dynamically created anchor tag that is only visible within the DOM. Sure we can just put non-encoded strings of text into the same script and stuff that into the head of the doc, and it will do the same thing, but, the keywords i mentioned earlier are still present. The encoding provides the javascript with a nifty cloaking device if you will.

Next let slap the whole thing into some HTML and have a look.

 < html >
	< head >
		
		
		


	< /head >
        < body >
Example that uses your readable email address.
Example that uses a hidden email.
< /body > < /html >

In the above code we are doing both putting the email in plain site, as well as making the email link hidden and only visible via click or mouseover event in the status bar.

Want to take it to the next extreme? how about dynamically embed your email in an image thats encoded, cloaked, and now not even really text??

check this out.

function strToJpeg($string, $size, $fcolor, $bgcolor, $hex){

header('Content-type: image/jpeg');
if($hex == 1) {
	$string = hexToStr($string);
}

$len = (strlen($string)*8.75);

$txtbox = imagecreatetruecolor($len, $size+5);

$fcolor = explode(',',rgbColor($fcolor));
$fcolor = imagecolorallocate($txtbox,$fcolor[0],$fcolor[1],$fcolor[2]);
//$fcolor = imagecolorallocate($txtbox,0,0,0);
$bgcolor = explode(',',rgbColor($bgcolor));
//echo $bgcolor;
$bgcolor = imagecolorallocate($txtbox,$bgcolor[0],$bgcolor[1],$bgcolor[2]);
//$bgcolor = imagecolorallocate($txtbox,255,255,255);

imagefilledrectangle($txtbox,0,0,$len,$size+5,$bgcolor);

$font = 'arial.ttf';

imagettftext($txtbox,$size,0,0,12,$fcolor,$font,$string);
imagejpeg($txtbox);
imagedestroy($txtbox);
}
strToJpeg($_GET['string'],$_GET['size'],$_GET['fcolor'],$_GET['bgcolor'],$_GET['hex']);

If we take the encoded email address parts, and put them all back together and decode them then use the PHP GD libs to create an image out of the text. Then we can use the javascript function from above to "wrap" the image into an anchor. like so


This option is for those of us who are so paranoid that we are afraid to go to rehab.

For now thats a start on the concept. I may revisit this in the future and give some more incite or ideas. For now if you want to look at some real working code, download my example.

||Download|--|Example||

Post to Twitter Post to Digg Post to Facebook Post to Ping.fm Post to StumbleUpon

This is the beta project for the Wordpress Ventrilo Status Monitor Script.

If you have asked for changes or additions, before those changes make it to the official current release, the beta has to be tested to insure that the script works for everyone. Do you want to try the bleeding edge version of the plugin? Did you make a suggestion that is not part of the project? Well dont wait any longer, download the beta version of the plugin right now! And make sure you come back and report your bugs.

Possible plugin conflicts

Ajax Login Widget++
Google Syntax Highlighter for WordPress

Download the beta package (53 downloads)

Beta Change Log

1.2.62_beta

  • Added Donation renew option for those who donate to remove the ad in increments.
  • Added Update notice
  • Added Paranoid Option

    This option is for people who have a community or clan based WP website and you dont want the general public being able to have access to your server status.  This option will most likely be renamed to “privacy” on the official release.

  • Bug Fix: open_basedir or php safe mode enabled in the php.ini.

New Upcoming Features

  1. Ambiguous Widget Placement
  2. New Improved Options Page (better organization)
  3. New Status window menu panel
  4. Auto Donation ID validation

Post to Twitter Post to Digg Post to Facebook Post to Ping.fm Post to StumbleUpon

VN:F [1.8.0_1031]
Rating: 8.7/10 (7 votes cast)
Supported Browsers(IE,FF,Safari,Opera,Chrome,Flock)

A robust and highly configurable ventrilo server status plugin for WordPress. This is free utility that is powered by flagships ventrilo_status program and sponsored by InstantVentrilo.com

Basics

This plugin has a hosted or managed operation.

Hosted Option

  • Will ask another website what the provided vent server address is doing.
  • Has a small ad at the bottom of the script.
  • Custom Width
  • Custom Height
  • Refresh On Demand
  • Styled Overflow
  • Vent Logo Toggle in Titlebar

Managed Option

  • User managed
  • No Ad at the bottom of the script
  • Custom Width
  • Custom Height
  • Styled Overflow
  • Custom Colors
  • Custom Width & Height with Overflow
  • Menubar Toggle
  • Fancy or Plain Display
  • Refresh On Demand
  • Automatic Server Software Configuration
  • Requires that the webserver is running a linux OS.
  • Requires that the webserver have permission to run the program.
  • Requires the server to have the ventrilo server port on a whitelist.

Download

The most recent stable version can be downloaded from

http://wordpress.org/extend/plugins/wp-vent-spy/

Beta Version

Would you rather have a bleeding edge version of the plugin? Did you suggest something be added or did you report a bug? Is the current version just not working for you? Then give the beta version a try.
http://superscriptz.net/onykage/wordpress/ventrilo-status-monitor-beta/

Plugin Advertisement

If you want to remove the ad from the status widget, simply click the donate button at the top of the article subject or from inside the plugin options page. Once you have successfully completed the donation a unique ID code will be emailed to you. Enter this code in the Donation ID Code field on the plugin options page to remove the ad from the bottom of the plugin.

F.A.Q.

    • Q: I am getting “No response from server.” error on the widget
    • A: There is no server responce from the ip address + port you provided. Check your information or try a different server you know works. For testing purposes please feel free to use vent.onykage.com:5733.
    • Another common reason for this issue is if the ventrilo server host has the web ports blocked. If this is the case then no monitor script will work until you tell the host company to unblock the ports.
    • Q: The plugin loading image doesnt disappear.
    • A: Your current wordpress template is forcing the wrong version of jQuery or not allowing jQuery to function or you have a no script plugin running on your current browser.
    • Q: The plugin is configured and it doesnt show anything besides the lobby.
    • A: Your webhost has the port you assigned as your ventrilo server port blocked. The port needs to be added to your websites whitelist
    • Q: I got the Error “PHP Unable to start external status process.”, what now?
    • A: If you got this error then either A You do not have permission to execute the status program or B Your webhost has deemed the program as a security threat and disabled all access to it or removed it for you. I highly recomend you get a less retarded and more mainstream webhost if this is the case, I recommend hostmonster or webfaction to name a few. Both offer a wide variety of services and are completely customizable to allow for what ever you decide you want to do with your website which is how it should be.
    • Q: Does the donation ID expire?
    • A: Maybe.  It depends on the amount of the donation.  Donations in excess of 15 USD give ID’s that will not expire.  Otherwise the experation is based on how much you use the plugin vs how much you donated.  Use a ratio of 0.01 cents per use or 1000 uses per dollar.

Change Log

1.2.3
added option to remove Ventrilo Logo from title bar
added option to remove the Menubar from the status window for managed users.
fixed validation button display on managed pane.

1.2.1a-b-c
various minor bug fixes and adjustments.

1.2
now supports FireFox 2.5 and later, IE 6.5 and later, Chrome(all), Safari(all), Opera(all), Flock
moved ajax were it belongs (in the head)
optimized ajax for smoother operation (now 40% faster process time)
removed loading image
added ventrilo logo to the title bar
reorganised the options page to a more logical easy to use page
added ajax based refresh effect
added toggle based menu to extremespy utility

1.1.372b
changed loader.gif to ajax-loader.gif
changed loading div to align center, and be the width of the sidebar
adjustments made for changing the loader image tutorial
test adjustments to readme.txt to include xml formatting

1.1.364
fixed mulitple security issues with donation system
more code cleanup

1.1.146
added donation activation system
removed old versions from repo. Plugin is now fully stable so older versions are no longer needed.

1.1.033
added sponsorship banner and information into the options page
added sponsorship link into the vspy hosted banner.

1.1.013
added ability to change width/height/overflow on hosted & managed options

1.1.0
several minor code fixes and cleanup
changed the options page banner to a dynamic header
fixed no jquery problem
added managed autofix

1.0.372
fixed a few typeOs
fixed the fancy toggle.

1.0.366
fixed several precurser parse and instant errors.
added some security fixes
added some statitical resorce information to help with debugging.

1.0.326
replaced php file_get_content() with cURL libs as a php.ini workaround for hosted option.

1.0.318
fixed display delay for hosted option
added hosted.php file(jQuery work around for Post())
added loading.gif
added loading sequence in ajax to increase page load speeds
added fancy graphics to display
updated screenshots
added width options
added fancy/plain toggle
added custom colors
added hex color data to buildTable

1.0.115
fixed version oversite (project just now reached 1.0 state.)
added options page
added hosted option
change widget control to dynamic insertion
added file permissions test option for the managed section.;

0.7.77
Cleaned up the code.;
Fixed the file location bug in the widget.;
added a post based display module, please see installation.

0.6.42
added ajax refresh options

0.5.11
project start
inicial addition to wordpress svn

Post to Twitter Post to Digg Post to Facebook Post to Ping.fm Post to StumbleUpon

Onys VSpy Plugin