Vote for Event Espresso

Vote for Event Espresso

Event Espresso has been nominated for the prestigious “2010 Plugin of the Year Award” at WordPress Honors. Please take a few minutes to show your support for Event Espresso (and any of  your other favorite plugins,) by voting.

Need a little more incentive? Each person that registers on the WordPress Honors website will be entered to win great prizes from other great WordPress theme and plugin developers.

So hurry up and cast your vote for Event Espresso and start winning prizes! :)

I posted a quick example of how to add jQuery enabled expandable/collapsible panels to your event listings over at the Event Espresso forums. Be sure to check it out if you want to learn how to add this cool feature to your event listings.

Closed Panels

Closed Panels

Open Panel

Open Panel

Still using Eventbrite to host your events? You could be wasting hundreds of dollars in fees.

In a recent blog post, Event Espresso goes head-to-head with Eventbrite. While Event Espresso boasts no per event registration fees and transaction fees and your customer’s data is stored safely on your server. Event Espresso comes out looking like the best option for a self-hosted event registration and management systems. The Eventbrite hosted event management system continues to hammer you with outrageous fees.

For a limited time, get $10 off the basic license using the discount code EVENTBRITE when checking out.

Read the full story >>

This question has been asked quite a few times, so I have decided to post a tutorial in the new Event Espresso forums. If this question has been plaguing you as well, be sure to check it out.

We have just reached 5,000 downloads of Advanced Events Registration, the premiere event registration and management plugin for WordPress.

To celebrate, we offering $10 off the purchase price of premium version of the plugin, to the first 50 people! Use the discount code AER5000 to claim your discount at the time of purchase. Order now and you will also get a first look at version 3* of the new Event Espresso plugin.

*Everyone who has purchased the Advanced Events Registration plugin will also get a free upgrade to the new version shortly after release.

Beware of “pirated” premium plugins and themes that may add malicious scripts and open back doors into your server and/or your WordPress installations.

Apparently several people have had the misfortune of downloading a pirated version of my Advanced Events Registration plugin from some file sharing websites. One person’s site was entirely overwritten with spam posts and links pirated software. While another persons entire website was completely wiped out.

The website owner (whom I wont mention here) actually threatened to sue me because five years worth of content was completely removed from their blog. When I asked for a copy of their receipt from the purchase of the premium plugin. The person stated they had downloaded it from a free file hosting website. Can you believe it! So I stated the obvious, “You didn’t purchase the plugin from my website, so you will need to contact whomever you received the files from. I am not responsible for code that may be distributed by outside sources.”

Moral of the story:

Premium plugins and themes may be GPL licensed (or not in some cases.) Unless you get them from a trusted source, you may be taking a major risk using them.

Related information:

How Downloading a Premium Theme/Plugin From the Wrong Place Can Ruin Your Site

Downloading a Premium Theme from the Wrong Site can be Expensive

Download Free Premium WordPress theme :What’s the Catch?

WordPress Premium Developer and Author Piracy My Thoughts

The Ethics of WordPress Themes at a Premium

The Authorize.net gateway is now available on the Pro Version page. If you have been patiently waiting for the addition of Authorize.net into the event registration system, your wait is now over! I have spent the last few weeks getting the pro version of the plugin ready for the NEW payment gateways and building the Authorize.net gateway and IPN.

Authorize.net is not the only thing that is new. I have released several other new addons recently as well. I added a “Member Integration Module” and a “Custom Files Addon” to the list of available features for the pro version of the plugin. Be sure to visit the pro version page to see more!

For a couple of weeks I was trying to figure out why the database tables in my plugin weren’t getting updated when the plugin was installed or activated. I had recently written a function (based on this example) to create tables in my WordPress plugin. I finally narrowed it down to the dbDelta function for WordPress. After doing  a few searches on Google I came across this article which explains the the dbDelta function in detail.

Come to find out I was missing a space between a ‘‘ and a ‘(‘ as seen below.

$sql_create_table = "CREATE TABLE " . $wp_table_name . "( " . $sql . " );";

Here is how it should have looked:

$sql_create_table = "CREATE TABLE " . $wp_table_name . "  (  " . $sql . "  )  ;";

Notice the spaces highlighted in green? That was the killer. So for a while, every time I added a new field to a table in database install file. For a while I was using a function (seen below) to alter the table and add the new fields.

function add_column_if_not_exist($db, $column, $column_attr = "VARCHAR( 255 ) NULL" ){
global $wpdb;
$exists = false;
$columns = $wpdb->query("show columns from $db");
while($c = $wpdb->get_row($columns)){
if($c['Field'] == $column){
$exists = true;
break;
}
}
if(!$exists){
if (!$wpdb->query("ALTER TABLE `$db` ADD `$column`  $column_attr")){
$error = 'There was a problem adding columns to the database.';
}
}
return $error;
}

So, if you are having trouble with the dbDelta function when writing a Wrodpress plugin. Be aware of extra spaces :)

Here is more information about the dbDelta function and creating tables with plugins:

http://codex.wordpress.org/Creating_Tables_with_Plugins

http://wordpress.org/tags/dbdelta-1

http://hungred.com/how-to/wordpress-dbdelta-function/

http://designoplasty.com/2009/05/15/not-using-dbdelta-with-wordpress/

Creating Login Panel with jQuery and CSS

Creating Login Panel with jQuery and CSS

Mohit Aneja over at CSS Jockey has created a pretty nice looking sliding login panel using Jquery and CSS. The sliding login panel is similiar to what can be seen on Twitter and few other popular websites. The script looks pretty lightweight, easy to use and is well documented.  I may be using it soon (when I get around to re-designing this site.)

Check it out the full article here:

http://www.cssjockey.com/coding/jquery-css-login-panel

Read more

I have recently seen several websites that I maintain, as well as several that I don’t maintain, hacked by some kind of bot net. It has been a really good learning experience to say the least.

Most of the hacked websites were running WordPress, so my first thought that it was some kind of security exploit in WordPress. Then I was asked to investigate of a few static HTML or PHP driven websites without WordPress installations. All of the hacks were very similar and had their index.php, index.html, and .htaccess files modified. In the index.php and index.html files there was javascript code and iframe virus codes appended to the end of the file that would try to install different variants of badware/malware to unsuspecting visitors. I even seen a file that had stripped out part of the code within the file and replaced it with the malicious javascript and  iframe virus browser exploits. Therefore completely breaking the file (luckily we had a backup of the now broken file and were able to to get the site working again.) Read more