<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>smccandl.net</title>
	<atom:link href="http://smccandl.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://smccandl.net</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Fri, 11 Jun 2010 12:55:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>PayPal IPN for Digital Downloads</title>
		<link>http://smccandl.net/2010/03/paypal-ipn-for-digital-downloads/</link>
		<comments>http://smccandl.net/2010/03/paypal-ipn-for-digital-downloads/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 12:43:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://smccandl.net/?p=88</guid>
		<description><![CDATA[Last week saw the release of PWA+PHP Pro for WordPress, the big brother of PWA+PHP, with advanced functionality like thumbnail caching, integrated comments system and additional shortcodes for more functionality.  For the first week, I was manually sending out the code after the requisite donations started rolling in. Hassle. I decided to automate the process [...]]]></description>
			<content:encoded><![CDATA[<p>Last week saw the release of PWA+PHP Pro for WordPress, the big brother of <a href="http://wordpress.org/extend/plugins/pwaplusphp/">PWA+PHP</a>, with advanced functionality like thumbnail caching, integrated comments system and additional shortcodes for more functionality.  For the first week, I was manually sending out the code after the requisite donations started rolling in. <em>Hassle.</em></p>
<p>I decided to automate the process using PayPal IPN, since I was already accepting donations via PayPal, so I just needed a way to fire off an email containing the code when someone made a donation.  Much of the sample code I found online was full of errors, so I decided to post the code I used to implement the solution, including the database schema, below.  Feel free to grab it and modify as necessary to setup something similar on your site.</p>
<p><em>Note:</em> You&#8217;ll need a Business or Premier PayPal account for IPN to work.</p>
<p><strong>Database Schema:</strong></p>
<p style="font-family: monospace;">CREATE TABLE IF NOT EXISTS `donations` (<br />
`invoice` int(10) unsigned NOT NULL AUTO_INCREMENT,<br />
`receiver_email` varchar(60) DEFAULT NULL,<br />
`payment_status` varchar(10) DEFAULT NULL,<br />
`payment_date` datetime DEFAULT NULL,<br />
`mc_gross` varchar(20) DEFAULT NULL,<br />
`txn_id` varchar(20) DEFAULT NULL,<br />
`first_name` varchar(30) DEFAULT NULL,<br />
`last_name` varchar(40) DEFAULT NULL,<br />
`payer_email` varchar(60) DEFAULT NULL,<br />
PRIMARY KEY (`invoice`)<br />
)</p>
<p><strong>IPN Listener Package:</strong><br />
<em>The attached bundle contains the IPN listener and a copy of <a href="http://www.kavoir.com/2009/08/php-email-attachment-class.html">the PHP Email Attachement Class from kavoir.com</a></em><em>.</em></p>
<p><strong>Get the code: </strong><em><a href="http://code.google.com/p/ipnid/downloads/list">http://code.google.com/p/ipnid/downloads/list</a></em></p>
<p><strong>See Also: </strong><a href='http://code.google.com/p/ipnid/'>http://code.google.com/p/ipnid/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://smccandl.net/2010/03/paypal-ipn-for-digital-downloads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Site Refresh</title>
		<link>http://smccandl.net/2010/03/site-refresh/</link>
		<comments>http://smccandl.net/2010/03/site-refresh/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 01:20:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://smccandl.net/?p=85</guid>
		<description><![CDATA[In recent months, having released my first WordPress plugin, I&#8217;ve become a huge fan of the WP platform. Plugins creation is straightforward and simple themes are created easily. Due to my newfound adoration, I&#8217;ve converted several of my clients to a WordPress backend and decided to make the change on my site as well. Those [...]]]></description>
			<content:encoded><![CDATA[<p>In recent months, having released my first WordPress plugin, I&#8217;ve become a huge fan of the WP platform.  Plugins creation is straightforward and simple themes are created easily.  Due to my newfound adoration, I&#8217;ve converted several of my clients to a WordPress backend and decided to make the change on my site as well.  Those familiar with <a href="http://pwaplusphp.smccandl.net">PWA+PHP</a> will recognize <a href="http://themeforest.net/item/bluelight-wordpress-20-portfolio-and-blog/40433">Bluelight, from Themeforest</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://smccandl.net/2010/03/site-refresh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Picasa Web Albums &amp; PHP</title>
		<link>http://smccandl.net/2008/12/picasa-web-albums-php/</link>
		<comments>http://smccandl.net/2008/12/picasa-web-albums-php/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 15:22:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://www.remindershare.com/dev/?p=28</guid>
		<description><![CDATA[I use Picasa Web Albums almost exclusively because Picasa is so darn easy to use and one-click upload to a web gallery is a great perk, but I don&#8217;t love the look of PWA so I decided to try and use the API to pull down a list of my public albums for display on [...]]]></description>
			<content:encoded><![CDATA[<p>I use <a target="_BLANK" href="http://picasaweb.google.com/">Picasa Web Albums</a> almost exclusively because <a target="_BLANK" href="http://picasa.google.com/">Picasa</a> is so darn easy to use and one-click upload to a web gallery is a great perk, but I don&#8217;t love the look of PWA so I decided to try and use the API to pull down a list of my public albums for display on my photo site.<br />The code uses curl (found <a href="http://seekeronos.blogsome.com/2007/09/13/phoogle-and-godaddy-a-work-around/" target="_BLANK">here</a>) and PHP&#8217;s built-in XML parser to grab album properties from PWA using the <a href="http://code.google.com/apis/picasaweb/overview.html" target="_BLANK">Picasa Web Albums API</a> and formats them into a simple table for integration into any web page, including those hosted on GoDaddy. Click the photos link to see the code in action.</p>
<p><strong>Update:</strong>&nbsp; I&#8217;ve added the ability to include private albums, <a href="http://templatetweak.net/freebies.php">click here</a> to go futher.&nbsp; Code and instructions available at the aforementioned link.</p>
]]></content:encoded>
			<wfw:commentRss>http://smccandl.net/2008/12/picasa-web-albums-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exponent CMS Address Book</title>
		<link>http://smccandl.net/2008/08/exponent-cms-address-book/</link>
		<comments>http://smccandl.net/2008/08/exponent-cms-address-book/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 15:16:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://www.remindershare.com/dev/?p=25</guid>
		<description><![CDATA[Exponent CMS doesn&#8217;t provide a way to display user contact information (from the users table) within an addressbook module and I needed a &#8220;users directory&#8221; for one of my sites. My query on the Exponent CMS support forum yeilded zero responses after a week, so I wrote a PHP script to sync the data from [...]]]></description>
			<content:encoded><![CDATA[<p>Exponent CMS doesn&#8217;t provide a way to display user contact information (from the users table) within an addressbook module and I needed a &#8220;users directory&#8221; for one of my sites.  My query on the Exponent CMS support forum yeilded zero responses after a week, so I wrote a PHP script to sync the data from the users table to the addressbook_contact table.</p>
<p>It may not be real pretty, but it solved my problem and after scheduling the script in cron, I&#8217;ve got an addressbook module that displays updated contact information for all the users on my site.  You can download the code here.  Be sure to modify the $location_data variable in do_sync.php and set variables in db_connect.php!</p>
]]></content:encoded>
			<wfw:commentRss>http://smccandl.net/2008/08/exponent-cms-address-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exponent CMS News Stats</title>
		<link>http://smccandl.net/2008/08/exponent-cms-news-stats/</link>
		<comments>http://smccandl.net/2008/08/exponent-cms-news-stats/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 15:16:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://www.remindershare.com/dev/?p=22</guid>
		<description><![CDATA[Out of the box, Exponent doesn't provide the ability to track the number of times a particular news story has been read, which is a nice piece of info to display alongside the article.  By modifiying one database table and several source files, you too can add this feature to your Exponent CMS based site.]]></description>
			<content:encoded><![CDATA[<p>Out of the box, Exponent doesn&#8217;t provide the ability to track the number of times a particular news story has been read, which is a nice piece of info to display alongside the article.  By modifiying one database table and several source files, you too can add this feature to your Exponent CMS based site.  Read on for the details.</p>
<p>1) Modify /datatypes/definitions/newsitem.php, add (not on last line):<br />
&#8216;reads&#8217;=>array(<br />
                DB_FIELD_TYPE=>DB_DEF_INTEGER),<br />
2) Upload newsitem.php and &#8216;Install Tables&#8217; via the admin section.</p>
<p>3) Modify /modules/newsmodule/views/Default.tpl, on line 36, add:</p>
<div class=news_posted_by>Posted by {attribution user_id=$newsitem->poster} on {$newsitem->real_posted|format_date:$smarty.const.DISPLAY_DATE_FORMAT} (Reads: {$newsitem->reads})</div>
<p>4) Modify /modules/newsmodule/views/_viewSingle.tpl, replace line 45, with:</p>
<p class=news_posted_by>Posted by {attribution user_id=$newsitem->poster} on {$newsitem->real_posted|format_date:$smarty.const.DISPLAY_DATE_FORMAT} (Reads: {$newsitem->reads})</p>
<p>5) Modify /modules/newsmodule/actions/view.php, after line 36, add:<br />
#Added to count reads of each story<br />
$old_read_count = $news->reads;<br />
$new_read_count = $old_read_count + 1;<br />
$news->reads = $new_read_count;<br />
$db->updateObject($news,&#8221;newsitem&#8221;);</p>
<p>6) Modify /themes/yourtheme/style.css, toward the bottom, add:<br />
.news_posted_by {<br />
    font-size: 10px;<br />
    font-style: italic;<br />
    padding-bottom: 5px;<br />
}</p>
<p>7) Add two fields* to end of table exponent_newsitem:<br />
    permissions varchar(1),<br />
    real_posted int(16)<br />
* This may not be the best solution, but the update method seems to try to insert data into non-existent fields within the newsitem table, so for this to work, you need to create those fields.</p>
]]></content:encoded>
			<wfw:commentRss>http://smccandl.net/2008/08/exponent-cms-news-stats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

