<?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>Public MindProjects</title>
	<atom:link href="http://publicmind.in/blog/category/projects/feed/" rel="self" type="application/rss+xml" />
	<link>http://publicmind.in/blog</link>
	<description>Simple and Sophisticated</description>
	<lastBuildDate>Thu, 13 May 2010 23:32:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Drupal: Facebook-style Links</title>
		<link>http://publicmind.in/blog/drupal-facebook-link/</link>
		<comments>http://publicmind.in/blog/drupal-facebook-link/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 13:43:52 +0000</pubDate>
		<dc:creator>Nitin</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[fbsl]]></category>
		<category><![CDATA[fbss]]></category>
		<category><![CDATA[module]]></category>

		<guid isPermaLink="false">http://publicmind.in/blog/?p=475</guid>
		<description><![CDATA[Facebook-style Links (FBSL) provides the ability for users to attach and submit links along with their Facebook-style Statuses. Combined with Facebook-style Statuses (FBSS), the FBSL module provides an attach link form that loads via AHAH. Users can then attach a link with an (optional) thumbnail, title and description to their status. In the nutshell, it [...]]]></description>
			<content:encoded><![CDATA[<p><!-- Digg Digg Disabled --><a href="http://drupal.org/project/facebook_link">Facebook-style Links</a> (FBSL) provides the ability for users to attach and submit links along with their Facebook-style Statuses. Combined with <a href="http://drupal.org/project/facebook_status">Facebook-style Statuses</a> (FBSS), the FBSL module provides an attach link form that loads via <a href="http://en.wikipedia.org/wiki/AHAH">AHAH</a>. Users can then <em>attach</em> a link with an (optional) thumbnail, title and description to their status. In the nutshell, it imitates the link attachment feature on Facebook.</p>
<div id="attachment_484" class="wp-caption aligncenter" style="width: 617px"><a href="http://publicmind.in/blog/wp-content/uploads/2010/02/Screen-shot-2010-02-25-at-1.54.50-PM.png"><img class="size-full wp-image-484" title="Screenshot of FBSL on LondonFuse.ca" src="http://publicmind.in/blog/wp-content/uploads/2010/02/Screen-shot-2010-02-25-at-1.54.50-PM.png" alt="screenshot-londonfuse" width="607" height="284" /></a><p class="wp-caption-text">Screenshot of FBSL on LondonFuse.ca</p></div><br />
<span id="more-475"></span><br />
FBSL also provides token support for modules such as <a href="http://drupal.org/project/activity">Activity 2.x</a>. The themed image, title, description and status among other tokens are offered. The FBSS statuses which have a attached link, have their own separate Activity Publisher Templates.</p>
<p>FBSL is designed to be used quite intuitively, this screenshot shows the FBSL status form as themed by Thomas Cermak on <a href="http://londonfuse.ca">LondonFuse</a>.</p>
<p><div id="attachment_491" class="wp-caption aligncenter" style="width: 637px"><a href="http://publicmind.in/blog/wp-content/uploads/2010/02/sreenshot2.png"><img class="size-full wp-image-491" title="screenshot2" src="http://publicmind.in/blog/wp-content/uploads/2010/02/sreenshot2.png" alt="screenshot-facebook-link" width="627" height="76" /></a><p class="wp-caption-text">FBSL status update form</p></div>
<p>FBSL can be used out of the box, though you can customize it from the settings page. All other information (installation, usage, and changelog) can be found inside the packaged module which is available for download <a href="http://drupal.org/project/facebook_link">here</a>.</p>
<p>This module has been sponsored by Thomas Cermak of <a href="http://londonfuse.ca">LondonFuse</a>.</p>
<p><strong>Resources:</strong></p>
<ul>
<li>Project Page (Download): <a href="http://drupal.org/project/facebook_link">http://drupal.org/project/facebook_link</a></li>
</ul>
<p><strong>Note</strong>: Feature and Support requests should be made through the <a href="http://drupal.org/project/facebook_link">Facebook-style Links</a> Forum. I may not be able to answer them here.</p>
]]></content:encoded>
			<wfw:commentRss>http://publicmind.in/blog/drupal-facebook-link/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Drupal: Feeds Image Grabber</title>
		<link>http://publicmind.in/blog/drupal-feeds-image-grabber/</link>
		<comments>http://publicmind.in/blog/drupal-feeds-image-grabber/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 09:50:13 +0000</pubDate>
		<dc:creator>Nitin</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[feeds]]></category>
		<category><![CDATA[imagegrabber]]></category>
		<category><![CDATA[module]]></category>

		<guid isPermaLink="false">http://publicmind.in/blog/?p=474</guid>
		<description><![CDATA[Feeds Image Grabber (FIG) is the successor project for FeedAPI ImageGrabber to support the Feeds module. FIG parses the Item URL of each feed-item, downloads the appropriate image from the post and maps it to an image field in the node created by Feeds module for that feed-item. [Google Reader (with thumbnails) can be imitated [...]]]></description>
			<content:encoded><![CDATA[<p><!-- Digg Digg Disabled --><a href="http://drupal.org/project/feeds_imagegrabber">Feeds Image Grabber</a> (FIG) is the successor project for <a href="http://publicmind.in/blog/feedapi-imagegrabber">FeedAPI ImageGrabber</a> to support the <a href="http://drupal.org/project/feeds">Feeds</a> module. FIG parses the Item URL of each feed-item, downloads the appropriate image from the post and maps it to an image field in the node created by Feeds module for that feed-item.</p>
<p>[Google Reader (with thumbnails) can be imitated on a Drupal site by using Feeds, Feeds Image Grabber, FileField, ImageField, ImageCache, ImageAPI and Views module].</p>
<p><span id="more-474"></span> <strong>How it works</strong><br />
A classic method of mimicking the behavior of Feeds Image Grabber would be to do the same thing manually. Let us go through the procedure if you were to do it manually:</p>
<ol>
<li>Refresh the feed to create nodes for feed items (using FeedsNodeProcessor).</li>
<li>For each feed-item, go to their respective webpage and save the image to display.</li>
<li>Upload the image to CCK image field for each feed item.</li>
</ol>
<p>Feeds Image Grabber automates the last 2 steps of the three step process described. <a href="http://drupal.org/project/imagecache">Imagecache</a> module can be used to create thumbnail of the image retrieved which can be attached to the node.</p>
<p><strong>What&#8217;s in the box</strong><br />
On 3rd March, first version of FIG was released. As of today, FIG supports following features:</p>
<ol>
<li>Automatically downloads and attaches image to the node created by Feeds module.</li>
<li>Configurable XPath of the desired image location on the webpage of the feed item on per feed basis (using element&#8217;s id or CSS class).</li>
<li>Support for <a href="http://drupal.org/project/filefield_paths">FileField Paths</a> module.</li>
<li>Configurable maximum image size.</li>
<li>Configurable minimum and maximum image resolutions.</li>
</ol>
<p><strong>Get involved</strong><br />
You can get involved by doing any of the following:</p>
<ol>
<li>write about this module, so that other folks can find it.</li>
<li>report bugs in the <a href="http://drupal.org/node/add/project-issue/feeds_imagegrabber">issue queue</a>.</li>
<li>help in the <a href="http://drupal.org/project/issues/search/feeds_imagegrabber?categories[]=support">support forums</a> of the module.</li>
<li>buy me a Beer <img src='http://publicmind.in/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ol>
<p><strong>Resources: </strong></p>
<ul>
<li>Project Page (Download): <a href="http://drupal.org/project/feeds_imagegrabber">http://drupal.org/project/feeds_imagegrabber</a></li>
<li>Tutorials: <a href="http://publicmind.in/blog/tutorial-for-feeds-image-grabber">http://publicmind.in/blog/tutorial-for-feeds-image-grabber</a></li>
</ul>
<p><strong>Note</strong>: Feature and Support requests should be made through the <a href="http://drupal.org/project/feeds_imagegrabber" target="_blank">Feeds Image Grabber</a> Forum. I may not be able to answer them here.</p>
]]></content:encoded>
			<wfw:commentRss>http://publicmind.in/blog/drupal-feeds-image-grabber/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>WordPress: WP ShareThisPost</title>
		<link>http://publicmind.in/blog/wordpress-sharethispost/</link>
		<comments>http://publicmind.in/blog/wordpress-sharethispost/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 22:12:31 +0000</pubDate>
		<dc:creator>Nitin</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[bookmarking]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[sharing]]></category>

		<guid isPermaLink="false">http://publicmind.in/blog/?p=386</guid>
		<description><![CDATA[Although the third party bookmarking and sharing tools are quite useful to analyze the sharing trends on your blog, they do slow down the whole process of sharing. Also, as mentioned in my Sharing and Bookmarking Tools post, I was not comfortable with the small icons available with Bookmarkify and Socialable. WP ShareThisPost is a [...]]]></description>
			<content:encoded><![CDATA[<p>Although the third party bookmarking and sharing tools are quite useful to analyze the sharing trends on your blog, they do slow down the whole process of sharing. Also, as mentioned in my <a title="Sharing and Bookmarking Tools" href="http://publicmind.in/blog/share-bookmark-tools/">Sharing and Bookmarking Tools</a> post, I was not comfortable with the small icons available with Bookmarkify and Socialable. <strong>WP ShareThisPost</strong> is a small custom wordpress plugin which provides large icons along with the flexibility to add your favorite sharing and bookmarking sites (if not included by default).</p>
<p><strong>WP ShareThisPost</strong> includes the following sharing and bookmarking sites, by default:</p>
<ul>
<li>del.icio.us</li>
<li>Digg</li>
<li>Google Bookmarks</li>
<li>StumbleUpon</li>
<li>Facebook</li>
<li>Twitter</li>
<li>Technorati</li>
</ul>
<p><span id="more-386"></span><br />
Go through the readme.txt file to know how you can customize <strong>WP ShareThisPost</strong> to include more of your favorite sharing and bookmarking sites.</p>
<p><strong>WP ShareThisPost</strong>, by default, only adds the sharing and bookmarking links at the end of posts. You can see the readme.txt file to see how you can change that to include pages, archives, feeds, etc.</p>
<p><a href='https://sourceforge.net/projects/wpsharethispost/' title='WP ShareThisPost'><img src='http://publicmind.in/blog/wp-content/uploads/downloadbutton.gif' alt='Download' /></a></p>
<h2><strong>Installation</strong></h2>
<p>Upload the unzipped folder into the plugins folder of your wordpress installation (usually /wp-content/plugins), activate it and you are ready to go. You will see the desired links below each of your posts:</p>
<p style="text-align: center;">
<div id="attachment_388" class="wp-caption aligncenter" style="width: 478px"><a href="http://publicmind.in/blog/wp-content/uploads/2010/01/wp_sharethispost.jpg"><img class="size-full wp-image-388 " title="WP ShareThisPost" src="http://publicmind.in/blog/wp-content/uploads/2010/01/wp_sharethispost.jpg" alt="WP ShareThisPost" width="468" height="91" /></a><p class="wp-caption-text">WP ShareThisPost</p></div>
<h2>Styling</h2>
<p>I use this CSS to style my WP ShareThisPost, adapt as you wish of course by changing the wp_sharethispost.css file:</p>
<div class="codecolorer-container css default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:500px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#content</span> <span style="color: #6666ff;">.wp_sharethispost</span> ul <span style="color: #00AA00;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">inline</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #933;">12px</span> !important<span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span> !important<span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #cc00cc;">#content</span> <span style="color: #6666ff;">.wp_sharethispost</span> ul li <span style="color: #00AA00;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">inline</span> !important<span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">list-style-type</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> <span style="color: #933;">15px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #cc00cc;">#content</span> <span style="color: #6666ff;">.wp_sharethispost</span> li<span style="color: #3333ff;">:before </span><span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;&quot;</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span><br />
<span style="color: #cc00cc;">#content</span> <span style="color: #6666ff;">.wp_sharethispost</span> img <span style="color: #00AA00;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">48px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">48px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #cc00cc;">#content</span> <span style="color: #6666ff;">.wp_sharethispost</span> <span style="color: #6666ff;">.wp_sharethispost_tagline</span> <span style="color: #00AA00;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1.5em</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#486472</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span> <span style="color: #933;">10px</span> <span style="color: #933;">10px</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://publicmind.in/blog/wordpress-sharethispost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal: FeedAPI Imagegrabber</title>
		<link>http://publicmind.in/blog/feedapi-imagegrabber/</link>
		<comments>http://publicmind.in/blog/feedapi-imagegrabber/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 07:08:10 +0000</pubDate>
		<dc:creator>Nitin</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Intern]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://publicmind.in/blog/?p=105</guid>
		<description><![CDATA[Feeds Image Grabber (FIG) was released on 3rd March 2010, to support the Feeds module. Introduction FeedAPI Imagegrabber is a add-on module for FeedAPI. It consists of a parser which visits the original URL of a new feed item, and retrieves the main image from the post. Once the main image has been retrieved, it [...]]]></description>
			<content:encoded><![CDATA[<p><!-- Digg Digg Disabled -->
<div class="download"><a href="http://publicmind.in/blog/drupal-feeds-image-grabber">Feeds Image Grabber</a> (FIG) was released on 3rd March 2010, to support the <a href="http://drupal.org/project/feeds">Feeds</a> module.
</div>
<p><strong>Introduction</strong></p>
<p><a href="http://drupal.org/project/feedapi_imagegrabber" target="_blank">FeedAPI Imagegrabber</a> is a add-on module for <a href="http://drupal.org/project/feedapi" target="_blank">FeedAPI</a>. It consists of a parser which visits the original URL of a new feed item, and retrieves the main image from the post. Once the main image has been retrieved, it is then converted into a thumbnail using the <a href="http://drupal.org/project/imagecache" target="_blank">ImageCache</a> module, and stored in the node created by FeedAPI, inside a CCK field.</p>
<p>The purpose of FeedAPI Imagegrabber is to make the feed more informative as well as interesting for the user. As, we all know that &#8220;comics are much better than novels&#8221;, this module appends the feed-item with an appropriate image from its content URL. The goal of the module is to mimic the thumbnail display of websites such as digg.com. This goal is acheived by using FeedAPI to turn RSS feed-items into nodes, and then using FeedAPI Imagegrabber to append these nodes with an appropriate image from the feed-item&#8217;s webpage.<br />
<span id="more-105"></span><br />
<strong>How it works</strong></p>
<p>A classic method of mimicking the behavior of FeedAPI Imagegrabber will be to do the same thing manually. Let us go through the procedure if you were to do it manually:</p>
<ol>
<li>Refresh the feed.</li>
<li>For each feed-item, go to their respective original URL and save the image to display.</li>
<li>Crop the image, convert it into a thumbnail and then upload it in an CCK Image field.</li>
</ol>
<p>FeedAPI Imagegrabber automates the last 2 steps of the three step process described. It uses cURL to download the images and then crop them using Imagecache. Then the image is stored into the CCK Imagefield. The most difficult part which only humans can do is to select the image,  for which I am constantly improving on the heuristics.</p>
<p><strong>Download and Install</strong></p>
<p>Visit the project page : <a href="http://drupal.org/project/feedapi_imagegrabber" target="_blank">FeedAPI Imagegrabber</a></p>
<p><strong>Features and Future Releases</strong></p>
<p>Visit the project page : <a href="http://drupal.org/project/feedapi_imagegrabber" target="_blank">FeedAPI Imagegrabber</a></p>
<p><strong>History</strong></p>
<p>I understand history is boring, but it is only for those who think the other way round. I started working on this module during December 2008.  At the time, when I started working on this module, I had a little or say<em><strong> no idea</strong></em> about Drupal or its API. It took me quite some time to get used to it and start working on the module. In the Initial release, I thought of very simple heuristics and decided to select the largest image available on the web-page. I completed the module in about 1 month and was very happy with my performance, and then a big blow came which delayed the release of FeedAPI Imagegrabber by 2 months. I had to include an external BSD licensed script for converting relative URL&#8217;s to absolute URL&#8217;s but Drupal denied to accept this. They said they allow only GPL licensed code and I started to convince them that both licenses are compatible. Unfortunately, I was unable to convince them and I had to create an external link to that BSD script on sourceforge. And now, the module is released with the hope to enhance the visitor-experience on several websites around the globe.</p>
<p>You may find these posts useful:</p>
<p><a rel="bookmark" href="http://publicmind.in/blog/tutorial-for-feedapi-imagegrabber">Tutorial for FeedAPI ImageGrabber</a><br />
<a class="title" rel="bookmark" href="http://publicmind.in/blog/urltoabsolute/">PHP: Relative URL to Absolute URL</a><br />
<a rel="bookmark" href="http://magicalsilverdrop.blogspot.com/2009/02/open-source-software-and-licenses.html">Open Source Software and Licenses</a></p>
<p>Do Leave your comments to let me know what you think.</p>
<p><strong>Note: </strong>Support queries and requests should be made through the <a href="http://drupal.org/project/feedapi_imagegrabber" target="_blank">FeedAPI Imagegrabber Forum</a>. I may not be able to answer them here. <img src='http://publicmind.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="download">
<p><strong>Updates:</strong></p>
<ul>
<li>The first stable version of the module was released on 7th April, 2009. Check it out now <a href="http://drupal.org/project/feedapi_imagegrabber" target="_blank">here</a>!!</li>
<li>RC1 release for Imagegrabber is now available for download on Project page. It is compatible with the RC1 release of Imagefield. (17 Apr, 2009)</li>
<li>Demonstration Website is up, and is available <a href="http://publicmind.in/feedapi_imagegrabber/demonstration">here</a>. (20 Aug, 2009)</li>
<li>FeedAPI ImageGrabber v1.8 released. Download it from the project website <a href="http://drupal.org/project/feedapi_imagegrabber" target="_blank">here</a>. (20 September 2009)</li>
<li><a href="http://publicmind.in/blog/tutorial-for-feedapi-imagegrabber">Tutorial for FeedAPI ImageGrabber</a> published. (20 September 2009)</li>
<li>FeedAPI ImageGrabber v1.9 released. Download it from the project website <a href="http://drupal.org/project/feedapi_imagegrabber" target="_blank">here</a>. (26 October 2009)</li>
<li>FeedAPI ImageGrabber now supports <a href="http://drupal.org/project/filefield_paths">Filefield Paths</a> module. Download the development snapshot, its stable for use on production site.</li>
<li>As of 02 Dec 2009, Development of FeedAPI ImageGrabber has been halted. You can look out for the <a href="http://drupal.org/project/feeds_imagegrabber" target="_blank">Feeds Image Grabber</a> module which supports <a href="http://drupal.org/project/feeds" target="_blank">Feeds</a> module,  successor of FeedAPI, with the same functionality.</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://publicmind.in/blog/feedapi-imagegrabber/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>PHP: Relative URL to Absolute URL</title>
		<link>http://publicmind.in/blog/urltoabsolute/</link>
		<comments>http://publicmind.in/blog/urltoabsolute/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 10:45:31 +0000</pubDate>
		<dc:creator>Nitin</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">http://publicmind.phpzilla.net/?p=41</guid>
		<description><![CDATA[Recently, I was working on a project and I needed to convert the relative URLs to their absolute URLs. An absolute URL such as &#8220;http://www.example.com/image.jpg&#8221; but mostly written as only &#8220;image.jpg&#8221; (relative URL) on the web pages. Web browser creates a complete URL using this relative URL and base URL. The base URL, must be [...]]]></description>
			<content:encoded><![CDATA[<p><!-- Digg Digg Disabled -->Recently, I was working on a project and I needed to convert the relative URLs to their absolute URLs. An absolute URL such as &#8220;http://www.example.com/image.jpg&#8221; but mostly written as only &#8220;image.jpg&#8221; (relative URL) on the web pages. Web browser creates a complete URL using this relative URL and base URL. The base URL, must be absolute and it is often the URL of the web page containing the relative URL.</p>
<p>Now, if you need to access a file whose relative URL and base URL are known, you must combine them to create an absolute URL.<br />
<span id="more-41"></span><br />
The RFC URL specification defines an &#8220;absolutize&#8221; algorithm for combining an absolute base URL with a relative URL to create a new absolute URL. This algorithm was already implemented and I found the PHP script for the algorithm at <a href="http://nadeausoftware.com/articles/2008/05/php_tip_how_convert_relative_url_absolute_url">nadeausoftware.com</a>. I have created a project <a href="http://sourceforge.net/projects/absoluteurl">UrlToAbsolute</a> at <a href="http://sourceforge.net" target="_blank">sourceforge</a>, as I needed to use it in my several open source projects including <a href="http://publicmind.in/blog/feedapi-imagegrabber">FeedAPI ImageGrabber</a>, <a href="http://drupal.org/project/facebook_link">Facebook-style Links</a> and <a href="http://drupal.org/project/facebook_link">Feeds Image Grabber</a>. As the original script was released under <a href="http://www.opensource.org/licenses/bsd-license.php" target="_blank">BSD License</a>, it was pretty easy to fork it. Here is the link to the project <a href="http://sourceforge.net/projects/absoluteurl" target="_blank">UrlToAbsolute</a>. You can also look at the step by step explanation of the script <a href="http://nadeausoftware.com/articles/2008/05/php_tip_how_convert_relative_url_absolute_url">here</a>.</p>
<p><strong> Usage Instructions</strong></p>
<p>
Extract the script (url_to_absolute.php) into your web directory, include it into your current php file using:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">require(path-to-file);</div></td></tr></tbody></table></div>
<p>then, you can convert the relative url to absolute url by calling:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">url_to_absolute( $baseUrl, $relativeUrl);</div></td></tr></tbody></table></div>
<p>It return false on failure, otherwise returns the absolute url. If the $relativeUrl is a valid absolute url, it  is returned without any modification.</p>
<p><strong>Related resources:</strong></p>
<ul>
<li>Project page: <a href="http://sourceforge.net/projects/absoluteurl">http://sourceforge.net/projects/absoluteurl</a></li>
<li>Original article: <a href="http://nadeausoftware.com/articles/2008/05/php_tip_how_convert_relative_url_absolute_url">http://nadeausoftware.com/articles/2008/05/php_tip_how_convert_relative_url_absolute_url</a></li>
</ul>
<div class="download"><strong>ChangeLog</strong></p>
<ul>
<li>v1.6, March 12, 2010<br />
- added <strong>encode_url</strong> function to convert an absolute url to its percentage<br />
  encoded equivalent, according to RFC 3986</li>
<li>v1.5, March 11, 2010<br />
- fixed to allow spaces in the path of url</li>
<li>v1.4, October 2, 2009<br />
- Percentage encoding of the absolute url disabled.</li>
<li>v1.0, February 27, 2009<br />
- Initial release of the script on <a href="http://nadeausoftware.com">nadeausoftware.com</a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://publicmind.in/blog/urltoabsolute/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
