<?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>George Jipa &#187; Snippets</title>
	<atom:link href="http://www.georgejipa.com/category/snippets/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.georgejipa.com</link>
	<description>Blogger ocazional</description>
	<lastBuildDate>Thu, 08 Jul 2010 14:08:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Afisare Twitter followers in format text</title>
		<link>http://www.georgejipa.com/snippets/afisare-twitter-followers-in-format-text/</link>
		<comments>http://www.georgejipa.com/snippets/afisare-twitter-followers-in-format-text/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 18:24:25 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[php snippet]]></category>
		<category><![CDATA[tutorial php]]></category>
		<category><![CDATA[tutorial twitter]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.georgejipa.com/?p=245</guid>
		<description><![CDATA[Am vazut pe blogul lui Bogdan Anghelina, un mic tutorial despre cum se poate afisa numarul follower-ilor (cei care te urmaresc pe Twitter) in format text. In fine, mi s-a parut o solutie cam rudimentara si am zis sa dau eu o solutie mai buna. function countFollowers($username){ $url = "http://twitter.com/users/show/{$username}.xml"; $content = simplexml_load_file($url); return "Followers: [...]]]></description>
			<content:encoded><![CDATA[<p>Am vazut pe blogul lui <a href="http://bogdanblog.dap.ro/afisare-followers-twitter-text/2010/02/" target="_blank">Bogdan Anghelina</a>, un mic tutorial despre cum se poate afisa numarul follower-ilor (cei care te urmaresc pe Twitter) in format text. In fine, mi s-a parut o solutie cam rudimentara si am zis sa dau eu o solutie mai buna.</p>
<pre class="php" name="code">
  function countFollowers($username){
      $url = "http://twitter.com/users/show/{$username}.xml";
      $content = simplexml_load_file($url);
      return "Followers: {$content->followers_count}";
  }
  echo countFollowers("georgejipa");
</pre>
<p>Creati un fisier.php, deschideti &#8211; inchideti tag-urile specifice unui fisier PHP si apoi copy-paste la snippet-ul postat de mine. In loc de georgejipa (contul meu de Twitter) se pune numele utilizatorului pe care-l doriti.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.georgejipa.com/snippets/afisare-twitter-followers-in-format-text/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Adaugare articole si custom fields</title>
		<link>http://www.georgejipa.com/snippets/adaugare-articole-si-custom-fields/</link>
		<comments>http://www.georgejipa.com/snippets/adaugare-articole-si-custom-fields/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 11:42:23 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[adaugare articole]]></category>
		<category><![CDATA[custom fields]]></category>
		<category><![CDATA[php snippets]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[tutoriale wordpress]]></category>

		<guid isPermaLink="false">http://www.georgejipa.com/?p=231</guid>
		<description><![CDATA[Saptamana a inceput bine! Cu o cafea dulce si o lista de to-do&#8217;s, printre care sa afla si realizarea unui mic plugin care sa poata posta articole automat, fara a fi nevoie sa intram in meniul de New post. Dupa cateva cautari am ajuns in Codex-ul WordPress si am dat de wp_insert_post(); si add_post_meta();. Ce [...]]]></description>
			<content:encoded><![CDATA[<p>Saptamana a inceput bine! Cu o cafea dulce si o lista de to-do&#8217;s, printre care sa afla si realizarea unui mic plugin care sa poata posta articole automat, fara a fi nevoie sa intram in meniul de New post.<br />
Dupa cateva cautari am ajuns in Codex-ul WordPress si am dat de <strong>wp_insert_post();</strong> si <strong>add_post_meta();</strong>. Ce face fiecare ?!<br />
1. <strong>wp_insert_post();</strong> &#8211; introduce in baza de date, articole si pagini cu ce continut doresti tu</p>
<pre name="code" class="php">// Facem un array gol
$articol = array();
$articol["post_title"] = "Ana are mere";
$articol["post_type"] = "post"; // se poate folosi "post" sau "page"
$articol["post_content"] = "Acesta este continutul articolului Ana are mere";
$articol["post_status"] = "publish"; // se poate folosi "draft", "pending", "publish"
$articol["post_author"] = "1"; // se foloseste ID-ul authorului. Pentru admin, ID-ul este 1
$articol["post_category"] = array(8,39); // categoriile se trec sub forma unui array format din ID-ul fiecarei categorii
$articol["comment_status"] = "open"; // se poate folosi "open" sau "closed"
wp_insert_post($articol);
</pre>
<p>2. <strong>add_post_meta();</strong> &#8211; adauga custom field-uri oricarui articol doresti</p>
<pre name="code" class="php">// 12 - ID-ul articolului la care se va adauga custom field-ul
// song - denumirea custom field-ului
// "Marilyn Manson - Tainted Love" - valoarea care i se da custom field-ului "song"
add_post_meta(12, "song", "Marilyn Manson - Tainted Love");
</pre>
<p>Documentatie detaliata: <a href="http://codex.wordpress.org/Function_Reference/wp_insert_post" target="_blank">1</a>, <a href="http://codex.wordpress.org/Function_Reference/add_post_meta" target="_blank">2</a></p>
<p>PS: plugin-ul e pentru uz personal, in caz ca doriti sa mi-l cereti.<br />
PS2: urmeaza sa fac un plugin public zilelea astea. Keep in touch!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.georgejipa.com/snippets/adaugare-articole-si-custom-fields/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Query diferenta curs valutar</title>
		<link>http://www.georgejipa.com/snippets/query-diferenta-curs-valutar/</link>
		<comments>http://www.georgejipa.com/snippets/query-diferenta-curs-valutar/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 20:34:16 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[diferenta curs valutar]]></category>
		<category><![CDATA[mysql query]]></category>
		<category><![CDATA[tutorial mysql]]></category>

		<guid isPermaLink="false">http://www.georgejipa.com/?p=165</guid>
		<description><![CDATA[Astazi am avut nevoie de un query pentru a extrage din baza de data cursul de schimb valutar pentru o moneda, la data curenta si la data anterioara. Cum se face ? Simplu! Sa zicem ca avem un tabel &#8220;curs&#8221; de forma (id, data, moneda, valoare) si cateva date introduse in acel tabel.. ca in [...]]]></description>
			<content:encoded><![CDATA[<p>Astazi am avut nevoie de un query pentru a extrage din baza de data cursul de schimb valutar pentru o moneda,  la data curenta si la data anterioara. Cum se face ? Simplu!<br />
Sa zicem ca avem un tabel &#8220;<strong>curs</strong>&#8221; de forma (<em>id, data, moneda, valoare</em>) si cateva date introduse in acel tabel.. ca in imaginea de mai jos:</p>
<p><a rel="attachment wp-att-166" href="http://www.georgejipa.com/snippets/query-diferenta-curs-valutar/attachment/query-1/"><img class="aligncenter size-full wp-image-166" title="query 1" src="http://www.georgejipa.com/wp-content/uploads/2010/01/query-1.jpg" alt="" width="285" height="108" /></a><br />
Rulam urmatorul query mysql:</p>
<pre class="php" name="code">SELECT t1.*, (SELECT valoare FROM curs t2 WHERE t2.moneda = t1.moneda AND data = "2010-01-07") AS CursIeri FROM curs t1 WHERE data = "2010-01-08"
</pre>
<p>Iar rezultatul rularii query-ului este:<br />
<a rel="attachment wp-att-169" href="http://www.georgejipa.com/snippets/query-diferenta-curs-valutar/attachment/query-2/"><img class="aligncenter size-full wp-image-169" title="query 2" src="http://www.georgejipa.com/wp-content/uploads/2010/01/query-2.jpg" alt="" width="257" height="73" /></a><br />
De aici.. e foarte simplu sa prelucram datele, sa facem diferenta de curs valutar (cu PHP-ul), asa ca nu mai insist pe partea asta.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.georgejipa.com/snippets/query-diferenta-curs-valutar/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Preluare horoscop acvaria.com</title>
		<link>http://www.georgejipa.com/snippets/preluare-horoscop-acvaria-ro/</link>
		<comments>http://www.georgejipa.com/snippets/preluare-horoscop-acvaria-ro/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 11:18:18 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[php snippets]]></category>
		<category><![CDATA[preluare horoscop]]></category>
		<category><![CDATA[preluare horoscop acvaria]]></category>

		<guid isPermaLink="false">http://www.georgejipa.com/?p=27</guid>
		<description><![CDATA[In timp ce imi faceam curat printre fisiere, am dat de un script micut (facut de mine), care ajuta la preluarea horoscopului de pe site-ul acvaria.com (demo horoscop). Sper sa va fie de folos! LE: Din cauza faptului ca plugin-ul de highlight nu afisa corect,  puteti lua scriptul de aici.]]></description>
			<content:encoded><![CDATA[<p>In timp ce imi faceam curat printre fisiere, am dat de un script micut (facut de mine), care ajuta la preluarea horoscopului de pe site-ul <span style="text-decoration: line-through;">a</span>cvaria.com (<a title="demo horoscop" href="http://www.georgejipa.com/horoscop/" target="_blank">demo horoscop</a>). Sper sa va fie de folos!</p>
<p><strong>LE: Din cauza faptului ca plugin-ul de highlight nu afisa corect,  puteti lua scriptul de <a href="http://www.georgejipa.com/horoscop/fisier.txt" target="_blank">aici</a>.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.georgejipa.com/snippets/preluare-horoscop-acvaria-ro/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cum preluam vremea de la YahooWeather</title>
		<link>http://www.georgejipa.com/snippets/cum-preluam-vremea-de-la-yahooweather/</link>
		<comments>http://www.georgejipa.com/snippets/cum-preluam-vremea-de-la-yahooweather/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 10:38:37 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[php snippets]]></category>
		<category><![CDATA[preluare vreme]]></category>
		<category><![CDATA[SimplePie]]></category>
		<category><![CDATA[Yahoo Weather]]></category>

		<guid isPermaLink="false">http://www.georgejipa.com/?p=17</guid>
		<description><![CDATA[V-am promis intr-un articol anterior, ca va voi arata cum putem prelua datele vremii de pe Yahoo Weather. Resurse folosite: 1. SimplePie &#8211; download 2. API-ul Yahoo Weather (voi prelua vremea de la Buzau prin intermediul API-ului. 3. some PHP knowleadge In primul rand, dezarhivam SimplePie si copiem intr-un alt folder (ex: preluare) fisierul simplepie.inc. [...]]]></description>
			<content:encoded><![CDATA[<p>V-am promis intr-un <a href="http://www.georgejipa.com/snippets/some-twitter-stuff" target="_blank">articol</a> anterior, ca va voi arata cum putem prelua datele vremii de pe Yahoo Weather.</p>
<p>Resurse folosite:</p>
<p>1. SimplePie &#8211; <a title="download simplepie" href="http://simplepie.org/downloads/" target="_blank">download</a><br />
2. API-ul Yahoo Weather (voi prelua vremea de la Buzau prin intermediul <a href="http://weather.yahooapis.com/forecastrss?p=ROXX0004&amp;u=c" target="_blank">API</a>-ului.<br />
3. some PHP knowleadge <img src='http://www.georgejipa.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>In primul rand, dezarhivam SimplePie si copiem intr-un alt folder (ex: preluare) fisierul simplepie.inc. Pentru a putea prelua vremea trebuie sa facem o noua clasa personalizata pentru simplepie. Asa ca, acum cream fisierul simplepie_yweather.inc in care adaugam:</p>
<p><span id="more-17"></span></p>
<pre name="code" class="php">
define("SIMPLE_NAMESPACE_YWEATHER", "http://xml.weather.yahoo.com/ns/rss/1.0");

class SimplePie_Item_Yweather extends SimplePie_Item {
// Functie pentru preluare temperatura
  function get_temperatura(){
	$data = $this->get_item_tags(SIMPLE_NAMESPACE_YWEATHER, 'condition');
	return $data[0]['attribs']['']['temp'];
  }
  // Functie pentru preluare conditii atmosferice
  function get_stare(){
	$data = $this->get_item_tags(SIMPLE_NAMESPACE_YWEATHER, 'condition');
	return $data[0]['attribs']['']['text'];
  }
}
</pre>
<p>Salvam, apoi cream fisierul preluare.php unde vom initia simpliepie.</p>
<pre name="code" class="php">
// Includes simplepie
include("simplepie.inc");
include("simplepie_yweather.inc");

// Initializam simplePie()
$feed = new SimplePie();
$feed->set_feed_url('http://weather.yahooapis.com/forecastrss?p=ROXX0004&amp;u=c'); // url-ul feed-ului ce contine informatiile despre vreme, ROXX0004 - codul Buzaului
$feed->set_item_class();
$feed->set_item_class('SimplePie_Item_Yweather'); // initializam clasa SimplePie_Item_Yweather, pe care am creat-o in fisierul simplepie_yweather.inc
$feed->init();
$feed->handle_content_type();
  foreach($feed->get_items() as $item){
  // $item->get_temperatura() este folosit pentru afisarea temperaturii (get_temperatura() - functie creata in simplepie_yweather.inc)
 // $item->get_stare() este folosit pentru afisarea conditiilor atmsoferice
  echo "La Buzau, s-a inregistrat temperatura de ".$item->get_temperatura()." grade C! Conditii atmosferice: ".$item->get_stare()."";
  }
</pre>
<p>Acesta este un mod foarte simplu de a prelua datele despre vreme, insa se poate folosi ca baza pentru o aplicatie foarte complexa: cu alegerea orasului, temperatura pe cateva zile in avans, realizare de statistici si lista poate continua. Daca ati considerat ca v-a fost de folos, abonati-va la <a title="feed" href="http://feeds.feedburner.com/GeorgeJipaBlog" target="_blank">feed-ul meu</a> si veti mai avea parte de asemenea mini-tutoriale. <img src='http://www.georgejipa.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.georgejipa.com/snippets/cum-preluam-vremea-de-la-yahooweather/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Some Twitter stuff</title>
		<link>http://www.georgejipa.com/snippets/some-twitter-stuff/</link>
		<comments>http://www.georgejipa.com/snippets/some-twitter-stuff/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 14:54:41 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[modifica status]]></category>
		<category><![CDATA[php snippets]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.georgejipa.com/?p=9</guid>
		<description><![CDATA[Acum cateva zile mi-am facut un mic bot pentru Twitter, care sa-mi zica din ora in ora ce temperatura se inregistreaza la Buzau. A fost doar o nebunie de moment, dar botul imi este destul de util. Iar acum am sa prezint un snippet cu ajutorul caruia putem modifica statusul contului de Twitter, folosindu-ne de  [...]]]></description>
			<content:encoded><![CDATA[<p>Acum cateva zile mi-am facut un mic bot pentru Twitter, care sa-mi zica din ora in ora ce temperatura se inregistreaza la <a title="Buzau" href="http://twitter.com/buzau" target="_blank">Buzau</a>. A fost doar o nebunie de moment, dar botul imi este destul de util. Iar acum am sa prezint un snippet cu ajutorul caruia putem modifica statusul contului de Twitter, folosindu-ne de  libraria <a href="http://php.net/curl" target="_blank">CURL</a>.<br />
<span id="more-9"></span></p>
<pre name="code" class="php">// Utilizator si parola (parola este fictiva) Twitter
$utilizator = "buzau";
$parola = "parola"; 

// Setare useragent
$useragent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7";

// Functie updateStatus
function updateStatus($u,$p,$s){
$url = "http://twitter.com/statuses/update.xml?status=".urlencode(stripslashes(urldecode($s)));
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "$u:$p");
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
} 

// Modificam statusul (just an example)
$status = "Hy Twitterville!";
updateStatus($utilizator,$parola,$status);</pre>
<p>In felul acesta, statusul contului de Twitter se va modifica in &#8220;Hy Twitterville!&#8221;. Intr-un articol urmator am sa va arat si cum se preiau valorile legate de temperatura folosind API-ul <a title="preluare vremea" href="http://www.georgejipa.com/snippets/cum-preluam-vremea-de-la-yahooweather/" target="_blank">Yahoo Weather</a>, astfel va puteti face si voi un bot Twitter ca si <a href="http://twitter.com/buzau" target="_blank">Buzau</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.georgejipa.com/snippets/some-twitter-stuff/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
