<?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>Staicu Ionuţ-Bogdan &#187; PHP</title>
	<atom:link href="http://www.iamntz.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.iamntz.com</link>
	<description>the Frontend Developer</description>
	<lastBuildDate>Mon, 23 Jan 2012 04:55:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Caracterele UTF-8 prin gettext</title>
		<link>http://www.iamntz.com/2644/frontend-developer/caracterele-utf-8-prin-gettext/?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://www.iamntz.com/2644/frontend-developer/caracterele-utf-8-prin-gettext/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 08:39:59 +0000</pubDate>
		<dc:creator>adrian</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[codeset]]></category>
		<category><![CDATA[gettext]]></category>
		<category><![CDATA[guest post]]></category>
		<category><![CDATA[locale]]></category>
		<category><![CDATA[utf8]]></category>

		<guid isPermaLink="false">http://www.iamntz.com/?p=2644</guid>
		<description><![CDATA[Revin cu alt ball-breaker care mi-a pierdut mai bine de jumate de zi şi pe care l-am rezolvat destul de ciudat. Cei care au avut de lucru cu limbile unei aplicaţii pe web, au auzit probabil de gettext de la GNU. Şi WordPress foloseşte gettext cu fişiere po/mo pentru traduceri. Practic tu încarci un catalog [...]
	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/2644/frontend-developer/caracterele-utf-8-prin-gettext/'>Caracterele UTF-8 prin gettext</a>. <br/>
	<a href='http://www.iamntz.com/2644/frontend-developer/caracterele-utf-8-prin-gettext/#postcomment'>Adaugă un comentariu!</a>]]></description>
			<content:encoded><![CDATA[<p>Revin cu alt ball-breaker care mi-a pierdut mai bine de jumate de zi şi pe care l-am rezolvat destul de ciudat.</p>
<p>Cei care au avut de lucru cu limbile unei aplicaţii pe web, au auzit probabil de <a href="http://www.gnu.org/s/gettext/">gettext</a> de la GNU. Şi WordPress foloseşte gettext cu fişiere po/mo pentru traduceri. Practic tu încarci un catalog cu definiţii şi traduceri la acele definiţii, printezi în limba care trebuie cu </p>
<pre class="brush: php; title: ; notranslate">
echo gettext('definitie');
</pre>
<p>Mai are şi shorthand _(), eu folosesc __(), definită de mine, în caz că mai vrei să faci ceva in momentul traducerii. <span id="more-2644"></span></p>
<p>Anyway. Prima problemă e că gettext se bazează pe set_locale, iar pe windows e aproape imposibil să le setezi cum trebuie; sunt atâtea variabile şi particularitaţi la versiunile de windows încat nu există o soluţie care sa meargă sigur.</p>
<p>Să zicem că ai rezolvat totuşi cu localele, poate ai linux. Ok, când dai sus cu proiectul poţi avea surpriza să meargă, dar numai pe jumătate. La ce mă refer: problema mea e că scotea traducerile din fişierul .mo dar nu scotea cum trebuie diacriticele sau alte caractere care în mod normal se văd ok pe UTF-8. Asta se întâmpla in condiţiile în care  tot site-ul era UTF-8, headere, răspunsuri de la server, tot tacâmul. În plus, diacriticele care veneau din baza de date erau bine mersi.</p>
<p>În mod normal, ca să-i zici scriptului unde să caute fişierul cu definiţii foloseşti:</p>
<pre class="brush: php; title: ; notranslate">
bindtextdomain(&quot;domain&quot;, $path);
textdomain(&quot;domain&quot;);
</pre>
<p>Ajungea la ele fără probleme, însă când scotea traducerea, nu o scotea encodata cum trebuie. Până la urmă am găsit soluţia in ultimul comentariu (cu 0) la un post pe stackoverflow:</p>
<pre class="brush: php; title: ; notranslate">
bindtextdomain(&quot;domain&quot;, $path);
bind_textdomain_codeset(&quot;domain&quot;, &quot;UTF-8&quot;);
textdomain(&quot;domain&quot;);
</pre>
<p>Daca aţi văzut vreodată locale de genul en_US.utf8 sau ro_RO.utf8, bind_textdomain_codeset adaugă particula &#8220;utf8&#8243;, care se numeşte codeset şi este un modifier pentru locale.</p>

	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/2644/frontend-developer/caracterele-utf-8-prin-gettext/'>Caracterele UTF-8 prin gettext</a>. <br/>
	<a href='http://www.iamntz.com/2644/frontend-developer/caracterele-utf-8-prin-gettext/#postcomment'>Adaugă un comentariu!</a>]]></content:encoded>
			<wfw:commentRss>http://www.iamntz.com/2644/frontend-developer/caracterele-utf-8-prin-gettext/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paypal IPN returnează INVALID</title>
		<link>http://www.iamntz.com/2630/frontend-developer/paypal-ipn-returneaza-invalid/?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://www.iamntz.com/2630/frontend-developer/paypal-ipn-returneaza-invalid/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 11:16:38 +0000</pubDate>
		<dc:creator>adrian</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[guest post]]></category>
		<category><![CDATA[Paypal IPN]]></category>

		<guid isPermaLink="false">http://www.iamntz.com/?p=2630</guid>
		<description><![CDATA[Mi-a permis Ionuţ să vă mai scriu din problemele care mi-au dat multă bataie de cap şi cum le-am rezolvat până la urmă. Astăzi vă povestesc despre Paypal IPN (Instant Payment Notification). E un sistem care funcţionează cam aşa: Tu trimiţi un POST către Paypal cu detaliile produsului (nume, amount, curency etc) Paypal trimite înapoi [...]
	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/2630/frontend-developer/paypal-ipn-returneaza-invalid/'>Paypal IPN returnează INVALID</a>. <br/>
	<a href='http://www.iamntz.com/2630/frontend-developer/paypal-ipn-returneaza-invalid/#postcomment'>Adaugă un comentariu!</a>]]></description>
			<content:encoded><![CDATA[<p>Mi-a permis Ionuţ să vă mai scriu din problemele care mi-au dat multă bataie de cap şi cum le-am rezolvat până la urmă.</p>
<p>Astăzi vă povestesc despre Paypal IPN (Instant Payment Notification). E un sistem care funcţionează cam aşa:</p>
<ul>
<li>Tu trimiţi un POST către Paypal cu detaliile produsului (nume, amount, curency etc)</li>
<li>Paypal trimite înapoi alt POST după ce userul plăteşte. Acesta conţine datele plătitorului, comezii etc. POST-ul acesta merge către un link setat de merchant în interfaţa lui de Paypal.</li>
<li>La linkul respectiv, tu trebuie să iei postul care vine, să adaugi un câmp anume şi să-l trimiţi înapoi. Dacă Paypal primeşte ce trebuie, trimite înapoi la acelaşi link rezultatul: VALID sau INVALID.</li>
</ul>
<p>Toate bune şi frumoase. Testele pe sandbox merg perfect, când treci live întoarce INVALID, fără vreun motiv anume.</p>
<p>Problema e în modul cum asamblezi variabilele din POST să le trimiţi înapoi la Paypal.</p>
<p>În manualul de implementare de la IPN, sample code-ul arată aşa: <span id="more-2630"></span></p>
<pre class="brush: php; title: ; notranslate">
// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-validate';
foreach ($_POST as $key =&gt; $value) {
  $value = urlencode(stripslashes($value));
  $req .= &quot;&amp;$key=$value&quot;;
}
</pre>
<p>Am încercat si cu <a href="http://php.net/manual/en/function.http-build-query.php">php_build_query</a> din PHP5 dar fără succes.</p>
<p>Rezolvarea am găsit-o tot la ei pe site, dar prin altă documentaţie:</p>
<pre class="brush: php; title: ; notranslate">
if(function_exists('get_magic_quotes_gpc'))
{
  $get_magic_quotes_exists = true;
}
foreach ($_POST as $key =&gt; $value)
// Handle escape characters, which depends on setting of magic quotes
{
  if($get_magic_quotes_exists == true &amp;&amp; get_magic_quotes_gpc() == 1){
    $value = urlencode(stripslashes($value));
  } else {
    $value = urlencode($value);
  }
  $req .= &quot;&amp;$key=$value&quot;;
}
</pre>
<p>Trebuia ţinut cont şi de setarea pentru magic quotes.</p>

	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/2630/frontend-developer/paypal-ipn-returneaza-invalid/'>Paypal IPN returnează INVALID</a>. <br/>
	<a href='http://www.iamntz.com/2630/frontend-developer/paypal-ipn-returneaza-invalid/#postcomment'>Adaugă un comentariu!</a>]]></content:encoded>
			<wfw:commentRss>http://www.iamntz.com/2630/frontend-developer/paypal-ipn-returneaza-invalid/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cum modifici un URL?</title>
		<link>http://www.iamntz.com/1813/frontend-developer/cum-modifici-un-url/?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://www.iamntz.com/1813/frontend-developer/cum-modifici-un-url/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 07:44:04 +0000</pubDate>
		<dc:creator>Staicu Ionuț-Bogdan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.iamntz.com/?p=1813</guid>
		<description><![CDATA[Am fost pus &#8211; și nu o dată! &#8211; în situația de a modifica structura unui URL. Și nu e vorba de domeniu sau TLD ci de parametri. De exemplu, din url-ul următor: Vreau să schimb parametri în: Cum se face? Chiar dacă în ultima vreme am băgat cod PHP mai mult decât mi-aș fi [...]
	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/1813/frontend-developer/cum-modifici-un-url/'>Cum modifici un URL?</a>. <br/>
	<a href='http://www.iamntz.com/1813/frontend-developer/cum-modifici-un-url/#postcomment'>Adaugă un comentariu!</a>]]></description>
			<content:encoded><![CDATA[<p>Am fost pus &#8211; și nu o dată! &#8211; în situația de a modifica structura unui URL. Și nu e vorba de domeniu sau TLD ci de parametri. </p>
<p>De exemplu, din url-ul următor:</p>
<pre class="brush: php; title: ; notranslate">

http://iamntz.com/?s=ie9&#038;post_type=post&#038;posts_per_page=15
</pre>
<p>Vreau să schimb parametri în:</p>
<pre class="brush: php; title: ; notranslate">

http://iamntz.com/?s=ie9&#038;post_type=custom_post_type&#038;posts_per_page=25&#038;current_page=5
</pre>
<h4>Cum se face?</h4>
<p>Chiar dacă în ultima vreme am băgat cod PHP mai mult decât mi-aș fi dorit (deși nu aș putea să mă plâng că nu mi-a plăcut), nu pot spune că sunt avansat. Probabil aș putea să mă încadrez pe undeva la <em>average</em>. Prin urmare, trebuie să improvizez:<span id="more-1813"></span></p>
<pre class="brush: php; title: ; notranslate">
function addURLParameters($url, $params){
	foreach($params as $key=&gt;$param) {
		$url = addURLParameter($url, $key, $param);
	}
	return $url;
}
function addURLParameter($url, $paramName, $paramValue) {
  $url_data = parse_url($url);
  $params = array();
  parse_str($url_data['query'], $params);
  $params[$paramName] = $paramValue;
  $url_data['query'] = http_build_query($params, '', '&amp;');
  return build_url($url_data);
}

function build_url($url_data){
  $url = $url_data['scheme'] . '://';
  if(isset($url_data['user'])){
    $url .= $url_data['user'];
    if(isset($url_data['pass'])){
      $url .= ':' . $url_data['pass'];
    }
    $url .= '@';
  }
  $url .= $url_data['host'];
  if(isset($url_data['port'])){
    $url .= ':' . $url_data['port'];
  }
  $url .= $url_data['path'];
  if(isset($url_data['query'])){
    $url .= '?' . $url_data['query'];
  }
  if(isset($url_data['fragment'])){
    $url .= '#' . $url_data['fragment'];
  }
  return $url;
}
</pre>
<p>Funcția am luat-o de undeva dar nu mai știu de unde (cred că stackoverflow, dar nu sunt foarte sigur) și am curățat-o puțin, am formatat-o și i-am adăugat funcția <code>addURLParameters</code>. Care îți permite să adaugi mai mulți parametri dintr-o dată.</p>
<h4>Cum se folosește?</h4>
<p>Pentru a schimba un singur parametru (continuăm exemplul de mai sus):</p>
<pre class="brush: php; title: ; notranslate">
$url = 'http://iamntz.com/?s=ie9&amp;post_type=post&amp;posts_per_page=15';
$url = addURLParameter($url, 'post_type', 'custom_post_type');
$url = addURLParameter($url, 'current_page', 5);
</pre>
<p>Pentru a schimba mai mulți parametri poți continua &#8211; ca mai sus &#8211; cu câte un parametru pe linie sau te poți folosi de <code>arrays</code> (refuz să-l traduc ca <em>matrice</em> sau <em>tablou</em> <img src='http://www.iamntz.com/wp-includes/images/smilies/biggrin.gif' alt=':D' class='wp-smiley' />  ):</p>
<pre class="brush: php; title: ; notranslate">
$url = 'http://iamntz.com/?s=ie9&amp;post_type=post&amp;posts_per_page=15';
$url = addURLParameters($url, array(
	'post_type'				=&gt;	'custom_post_type',
	'posts_per_page'	=&gt;	25,
	'current_page'		=&gt;	5
));
</pre>
<p><a href="http://stackoverflow.com/questions/486896/adding-a-parameter-to-the-url-with-javascript">Aici</a> este și varianta JavaScript, pentru cei interesați.</p>

	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/1813/frontend-developer/cum-modifici-un-url/'>Cum modifici un URL?</a>. <br/>
	<a href='http://www.iamntz.com/1813/frontend-developer/cum-modifici-un-url/#postcomment'>Adaugă un comentariu!</a>]]></content:encoded>
			<wfw:commentRss>http://www.iamntz.com/1813/frontend-developer/cum-modifici-un-url/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Compresia fișierelor CSS on the fly</title>
		<link>http://www.iamntz.com/844/frontend-developer/compresia-fisierelor-css-on-the-fly/?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://www.iamntz.com/844/frontend-developer/compresia-fisierelor-css-on-the-fly/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 12:07:00 +0000</pubDate>
		<dc:creator>Staicu Ionuț-Bogdan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Optimization]]></category>

		<guid isPermaLink="false">http://www.iamntz.com/?p=844</guid>
		<description><![CDATA[Cred că toată lumea vrea un site mai rapid. În urmă cu 10-15 ani, când toți se chinuiau să scoată un timp de încarcare de maxim zece secunde (parcă așa zicea Jacob Nielsen), viteza medie de conectare era în jur de 56kbs. Cam cum merge în realitate internetul mobil de la Vodafone sau RDS (că [...]
	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/844/frontend-developer/compresia-fisierelor-css-on-the-fly/'>Compresia fișierelor CSS on the fly</a>. <br/>
	<a href='http://www.iamntz.com/844/frontend-developer/compresia-fisierelor-css-on-the-fly/#postcomment'>Adaugă un comentariu!</a>]]></description>
			<content:encoded><![CDATA[<p>Cred că toată lumea vrea un site mai rapid. În urmă cu 10-15 ani, când toți se chinuiau să scoată un timp de încarcare de maxim zece secunde (parcă așa zicea Jacob Nielsen), viteza medie de conectare era în jur de 56kbs. Cam cum merge în realitate internetul mobil de la Vodafone sau RDS (că în teorie merge cu 7.2mbs e altă poveste). Acum însă, vitezele de conectare sunt amețitoare. Zeci de Mbs, totul zbârnâie, totul&#8230; Stai! A crescut viteza, au crescut și așteptările utilizatorilor. Astfel, cele zece secunde s-au transformat în 1-3 secunde. Au apărut biblioteci JS, au apărut framework-uri CSS, astfel încât odată cu viteza a crescut și dimensiunea paginilor. </p>
<p>Și dacă nu avem cum să mai creștem viteza, optimizăm dimensiunile!</p>
<p>Astfel, au apărut <a href="http://developer.yahoo.com/performance/rules.html">regulile de performanță</a> de la yahoo. Și printre regulile astea, cele mai importante consider că sunt cele de micșorare:</p>
<ul>
<li>gzip;</li>
<li>minification (pentru că minificare sună aiurea <img src='http://www.iamntz.com/wp-includes/images/smilies/biggrin.gif' alt=':D' class='wp-smiley' /> ).</li>
</ul>
<p><span id="more-844"></span></p>
<p>Cu gzip o rezolvi rapid. <a href="http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/">Câteva rânduri</a> în <code>.htaccess</code> și ai terminat. Cu minificarea (?!) însă&#8230; E mai greu. Pentru că, nu-i așa, întotdeauna se găsește ceva de modificat la site când nu ești acasă. Iar editarea unui cârnat pe o singură linie de câteva zeci de mii de caractere poate fi o experiență nu tocmai plăcută. </p>
<p>Prin urmare poți folosi editarea on the fly. Nu știu însă cum se comportă pe site-uri cu un trafic considerabil&#8230; <img src='http://www.iamntz.com/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Scriptul face următoarea chestie: Combină mai multe fișiere, șterge toate comentariile, spațiile aiurea, tab-urile aiurea și toate rândurile noi:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
header('Content-type: text/css');
ob_start(&quot;compress&quot;);
function compress($buffer) {
  $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', ' ', $buffer);
  $buffer = str_replace(array(&quot;\r\n&quot;, &quot;\r&quot;, &quot;\n&quot;, '  ', '    ', '    '), ' ', $buffer);
  $buffer = str_replace(&quot;\t&quot;, &quot; &quot;, $buffer);
  return $buffer;
}
include('screen.css');
include('style.css');
include('comments.css');
ob_end_flush();
</pre>
<p>Și rezultatul îl poți vedea pe blogul meu:<br />
<div class="demoDownload"><a href="http://www.iamntz.com/wp-content/themes/myNtz-2/style.php" class="demoLink">Demo</a></div></p>
<h3>Cum se folosește?</h3>
<ol>
<li>Faci un fișier, să zicem <code>screen.php</code></li>
<li>Înlocuiești
<pre class="brush: xml; title: ; notranslate">
&lt;link rel='stylesheet' href='screen.css' type='text/css' /&gt;
&lt;link rel='stylesheet' href='style.css' type='text/css' /&gt;
&lt;link rel='stylesheet' href='comments.css' type='text/css' /&gt;
</pre>
<p>Cu </p>
<pre class="brush: xml; title: ; notranslate">
&lt;link rel='stylesheet' href='screen.php' type='text/css' /&gt;
</pre>
</li>
<li>Gata <img src='http://www.iamntz.com/wp-includes/images/smilies/biggrin.gif' alt=':D' class='wp-smiley' />  </li>
</ol>

	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/844/frontend-developer/compresia-fisierelor-css-on-the-fly/'>Compresia fișierelor CSS on the fly</a>. <br/>
	<a href='http://www.iamntz.com/844/frontend-developer/compresia-fisierelor-css-on-the-fly/#postcomment'>Adaugă un comentariu!</a>]]></content:encoded>
			<wfw:commentRss>http://www.iamntz.com/844/frontend-developer/compresia-fisierelor-css-on-the-fly/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Nou pe blog</title>
		<link>http://www.iamntz.com/664/frontend-developer/nou-pe-blog/?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://www.iamntz.com/664/frontend-developer/nou-pe-blog/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 14:13:25 +0000</pubDate>
		<dc:creator>Staicu Ionuț-Bogdan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[syntaxhighlighter]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://www.iamntz.com/?p=664</guid>
		<description><![CDATA[Una din cererile primite de la fanii blogului (de fapt e unul singur, Ionuț Botizan, dar asta e altă poveste; îmi place mie foarte mult să cred că am mai mulți fani ) a fost posibilitatea de a insera cod în comentarii. Cum pluginul folosit de mine nu știe decât să stilizeze codul în posturi, [...]
	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/664/frontend-developer/nou-pe-blog/'>Nou pe blog</a>. <br/>
	<a href='http://www.iamntz.com/664/frontend-developer/nou-pe-blog/#postcomment'>Adaugă un comentariu!</a>]]></description>
			<content:encoded><![CDATA[<p>Una din cererile primite de la fanii blogului (de fapt e unul singur, Ionuț Botizan, dar asta e altă poveste; îmi place mie foarte mult să cred că am mai mulți fani <img src='http://www.iamntz.com/wp-includes/images/smilies/biggrin.gif' alt=':D' class='wp-smiley' />  ) a fost posibilitatea de a insera cod în comentarii. Cum <a href="http://wordpress.org/extend/plugins/syntaxhighlighter-plus/">pluginul folosit de mine</a> nu știe decât să stilizeze codul în posturi, m-am apucat să îl conving să stilizeze și secvențele de cod din comentarii. Și după o linie de cod scrisă, am reușit.</p>
<p>Dacă ai plugin-ul sus-menționat instalat, nu trebuie decât să deschizi <code>syntaxhighlighter.php</code> într-un editor de text și să cauți:</p>
<pre class="brush: php; title: ; notranslate">
// Find and replace the BBCode
add_filter( 'the_content', array(&amp;$this, 'BBCodeToHTML'), 8 );
add_filter( 'widget_text', array(&amp;$this, 'BBCodeToHTML'), 8 );
</pre>
<p>Imediat după această bucată de cod adaugă:</p>
<pre class="brush: php; title: ; notranslate">
if(!is_admin()){
	add_filter( 'comment_text', array(&amp;$this, 'BBCodeToHTML'), 8 );
}
</pre>
<p>Gata!</p>

	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/664/frontend-developer/nou-pe-blog/'>Nou pe blog</a>. <br/>
	<a href='http://www.iamntz.com/664/frontend-developer/nou-pe-blog/#postcomment'>Adaugă un comentariu!</a>]]></content:encoded>
			<wfw:commentRss>http://www.iamntz.com/664/frontend-developer/nou-pe-blog/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Se caută ucenic!</title>
		<link>http://www.iamntz.com/595/frontend-developer/se-cauta-ucenic/?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://www.iamntz.com/595/frontend-developer/se-cauta-ucenic/#comments</comments>
		<pubDate>Tue, 11 May 2010 21:32:02 +0000</pubDate>
		<dc:creator>Staicu Ionuț-Bogdan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Resources]]></category>

		<guid isPermaLink="false">http://www.iamntz.com/?p=595</guid>
		<description><![CDATA[Mulți oameni (designeri și programatori deopotrivă) au început sau și-au șlefuit skill-urile de-a lungul timpului pe forumul Softpedia. Din păcate însă, timpul a trecut. Oamenii buni au plecat de pe SP (o parte din cauza „regimului”, o parte din cauza afluxului de începători ignoranți și aroganți), s-au mutat fie pe webdesignbox, fie au redus activitatea [...]
	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/595/frontend-developer/se-cauta-ucenic/'>Se caută ucenic!</a>. <br/>
	<a href='http://www.iamntz.com/595/frontend-developer/se-cauta-ucenic/#postcomment'>Adaugă un comentariu!</a>]]></description>
			<content:encoded><![CDATA[<p>Mulți oameni (designeri și programatori deopotrivă) au început sau și-au șlefuit skill-urile de-a lungul timpului pe <a href="http://forum.softpedia.com">forumul Softpedia</a>. Din păcate însă, timpul a trecut. Oamenii buni au plecat de pe SP (o parte din cauza „regimului”, o parte din cauza afluxului de începători ignoranți și aroganți), s-au mutat fie pe webdesignbox, fie au redus activitatea pe forumuri și se dau pe <a href="http://stackoverflow.com/">chestii serioase</a>. </p>
<p>În fine, unul din puținii oameni care are cel puțin 90% din comentarii la subiect, fără deviații, s-a apucat să dea sfaturi. După ce s-a plictisit de dat sfaturi s-a apucat să&#8230; scrie o carte de PHP în română. Cum tutorialul lui Oriceon (de care am auzit că este folosit într-o școală prin Republica Moldova pe post de manual!) este un pic outdated (hell, au trecut câțiva ani de la ultimul update), o astfel de inițiativă nu poate fi decât de lăudat. Numele tipului? Flavius Aspra. Nick-ul? OriginalCopy.</p>
<h3>Deci, care e treaba cu ucenicul?</h3>
<p>Păi, în principiu, poți spune că un tutorial este bun doar dacă este înțeles de cât mai mulți începători. Problema apare însă în situația în care ai trecut de nivelul „hmmm, oare ce face asta?”. Problema și mai mare apare când ai trecut de foarte mult timp de nivelul mai sus menționat. Din simplul motiv că&#8230; nu mai știi cum gândește un începător! Prin urmare, Flavius caută câțiva începători (preferabil între 14 și 18 ani) dornici să învețe PHP. Toată treaba este complet gratuită, singura condiție este să știi să apeși pe taste într-un mod cât mai inteligent.</p>
<p>Așadar, masa, dansul și înscrierile se fac.. Unde altundeva dacă nu pe <a href="http://forum.softpedia.com/index.php?showtopic=666017&#038;st=0">forumul Softpedia</a>?</p>
<p>Desigur, mai este și linkul pentru carte <a href="http://phpro.yet-another-project.com/">aici</a>. Fiind un proiect în fașă, ai doar vreo 20 pagini de citit. Dar sunt convins că va crește constant, acoperind cât mai multe subiecte.</p>
<p>Așadar&#8230;. spor maxim doritorilor!</p>

	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/595/frontend-developer/se-cauta-ucenic/'>Se caută ucenic!</a>. <br/>
	<a href='http://www.iamntz.com/595/frontend-developer/se-cauta-ucenic/#postcomment'>Adaugă un comentariu!</a>]]></content:encoded>
			<wfw:commentRss>http://www.iamntz.com/595/frontend-developer/se-cauta-ucenic/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>All in one (js &amp; css)</title>
		<link>http://www.iamntz.com/356/frontend-developer/all-in-one-js/?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://www.iamntz.com/356/frontend-developer/all-in-one-js/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 14:36:36 +0000</pubDate>
		<dc:creator>Staicu Ionuț-Bogdan</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.iamntz.com/?p=356</guid>
		<description><![CDATA[Azi, în timpul unei „ședințe” de optimizare a unui blog la care am lucrat în ultima săptămână, s-a pus problema de a reduce la minim numărul de requesturi. De fapt eu am pus problema Cum fișierele javascript au rămas singurele cu un număr mai mare de 1, cea mai la îndemână soluție a fost folosirea [...]
	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/356/frontend-developer/all-in-one-js/'>All in one (js &#038; css)</a>. <br/>
	<a href='http://www.iamntz.com/356/frontend-developer/all-in-one-js/#postcomment'>Adaugă un comentariu!</a>]]></description>
			<content:encoded><![CDATA[<p>Azi, în timpul unei „ședințe” de optimizare a unui blog la care am lucrat în ultima săptămână, s-a pus problema de a reduce la minim numărul de requesturi. De fapt eu am pus problema <img src='http://www.iamntz.com/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Cum fișierele javascript au rămas singurele cu un număr mai mare de 1, cea mai la îndemână soluție a fost folosirea unui mic script php:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php header(&quot;Content-type: text/javascript&quot;);ob_start(&quot;ob_gzhandler&quot;);
$files = array(
	'jquery-latest.min.js',
	'ui.js',
	'script.js'
);
foreach($files as $file){
	include_once $file;
}
ob_flush();
</pre>
<p>Am salvat script.php în folderul <acronym title="Javascript - http://w3.org">js</acronym> din tema de wordpress în cauză (voi da și linkul când va fi gata) și am purces la editarea <code>functions.php</code>:</p>
<pre class="brush: php; title: ; notranslate">
if(!is_admin()){
	wp_deregister_script('jquery');
	wp_register_script('jquery', (get_bloginfo('stylesheet_directory').'/js/js.php'), false, '1.3.2', false);
	wp_enqueue_script('jquery');
}
</pre>
<h3>Ce se întâmplă?</h3>
<ol>
<li>Dacă nu este admin, ștergem bindul default pentru jQuery (care este prin <code>wp-includes/js/jquery</code>);</li>
<li>Definim din nou jQuery, precizând path-ul spre scriptul de mai sus;</li>
<li>Re-binduim jQuery, astfel încât să poată fi folosit de alte plugin-uri.</li>
</ol>
<p>În acest fel, ai în același fișier toate fișierele externe. Cu puțină îndemânare (care, drept să-ți spun, îmi cam lipsește în cazul PHP) poți include diferite fișiere, în funcție de ce pagină accesezi (de exemplu, poate nu ai nevoie de ui.js decât pe prima pagină) șamd.</p>
<h3>Dar pentru CSS?</h3>
<p>Poți face același lucru și pentru <acronym title="Cascading Style Sheet - http://w3.org">CSS</acronym> dacă schimbi <code>Content-type</code> în <code>text/css</code>.</p>

	<br/>

	Ai terminat de citit postul <a href='http://www.iamntz.com/356/frontend-developer/all-in-one-js/'>All in one (js &#038; css)</a>. <br/>
	<a href='http://www.iamntz.com/356/frontend-developer/all-in-one-js/#postcomment'>Adaugă un comentariu!</a>]]></content:encoded>
			<wfw:commentRss>http://www.iamntz.com/356/frontend-developer/all-in-one-js/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

