<?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>Joakim Jarsäter</title>
	<atom:link href="http://www.jarsater.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.jarsater.com</link>
	<description>Webbutveckling &#38; design</description>
	<lastBuildDate>Fri, 23 Sep 2011 11:34:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Zend Paginator &amp; Doctrine</title>
		<link>http://www.jarsater.com/zend-paginator-doctrine</link>
		<comments>http://www.jarsater.com/zend-paginator-doctrine#comments</comments>
		<pubDate>Fri, 23 Sep 2011 11:34:27 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Doctrine]]></category>
		<category><![CDATA[Tips & Trix]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[Paginator]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=447</guid>
		<description><![CDATA[Satt igår och jobbade på ett projekt där jag använder mig av Doctrine &#38; ramverket Zend. Självklart ville jag använda mig av någon typ av paginator för att smidigt kunna dela upp mina modeller på flera sidor. library/App/Paginator/Adapter/Doctrine.php class App_Paginator_Adapter_Doctrine implements Zend_Paginator_Adapter_Interface { protected $_select; public function __construct( Doctrine_Query $select ) { $this->_select = $select; [...]]]></description>
			<content:encoded><![CDATA[<p>Satt igår och jobbade på ett projekt där jag använder mig av Doctrine &amp; ramverket Zend. Självklart ville jag använda mig av någon typ av paginator för att smidigt kunna dela upp mina modeller på flera sidor.</p>
<h6>library/App/Paginator/Adapter/Doctrine.php</h6>
<pre name="code" class="php">
class App_Paginator_Adapter_Doctrine
    implements Zend_Paginator_Adapter_Interface
{
    protected $_select;

    public function __construct( Doctrine_Query $select )
    {
        $this->_select = $select;
    }

    public function getItems($offset, $itemCountPerPage)
    {
        return $this->_select->offset($offset)->limit($itemCountPerPage)->execute();
    }

    public function count()
    {
        return $this->_select->count();
    }
}
</pre>
<h6>application/controllers/IndexController.php</h6>
<pre name="code" class="php">
class IndexController extends Zend_Controller_Action
{

    public function indexAction()
    {
        /**
         * Paginator
         */
        $adapter = new App_Paginator_Adapter_Doctrine(Doctrine_Query::create()->select()->from('Model_Foo f'));
        $paginator = new Zend_Paginator( $adapter );
        $paginator->setItemCountPerPage( 5 )
                  ->setCurrentPageNumber( $this->_getParam( 'page', 1 ) )
                  ->setPageRange( 8 );

        $this->view->paginator = $paginator;
    }
</pre>
 <p><a href="http://www.jarsater.com/?flattrss_redirect&amp;id=447&amp;md5=0fcfedb23a07472b9606ae73f170fc7c" title="Flattr" target="_blank"><img src="http://www.jarsater.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/zend-paginator-doctrine/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend &amp; Doctrine, problems with charset</title>
		<link>http://www.jarsater.com/zend-doctrine-problems-with-charset</link>
		<comments>http://www.jarsater.com/zend-doctrine-problems-with-charset#comments</comments>
		<pubDate>Thu, 18 Nov 2010 18:26:41 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Doctrine]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=398</guid>
		<description><![CDATA[Recently i ran in to a problem with my charset when i used the Zend and Doctrine libraries to develop my project. I finaly managed to solve my problem and posted a topic about it in the Zendcast-forum. Check it out over here!]]></description>
			<content:encoded><![CDATA[<p>Recently i ran in to a problem with my charset when i used the Zend and  Doctrine libraries to develop my project. I finaly managed to solve my problem and posted a topic about it in the Zendcast-forum.</p>
<p><a href="http://www.zendcasts.com/forum/post/1183/" target="_blank">Check it out over here!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/zend-doctrine-problems-with-charset/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JJ Simple Signup WP-Plugin</title>
		<link>http://www.jarsater.com/jj-simple-signup-wp-plugin</link>
		<comments>http://www.jarsater.com/jj-simple-signup-wp-plugin#comments</comments>
		<pubDate>Sat, 23 Oct 2010 15:49:56 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Shortcode]]></category>
		<category><![CDATA[Simple Signup]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=355</guid>
		<description><![CDATA[Under dom senaste dagarna har jag jobbat en hel del på ett tillägg till WordPress som hämtar information från Simple Signup och skriver ut det på din blogg/hemsida. Vad är Simple Signup kanske du undrar nu? Ta emot anmälningar och Samla in pengar Vi hjälper dig med bokning, betalning och deltagarlista snabbt och professionellt. Än [...]]]></description>
			<content:encoded><![CDATA[<p>Under dom senaste dagarna har jag jobbat en hel del på ett tillägg till WordPress som hämtar information från Simple Signup och skriver ut det på din blogg/hemsida. Vad är Simple Signup kanske du undrar nu?</p>
<blockquote><p>Ta emot anmälningar och Samla in pengar</p>
<p>Vi hjälper dig med bokning, betalning och deltagarlista snabbt och professionellt.</p></blockquote>
<p>Än så länge är Simple Signups API något begränsat, men min förhoppning är att man i framtiden ska kunna hantera och redigera alla dina event direkt i din WordPress-installation, snabbt &amp; smidigt. Som default är utkskrivt av gästlista avslaget, men det går enkelt att ändra via administrationsgränssnittet. Det finns även stöd för en widget som enkelt kan användas i en sidebar.<br />
<span id="more-355"></span></p>
<h3>Installation</h3>
<ol>
<li>Upload `plugin-name.php` to the `/wp-content/plugins/` directory</li>
<li>Activate the plugin through the &#8216;Plugins&#8217; menu in WordPress</li>
<li>Add your events in the administration panel</li>
<li>Use shortcode &#091;jj-simplesignup-event id=&#8221;xyz&#8221; print_guestlist=&#8221;true|false&#8221;&#093;</li>
</ol>
<h3>Frequently Asked Questions</h3>
<p><em>none</em></p>
<h3>Screenshots</h3>

<a href='http://www.jarsater.com/jj-simple-signup-wp-plugin/screenshot-1' title='screenshot-1'><img width="150" height="150" src="http://www.jarsater.com/wp-content/uploads/2010/10/screenshot-1-150x150.jpg" class="attachment-thumbnail" alt="screenshot-1" title="screenshot-1" /></a>
<a href='http://www.jarsater.com/jj-simple-signup-wp-plugin/screenshot-2' title='screenshot-2'><img width="150" height="150" src="http://www.jarsater.com/wp-content/uploads/2010/10/screenshot-2-150x150.jpg" class="attachment-thumbnail" alt="screenshot-2" title="screenshot-2" /></a>
<a href='http://www.jarsater.com/jj-simple-signup-wp-plugin/screenshot-3' title='screenshot-3'><img width="150" height="93" src="http://www.jarsater.com/wp-content/uploads/2010/10/screenshot-3-150x93.jpg" class="attachment-thumbnail" alt="screenshot-3" title="screenshot-3" /></a>

<h3>Changelog</h3>
<h4>0.2.3 [2010-10-27]</h4>
<p>- Simplesignup class now checks for cURL installation<br />
- added file_get_contents() if cURL is not installed</p>
<h4>0.2.2 [2010-10-27]</h4>
<p>- Minor bugfixes</p>
<h4>0.2.1 [2010-10-27]</h4>
<p>- Bugfixes<br />
- Changed the way RSS feed look<br />
- Improved localization</p>
<h4>0.2 [2010-10-26]</h4>
<p>- Improved administration<br />
- Improved settings page<br />
- Added Simple Pie lib to read XML</p>
<h4>0.1.2 [2010-10-25]</h4>
<p>- Added caching with Zend Cache</p>
<h4>0.1.1 [2010-10-24]</h4>
<p>- Multiwidget support</p>
<h4>0.1 [2010-10-23]</h4>
<p>Release</p>
<h3>Download</h3>
<p><a href="http://wordpress.org/extend/plugins/jj-simple-signup/">http://wordpress.org/extend/plugins/jj-simple-signup/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/jj-simple-signup-wp-plugin/feed</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Improved Thematic Localization</title>
		<link>http://www.jarsater.com/improved-thematic-localization</link>
		<comments>http://www.jarsater.com/improved-thematic-localization#comments</comments>
		<pubDate>Wed, 20 Oct 2010 09:32:00 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Guider]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=340</guid>
		<description><![CDATA[If you haven&#8217;t already tried the wonderful Worpress theme framework Thematic, I really suggest that you do so! Thematic is a free, open-source, highly extensible, search-engine optimized WordPress Theme Framework featuring 13 widget-ready areas, grid-based layout samples, styling for popular plugins, and a whole community behind it. It&#8217;s perfect for beginner bloggers and WordPress development [...]]]></description>
			<content:encoded><![CDATA[<p>If you haven&#8217;t already tried the wonderful <a href="http://themeshaper.com/thematic/">Worpress theme framework Thematic</a>, I really suggest that you do so!</p>
<blockquote><p>Thematic is a free, open-source, highly extensible, search-engine optimized WordPress Theme Framework  featuring 13 widget-ready areas, grid-based layout samples, styling for popular plugins, and a whole community behind it. It&#8217;s perfect for beginner bloggers and WordPress development professionals.</p></blockquote>
<h3>Localization</h3>
<p>As I&#8217;m from Sweden I want all parts of my web page to be in Swedish, off course! But what I found was that the localization for Thehmatic wasn&#8217;t 100%. For instance, the value of the search box did not translate correctly. Instead of being in Swedish it was in English.</p>
<p>And this is how I fixed it, It might just be an easier way. If so, please leave a comment ant tell me.</p>
<p><span id="more-340"></span></p>
<pre name="code" class="php"># functions.php (In my child theam folder)
/**
 * Change the text in serach inputfield
 *
 * @param 	sring $value
 * @return	string
 */
function mytheme_searchfield_value($value) {
	$value = __('To search, type and hit enter', 'thematic');
	return $value;
}</pre>
<p>Then we also have to add an extra line to the <strong>sv_SE.po</strong>. If don&#8217;t already have it you can use the <a href="http://www.poedit.net/">Poedit software</a>. Open it up and click on the &#8221;Catalogue&#8221; option and then &#8221;Update From POT-file&#8221;. Locate the thematic.pot-file inside the Thematic theme folder: &#8221;<em>thematic/library/languages/</em>&#8221;.</p>
<p style="text-align: left;">You should now have a few new lines in you sv_SE.po-file or whatever language you want to use. Find the line with &#8221;To search, type and hit enter&#8221;. Now all you have to do is to change the translation, or if it is empty, just type your new translation.</p>
<p style="text-align: left;"><a href="http://www.jarsater.com/wp-content/uploads/2010/10/poedit-improved-thematic-localisation.jpg" rel="lightbox[340]"><img class="size-medium wp-image-345 aligncenter" title="poedit-improved-thematic-localisation" src="http://www.jarsater.com/wp-content/uploads/2010/10/poedit-improved-thematic-localisation-300x50.jpg" alt="" width="300" height="50" /></a></p>
<p>Now when i refresh my page the value of the search box is now in Swedish.</p>
 <p><a href="http://www.jarsater.com/?flattrss_redirect&amp;id=340&amp;md5=20d3e5731c39c35696a1226152348dcc" title="Flattr" target="_blank"><img src="http://www.jarsater.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/improved-thematic-localization/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordCamp Sverige 2010</title>
		<link>http://www.jarsater.com/wordcamp-sverige-2010</link>
		<comments>http://www.jarsater.com/wordcamp-sverige-2010#comments</comments>
		<pubDate>Mon, 18 Oct 2010 08:43:29 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Blogg]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=323</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://se.wordcamp.org/"><img class="aligncenter" title="Jag kommer" src="http://se.wordcamp.org/files/2010/10/wordcampsthlm2010-180x300.png" alt="WordCamp 2010" width="180" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/wordcamp-sverige-2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MVC Kontaktformulär i PHP</title>
		<link>http://www.jarsater.com/mvc-kontaktformular-i-php</link>
		<comments>http://www.jarsater.com/mvc-kontaktformular-i-php#comments</comments>
		<pubDate>Sun, 03 Oct 2010 14:45:13 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Contact]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=306</guid>
		<description><![CDATA[Var ett bra tag sen jag la upp något här nu. Men jag tänkte i alla fall dela med mig av ett script jag gjorde för ett tag sen när jag vill lära mig mer om MVC. Jag ska inte påstå att det är det bästa, eller att det ens följer standarder. Men det hjälpa [...]]]></description>
			<content:encoded><![CDATA[<p>Var ett bra tag sen jag la upp något här nu. Men jag tänkte i alla fall dela med mig av ett script jag gjorde för ett tag sen när jag vill lära mig mer om MVC. Jag ska inte påstå att det är det bästa, eller att det ens följer standarder. Men det hjälpa i alla fall mig få en bättre förståelse för hur MVC fungerar och varför det är så vanligt.</p>
<h2>Model</h2>
<pre name="code" class="php">
&lt;?php
class jj_EmailModel
{
	public function __construct()
	{
		/* Connect to db */
	}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/mvc-kontaktformular-i-php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Läsa XML-fil med jQuery</title>
		<link>http://www.jarsater.com/lasa-xml-fil-med-jquery</link>
		<comments>http://www.jarsater.com/lasa-xml-fil-med-jquery#comments</comments>
		<pubDate>Sun, 11 Apr 2010 10:29:12 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Guider]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tips & Trix]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=276</guid>
		<description><![CDATA[Att kunna läsa innehåll från en databas eller en XML-fil är otroligt användbart i många lägen när man skapar hemsidor. Javascript är ett språk många känner till. Ett enkelt sätt att använda Javascript är genom ramverket <a href="http://jquery.com" target="_blank">jQuery</a>. Idag satt jag och funderade på  hur man med hjälp av jQuery &#038; AJAX på ett enkelt sätt kan läsa igenom en XML-fil och sen använda sig av informationen i den på sidan.]]></description>
			<content:encoded><![CDATA[<p>Att kunna läsa innehåll från en databas eller en XML-fil är otroligt användbart i många lägen när man skapar hemsidor. Javascript är ett språk många känner till. Ett enkelt sätt att använda Javascript är genom ramverket <a href="http://jquery.com" target="_blank">jQuery</a>. Idag satt jag och funderade på  hur man med hjälp av jQuery &#038; AJAX på ett enkelt sätt kan läsa igenom en XML-fil och sen använda sig av informationen i den på sidan.</p>
<p><span id="more-276"></span></p>
<p>Vi får börja med att skapa en koppling till jQuery och läsa in ramverket på våran sida. Det kan vi göra på två olika sätt</p>
<ul>
<li>Ladda ner ramverket och läsa in det lokalt</li>
<li>Ladda in det från Googles API</li>
</ul>
<p>Under tiden jag kör mina script lokalt brukar jag använda mig av Googles API för att slippa ladda ner det till alla olika projekt. Men annars rekommenderar jag att man laddar ner det och läser in det lokalt för att spara bandbredd &#038; tid.</p>
<pre name="code" class="html">
&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"&gt;&lt;/script&gt;
</pre>
<p>Script-taggen lägger vi som vanligt innanför &lt;head&gt;-taggarna i vårat dokument</p>
<pre name="code" class="javascript">
&lt;script type="text/javascript"&gt;
	$(document).ready(function() {

	});
&lt;/script&gt;
</pre>
<p>$(document).ready(function) betyder egentligen bara att scriptet körs eller blir tillgängligt så fort som sidan laddats klart. Ibland vill man ha det så, ibland inte, det är beroende på scriptets funktion.</p>
<pre name="code" class="javascript">
$.ajax({
	type: "GET",
	url: "jquery_xml.xml",
	dataType: "xml",
	success: function(xml) {
</pre>
<ul>
<li>type: Vilken typ av method vi ska använda oss av. GET eller POST</li>
<li>url: Sökvägen till vårat XML-dokument</li>
<li>dataType: Den datatyp vi förväntar oss att servern skickar tillbaka till oss. I detta fall är det en XML-fil</li>
<li>success: Vad som ska hända när vi får ett positivt svar från servern</li>
</ul>
<pre name="code" class="javascript">
// Hittar person-noden i dokumentet &#038; loopar igenom den
$(xml).find('person').each(function() {
	var id = $(this).find("id").text();
	var firstname = $(this).find("firstname").text();
	var lastname = $(this).find("lastname").text();

	// Skriver ut i dokumentet
	$('body').append("

(" + id + ") " + firstname + " " + lastname + "

");
	});
}
</pre>
<p>När vi får tillbaka ett positivt svar från servern så ska vi köra funktionen xml. I den funktionen navigerar vi oss med hjälp av jQuery till den repeterande noden &lt;person&gt;. För varje loop sätter vi ett par variabler som sen skrivs ut i dokumentet</p>
<p>Men vad händer då om man inte får ett positivt svar från server? Ja då finns det ett annat attribut som heter <strong>error</strong>. När det händer kan vi välja att göra något annat. I mitt fall väljer jag bara att skriva ut ett felmeddelande i consolen.</p>
<pre name="code" class="javascript">
error: function() {
	console.log("De gick inte att hämta XML-filen");
}
</pre>
<p>Sen behöver vi självklart ett XML-dokument också. jag har skapat en dokument med några få noder som vi kan använda oss av i vårat lilla test</p>
<pre name="code" class="xml">
&lt;?xml version="1.0" encoding="utf8"?&gt;
&lt;persons&gt;
	&lt;person&gt;
		&lt;id&gt;1&lt;/id&gt;
		&lt;firstname&gt;John&lt;/firstname&gt;
		&lt;lastname&gt;Doe&lt;/lastname&gt;
	&lt;/person&gt;
	&lt;person&gt;
		&lt;id&gt;2&lt;/id&gt;
		&lt;firstname&gt;Foo&lt;/firstname&gt;
		&lt;lastname&gt;bar&lt;/lastname&gt;
	&lt;/person&gt;
	&lt;person&gt;
		&lt;id&gt;3&lt;/id&gt;
		&lt;firstname&gt;Biz&lt;/firstname&gt;
		&lt;lastname&gt;Baz&lt;/lastname&gt;
	&lt;/person&gt;
&lt;/persons&gt;
</pre>
<p>Här har vi den fullständiga koden</p>
<pre name="code" class="html">
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
	&lt;head&gt;

		&lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8"/&gt;

		&lt;title&gt;&lt;/title&gt;

		&lt;link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/&gt;
		&lt;link rel="stylesheet" type="text/css" href=".css"/&gt;

		&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"&gt;&lt;/script&gt;
		&lt;script type="text/javascript"&gt;
		$(document).ready(function() {
			$.ajax({
				type: "GET",
				url: "jquery_xml.xml",
				dataType: "xml",
				success: function(xml) {
					$(xml).find('person').each(function() {
						var id = $(this).find("id").text();
						var firstname = $(this).find("firstname").text();
						var lastname = $(this).find("lastname").text();
						$('body').append("&lt;p&gt;(" + id + ") " + firstname + " " + lastname + "&lt;/p&gt;");
					});
				},
				error: function() {
					console.log("Det gick inte att ladda XML-filen");
				}
			});
		});
		&lt;/script&gt;
	&lt;/head&gt;

	&lt;body&gt;

	&lt;/body&gt;

&lt;/html&gt;
</pre>
<p><h2>Ladda ner</h2><a href="http://www.jarsater.com/wp-content/plugins/download-monitor/download.php?id=2" title="Downloaded 195 times"><img src="http://www.jarsater.com/wp-content/uploads/downloads/thumbnails/2010/04/ZIP-icon.jpg" alt="Ladda ner, jQuery & XML"/></a><br />
jQuery & XML, <small>Läsa igenom en XML-fil med hjälp av Javascript-ramverket jQuery</small></p>
<p><em>(Nerladdad 195 gånger)</em></p>
<h2>Länkar</h2>
<ul>
<li><a href="http://www.jquery.com">jQuery</a></li>
<li><a href="http://api.jquery.com/">jQuery API</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/lasa-xml-fil-med-jquery/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PHP Kontaktformulär</title>
		<link>http://www.jarsater.com/php-kontaktformular</link>
		<comments>http://www.jarsater.com/php-kontaktformular#comments</comments>
		<pubDate>Fri, 09 Apr 2010 10:33:22 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips & Trix]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[E-post]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=266</guid>
		<description><![CDATA[Sitter just nu på Stockholm C och väntar på ett tåg som ska ta mig till Örebro. När jag rensade bland gamla filer så hittade jag ett kontaktformulär skrivet i HTML/CSS &#038; PHP. Jag är väl medveten om att skriptet inte är speciellt bra skrivet då det inte följer någon direkt standard eller Best Practise. [...]]]></description>
			<content:encoded><![CDATA[<p>Sitter just nu på Stockholm C och väntar på ett tåg som ska ta mig till Örebro. När jag rensade bland gamla filer så hittade jag ett kontaktformulär skrivet i HTML/CSS &#038; PHP. Jag är väl medveten om att skriptet inte är speciellt bra skrivet då det inte följer någon direkt standard eller <em>Best Practise</em>. Det är även därför jag tänkte ge ut det gratis.</p>
<p>Skriptet är fritt att använda &#038; bygga ut och används under eget ansvar.</p>
<p><span id="more-266"></span></p>
<p><h2>Ladda ner</h2><a href="http://www.jarsater.com/wp-content/plugins/download-monitor/download.php?id=1" title="Downloaded 201 times"><img src="http://www.jarsater.com/wp-content/uploads/downloads/thumbnails/2010/04/ZIP-icon.jpg" alt="Ladda ner, E-post formulär"/></a><br />
E-post formulär, <small>Ett kontaktformulär som skickar ett e-post till angiven mottagare. Skrivet i HMLT/CSS & PHP.</small></p>
<p><em>(Nerladdad 201 gånger)</em></p>
<h3>Kodexempel</h3>
<pre name="code" class="php">
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;title&gt;jContactForm v1.0&lt;/title&gt;
    &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&gt;
    &lt;link rel="stylesheet" href="contact.css" type="text/css" media="screen" /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;?php
include("class.Contact.php");
$contact = new Contact();
echo $contact-&gt;printForm();
if(isset($_POST['submit'])) {
	if(!$contact-&gt;checkEmail()) {
		echo "&lt;div class=\"jContactErrors\"&gt;";
		foreach($contact-&gt;errors as $error) {
			echo "&lt;li&gt;&lt;strong&gt;Error: &lt;/strong&gt;" . $error . "&lt;/li&gt;";
		}
		echo "&lt;/div&gt;";
	}
	else {
		echo $contact-&gt;sendEmail();
	}
}
?&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/php-kontaktformular/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hämta &amp; visa twitter på ditt WordPress-tema #2</title>
		<link>http://www.jarsater.com/hamta-visa-twitter-pa-ditt-wordpress-tema-2</link>
		<comments>http://www.jarsater.com/hamta-visa-twitter-pa-ditt-wordpress-tema-2#comments</comments>
		<pubDate>Wed, 07 Apr 2010 17:12:06 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Guider]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips & Trix]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=256</guid>
		<description><![CDATA[Om du kollat in min tidigare guide så kanske du märkte att man hela tiden såg användarnamnet på det twitterkonto vi valde att visa på våran sida. Man såg även om man hade taggat sin tweet med olika #taggar. Det tyckte inte jag var speciellt snyggt och ville självklart ha bort det. Hur jag skulle [...]]]></description>
			<content:encoded><![CDATA[<p>Om du kollat in min tidigare <a href="http://www.jarsater.com/2010/03/hamta-visa-twitter-pa-ditt-wordpress-tema">guide</a> så kanske du märkte att man hela tiden såg användarnamnet på det twitterkonto vi valde att visa på våran sida. Man såg även om man hade taggat sin tweet med olika <em>#taggar</em>. Det tyckte inte jag var speciellt snyggt och ville självklart ha bort det.</p>
<p>Hur jag skulle lösa det var självklart, jag valde att använda mig av <strong>reguljära uttryck</strong> och en php-funktion som heter <a href="http://php.net/preg_replace">preg_replace()</a>.</p>
<p><span id="more-256"></span></p>
<pre name="code" class="php">
$patterns = "/^(.{0,20}:) | (#\w{0,50})/m";

/* Och vid utskrift använder vi oss av funktionen */
echo preg_replace($patterns, '', $tweet-&gt;get_title();

/*
* Detta skulle göra att:
Jalet: RT Nu på måndag klockan tre (svensk tid) lanserar Adobe hela CS5 paketet. Registrera och se presentationen live: http://bit.ly/cLY6MD
Jalet: Planerar kök på IKEA. Fan vad kul !
Jalet: @JeppsonOne bra film! #film #test #hej
Jalet: Kollar AIK på Hovet! http://maps.google.com/?q=59.294589,18.082565
**
*Blir till
RT Nu på måndag klockan tre (svensk tid) lanserar Adobe hela CS5 paketet. Registrera och se presentationen live: http://bit.ly/cLY6MD
Planerar kök på IKEA. Fan vad kul !
@JeppsonOne bra film!
Kollar AIK på Hovet! http://maps.google.com/?q=59.294589,18.082565
*/
</pre>
<p><strong>Såhär ser den fullständiga koden ut:</strong></p>
<pre name="code" class="php">
&lt;?php
require_once(TEMPLATEPATH . "/inc/simplepie.inc");
$feed = new SimplePie();
$feed-&gt;set_feed_url("http://twitter.com/statuses/user_timeline/25161812.rss");
$feed-&gt;enable_cache(false);

$feed-&gt;init();
$feed-&gt;handle_content_type();
$numOfTweets = 4;
$tweets = array();
for($i = 0; $i &lt; $feed-&gt;get_item_quantity($numOfTweets); $i++)
{
	$tweets[] = $feed-&gt;get_item($i);
}

$patterns = "/^(.{0,20}: )|(#.{0,} )/m";
?&gt;
	&lt;div id="jj-tweets"&gt;
		&lt;h2&gt;Senaste från Twitter!&lt;/h2&gt;
		&lt;?php foreach($tweets as $tweet): ?&#038;
				&lt;li class="jj-tweet"&gt;
					&lt;a href="&lt;?php echo $tweet-&gt;get_link(); ?&gt;" title="&lt;?php echo $tweet-&gt;get_title(); ?&gt;"&gt;&lt;?php echo preg_replace($patterns, '', ucfirst($tweet-&gt;get_title())); ?&gt;&lt;/a&gt; &lt;span&gt;&lt;?php echo date("D j F Y", strtotime($tweet-&gt;get_date())); ?&gt;&lt;/span&gt;
		&lt;?php endforeach; ?&gt;
	&lt;/div&gt;
</pre>
</p>
<ul class="error">
<li>Detta är en fortsättning på en annan post du kan hitta <a href="http://www.jarsater.com/2010/03/hamta-visa-twitter-pa-ditt-wordpress-tema">här!</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/hamta-visa-twitter-pa-ditt-wordpress-tema-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hämta &amp; visa twitter på ditt WordPress-tema</title>
		<link>http://www.jarsater.com/hamta-visa-twitter-pa-ditt-wordpress-tema</link>
		<comments>http://www.jarsater.com/hamta-visa-twitter-pa-ditt-wordpress-tema#comments</comments>
		<pubDate>Thu, 25 Mar 2010 14:56:45 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Guider]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips & Trix]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=234</guid>
		<description><![CDATA[I den här guiden tänkte jag visa dig hur du kan visa  dina, eller någon annans, senaste tweets. Vi kommer hämta allt från Twitters RSS med hjälp av en klass som heter SimplePie. Slutresultatet kan bli någor i stil med det du ser på min startsida. I skrivande stund är den inte den snyggaste kanske. Men det går ju alltid att fixa till efteråt.]]></description>
			<content:encoded><![CDATA[<p>I den här guiden tänkte jag visa dig hur du kan visa  dina, eller någon annans, senaste tweets. Vi kommer hämta allt från Twitters RSS med hjälp av en klass som heter SimplePie. Slutresultatet kan bli någor i stil med det du ser på min startsida. I skrivande stund är den inte den snyggaste kanske. Men det går ju alltid att fixa till efteråt.</p>
<p><span id="more-234"></span></p>
<p>Vi börjar med att ladda ner SimplePie och det kan du göra <a href="http://www.simplepie.org" target="_blank" title="SimplePie XML">här</a>. Spara .zip/.tgz-filen på valfri plats, jag sparade den på skrivbordet. I packetet finns massa filer, den vi är ute efter heter <strong>simplepie.inc</strong> och är egentligen den enda filen vi behöver.</p>
<p>Jag har nu valt att ladda upp filen i en mapp jag döpt till &#8221;inc&#8221; som jag placerat i mappen för det tema jag använder just nu. Här kan man göra lite som man vill, men vill ni göra det enkelt för er så rekommenderar jag er att göra desamma. Det kommer då bli enklare för er att hänga med i guiden</p>
<p>Du borde nu ha en mappstruktur som ser ut som följande:</p>
<ul>
<li>root</li>
<ul>
<li>+ wp-content</li>
</ul>
<ul>
<li>+ themes</li>
</ul>
<ul>
<li>+ <em>ditt tema</em></li>
</ul>
<ul>
<li>+ inc</li>
</ul>
<ul>
<li>- simplepie.inc</li>
</ul>
</ul>
<p><em>root/wp-content/themes/ditt tema/inc/simplepie.inc</em>
</p>
<p>Ok, nu måste vi ta reda på varifrån kan vi hämta denna RSS-feed av tweets från Twitter. Faktum är att det är fruktansvärt enkelt. Jag surfar in på min twittersida, <a href="http://www.twitter.com/Jalet" target="_blank" title="@Jalet på twitter">http://www.twitter.com/Jalet</a>. Sen hittar du en länk till RSS-feeden ute till höger.</p>
<div id="attachment_240" class="wp-caption aligncenter" style="width: 160px"><a href="http://www.jarsater.com/wp-content/uploads/2010/03/rss_twitter.jpg" rel="lightbox[234]"><img src="http://www.jarsater.com/wp-content/uploads/2010/03/rss_twitter-150x150.jpg" alt="Hitta din RSS-feed" title="rss_twitter" width="150" height="150" class="size-thumbnail wp-image-240" /></a><p class="wp-caption-text">RSS-feed</p></div>
<p>Öppna nu upp index.php för ditt tema så ska vi börja med själva kodandet</p>
<pre name="code" class="php">
// Vi börjar med att hämta SimplePie klassen
require_once(TEMPLATEPATH . "/inc/simplepie.inc");

// Sen skapar vi ett nytt SimplePie Objekt
$feed = new SimplePie();

// Följande radet sätter olika parametrar till vårat skapade objekt
$feed->set_feed_url("http://twitter.com/statuses/user_timeline/25161812.rss");
$feed->set_cache_location(TEMPLATEPATH . "/inc");
$feed->set_cache_duration(900);
$feed->init();
$feed->handle_content_type();

// Antalet tweets vi vill visa
$numOfTweets = 4;

// Loopar igenom våra tweets och lägger in dom i en array som heter $tweets
for($i = 0; $i < $feed->get_item_quantity($numOfTweets); $i++)
{
	$tweets[] = $feed->get_item($i);
}
</pre>
<p>Tycker du att allt detta är en enda röra, vad är ett objekt till exempel. Då kan jag rekommendera att du läser på lite om OOP (Objektorienterad Programmering), det kan du göra <a href="http://www.phpportalen.net/wiki/index.php?page=Introduktion+till+OOP+i+PHP" target="_blank" title="Introduktion till OOP i PHP">här</a>.</p>
<pre name="code" class="php">
print_r($tweets);
</pre>
<p>Nu kan vi använda oss av den otroligt användbara fuktionen <strong>print_r();</strong> för att kolla vad som finns i den array, $tweets, som vi nyss skapade i våran for-loop. Det enda du kommer se är egentligen en massa text och pilar. Om du inte förstår vad det är, bry dig inte om det så mycket, det viktiga är att vi får ut informationen.</p>
<p>Om allt gick som det ska och du ser en massa grötig text så kan du ta bort den raden direkt. Den använder vi bara för att säkerställa att vi har hämtat våra tweets och att allt gick som det ska.</p>
<p>Nu kommer vi till det roliga. Att skriva ut våra tweets på sidan. Jag har valt att lägga allt i en div (&lt;div&gt;), och i denna div har jag lagt in en osorterad lista (&lt;ul&gt;) som kommer visa mina tweets.</p>
<pre name="code" class="php">
&lt;div id="jj-tweets"&gt;
		&lt;h2&gt;Senaste från Twitter!&lt;/h2&gt;
		&lt;?php foreach($tweets as $tweet): ?&gt;
				&lt;li class="jj-tweet"&gt;
					&lt;a href="&lt;?php echo $tweet-&gt;get_link(); ?&gt;" title="&lt;?php echo $tweet-&gt;get_title(); ?&gt;"&gt;&lt;?php echo ucfirst($tweet-&gt;get_title()); ?&gt;&lt;/a&gt; &lt;?php echo $tweet-&gt;get_date(); ?&gt;
		&lt;?php endforeach; ?&gt;
	&lt;/div&gt;
</pre>
<p>Det vi gör här är att vi använder en <strong>foreach-loop</strong> för att gå igenom alla element i våran array med tweets. För varje element som finns så gör vi även en utskrift.</p>
<h2>Vad är egentligen $tweet->?</h2>
<p>Nu återkommer vi lite till det jag pratade om tidigare, Objektorienterad programmering (OOP). Det är inget jag komemr gå in djupt på just nu, men om det ska förklaras enkelt så är $tweet ett objekt, -> är en pekare till en funktion (eller metod som det kallas när vi pratar om objekt) som finns i det objektet. get_title() är en sån metod och returnerar en textsträng, i detta fall våran tweet.</p>
<p>Det är jätteluddigt beskrivet, jag vet, och jag ber om ursäkt för det. Men om jag skulle gå in djupare och förklara hela OOP tänket och hur det fungerar skulle den här guiden bli jättelång och förmodligen skulle ingen orka läsa den. Om ni vill sätta er in mer i, och få en bättre förståelse för OOP så kommer några länker till sidor där ni kan läsa mer om det i slutet av guiden.</p>
<h2>Fullständig kod</h2>
<pre name="code" class="php:collapse">
&lt;?php
/**
* Adds twitterfeed to top of index
*
* @autho Joakim Jarsäter
* @date 2010-03-25
*
*/
require_once(TEMPLATEPATH . "/inc/simplepie.inc");
$feed = new SimplePie();
$feed-&gt;set_feed_url("http://twitter.com/statuses/user_timeline/25161812.rss");
$feed-&gt;set_cache_location(TEMPLATEPATH . "/inc");
$feed-&gt;set_cache_duration(900);
$feed-&gt;init();
$feed-&gt;handle_content_type();
$numOfTweets = 4;
for($i = 0; $i &lt; $feed-&gt;get_item_quantity($numOfTweets); $i++)
{
	$tweets[] = $feed-&gt;get_item($i);
}
?&gt;
	&lt;div id="jj-tweets"&gt;
		&lt;h2&gt;Senaste från Twitter!&lt;/h2&gt;
		&lt;?php foreach($tweets as $tweet): ?&gt;
				&lt;li class="jj-tweet"&gt;
					&lt;a href="&lt;?php echo $tweet-&gt;get_link(); ?&gt;" title="&lt;?php echo $tweet-&gt;get_title(); ?&gt;"&gt;&lt;?php echo ucfirst($tweet-&gt;get_title()); ?&gt;&lt;/a&gt; &lt;span&gt;&lt;?php echo date("D j F Y", strtotime($tweet-&gt;get_date())); ?&gt;&lt;/span&gt;
		&lt;?php endforeach; ?&gt;
	&lt;/div&gt;
</pre>
<p><a href="http://www.jarsater.com/wp-content/uploads/2010/03/rss_twitter_klar.png" rel="lightbox[234]"><img src="http://www.jarsater.com/wp-content/uploads/2010/03/rss_twitter_klar-300x141.png" alt="Twitter RSS-feed" title="rss_twitter_klar" width="300" height="141" class="aligncenter size-medium wp-image-252" /></a></p>
<h2>Länkar</h2>
<ul>
<li><a href="http://www.phpsidan.nu/res_articles.php?view=art&#038;id=22">(PHP Sidan) Objektorienterad programmering i PHP, del 1</a></li>
<li><a href="http://www.phpsidan.nu/res_articles.php?view=art&#038;id=34">(PHP Sidan) Objektorienterad programmering i PHP, del 2</a></li>
<li><a href="http://www.phpportalen.net/wiki/index.php?page=Introduktion+till+OOP+i+PHP">(PHP Portalen) Intruduktion till OOP i PHP</a></li>
<li><a href="http://php.net/print_r">Fuktionen print_r()</a></li>
<li><a href="http://www.simplepie.org">SimplePie</a></li>
</ul>
<p>Lämna gärna en kommentar om det är något som är oklart eller om du bara gillade artikelt. jag tar gärna emot frågor både via e-post &#038; twitter. Har du andra synpunkter eller förslag på guider jag borde skriva så tveka inte att slänga iväg ett email eller lämna en kommentar nedan.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/hamta-visa-twitter-pa-ditt-wordpress-tema/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

