Tag Archives: plugin

Quicksilver Plugin Tutorial – Basic Tutorial (Draft)

This page is an archived version of http://quicksilver.infogami.com/ObjectiveCPlugInsBasicTutorial Quicksilver Basic Tutorial (Draft)   Introduction A brief tutorial showing the creation, installation, and running of a Quicksilver plug-in (Objective-C) implementing a simple action. Set-up Ensure a development version of Quicksilver is installed (I put mine under ~/Applications/). Ensure Developer Tools is installed (I’ve got whichever one gives me Xcode 2.4). Follow the plug-in template installation instructions (Note that there is an important step involving telling Xcode where certain Quicksilver frameworks live – hint: they live inside the development version of Quicksilver which should now be installed.). Implementation Launch Xcode if it’s not already launched. From the Assistant (or File -> New Project), choose to create a ‘Quicksilver Plug-in’ (You’ll likely choose a location for your project and a name — I’m going to use ‘MyPlugIn’ as a name for this tutorial). Edit Info.plist to make the content as follows (A plug-in’s Info.plist allows a plug-in to communicate details about itself to Quicksilver (e.g. whether the plug-in provides an action)): < ?xml version=”1.0″ encoding=”UTF-8″?> < !DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”> <plist version=”1.0″> <dict> <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleExecutable</key> <string>MyPlugIn</string> <key>CFBundleIdentifier</key> <string>com.blacktree.Quicksilver.MyPlugIn</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>MyPlugIn</string> <key>CFBundlePackageType</key> <string>BNDL</string> <key>CFBundleVersion</key> <string>1A</string> <key>QSActions</key> </dict><dict> <key>MyPlugInAction</key> </dict><dict> <key>actionClass</key> <string>MyPlugInActionProvider</string> <key>actionSelector</key> <string>performMyAction:</string> <key>directTypes</key> <array> <string>NSStringPboardType</string> </array> <key>name</key> <string>My Action</string> </dict> <key>QSPlugIn</key> <dict> <key>author</key> <string>An Author</string> </dict> <key>QSRegistration</key> <dict> <key>QSActionProviders</key> </dict><dict> <key>MyPlugInActionProvider</key> <string>MyPlugInActionProvider</string> </dict> </plist> Edit MyPlugIn.h to make the content: // // MyPlugIn.h // MyPlugIn // #import <qscore /QSObject.h> @interface MyPlugInActionProvider : NSObject { } @end … Continue reading

Posted in Software | Tagged , | Leave a comment

Welcome to Events 2.0! This is a HUGE upgrade from 1.6.5. Please make sure you have backed up before proceeding any further.

If you are getting this error when using “The Events Calendar” it’s because on some servers Tribe’s query for checking legacy events has a flaw. This is the message: Welcome to Events 2.0! This is a HUGE upgrade from 1.6.5. Please make sure you have backed up before proceeding any further. You can easily revert to an old version if you want to backup first. This upgrade includes two major steps, migrating data & updating your templates as necessary. There have been significant changes to the template tags and functions. Check out our walkthrough on the upgrade before proceeding and check out the FAQ & Knowledge base from the support page. If you’re new to The Events Calendar, you may want to review our new user primer. You have events that need to be migrated. Please visit the bottom of the settings page to perform the migration. (I’d also like to point out that the link to the settings page needs to be updated because it is broken, but you can access the settings page via Settings->The Events Calendar in the admin menu. Anyhow, this is the code that the plugin uses to check for legacy events, it includes two functions: private static function getLegacyEvents( $number = -1 ) { // TODO: needs to account for either v1 posts or v2 ‘sp_events’ $query = new WP_Query( array( ‘post_status’ => ‘published’, ‘posts_per_page’ => $number, ‘meta_key’ => ‘_EventStartDate’, ‘category_name’ => ‘xEvents’ )); if (count($query->posts)) { TribeEvents::debug( __( ‘Install has 1 or more … Continue reading

Posted in Web Development | Tagged , , , | Leave a comment

WordPress: CREATE TABLE `wp_redirection_404` mysql error

If you’re getting the following error: WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘KEY ‘referrer’ (‘referrer’) ) DEFAULT CHARACTER SET utf8′ at line 12] CREATE TABLE ‘wp_redirection_404’ ( ‘id’ int(11) unsigned NOT NULL AUTO_INCREMENT, ‘created’ datetime NOT NULL, ‘url’ varchar(255) NOT NULL DEFAULT ”, ‘agent’ varchar(255) DEFAULT NULL, ‘referrer’ varchar(255) DEFAULT NULL, ‘ip’ int(10) unsigned NOT NULL, PRIMARY KEY (‘id’), KEY ‘created’ (‘created’), KEY ‘url’ (‘url’), KEY ‘ip’ (‘ip’,’id’) KEY ‘referrer’ (‘referrer’) ) DEFAULT CHARACTER SET utf8; Most likely you need to edit the plugin file: wp-content/plugins/redirection/models/database.php and add a comma around line 195: KEY `ip` (`ip`,`id`) needs to be changed to: KEY `ip` (`ip`,`id`), This is a flaw with the upgrade_to_231 function which is not called very often.

