<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Anders Hassis</title>
	
	<link>http://hassis.com</link>
	<description>DID MMORPGS OVERWRITE YOUR COMMON SENSE?</description>
	<lastBuildDate>Mon, 23 Aug 2010 11:54:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Hassiscom" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="hassiscom" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>jQTouch och WordPress</title>
		<link>http://hassis.com/2010/08/23/jqtouch-och-wordpress/</link>
		<comments>http://hassis.com/2010/08/23/jqtouch-och-wordpress/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 11:42:07 +0000</pubDate>
		<dc:creator>Anders Hassis</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=356</guid>
		<description><![CDATA[Eftersom mobila webbplatser är &#8221;the shizzle&#8221; numera så vill inte jag vara sämre än att haka på tåget. Då jag bygger mycket webbplatser i WordPress så vill jag ha ett &#8221;enkelt&#8221; sätt att ha ett separat tema för den mobila sidan och låta den rulla med hjälp av jQTouch. Tillägget Så, vad är det jag [...]]]></description>
			<content:encoded><![CDATA[<p>Eftersom mobila webbplatser är &#8221;the shizzle&#8221; numera så vill inte jag vara sämre än att haka på tåget. Då jag bygger mycket webbplatser i WordPress så vill jag ha ett &#8221;enkelt&#8221; sätt att ha ett separat tema för den mobila sidan och låta den rulla med hjälp av <a href="http://jqtouch.com/">jQTouch</a>. </p>
<h3>Tillägget</h3>
<p>Så, vad är det jag vill göra, jag vill identifiera besökarens webbläsare och om det är en mobil så ska den &#8221;on-the-fly&#8221; byta till mitt mobila tema. Jag vill sedan ha ett sätt att kunna hoppa mellan den mobila och vanliga webbplatsen.</p>
<p>All kod finns <a href="http://gist.github.com/545298">i en Gist på GitHub</a> (mycket anpassad för mina behov) för hur jag löst detta. Jag skapade ett plugin som tog hand om det hela. Om mitt vanliga tema heter &#8216;xc1-test&#8217;, så kommer jag att kolla ifall temat &#8216;xc1-test-mobile&#8217; existerar.</p>
<p>WordPress ger oss möjligheten att ladda in ett separat tema med hjälp av filtret &#8216;stylesheet&#8217;, så vi gör en kontroll ifall temat finns (och efterfrågas) och i sådana fall hoppar vi över till det.</p>
<h3>Temat</h3>
<p>Temat xc1-test-mobile innehåller inte så mycket annat än exempelkod från jQTouchs lösning, så det är inte mycket nytt under solen där. </p>
<p>Det som inte är så vackert just nu är hur sidor och inlägg hämtas ifrån WordPress, jQTouch hämtar enbart statiska filer, därför har jag fått lov att lägga till .html i slutet på mina sidor. Poster däremot får man lov att ändra manuellt permalänk-inställningen i administrationen så den har .html på slutet. Detta kommer jag nog ändra och skriva om AJAX-hämtningen manuellt, men detta var mest för att få allting att fungera i ett inledande skede.</p>
<p>Temats filer single.php och page.php ska inte innehålla <em>get_header()</em> och <em>get_footer()</em>. </p>
<p>Jag kan sedan hoppa mellan de två olika versionerna genom querystringen <em>?xc1-layout=mobile</em> och <em>?xc1-layout=default</em>.</p>
<h4>Menyer</h4>
<p>Något som är riktigt fint i WordPress 3 är att jag kan skapa en separat meny (i menyhanteraren) för den mobila versionen och använda den i detta mobila tema, då kan jag skapa separata mobilversioner av de sidor som jag vill ha tillgängliga ifrån mobilen.</p>
<h3>Slutord</h3>
<p>Jag har tittat mycket på hur <a href="http://mobile.tutsplus.com/tutorials/html5/jqtouch-mobile-wordpress-1/">andra</a> har löst <a href="http://wordpress.org/extend/plugins/wptouch/">detta</a>, jag kommer skriva mer om detta när jag känner mig nöjd med lösningen, ge gärna kommentarer på hur ni löst detta. </p>
<img src="http://hassis.com/?ak_action=api_record_view&id=356&type=feed" alt="" /><!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://hassis.com/2010/08/23/jqtouch-och-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Riding the Rails: Amazon S3 &amp; Flowplayer</title>
		<link>http://hassis.com/2010/08/01/riding-the-rails-amazon-s3-flowplayer/</link>
		<comments>http://hassis.com/2010/08/01/riding-the-rails-amazon-s3-flowplayer/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 07:00:52 +0000</pubDate>
		<dc:creator>Anders Hassis</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=329</guid>
		<description><![CDATA[Vi har börjat använda Amazon S3 för att lagra filmer som vi sedan ska spela upp (med hjälp av Flowplayer) i en inloggningsskyddad applikation. För att sätta upp kopplingen mot S3 så använder vi oss av Paperclip och AWS::S3. Att få igång uppladdningen mot S3 tillsammans med Paperclip var absolut inga problem, det fungerade i [...]]]></description>
			<content:encoded><![CDATA[<p>Vi har börjat använda <a href="http://aws.amazon.com/s3/">Amazon S3</a> för att lagra filmer som vi sedan ska spela upp (med hjälp av <a href="http://flowplayer.org/">Flowplayer</a>) i en inloggningsskyddad applikation. </p>
<p>För att sätta upp kopplingen mot S3 så använder vi oss av <a href="http://github.com/thoughtbot/paperclip">Paperclip</a> och <a href="http://amazon.rubyforge.org/">AWS::S3</a>. Att få igång uppladdningen mot S3 tillsammans med Paperclip var absolut inga problem, det fungerade i princip så fort vi hade lagt in något liknande detta i vår modell:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">has_attached_file <span style="color:#ff3333; font-weight:bold;">:media_file</span>,
    <span style="color:#ff3333; font-weight:bold;">:storage</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#ff3333; font-weight:bold;">:s3</span>,
    <span style="color:#ff3333; font-weight:bold;">:s3_credentials</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> Rails.<span style="color:#9900CC;">root</span>.<span style="color:#9900CC;">join</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'config'</span>, <span style="color:#996600;">'s3.yml'</span><span style="color:#006600; font-weight:bold;">&#41;</span>,
    <span style="color:#ff3333; font-weight:bold;">:path</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;:attachment/:id/:style/:basename.:extension&quot;</span>,
    <span style="color:#ff3333; font-weight:bold;">:bucket</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'our_bucket'</span>,
    <span style="color:#ff3333; font-weight:bold;">:s3_permissions</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'authenticated-read'</span>,
    <span style="color:#ff3333; font-weight:bold;">:url</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;:s3_protected_url&quot;</span>
&nbsp;
  <span style="color:#008000; font-style:italic;"># Video Validations</span>
  validates_attachment_presence <span style="color:#ff3333; font-weight:bold;">:media_file</span>
  validates_attachment_content_type <span style="color:#ff3333; font-weight:bold;">:media_file</span>, <span style="color:#ff3333; font-weight:bold;">:content_type</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'application/x-shockwave-flash'</span>, <span style="color:#996600;">'application/x-shockwave-flash'</span>, <span style="color:#996600;">'application/flv'</span>, <span style="color:#996600;">'video/x-flv'</span>, <span style="color:#996600;">'video/H264'</span><span style="color:#006600; font-weight:bold;">&#93;</span></pre></div></div>

<p>(Det är <em>authenticated-read</em> som sätter rättigheterna på anslutningen och gör att vi kan använda oss av Paperclips <a href="http://yardoc.org/docs/JasonKing-paperclip/Paperclip/Storage/S3">expiring_url</a>-metod.)</p>
<p>Problemet uppstod när vi skulle använda Flowplayer för att streama direkt ifrån S3, vi vill bara ha verifierade användare som ser våra filmer. Det blev strul med tecknen i de meckiga länkarna som S3 genererar och Flowplayer kunde inte läsa de rakt av.</p>
<p>Vi använde oss då av en &#8221;<a href="http://flowplayer.org/demos/installation/alternate/index.html">Alternate embedding method</a>&#8221; aka. flashembed.js. Så här beskrivs <a href="http://flowplayer.org/tools/demos/toolbox/flashembed/flowplayer.html"> &#8221;Flashembed and Flowplayer&#8221;</a>: </p>
<blockquote><p>Flowplayer is a regular Flash component just like any other Flash component. It can be placed on your page with this tool or by using HTML-based object tags or you can use our &#8221;competitor&#8221;, SWFObject.</p></blockquote>
<p>Sedan när vi skickade den &#8221;säkra&#8221; länken från <strong>controllern</strong> till viewn så fick vi manuellt ersätta lite tecken:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#0066ff; font-weight:bold;">@media</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:flash_url</span><span style="color:#006600; font-weight:bold;">&#93;</span> = <span style="color:#0066ff; font-weight:bold;">@media</span>.<span style="color:#9900CC;">media_file</span>.<span style="color:#9900CC;">expiring_url</span>.<span style="color:#CC0066; font-weight:bold;">gsub</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;&amp;&quot;</span>, <span style="color:#996600;">&quot;%26&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#CC0066; font-weight:bold;">gsub</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;?&quot;</span>, <span style="color:#996600;">&quot;%3F&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#CC0066; font-weight:bold;">gsub</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;=&quot;</span>, <span style="color:#996600;">&quot;%3D&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>

<p>För att embedda den i viewn så får du även se till att säga åt Rails att det är en säker länk (med hjälp av html_safe):</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;a id=&quot;player&quot; style=&quot;width:400px;height:280px;&quot;&gt;&lt;/a&gt;
&lt;script language=&quot;JavaScript&quot;&gt;
flashembed(&quot;player&quot;, &quot;http://releases.flowplayer.org/swf/flowplayer-3.2.2.swf&quot;, {
    config: {
        clip: { url: '&lt;%= @media.flash_url.html_safe %&gt;', autoPlay: false },
        plugins: { controlbar:null },
        autoPlay: false
    }
});
&lt;/script&gt;</pre></div></div>

<img src="http://hassis.com/?ak_action=api_record_view&id=329&type=feed" alt="" /><!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://hassis.com/2010/08/01/riding-the-rails-amazon-s3-flowplayer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Riding the Rails: Aktiva menyobjekt</title>
		<link>http://hassis.com/2010/07/31/riding-the-rails-aktiva-menyobjekt/</link>
		<comments>http://hassis.com/2010/07/31/riding-the-rails-aktiva-menyobjekt/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 11:17:49 +0000</pubDate>
		<dc:creator>Anders Hassis</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=325</guid>
		<description><![CDATA[Fredrik W visade mig en riktigt stilig sak häromdagen på ett Rails-projekt vi håller på med. Att göra layouter och framför allt visa vilket menyobjekt som är &#8221;aktivt&#8221;, dvs vilken sida du är på just nu. Lägg in denna helpern, i exempelvis application_helper.rb: def menu_item&#40;text, link, options = &#123;:use_span =&#62; false, :only_controller =&#62; false&#125;&#41; active [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bitsamppixels.com/">Fredrik W</a> visade mig en riktigt stilig sak häromdagen på ett Rails-projekt vi håller på med. Att göra layouter och framför allt visa vilket menyobjekt som är &#8221;aktivt&#8221;, dvs vilken sida du är på just nu. </p>
<p>Lägg in denna helpern, i exempelvis application_helper.rb:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> menu_item<span style="color:#006600; font-weight:bold;">&#40;</span>text, link, options = <span style="color:#006600; font-weight:bold;">&#123;</span>:use_span <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">false</span>, <span style="color:#ff3333; font-weight:bold;">:only_controller</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">false</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
   active = Rails.<span style="color:#9900CC;">application</span>.<span style="color:#9900CC;">routes</span>.<span style="color:#9900CC;">recognize_path</span> link
   text = content_tag<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;span&quot;</span>, text<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">if</span> options<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:use_span</span><span style="color:#006600; font-weight:bold;">&#93;</span>
&nbsp;
   link_is_currently_active = options<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:only_controller</span><span style="color:#006600; font-weight:bold;">&#93;</span> ? params<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:controller</span><span style="color:#006600; font-weight:bold;">&#93;</span> == active<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:controller</span><span style="color:#006600; font-weight:bold;">&#93;</span> : params<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:controller</span><span style="color:#006600; font-weight:bold;">&#93;</span> == active<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:controller</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#006600; font-weight:bold;">&amp;&amp;</span> params<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:action</span><span style="color:#006600; font-weight:bold;">&#93;</span> == active<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:action</span><span style="color:#006600; font-weight:bold;">&#93;</span>
&nbsp;
   klass = link_is_currently_active ? <span style="color:#996600;">&quot;active&quot;</span> : <span style="color:#996600;">&quot;&quot;</span>
   <span style="color:#0000FF; font-weight:bold;">return</span> content_tag<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;li&quot;</span>, link_to<span style="color:#006600; font-weight:bold;">&#40;</span>text, link<span style="color:#006600; font-weight:bold;">&#41;</span>, <span style="color:#ff3333; font-weight:bold;">:class</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> klass<span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> menu<span style="color:#006600; font-weight:bold;">&#40;</span>options = <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">&#125;</span>, <span style="color:#006600; font-weight:bold;">&amp;</span>block<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#0000FF; font-weight:bold;">return</span> content_tag<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;ul&quot;</span>, options, <span style="color:#006600; font-weight:bold;">&amp;</span>block<span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>Vi läser alltså av existerande routen och jämför den med menyobjektets. Så nu istället för att länk runt dig i applikationen med <em>link_to</em> så kan du nu använda blocket <em>menu</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#006600; font-weight:bold;">&lt;%</span> menu <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= menu_item <span style="color:#996600;">&quot;Link 1&quot;</span>, project_path<span style="color:#006600; font-weight:bold;">&#40;</span>@project<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= menu_item <span style="color:#996600;">&quot;Link 2&quot;</span>, project_medias_path<span style="color:#006600; font-weight:bold;">&#40;</span>@project<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
<span style="color:#006600; font-weight:bold;">&lt;%</span> <span style="color:#9966CC; font-weight:bold;">end</span> <span style="color:#006600; font-weight:bold;">%&gt;</span></pre></div></div>

<p>Vips, så har vi nu fått en lista med det aktiva objektets klass som &#8221;<em>active</em>&#8221;. </p>
<p>Nu är det klart att detta är en väldigt begränsad lösning och kanske inte lämpar sig i större projekt med stora menystrukturer, men för enklare projekt fungerar detta alldeles utmärkt.</p>
<img src="http://hassis.com/?ak_action=api_record_view&id=325&type=feed" alt="" /><!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://hassis.com/2010/07/31/riding-the-rails-aktiva-menyobjekt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress pluginguide: Sätta ny titel i en shortcode</title>
		<link>http://hassis.com/2010/07/21/wordpress-pluginguide-satta-ny-titel-i-en-shortcode/</link>
		<comments>http://hassis.com/2010/07/21/wordpress-pluginguide-satta-ny-titel-i-en-shortcode/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 15:59:04 +0000</pubDate>
		<dc:creator>Anders Hassis</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=280</guid>
		<description><![CDATA[Jag håller på med ett Reddit-liknande WordPress-plugin på ett projekt hos Populate. Systemet listar ett antal frågor som du som besökare kan &#8221;rösta upp&#8221;, sedan visar man de populäraste frågorna och lite annat. Varje fråga har en egen landningssida, exempelvis /fraga/10 (där 10 är id:t på frågan). Landningssidan och listningen av frågorna definieras av shortcodes [...]]]></description>
			<content:encoded><![CDATA[<p>Jag håller på med ett <a href="http://www.reddit.com">Reddit</a>-liknande WordPress-plugin på ett projekt hos <a href="http://www.populate.se">Populate</a>. </p>
<p>Systemet listar ett antal frågor som du som besökare kan &#8221;rösta upp&#8221;, sedan visar man de populäraste frågorna och lite annat. Varje fråga har en egen landningssida, exempelvis /fraga/10 (där 10 är id:t på frågan). Landningssidan och listningen av frågorna definieras av shortcodes i sidor, exempelvis: [poll_show_single] och [poll_list]. </p>
<p>På sidan som innehåller [poll_show_single], i det här fallet är det sidan &#8216;fraga&#8217;, vill jag ha möjlighet att sätta frågans rubrik som ny titel (via filtret wp_title). </p>
<p>Det går tyvärr inte att ändra titeln inifrån shortcoden, utan man får identifiera vilken sida som shortcoden finns på och sen sätta titeln separat. Detta kan du göra på följande sätt:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> locate_shortcode <span style="color: #009900;">&#40;</span><span style="color: #000088;">$shortcode</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000088;">$search</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$search</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>?<span style="color: #0000ff;">&quot; OR &quot;</span><span style="color: #339933;">:</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;post_content LIKE '%<span style="color: #006699; font-weight: bold;">$shortcode</span>%'&quot;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT ID,post_title,post_name,post_content FROM <span style="color: #006699; font-weight: bold;">$wpdb-&gt;posts</span> WHERE <span style="color: #006699; font-weight: bold;">$search</span> AND post_type='page'&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_results</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">return</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'id'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_title</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_name</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'uri'</span> <span style="color: #339933;">=&gt;</span> get_page_uri<span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Sedan läser du av den:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$pollSingle</span> <span style="color: #339933;">=</span> locate_shortcode<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'poll_show_single'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
<span style="color: #000088;">$pollSingleURI</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$pollSingle</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'uri'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Då får jag fram vilken sida som innehåller shortcoden för att visa en enskild fråga, därefter kan jag haka in mig på filtret &#8216;wp&#8217; och sätta titeln:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'titles'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>I titels() kollar vi sedan upp om vi står på rätt sida (den som finns i $pollSingleURI) och jämför den med $wp_query->query['pagename']:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> titles<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wp_query</span><span style="color: #339933;">,</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">,</span> <span style="color: #000088;">$newTitle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$pollSingleURI</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// Single poll</span>
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$wp_query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pagename'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$pollSingleURI</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/\d+\/?$/&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$wp_query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'page'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$pollID</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$wp_query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'page'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_results</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT subject FROM <span style="color: #009933; font-weight: bold;">%s</span>poll WHERE id = <span style="color: #009933; font-weight: bold;">%d</span> LIMIT 1&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">prefix</span><span style="color: #339933;">,</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">escape</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pollID</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #666666; font-style: italic;">// Set title</span>
      <span style="color: #000088;">$newTitle</span> <span style="color: #339933;">=</span> esc_html<span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">subject</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_title'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'frontend_set_title'</span> <span style="color: #339933;">,</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Ovanstående SQL-fråga hämtar just nu frågans titel, men detta ändrar du givetvis till det du vill ha som titel.</p>
<p>Och eftersom PHP fortfarande har lite problem med closures/anonyma funktioner så måste titeln sättas separat:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> frontend_set_title<span style="color: #009900;">&#40;</span><span style="color: #000088;">$title</span><span style="color: #339933;">,</span> <span style="color: #000088;">$separator</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$newTitle</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">return</span> esc_html<span style="color: #009900;">&#40;</span><span style="color: #000088;">$newTitle</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$separator</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Allt är ryckt ur en klass för att lättare kunna visa hur det fungerar, därav alla globala variabler *urk*. Denna metod kräver inga &#8221;rewrites&#8221; eller &#8221;template redirect intercepts&#8221;.</p>
<img src="http://hassis.com/?ak_action=api_record_view&id=280&type=feed" alt="" /><!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://hassis.com/2010/07/21/wordpress-pluginguide-satta-ny-titel-i-en-shortcode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intressanta länkar</title>
		<link>http://hassis.com/2010/07/10/intressanta-och-larorika-lankar/</link>
		<comments>http://hassis.com/2010/07/10/intressanta-och-larorika-lankar/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 14:17:33 +0000</pubDate>
		<dc:creator>Anders Hassis</dc:creator>
				<category><![CDATA[Personligt]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=272</guid>
		<description><![CDATA[För att hålla mig uppdaterad om vad som händer i programmerings- och webbvärlden så tänkte jag lista de platser som jag gör ett besök på varje dag. Reddit &#8211; Programming Reddit &#8211; Web design Reddit &#8211; WordPress Webmaster Network Ovanstående är endast sidor som jag besöker manuellt, dvs. sidor som jag inte har i mitt [...]]]></description>
			<content:encoded><![CDATA[<p>För att hålla mig uppdaterad om vad som händer i programmerings- och webbvärlden så tänkte jag lista de platser som jag gör ett besök på varje dag.</p>
<ul>
<li><a href="http://www.reddit.com/r/programming">Reddit &#8211; Programming</a></li>
<li><a href="http://www.reddit.com/r/web_design">Reddit &#8211; Web design</a></li>
<li><a href="http://www.reddit.com/r/wordpress">Reddit &#8211; WordPress</a></li>
<li><a href="http://www.wn.se">Webmaster Network</a></li>
</ul>
<p>Ovanstående är endast sidor som jag besöker manuellt, dvs. sidor som jag inte har i mitt RSS-flöde pga. jag vill inte ha allt som publiceras på de.</p>
<p>Här kommer några guldkorn från RSS-listan (206 flöden and counting&#8230;):</p>
<ul>
<li><a href="http://wpdevel.wordpress.com/">WordPress Development Log</a> &#8211; Utvecklingsteamet bakom WordPress postar uppdateringar.</li>
<li><a href="http://www.dan.se/">Dan Nilsson</a> &#8211; Dan Nilsson skriver om E-handel och webben med glimten i ögat, väldigt roligt!</li>
<li><a href="http://axon.blogg.se">Axon</a> &#8211; Här kommer ett wildcard, den här bloggen har inte med webbutveckling att göra, utan handlar om träning. Väldigt bra om du är intresserad av träning.</li>
<li><a href="http://www.sulo.se">Jonathan Sulo</a> &#8211; Funnits på både Loopia och Binero, skriver om webbutveckling och webben i allmänhet</li>
<li><a href="http://weblogtoolscollection.com/">Weblog Tools Collection</a> &#8211; Dessa postar artiklar med inriktning på wordpress.</li>
<li><a href="http://weblogs.asp.net/mikaelsoderstrom/default.aspx">Mikael Söderström</a> &#8211; Även fast jag inte arbetar med ASP.NET brukar jag alltid ta mig tid att läsa Mikaels välskrivna inlägg</li>
</ul>
<p>Har du några att tipsa mig om? Posta i kommentarerna eller använd <a href="/kontakt/">kontaktformuläret</a>!</p>
<img src="http://hassis.com/?ak_action=api_record_view&id=272&type=feed" alt="" /><!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://hassis.com/2010/07/10/intressanta-och-larorika-lankar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visa ID på Media i WordPress</title>
		<link>http://hassis.com/2010/06/30/visa-id-pa-media-i-wordpress/</link>
		<comments>http://hassis.com/2010/06/30/visa-id-pa-media-i-wordpress/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 11:46:37 +0000</pubDate>
		<dc:creator>Anders Hassis</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=250</guid>
		<description><![CDATA[Jag hade nyss ett behov på jobbet att visa vilket ID ett objekt har i mediaredigeraren (WordPress). Detta kan vara bra att ha när man ska bygga gallerier, framförallt när man exkluderar vissa bilder genom att använda ID:et. Kod: add_filter&#40;'attachment_fields_to_edit', 'enable_media_id', 10, 2&#41;; function enable_media_id&#40; $form_fields, $post &#41; &#123; $form_fields&#91;&#34;enable-media-id&#34;&#93; = array&#40;&#34;label&#34; =&#62; &#34;MediaID&#34;, &#34;input&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>Jag hade nyss ett behov <a href="http://www.populate.se">på jobbet</a> att visa vilket ID ett objekt har i mediaredigeraren (WordPress). Detta kan vara bra att ha när man ska bygga gallerier, framförallt när man exkluderar vissa bilder genom att använda ID:et.</p>
<p>Kod:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'attachment_fields_to_edit'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'enable_media_id'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> enable_media_id<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$form_fields</span><span style="color: #339933;">,</span> <span style="color: #000088;">$post</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$form_fields</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;enable-media-id&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;label&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;MediaID&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;input&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;html&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;html&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;&lt;p&gt;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&lt;/p&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$form_fields</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Bild på hur det kommer se ut:<br />
<a href="http://hassis.com/wp-content/uploads/2010/06/mediaexempel.jpg" rel="lightbox[250]" title="mediaexempel"><img src="http://hassis.com/wp-content/uploads/2010/06/mediaexempel-287x300.jpg" alt="" title="mediaexempel" width="287" height="300" class="alignnone size-medium wp-image-253" /></a></p>
<p>(Jag såg idag att någon hade önskat denna funktionaliteten på <a href="http://wordpress.org/extend/ideas/topic/display-id-of-pictures">WordPress.org -> Ideas</a>)</p>
<img src="http://hassis.com/?ak_action=api_record_view&id=250&type=feed" alt="" /><!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://hassis.com/2010/06/30/visa-id-pa-media-i-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>R.I.P PHPSidan 2002-2010</title>
		<link>http://hassis.com/2010/06/29/r-i-p-phpsidan-2002-2010/</link>
		<comments>http://hassis.com/2010/06/29/r-i-p-phpsidan-2002-2010/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 17:55:03 +0000</pubDate>
		<dc:creator>Anders Hassis</dc:creator>
				<category><![CDATA[Personligt]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=224</guid>
		<description><![CDATA[Läs om PHPSidans historia fram tills nedläggningen, PHPSidan var ända fram tills slutet en av Sveriges ledande diskussionsforum för webbutveckling, främst inom PHP.]]></description>
			<content:encoded><![CDATA[<p><em>PHPSidan var ända fram tills nedläggningen en av Sveriges ledande diskussionsforum för webbutveckling, främst inom PHP.</em></p>
<p>PHPSidan startades av mig och Björn Enochsson i högstadiet (2002) som ett roligt projekt, främst för att jag ville lära mig PHP bättre. På den tiden höll jag på med ASP (Classic) och hade precis börjat titta på PHP. Namnet PHPSidan kommer ifrån den kända <a href="http://www.aspsidan.se">ASPsidan</a>.</p>
<p>I början driftade jag PHPSidan på en server som jag hade hemma hos mina föräldrar i Orsa, efter ett tag så växte sidan sig allt för stor för att jag skulle vilja drifta den på en ostabil 0.5 Mbit/s -lina. Därefter fick vi sponsring från lite olika håll innan vi till slut hamnade hos <a href="http://www.loopia.se">Loopia</a>. </p>
<h3>Så, vad hände sen?</h3>
<p>Väldigt mycket (de första åren), sen blev det mindre och mindre tid över till PHPSidan från både mitt och Björns håll. Om jag inte minns fel så var det 2006 vi släppte PHPSidan version 6, därefter gjorde vi många försök för att få klart en helt ny version som skulle passa våra (och hela webbens) nya behov bättre. Men på grund av tidsbristen så blev aldrig den nya versionen riktigt klar.</p>
<p>En av mina personliga anledningar till att PHPSidan aldrig färdigsställdes, var att jag blev mer och mer övertygad om att de engelska resurserna som fanns (finns) är så mycket bättre än det vi kan publicera. Därför kände jag aldrig det personliga behovet av att göra allt det som de gjorde, fast på svenska.</p>
<h3>Nu då?</h3>
<p>Efter en lång tids velande så tog vi beslutet att lägga ner PHPSidan. Besökarantalet på sidan har sakta men säkert dalat. Jag bestämde att jag inte ville att någon skulle ta över PHPSidan och driva vidare den. En av anledningarna till det beslutet är att domänen fortfarande används aktivt av mig. Att låta någon ta över en viss &#8221;del&#8221; av domänen, men att jag får behålla någon slags kontroll över eposten kändes inte riktigt rätt mot den personen, den personen skulle nog aldrig kunna satsa 110% på PHPSidan utan fullständig kontroll över domänen.</p>
<p>Jag antar att jag samtidigt på något sätt ville att PHPSidan v7 skulle göras på &#8221;mitt&#8221; sätt.</p>
<p>PHPSidan har betytt enormt mycket för mig personligen, jag har fått vänner som jag fortfarande har kontakt med och träffar aktivt. Jag har fått höra från många andra att PHPSidan har betytt väldigt mycket och fått dem att börja med programmering.</p>
<p>Strax innan nedläggningen så startade några på PHPSidan upp <a href="http://phpsverige.se/">PHP Sverige</a>, jag hoppas att många hittar dit och att de gör något riktigt bra av den sidan. Några andra webbplatser ni kan besöka ifall för PHP-relaterade ämnen är <a href="http://www.w3sidan.net">W3sidan</a> och <a href="http://www.phpportalen.net">PHPportalen</a>. Det är fortfarande aktivitet på IRC-kanalen #phpsidan på Quakenet ifall ni känner för att prata med någon av oss.</p>
<h3>Summan av kardemumman</h3>
<p>Tack för denna tid allihop, hoppas vi hörs på andra diskussionsforum och om inte annat så hör gärna av er till mig för att snacka webb. Stort tack till <a href="http://www.loopia.se">Loopia</a> för att ni har tagit hand om oss så länge!</p>
<h3>Nostalgitripp</h3>
<p>Här kan vi se olika utseenden som PHPSidan haft under åren som gått. Ni kan även se några av de tidiga konceptbilderna på version 7.</p>

<a href='http://hassis.com/2010/06/29/r-i-p-phpsidan-2002-2010/phpsidan/' title='phpsidan'><img width="150" height="150" src="http://hassis.com/wp-content/uploads/2010/06/phpsidan-150x150.jpg" class="attachment-thumbnail" alt="phpsidan" title="phpsidan" /></a>
<a href='http://hassis.com/2010/06/29/r-i-p-phpsidan-2002-2010/attachment/3/' title='3'><img width="150" height="150" src="http://hassis.com/wp-content/uploads/2010/06/3-150x150.jpg" class="attachment-thumbnail" alt="3" title="3" /></a>
<a href='http://hassis.com/2010/06/29/r-i-p-phpsidan-2002-2010/phpsidan4_1/' title='phpsidan4_1'><img width="150" height="150" src="http://hassis.com/wp-content/uploads/2010/06/phpsidan4_1-150x150.jpg" class="attachment-thumbnail" alt="phpsidan4_1" title="phpsidan4_1" /></a>
<a href='http://hassis.com/2010/06/29/r-i-p-phpsidan-2002-2010/phpsidan5/' title='phpsidan5'><img width="150" height="150" src="http://hassis.com/wp-content/uploads/2010/06/phpsidan5-150x150.jpg" class="attachment-thumbnail" alt="phpsidan5" title="phpsidan5" /></a>
<a href='http://hassis.com/2010/06/29/r-i-p-phpsidan-2002-2010/v6/' title='v6'><img width="150" height="150" src="http://hassis.com/wp-content/uploads/2010/06/v6-150x150.jpg" class="attachment-thumbnail" alt="v6" title="v6" /></a>
<a href='http://hassis.com/2010/06/29/r-i-p-phpsidan-2002-2010/final/' title='final'><img width="150" height="150" src="http://hassis.com/wp-content/uploads/2010/06/final-150x150.jpg" class="attachment-thumbnail" alt="final" title="final" /></a>
<a href='http://hassis.com/2010/06/29/r-i-p-phpsidan-2002-2010/php/' title='PHP'><img width="150" height="150" src="http://hassis.com/wp-content/uploads/2010/06/PHP-150x150.gif" class="attachment-thumbnail" alt="PHP" title="PHP" /></a>
<a href='http://hassis.com/2010/06/29/r-i-p-phpsidan-2002-2010/phpsajt/' title='phpsajt'><img width="150" height="150" src="http://hassis.com/wp-content/uploads/2010/06/phpsajt-150x150.gif" class="attachment-thumbnail" alt="phpsajt" title="phpsajt" /></a>
<a href='http://hassis.com/2010/06/29/r-i-p-phpsidan-2002-2010/v7temp/' title='v7temp'><img width="150" height="150" src="http://hassis.com/wp-content/uploads/2010/06/v7temp-150x150.jpg" class="attachment-thumbnail" alt="v7temp" title="v7temp" /></a>

<h3>Uppdatering 2010-08-23</h3>
<p>Jag får en del frågor där folk vill ha tillgång till artiklarna och scripten som fanns på PHPSidan för att publicera dessa på sin egen webbplats. Detta går tyvärr inte, eftersom personerna som skrev artiklarna och laddade upp scripten gjorde detta till PHPSidan, jag har ingen rätt att distribuera dessa vidare.</p>
<img src="http://hassis.com/?ak_action=api_record_view&id=224&type=feed" alt="" /><!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://hassis.com/2010/06/29/r-i-p-phpsidan-2002-2010/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Nyheter kring Shopp 1.1</title>
		<link>http://hassis.com/2010/05/30/nyheter-kring-shopp-1-1/</link>
		<comments>http://hassis.com/2010/05/30/nyheter-kring-shopp-1-1/#comments</comments>
		<pubDate>Sun, 30 May 2010 17:03:23 +0000</pubDate>
		<dc:creator>Anders Hassis</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Shopp]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=216</guid>
		<description><![CDATA[Utveckligen av Shopp går i en rasande fart framåt. Just nu fokuserar utvecklarna främst på att se till att göra kodbasen stabil och se till att allting fungerar. Jag nämnde i mitt senaste inlägg kring Shopp att en alpha-version skulle dyka upp ganska kort efter att det postades. Den har dykt upp för ganska länge [...]]]></description>
			<content:encoded><![CDATA[<p>Utveckligen av <a href="http://www.shopplugin.net">Shopp</a> går i en rasande fart framåt. Just nu fokuserar utvecklarna främst på att se till att göra kodbasen stabil och se till att allting fungerar. </p>
<p>Jag nämnde i mitt <a href="http://hassis.com/2010/01/23/blandad-information-om-shopp/">senaste inlägg kring Shopp</a> att en alpha-version skulle dyka upp ganska kort efter att det postades. Den har dykt upp för ganska länge sedan och det ser riktigt bra ut, det som har fått mycket fokus är baksidan, alltså källkoden, det gör att det inte är några jättestora förändringar utseendemässigt. Det är förvisso lite enklare att hitta i orderdetaljerna och en andra småsaker.</p>
<p>Något som jag trivs riktigt bra med är hanteringen av betalningsmodulerna, jag var med Jonathan Davis (huvudutvecklare) en kväll och vi gjorde i ordning Payson-modulen så den är kompatibel med 1.1. Jisses vilken skillnad i kod jämfört med den tidigare versionen 1.0.x.</p>
<p>Momssatser för specifika kategorier är även det möjligt, men det är lite finputsning på det kvar innan den fungerar klockrent. </p>
<h3>Så, när kommer den?</h3>
<p>Det som just nu tar tid är QA-delen, att se till att allting funkar. Det har varit lite dåligt med testning från min egen sida, men jag räknar med att sätta igång ordentligt någon gång under nästa vecka. Det nämndes i en <a href="http://www.wptavern.com/jonathan-davis-via-wordcamp-raleigh">videointervju med Jonathan</a> att de siktade på slutet av juni, men det är flytande.</p>
<img src="http://hassis.com/?ak_action=api_record_view&id=216&type=feed" alt="" /><!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://hassis.com/2010/05/30/nyheter-kring-shopp-1-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Min guide till Whilenium</title>
		<link>http://hassis.com/2010/05/29/min-guide-till-whilenium-os2010/</link>
		<comments>http://hassis.com/2010/05/29/min-guide-till-whilenium-os2010/#comments</comments>
		<pubDate>Sat, 29 May 2010 15:52:52 +0000</pubDate>
		<dc:creator>Anders Hassis</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Assembler]]></category>
		<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=200</guid>
		<description><![CDATA[I en projektkurs den här perioden &#8221;Operativsystem&#8221; har vi skapat ett ganska grundläggande operativsystem vid namn &#8221;Whilenium&#8221;, vi har kört det genom Simics med emulering av MIPS. Simics beskrivs så här av Wikipedia: Simics is a full-system simulator used to run unchanged production binaries of the target hardware at high-performance speeds. Simics was originally developed [...]]]></description>
			<content:encoded><![CDATA[<p>I en projektkurs den här perioden &#8221;Operativsystem&#8221; har vi skapat ett ganska grundläggande operativsystem vid namn &#8221;Whilenium&#8221;, vi har kört det genom Simics med emulering av MIPS. Simics beskrivs så här av Wikipedia: </p>
<blockquote><p>Simics is a full-system simulator used to run unchanged production binaries of the target hardware at high-performance speeds. Simics was originally developed by the Swedish Institute of Computer Science (SICS), and then spun off to Virtutech  for commercial development in 1998.</p></blockquote>
<p>Vårt operativsystem har i korta drag följande funktioner:
<ul>
<li>Skapa flera processer</li>
<li>Köra processerna samtidigt</li>
<li>Skicka och ta emot I/O</li>
</ul>
<p><a href="http://hassis.com/wp-content/uploads/2010/05/Whilenium-HelloWorld.png" rel="lightbox[200]" title="Hello World"><img src="http://hassis.com/wp-content/uploads/2010/05/Whilenium-HelloWorld.png" alt="" title="Hello World" width="493" height="264" class="alignnone size-full wp-image-201" /></a></p>
<p>Däremellan är det väldigt mycket saker varje process ska kunna göra (och inte göra), exempelvis ska processerna kunna avsluta varandra, inte dela minne med varandra etc.</p>
<p>Det har varit en väldigt intressant kurs som byggde på en tidigare väldigt teoretisk kurs med mycket praktiskt arbete. Det som var svårast var nog att förstå kopplingen mellan C och Assembler. Därefter stötte vi på en del problem vad gäller schemaläggningen av processer samt få till systemanropen för att hoppa mellan <a href="http://en.wikipedia.org/wiki/User_space">&#8221;User-space&#8221; och &#8221;Kernel-space&#8221;</a></p>
<p>För de som är intresserade kan ni ladda ner <a href='http://hassis.com/wp-content/uploads/2010/05/os-2010.zip'>källkoden</a> och se (den väldigt korta) <a href='http://hassis.com/wp-content/uploads/2010/05/Whilenium_User_guide.pdf'>dokumentationen</a> här. Ni kan även besöka <a href="http://code.google.com/p/os-2010/">vårt projekt på Google Code</a>.</p>
<p>Källkoden har en del struktureringsbrister och är inte helt komplett dokumenterad, det hann vi inte med i slutspurten av projektet.</p>
<p><a href="http://hassis.com/wp-content/uploads/2010/05/Grupp-5.jpg" rel="lightbox[200]" title="Gruppfoto"><img src="http://hassis.com/wp-content/uploads/2010/05/Grupp-5.jpg" alt="" title="Gruppfoto" width="527" height="344" class="alignnone size-full wp-image-211" /></a><br />
Tack till Jesper Friberg, Oskar Wirén och <a href="http://www.daniellervik.com">Daniel Lervik</a> för ett bra arbete!</p>
<img src="http://hassis.com/?ak_action=api_record_view&id=200&type=feed" alt="" /><!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://hassis.com/2010/05/29/min-guide-till-whilenium-os2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>”They want users on modern browsers”</title>
		<link>http://hassis.com/2010/03/17/they-want-users-on-modern-browsers/</link>
		<comments>http://hassis.com/2010/03/17/they-want-users-on-modern-browsers/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 18:49:39 +0000</pubDate>
		<dc:creator>Anders Hassis</dc:creator>
				<category><![CDATA[Programmering]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=191</guid>
		<description><![CDATA[Rubriken är en del av ett twitter-inlägg postat av Rey Bango och handlar om Internet Explorer 9 som släpptes som en preview idag. Istället för att jag ska skriva om denna händelse så tänkte jag länka till några andra läsvärda inlägg om detta: Mikael Söderström: En första titt på Internet Explorer 9 Net tuts: IE9 [...]]]></description>
			<content:encoded><![CDATA[<p>Rubriken är en del av ett twitter-inlägg postat av <a href="http://twitter.com/reybango/status/10577319636">Rey Bango</a> och handlar om Internet Explorer 9 som släpptes som en preview idag.</p>
<p>Istället för att jag ska skriva om denna händelse så tänkte jag länka till några andra läsvärda inlägg om detta:</p>
<ul>
<li><a href="http://weblogs.asp.net/mikaelsoderstrom/archive/2010/03/17/en-f-246-rsta-titt-p-229-internet-explorer-9.aspx?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+MikaelSoderstrom+%28Mikael+S%C3%B6derstr%C3%B6m%29">Mikael Söderström: En första titt på Internet Explorer 9</a></li>
<li><a href="http://net.tutsplus.com/articles/news/ie9-may-actually-be-a-great-browser/">Net tuts:  IE9 May Actually Be a Fantastic Browser </a></li>
<li><a href="http://robertnyman.com/2010/03/17/testing-the-internet-explorer-platform-preview-ie9-reviewing-the-good-the-bad-and-the-main-letdown/">Robert Nyman: Testing the Internet Explorer Platform Preview (IE9) – reviewing the good, the bad and the main letdown</a></li>
</ul>
<p>Trevlig läsning! Jag säger som min gode vän <a href="http://parhaggstrom.com">Pär Häggström</a> sa: &#8221;Om Microsoft inte gjort rätt den här gången kommer jag aldrig förlåta dem!&#8221;</p>
<img src="http://hassis.com/?ak_action=api_record_view&id=191&type=feed" alt="" /><!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://hassis.com/2010/03/17/they-want-users-on-modern-browsers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