Posted in Tech Tips, Web Development | Tagged , , , , | 1 Comment

Inboundwriter Pricing

Inboundwriter: Register Your Plugin / Choose Pricing for Inbound Writer Step 1 of 3: Choose a plan Premium – $19.95 per month Plan I: Unlimited use (Premium) Unlimited use Topic and keyword research Topic and keyword research Search popularity optimization Search popularity optimization Search competition optimization Search competition optimization Reader targeting optimization Reader targeting optimization Ad revenue optimization Opt-out of promotional badge Basic – FREE Topic and keyword research Topic and keyword research Search popularity optimization Search popularity optimization Search competition optimization Search competition optimization Reader targeting optimization Reader targeting optimization Ad revenue optimization Supported by Inboundwriter promotional badge Displayed with your content As featured in: Tech Crunch ReadWriteWeb Information Week Search Engine Watch B to B

Posted in Social Media, Software, Web Development | Tagged , , , , | Leave a comment


Twipsy is going to be one of two things – it can either be a Bootstrap plugin, or a character / animated / mascot. Twipsy the Mascot Twipsy was the official Mascot of the EXPO 2000 World’s Fair held in Hannover. Twipsy for Bootstrap Do you wonder what Twipsy is? Twipsy is mostly a plugin for jQuery/javascript/moo-tools having to do with creating tool tips, it is based on “Tipsy”, but the important thing about the Twipsy jQuery plugin for creating tooltips is that it is part of the Twitter Bootstrap kit – that is Twipsy is a plugin that works with the Boostrap framework. Twipsy’s tooltips can be custom styled via CSS and their behavior can be controlled via JS parameters. This includes position, animation type, offset, title, trigger, content templates, etc.. It was “ported” from tipsy. A demo is included with the download package, which can be found at http://twitter.github.com/bootstrap/javascript.html#tooltips To quote them Twipsy is A new take on the jQuery Tipsy plugin, Tooltips don’t rely on images—they use CSS3 for animations and data-attributes for local title storage.

Posted in Tech Tips, Web Development | Tagged , , , , | Leave a comment

How to Reset WP to Twitter

The WordPress plugin WP to Twitter “posts a Twitter status update when you update your WordPress blog or post to your blogroll, using your chosen URL shortening service. Rich in features for customizing and promoting your Tweets.” You can activate the plugin and then set all the options, but if you are having trouble the plugin offers no way to unset all of the options associated with it. You can use the following sql / mySQL command to remove all of the options generated by this plugin. Use this at your own risk, and of course create a backup of your database before attempting this. delete from wp_options where option_name in (‘app_consumer_key’, ‘app_consumer_secret’, ‘bitlyapi’, ‘bitlylogin’, ‘comment-published-text’, ‘comment-published-update’, ‘disable_oauth_notice’, ‘disable_twitter_failure’, ‘disable_url_failure’, ‘jd_date_format’, ‘jd_donations’, ‘jd_dynamic_analytics’, ‘jd_individual_twitter_users’, ‘jd_keyword_format’, ‘jd_last_tweet’, ‘jd_max_characters’, ‘jd_max_tags’, ‘jd_post_excerpt’, ‘jd_replace_character’, ‘jd_shortener’, ‘jd_status_message’, ‘jd_strip_nonan’, ‘jd_tweet_default’, ‘jd_twit_append’, ‘jd_twit_blogroll’, ‘jd_twit_custom_url’, ‘jd_twit_prepend’, ‘jd_twit_remote’, ‘limit_categories’, ‘newlink-published-text’, ‘oauth_token’, ‘oauth_token_secret’, ‘suprapi’, ‘suprlogin’, ‘tweet_categories’, ‘twitter-analytics-campaign’, ‘twitterInitialised’, ‘use-twitter-analytics’, ‘use_dynamic_analytics’, ‘use_tags_as_hashtags’, ‘wp_bitly_error’, ‘wp_debug_oauth’, ‘wp_supr_error’, ‘wp_to_twitter_version’, ‘wp_twitter_failure’, ‘wp_url_failure’, ‘wpt_inline_edits’, ‘wpt_post_types’, ‘wtt_oauth_hash’, ‘wtt_twitter_username’, ‘wtt_user_permissions’, ‘yourlsapi’, ‘yourlslogin’, ‘yourlspath’, ‘yourlsurl’)

Posted in Social Media, Tech Tips, Web Development | Tagged , , , | Leave a comment

Fix “Post Types Order” plugin error with HTTPS

The WordPress Plugin Post Types Order by NSP CODE is helpful in as it allows you to Order Posts and Post Types Objects using a Drag and Drop Sortable javascript capability But unfortunately the plugin does not work with wordpress HTTPS / SSL admin – or at least not without errors: But the good news is that there is an easy fix with changing just a few lines of code: At the top of the post-types-order.php page there are two constant definitions: define(‘CPTPATH’, ABSPATH.’wp-content/plugins/post-types-order’); define(‘CPTURL’, get_option(‘siteurl’).’/wp-content/plugins/post-types-order’); And the second one needs to use the plugins_url() function that WordPress recommends instead: define(‘CPTPATH’, ABSPATH.’wp-content/plugins/post-types-order’); define(‘CPTURL’, plugins_url().’/post-types-order’); After that you should stop receiving the HTTPS error for some insecure content when you are in the WP administration interface.

Posted in Tech Tips, Web Development | Tagged , , , , , | Leave a comment

Multiple Post Thumbnails Plugin Broken (and Fixed)

The Multiple Post Thumbnails plugin is not working for me using WP 3.2.1. Apparently the function can not determine the ID of the related post with the current setup, that happens around line 190, “public static function get_the_post_thumbnail” My proposed solution is to change this: global $id; $post_id = (NULL === $post_id) ? $id : $post_id; to this: global $id; global $post; $post_id = (NULL === $post_id) ? $id : $post_id; if(!$post_id){ if(!empty($post->ID)){ $post_id = $post->ID; } } It’s not 100% clean but it’s fairly easy to read and it work for me.

Posted in Web Development | Tagged , , | 1 Comment

More Fields for WordPress 2.9+

Update (3/22/10) I just added a link so you can download the version I am currently using with WP 2.9. It may not be perfect but it seems to be getting the job done well enough :) MoreFields for WordPress History Are you a long time user of More Fields who is upset that it broke with WordPress 2.8 and hasn’t been fixed yet? Me too. I needed this for several projects so I hacked my own working version together with help from these folks. MoreFields for WordPress 2.9+ download Download my version (2010-03-22) here Download my version (2009-12-20) here Support, Requests, Etc Feel free to comment on this page and send along your feedback. However, I’m not getting paid to keep this plugin up to date, I just need it for some projects, so don’t get mad at me if I’m behind the times with it. If you can help make improvements, send them to me and I’ll implement them. More Fields for WordPress Description If you are not familiar with More Fields, here is the description of More Fields for WordPress from the original plugin page. More Fields is a WordPress plugin that adds boxes to the Write/Edit page. These boxes contains input fields, so that additional (more) fields can be added to a post. For example, if you write about books, you can add a box where you can enter title and author, etc. The boxes can be placed either to the right or to the left … Continue reading

Posted in Web Development | Tagged , | 2 Comments