<?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>Programowanie - Webmastering</title>
	<atom:link href="http://programista.it/feed/" rel="self" type="application/rss+xml" />
	<link>http://programista.it</link>
	<description>html, css, javascript, ruby on rails</description>
	<lastBuildDate>Fri, 10 Feb 2012 13:14:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Numer ID jako krótsza tekstowa reprezentacja</title>
		<link>http://programista.it/2012/02/10/numer-id-jako-krotsza-tekstowa-reprezentacja/</link>
		<comments>http://programista.it/2012/02/10/numer-id-jako-krotsza-tekstowa-reprezentacja/#comments</comments>
		<pubDate>Fri, 10 Feb 2012 13:11:40 +0000</pubDate>
		<dc:creator>v1x100r</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://programista.it/?p=308</guid>
		<description><![CDATA[Na wielu serwisach zamiast numeru ID dla zasobu możemy się spotkać z ciągiem znaków. Nazwijmy to skróconą reprezentacją tekstową. Przykładami<a href="http://programista.it/2012/02/10/numer-id-jako-krotsza-tekstowa-reprezentacja/" class="searchmore">Czytaj dalej...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Na wielu serwisach zamiast numeru ID dla zasobu możemy się spotkać z ciągiem znaków. Nazwijmy to skróconą reprezentacją tekstową.<br />
Przykładami jest youtube, megavideo jak jeszcze istniało czy też wszelkie serwisy do skracania linków (tnij.org).<br />
Generalnie można użyć do tego przerobionego base64 ze zmienionymi 2 znakami, lecz base64 koduje tekst nie liczby, przez co daje dłuższy ciąg wynikowy.</p>
<p>Idea jest prosta. Gdy dla przykładu zamieniamy liczby dziesiętne na szesnastkowe, liczby szesnastkowe składają się ze znaków 0-9a-f, co daje nam 16 możliwości na 1 znak.<br />
My wykorzystamy znaki 0-9a-zA-Z co daje nam 62 możliwości na 1 znak.</p>
<p><span id="more-308"></span></p>
<p>Algorytmy na przeliczanie nie różnią się niczym od zamiany systemu binarnego na dziesiętny, tylko podstawa jest inna.<br />
A oto i kod:</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="php"><pre class="de1"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="co4">/**
 * Convert numeric ID representation to shorter string representation
 * f.e. 15100900 = 11mqU
 * 
 * @author programista.it
 * @package IdNumberConverter
 */</span>
&nbsp;
<span class="kw2">class</span> IdNumberConverter <span class="br0">&#123;</span>
  <span class="kw2">private</span> <span class="re0">$map</span><span class="sy0">;</span>
  <span class="kw2">private</span> <span class="re0">$base</span><span class="sy0">;</span>
&nbsp;
  <span class="kw2">function</span> __construct<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="co1">// 0-9, a-z, A-Z</span>
    <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="kw3">array</span><span class="br0">&#40;</span><span class="nu0">48</span> <span class="sy0">=&gt;</span> <span class="nu0">57</span><span class="sy0">,</span> <span class="nu0">97</span> <span class="sy0">=&gt;</span> <span class="nu0">122</span><span class="sy0">,</span> <span class="nu0">65</span> <span class="sy0">=&gt;</span> <span class="nu0">90</span><span class="br0">&#41;</span> <span class="kw1">as</span> <span class="re0">$min</span> <span class="sy0">=&gt;</span> <span class="re0">$max</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      <span class="kw1">for</span> <span class="br0">&#40;</span><span class="re0">$i</span> <span class="sy0">=</span> <span class="re0">$min</span><span class="sy0">;</span> <span class="re0">$i</span> <span class="sy0">&lt;=</span> <span class="re0">$max</span><span class="sy0">;</span> <span class="re0">$i</span><span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="re0">$this</span> <span class="sy0">-&gt;</span> <span class="me1">map</span><span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="kw3">chr</span><span class="br0">&#40;</span><span class="re0">$i</span><span class="br0">&#41;</span><span class="sy0">;</span>
      <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
    <span class="re0">$this</span> <span class="sy0">-&gt;</span> <span class="me1">base</span> <span class="sy0">=</span> <span class="kw3">count</span><span class="br0">&#40;</span><span class="re0">$this</span> <span class="sy0">-&gt;</span> <span class="me1">map</span><span class="br0">&#41;</span><span class="sy0">;</span>
  <span class="br0">&#125;</span>
&nbsp;
  <span class="co4">/**
   * Converts numeric ID to string ID
   * 
   * @param integer $number The number
   * 
   * @return string Shorter string representation
   */</span>
  <span class="kw2">function</span> convertToId<span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="re0">$result</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">;</span>
    <span class="kw1">while</span> <span class="br0">&#40;</span><span class="re0">$number</span> <span class="sy0">&gt;</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      <span class="re0">$result</span> <span class="sy0">=</span> <span class="re0">$this</span> <span class="sy0">-&gt;</span> <span class="me1">map</span><span class="br0">&#91;</span><span class="re0">$number</span> <span class="sy0">%</span> <span class="re0">$this</span> <span class="sy0">-&gt;</span> <span class="me1">base</span><span class="br0">&#93;</span> <span class="sy0">.</span> <span class="re0">$result</span><span class="sy0">;</span>
      <span class="re0">$number</span> <span class="sy0">=</span> <span class="kw3">floor</span><span class="br0">&#40;</span><span class="re0">$number</span> <span class="sy0">/</span> <span class="re0">$this</span> <span class="sy0">-&gt;</span> <span class="me1">base</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
    <span class="kw1">return</span> <span class="re0">$result</span><span class="sy0">;</span>
  <span class="br0">&#125;</span>
&nbsp;
  <span class="co4">/**
   * Converts string ID to numeric ID
   * 
   * @param string $id The string representation
   * 
   * @return integer The numeric representation
   */</span>
  <span class="kw2">function</span> convertToNumber<span class="br0">&#40;</span><span class="re0">$id</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="re0">$p</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span>
    <span class="re0">$result</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span>
    <span class="kw1">for</span> <span class="br0">&#40;</span><span class="re0">$i</span> <span class="sy0">=</span> <span class="kw3">strlen</span><span class="br0">&#40;</span><span class="re0">$id</span><span class="br0">&#41;</span> <span class="sy0">-</span> <span class="nu0">1</span><span class="sy0">;</span> <span class="re0">$i</span> <span class="sy0">&gt;=</span> <span class="nu0">0</span><span class="sy0">;</span> <span class="re0">$i</span><span class="sy0">--</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      <span class="re0">$result</span> <span class="sy0">+=</span> <span class="re0">$p</span> <span class="sy0">*</span> <span class="kw3">array_search</span><span class="br0">&#40;</span><span class="re0">$id</span><span class="br0">&#91;</span><span class="re0">$i</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re0">$this</span> <span class="sy0">-&gt;</span> <span class="me1">map</span><span class="br0">&#41;</span><span class="sy0">;</span>
      <span class="re0">$p</span> <span class="sy0">*=</span> <span class="re0">$this</span> <span class="sy0">-&gt;</span> <span class="me1">base</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
    <span class="kw1">return</span> <span class="re0">$result</span><span class="sy0">;</span>
  <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div></div></div></div></div></div>


<p>a oto jak tego używać</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="php"><pre class="de1"><span class="re0">$c</span> <span class="sy0">=</span> <span class="kw2">new</span> IdNumberConverter<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw1">echo</span> <span class="kw3">base64_encode</span><span class="br0">&#40;</span><span class="nu0">1896762155</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&quot;<span class="es1">\n</span>&quot;</span><span class="sy0">;</span> <span class="co1">// MTg5Njc2MjE1NQ==</span>
<span class="kw1">echo</span> <span class="re0">$c</span> <span class="sy0">-&gt;</span> <span class="me1">convertToId</span><span class="br0">&#40;</span><span class="nu0">1896762155</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&quot;<span class="es1">\n</span>&quot;</span><span class="sy0">;</span> <span class="co1">// 24mCtZ</span>
<span class="kw1">echo</span> <span class="re0">$c</span> <span class="sy0">-&gt;</span> <span class="me1">convertToNumber</span><span class="br0">&#40;</span><span class="st_h">'24mCtZ'</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&quot;<span class="es1">\n</span>&quot;</span><span class="sy0">;</span> <span class="co1">// 1896762155</span></pre></div></div></div></div></div></div></div>


<div class="betterrelated none"><p>Nie znaleziono żadnych powiązanych wpisów.</p></div>]]></content:encoded>
			<wfw:commentRss>http://programista.it/2012/02/10/numer-id-jako-krotsza-tekstowa-reprezentacja/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integracja ECP (Elastic Cloud Platform) z wordpressem</title>
		<link>http://programista.it/2012/02/08/integracja-ecp-elastic-cloud-platform-z-wordpressem/</link>
		<comments>http://programista.it/2012/02/08/integracja-ecp-elastic-cloud-platform-z-wordpressem/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 12:15:44 +0000</pubDate>
		<dc:creator>v1x100r</dc:creator>
				<category><![CDATA[Projekty]]></category>

		<guid isPermaLink="false">http://programista.it/?p=305</guid>
		<description><![CDATA[123cloud dla vda.hosting integracja platformy ECP do zarządzania hostingiem w chmurze z wordpressem. Internacjonalizacja (plugin w wersji angielskiej i polskiej<a href="http://programista.it/2012/02/08/integracja-ecp-elastic-cloud-platform-z-wordpressem/" class="searchmore">Czytaj dalej...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p><a href="http://123cloud.nl" target="_blank">123cloud</a></p>
<p>dla <b>vda.hosting</b></p>
<p>integracja platformy ECP do zarządzania hostingiem w chmurze z wordpressem.<br />
Internacjonalizacja (plugin w wersji angielskiej i polskiej na hostcloud.pl, holenderskie tłumaczenie jest w przygotowaniu).<br />
Każdy użytkownik posiada wirtualny portfel.<br />
Płatności poprzez ogone i z polskiej wersji payu (w przygotowaniu).<br />
Zarządzanie maszynami wirtualnymi.<br />
kupony promocyjne.<br />
wykresy zużycia zasobów.<br />
funkcjonalny panel administracyjny do zarządzania hostingiem.</p>
<div class="betterrelated none"><p>Nie znaleziono żadnych powiązanych wpisów.</p></div>]]></content:encoded>
			<wfw:commentRss>http://programista.it/2012/02/08/integracja-ecp-elastic-cloud-platform-z-wordpressem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zamiana liczby na słowa</title>
		<link>http://programista.it/2012/02/02/zamiana-liczby-na-slowa/</link>
		<comments>http://programista.it/2012/02/02/zamiana-liczby-na-slowa/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 18:02:20 +0000</pubDate>
		<dc:creator>v1x100r</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://programista.it/?p=299</guid>
		<description><![CDATA[Może się komuś przyda, napisałem sobie do generowania słownej reprezentacji liczb (do faktur / rachunków etc). Operuje na liczbach typu<a href="http://programista.it/2012/02/02/zamiana-liczby-na-slowa/" class="searchmore">Czytaj dalej...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Może się komuś przyda, napisałem sobie do generowania słownej reprezentacji liczb (do faktur / rachunków etc).<br />
Operuje na liczbach typu <b>integer</b>, obsługuje ujemne i dodatnie liczby. Dodatkowo można go używać do tworzenia liczby mnogiej dla wyrazów.</p>
<p>Nie odpowiadam za ewentualne błędy, ale wygląda na to, że spisuje się całkiem nieźle. Jeśli znajdziecie błąd piszcie, poprawi się <img src='http://programista.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span id="more-299"></span></p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="php"><pre class="de1"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="co4">/**
 * Number to words converter (polish language)
 * 
 * @author programista.it
 * @package Number2Words
 */</span>
&nbsp;
<span class="kw2">class</span> Number2WordsPL <span class="br0">&#123;</span>
&nbsp;
  <span class="co4">/**
   * Converts number to words in polish language
   * 
   * @param integer $number The number
   * 
   * @return string Words representation
   */</span>
  static <span class="kw2">function</span> convert<span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="co1">// check if number is negative</span>
    <span class="re0">$negative</span> <span class="sy0">=</span> <span class="kw4">false</span><span class="sy0">;</span>
    <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$number</span> <span class="sy0">&lt;</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      <span class="re0">$negative</span> <span class="sy0">=</span> <span class="kw4">true</span><span class="sy0">;</span>
      <span class="re0">$number</span> <span class="sy0">=</span> <span class="kw3">abs</span><span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// turn to positive</span>
    <span class="br0">&#125;</span>
    <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$number</span> <span class="sy0">==</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// if zero return zero</span>
      <span class="kw1">return</span> <span class="st_h">'zero'</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
    <span class="re0">$i</span> <span class="sy0">=</span> <span class="sy0">-</span><span class="nu0">1</span><span class="sy0">;</span> <span class="co1">// our numberMap key</span>
    <span class="re0">$result</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">;</span>
    <span class="kw1">while</span><span class="br0">&#40;</span><span class="re0">$number</span> <span class="sy0">&gt;=</span> <span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      <span class="re0">$token</span> <span class="sy0">=</span> <span class="re0">$number</span> <span class="sy0">%</span> <span class="nu0">1000</span><span class="sy0">;</span> <span class="co1">// get 3 digits</span>
      <span class="re0">$number</span> <span class="sy0">=</span> <span class="br0">&#40;</span><span class="re0">$number</span> <span class="sy0">-</span> <span class="re0">$token</span><span class="br0">&#41;</span> <span class="sy0">/</span> <span class="nu0">1000</span><span class="sy0">;</span> <span class="co1">// cut the number</span>
      <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$i</span> <span class="sy0">&gt;=</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// if numberMap key is greater than equal thousands</span>
        <span class="kw3">list</span><span class="br0">&#40;</span><span class="re0">$first</span><span class="sy0">,</span> <span class="re0">$second</span><span class="sy0">,</span> <span class="re0">$third</span><span class="br0">&#41;</span> <span class="sy0">=</span> <span class="kw2">self</span><span class="sy0">::</span><span class="re0">$numberMap</span><span class="br0">&#91;</span><span class="re0">$i</span><span class="br0">&#93;</span><span class="sy0">;</span> <span class="co1">// get plural values from numberMap</span>
        <span class="re0">$pluralize</span> <span class="sy0">=</span> <span class="kw2">self</span><span class="sy0">::</span><span class="me2">pluralize</span><span class="br0">&#40;</span><span class="re0">$token</span><span class="sy0">,</span> <span class="re0">$first</span><span class="sy0">,</span> <span class="re0">$second</span><span class="sy0">,</span> <span class="re0">$third</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// pluralize</span>
      <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
        <span class="re0">$pluralize</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">;</span>
      <span class="br0">&#125;</span>
      <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$token</span> <span class="sy0">!=</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// for zero we don't write anything to output</span>
        <span class="re0">$hundredsOf</span> <span class="sy0">=</span> <span class="kw2">self</span><span class="sy0">::</span><span class="me2">hundredsOf</span><span class="br0">&#40;</span><span class="re0">$token</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st_h">' '</span><span class="sy0">;</span> <span class="co1">// convert 3 digit token</span>
        <span class="re0">$result</span> <span class="sy0">=</span> <span class="re0">$hundredsOf</span> <span class="sy0">.</span> <span class="re0">$pluralize</span> <span class="sy0">.</span> <span class="st_h">' '</span> <span class="sy0">.</span> <span class="re0">$result</span> <span class="sy0">;</span> <span class="co1">// add to output string</span>
      <span class="br0">&#125;</span>
      <span class="re0">$i</span><span class="sy0">++;</span>
    <span class="br0">&#125;</span>
    <span class="kw1">return</span> <span class="kw3">trim</span><span class="br0">&#40;</span><span class="re0">$negative</span> ? <span class="st_h">'minus '</span> <span class="sy0">.</span> <span class="re0">$result</span> <span class="sy0">:</span> <span class="re0">$result</span><span class="br0">&#41;</span><span class="sy0">;</span>
  <span class="br0">&#125;</span>
&nbsp;
  <span class="co4">/**
   * Pluralize the word
   * 
   * @param integer $number The number with word would be pluralized
   * @param string $first The first variety of the word
   * @param string $second The second variety of the word
   * @param string $third The third variety of the word
   * 
   * @return string Pluralized word
   */</span>
  static <span class="kw2">function</span> pluralize<span class="br0">&#40;</span><span class="re0">$number</span><span class="sy0">,</span> <span class="re0">$first</span><span class="sy0">,</span> <span class="re0">$second</span><span class="sy0">,</span> <span class="re0">$third</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="re0">$number</span> <span class="sy0">=</span> <span class="kw3">abs</span><span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// get absolute value, for negative numbers algoritm is the same</span>
    <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$number</span> <span class="sy0">&gt;</span> <span class="nu0">20</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// if number is greater than 20</span>
      <span class="re0">$number</span> <span class="sy0">%=</span> <span class="nu0">10</span><span class="sy0">;</span> <span class="co1">// get the last digit</span>
      <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$number</span> <span class="sy0">==</span> <span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// for 21, 31, 41, ... result is the same as for 0</span>
        <span class="re0">$number</span><span class="sy0">--;</span>
      <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
    <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$number</span> <span class="sy0">==</span> <span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// 1 - first case</span>
      <span class="kw1">return</span> <span class="re0">$first</span><span class="sy0">;</span>
    <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$number</span> <span class="sy0">&gt;=</span> <span class="nu0">2</span> <span class="sy0">&amp;&amp;</span> <span class="re0">$number</span> <span class="sy0">&lt;=</span> <span class="nu0">4</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// 2,3,4 - second case</span>
      <span class="kw1">return</span> <span class="re0">$second</span><span class="sy0">;</span>
    <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span> <span class="co1">// 0,6,7,8,9 - third case</span>
      <span class="kw1">return</span> <span class="re0">$third</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
  <span class="br0">&#125;</span>
&nbsp;
  <span class="kw2">protected</span> static <span class="re0">$numberMap</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span>
    <span class="kw3">array</span><span class="br0">&#40;</span><span class="st_h">'tysiąc'</span><span class="sy0">,</span> <span class="st_h">'tysiące'</span><span class="sy0">,</span> <span class="st_h">'tysięcy'</span><span class="br0">&#41;</span><span class="sy0">,</span>
    <span class="kw3">array</span><span class="br0">&#40;</span><span class="st_h">'milion'</span><span class="sy0">,</span> <span class="st_h">'miliony'</span><span class="sy0">,</span> <span class="st_h">'milionów'</span><span class="br0">&#41;</span><span class="sy0">,</span>
    <span class="kw3">array</span><span class="br0">&#40;</span><span class="st_h">'miliard'</span><span class="sy0">,</span> <span class="st_h">'miliardy'</span><span class="sy0">,</span> <span class="st_h">'miliardów'</span><span class="br0">&#41;</span><span class="sy0">,</span>
    <span class="kw3">array</span><span class="br0">&#40;</span><span class="st_h">'bilion'</span><span class="sy0">,</span> <span class="st_h">'biliony'</span><span class="sy0">,</span> <span class="st_h">'bilionów'</span><span class="br0">&#41;</span><span class="sy0">,</span>
    <span class="kw3">array</span><span class="br0">&#40;</span><span class="st_h">'biliard'</span><span class="sy0">,</span> <span class="st_h">'biliardy'</span><span class="sy0">,</span> <span class="st_h">'biliardów'</span><span class="br0">&#41;</span><span class="sy0">,</span> 
    <span class="kw3">array</span><span class="br0">&#40;</span><span class="st_h">'trylion'</span><span class="sy0">,</span> <span class="st_h">'tryliony'</span><span class="sy0">,</span> <span class="st_h">'trylionów'</span><span class="br0">&#41;</span><span class="sy0">,</span>
    <span class="kw3">array</span><span class="br0">&#40;</span><span class="st_h">'tryliard'</span><span class="sy0">,</span> <span class="st_h">'tryliardy'</span><span class="sy0">,</span> <span class="st_h">'tryliardów'</span><span class="br0">&#41;</span>
  <span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
  <span class="kw2">protected</span> static <span class="re0">$ones</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span>
    <span class="st_h">'jeden'</span><span class="sy0">,</span> <span class="st_h">'dwa'</span><span class="sy0">,</span> <span class="st_h">'trzy'</span><span class="sy0">,</span>
    <span class="st_h">'cztery'</span><span class="sy0">,</span> <span class="st_h">'pięć'</span><span class="sy0">,</span> <span class="st_h">'sześć'</span><span class="sy0">,</span>
    <span class="st_h">'siedem'</span><span class="sy0">,</span> <span class="st_h">'osiem'</span><span class="sy0">,</span> <span class="st_h">'dziewięć'</span>
  <span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
  <span class="kw2">protected</span> static <span class="re0">$tens</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span>
    <span class="st_h">'dziesięć'</span><span class="sy0">,</span> <span class="st_h">'dwadzieścia'</span><span class="sy0">,</span> <span class="st_h">'trzydzieści'</span><span class="sy0">,</span>
    <span class="st_h">'czterdzieści'</span><span class="sy0">,</span> <span class="st_h">'pięćdziesiąt'</span><span class="sy0">,</span> <span class="st_h">'sześćdziesiąt'</span><span class="sy0">,</span>
    <span class="st_h">'siedemdziesiąt'</span><span class="sy0">,</span> <span class="st_h">'osiemdziesiąt'</span><span class="sy0">,</span> <span class="st_h">'dziewięćdziesiąt'</span>
  <span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
  <span class="kw2">protected</span> static <span class="re0">$specialTens</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span>
    <span class="st_h">'jedenaście'</span><span class="sy0">,</span> <span class="st_h">'dwanaście'</span><span class="sy0">,</span> <span class="st_h">'trzynaście'</span><span class="sy0">,</span>
    <span class="st_h">'czternaście'</span><span class="sy0">,</span> <span class="st_h">'piętnaście'</span><span class="sy0">,</span> <span class="st_h">'szesnaście'</span><span class="sy0">,</span>
    <span class="st_h">'siedemnaście'</span><span class="sy0">,</span> <span class="st_h">'osiemnaście'</span><span class="sy0">,</span> <span class="st_h">'dziewiętnaście'</span>
  <span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
  <span class="kw2">protected</span> static <span class="re0">$hundreds</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span>
    <span class="st_h">'sto'</span><span class="sy0">,</span> <span class="st_h">'dwieście'</span><span class="sy0">,</span> <span class="st_h">'trzysta'</span><span class="sy0">,</span>
    <span class="st_h">'czterysta'</span><span class="sy0">,</span> <span class="st_h">'pięćset'</span><span class="sy0">,</span> <span class="st_h">'sześćset'</span><span class="sy0">,</span>
    <span class="st_h">'siedemset'</span><span class="sy0">,</span> <span class="st_h">'osiemset'</span><span class="sy0">,</span> <span class="st_h">'dziewięćset'</span>
  <span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
  <span class="kw2">protected</span> static <span class="kw2">function</span> hundredsOf<span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="re0">$ones</span> <span class="sy0">=</span> <span class="re0">$number</span> <span class="sy0">%</span> <span class="nu0">10</span><span class="sy0">;</span>
    <span class="re0">$tens</span> <span class="sy0">=</span> <span class="br0">&#40;</span><span class="br0">&#40;</span><span class="re0">$number</span> <span class="sy0">%</span> <span class="nu0">100</span><span class="br0">&#41;</span> <span class="sy0">-</span> <span class="re0">$ones</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="re0">$hundreds</span> <span class="sy0">=</span> <span class="br0">&#40;</span><span class="re0">$number</span> <span class="sy0">-</span> <span class="re0">$tens</span> <span class="sy0">-</span> <span class="re0">$ones</span><span class="br0">&#41;</span> <span class="sy0">/</span> <span class="nu0">100</span><span class="sy0">;</span>
    <span class="re0">$tens</span> <span class="sy0">/=</span> <span class="nu0">10</span><span class="sy0">;</span>
&nbsp;
    <span class="re0">$result</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">;</span>
    <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$hundreds</span> <span class="sy0">!=</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      <span class="re0">$result</span> <span class="sy0">.=</span> <span class="kw2">self</span><span class="sy0">::</span><span class="re0">$hundreds</span><span class="br0">&#91;</span><span class="re0">$hundreds</span> <span class="sy0">-</span> <span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">.</span> <span class="st_h">' '</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
    <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$tens</span> <span class="sy0">==</span> <span class="nu0">1</span> <span class="sy0">&amp;&amp;</span> <span class="re0">$ones</span> <span class="sy0">!=</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      <span class="re0">$result</span> <span class="sy0">.=</span> <span class="kw2">self</span><span class="sy0">::</span><span class="re0">$specialTens</span><span class="br0">&#91;</span><span class="re0">$ones</span> <span class="sy0">-</span> <span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">.</span> <span class="st_h">' '</span><span class="sy0">;</span>
    <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
      <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$tens</span> <span class="sy0">!=</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="re0">$result</span> <span class="sy0">.=</span> <span class="kw2">self</span><span class="sy0">::</span><span class="re0">$tens</span><span class="br0">&#91;</span><span class="re0">$tens</span> <span class="sy0">-</span> <span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">.</span> <span class="st_h">' '</span><span class="sy0">;</span>
      <span class="br0">&#125;</span>
      <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$ones</span> <span class="sy0">!=</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="re0">$result</span> <span class="sy0">.=</span> <span class="kw2">self</span><span class="sy0">::</span><span class="re0">$ones</span><span class="br0">&#91;</span><span class="re0">$ones</span> <span class="sy0">-</span> <span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">.</span> <span class="st_h">' '</span><span class="sy0">;</span>
      <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">return</span> <span class="kw3">trim</span><span class="br0">&#40;</span><span class="re0">$result</span><span class="br0">&#41;</span><span class="sy0">;</span>
  <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div></div></div></div></div></div>


<p>Howto:</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="php"><pre class="de1"><span class="kw2">&lt;?php</span> <span class="kw1">echo</span> Number2WordsPL<span class="sy0">::</span><span class="me2">convert</span><span class="br0">&#40;</span><span class="nu0">1029007438124892645</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div></div></div></div></div></div>


<p>daje nam: <b>jeden trylion dwadzieścia dziewięć biliardów siedem bilionów czterysta trzydzieści osiem miliardów sto dwadzieścia cztery miliony osiemset dziewięćdziesiąt dwa tysiące sześćset czterdzieści pięć</b></p>
<div class="betterrelated none"><p>Nie znaleziono żadnych powiązanych wpisów.</p></div>]]></content:encoded>
			<wfw:commentRss>http://programista.it/2012/02/02/zamiana-liczby-na-slowa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>STOP ACTA</title>
		<link>http://programista.it/2012/01/22/stop-acta/</link>
		<comments>http://programista.it/2012/01/22/stop-acta/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 21:40:44 +0000</pubDate>
		<dc:creator>v1x100r</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://programista.it/?p=294</guid>
		<description><![CDATA[http://stopacta.pl/ Dzielcie się informacjami z kim tylko możecie. Internetu nam ***** nie mogą odebrać! Nie znaleziono żadnych powiązanych wpisów.]]></description>
			<content:encoded><![CDATA[<p><a href="http://stopacta.pl/">http://stopacta.pl/</a></p>
<p>Dzielcie się informacjami z kim tylko możecie. Internetu nam ***** nie mogą odebrać!</p>
<div class="betterrelated none"><p>Nie znaleziono żadnych powiązanych wpisów.</p></div>]]></content:encoded>
			<wfw:commentRss>http://programista.it/2012/01/22/stop-acta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Import dużego pliku sql</title>
		<link>http://programista.it/2011/09/26/import-duzego-pliku-sql/</link>
		<comments>http://programista.it/2011/09/26/import-duzego-pliku-sql/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 07:13:08 +0000</pubDate>
		<dc:creator>v1x100r</dc:creator>
				<category><![CDATA[MySql]]></category>
		<category><![CDATA[inport]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://programista.it/?p=288</guid>
		<description><![CDATA[mysql -u username -p -h localhost data-base-name &#60; data.sql Nie znaleziono żadnych powiązanych wpisów.]]></description>
			<content:encoded><![CDATA[

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1">mysql <span class="re5">-u</span> username <span class="re5">-p</span> <span class="re5">-h</span> localhost data-base-name <span class="sy0">&lt;</span> data.sql</pre></div></div></div></div></div></div></div>


<div class="betterrelated none"><p>Nie znaleziono żadnych powiązanych wpisów.</p></div>]]></content:encoded>
			<wfw:commentRss>http://programista.it/2011/09/26/import-duzego-pliku-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VortalMed</title>
		<link>http://programista.it/2011/09/19/vortalmed/</link>
		<comments>http://programista.it/2011/09/19/vortalmed/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 09:19:19 +0000</pubDate>
		<dc:creator>v1x100r</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://programista.it/?p=285</guid>
		<description><![CDATA[URL: http://vortal-med.pl/ Technologie: PHP, WordPress, jQuery, JavaScript, HTML, CSS Strona jest własnością firmy Xpoints &#8211; xpoints.eu Nie znaleziono żadnych powiązanych<a href="http://programista.it/2011/09/19/vortalmed/" class="searchmore">Czytaj dalej...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p><strong>URL</strong>: <a href="http://vortal-med.pl/" target="_blank" rel="nofollow">http://vortal-med.pl/</a></p>
<p><strong>Technologie</strong>: PHP, WordPress, jQuery, JavaScript, HTML, CSS</p>
<p>Strona jest własnością firmy Xpoints &#8211; <a href="http://xpoints.eu" target="_blank">xpoints.eu</a></p>
<div class="betterrelated none"><p>Nie znaleziono żadnych powiązanych wpisów.</p></div>]]></content:encoded>
			<wfw:commentRss>http://programista.it/2011/09/19/vortalmed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intermax &#8211; Alarmy</title>
		<link>http://programista.it/2011/09/19/intermax-alarmy/</link>
		<comments>http://programista.it/2011/09/19/intermax-alarmy/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 09:17:06 +0000</pubDate>
		<dc:creator>v1x100r</dc:creator>
				<category><![CDATA[Projekty]]></category>

		<guid isPermaLink="false">http://programista.it/?p=283</guid>
		<description><![CDATA[URL: http://alarm-max.pl Technologie: PHP, WordPress, jQuery, JavaScript, HTML, CSS Strona jest własnością firmy Xpoints &#8211; xpoints.eu Nie znaleziono żadnych powiązanych<a href="http://programista.it/2011/09/19/intermax-alarmy/" class="searchmore">Czytaj dalej...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p><strong>URL</strong>: <a href="http://alarm-max.pl" target="_blank" rel="nofollow">http://alarm-max.pl</a></p>
<p><strong>Technologie</strong>: PHP, WordPress, jQuery, JavaScript, HTML, CSS</p>
<p>Strona jest własnością firmy Xpoints &#8211; <a href="http://xpoints.eu" target="_blank">xpoints.eu</a></p>
<div class="betterrelated none"><p>Nie znaleziono żadnych powiązanych wpisów.</p></div>]]></content:encoded>
			<wfw:commentRss>http://programista.it/2011/09/19/intermax-alarmy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laserowe Zabiegi</title>
		<link>http://programista.it/2011/09/19/laserowe-zabiegi/</link>
		<comments>http://programista.it/2011/09/19/laserowe-zabiegi/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 09:15:50 +0000</pubDate>
		<dc:creator>v1x100r</dc:creator>
				<category><![CDATA[Projekty]]></category>

		<guid isPermaLink="false">http://programista.it/?p=281</guid>
		<description><![CDATA[URL: http://laserowezabiegi.pl Technologie: PHP, WordPress, jQuery, JavaScript, HTML, CSS Strona jest własnością firmy Xpoints &#8211; xpoints.eu Nie znaleziono żadnych powiązanych<a href="http://programista.it/2011/09/19/laserowe-zabiegi/" class="searchmore">Czytaj dalej...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p><strong>URL</strong>: <a href="http://laserowezabiegi.pl" target="_blank" rel="nofollow">http://laserowezabiegi.pl</a></p>
<p><strong>Technologie</strong>: PHP, WordPress, jQuery, JavaScript, HTML, CSS</p>
<p>Strona jest własnością firmy Xpoints &#8211; <a href="http://xpoints.eu" target="_blank">xpoints.eu</a></p>
<div class="betterrelated none"><p>Nie znaleziono żadnych powiązanych wpisów.</p></div>]]></content:encoded>
			<wfw:commentRss>http://programista.it/2011/09/19/laserowe-zabiegi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Automat</title>
		<link>http://programista.it/2011/09/08/wordpress-automat/</link>
		<comments>http://programista.it/2011/09/08/wordpress-automat/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 11:59:08 +0000</pubDate>
		<dc:creator>v1x100r</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://programista.it/?p=276</guid>
		<description><![CDATA[Napisałem kawałek kodu, który zajmuje się automatycznym generowaniem treści do wordpressa. Klasa umożliwia tworzenie kategorii, podkategorii, wpisów oraz tagów do<a href="http://programista.it/2011/09/08/wordpress-automat/" class="searchmore">Czytaj dalej...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Napisałem kawałek kodu, który zajmuje się automatycznym generowaniem treści do <strong>wordpressa</strong>. Klasa umożliwia tworzenie kategorii, podkategorii, wpisów oraz tagów do konkretnych wpisów. Przydaje się, gdy chcemy zmigrować dane z naszej bazy na strukturę <strong>wordpressa</strong>.</p>
<p><span id="more-276"></span></p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="php"><pre class="de1"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="co1">// ścieżka do pliku konfiguracyjnego wordpressa</span>
<span class="kw3">define</span><span class="br0">&#40;</span><span class="st_h">'WP_CONFIG_PATH'</span><span class="sy0">,</span> __DIR__<span class="sy0">.</span><span class="st_h">'/../wp-config.php'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">class</span> WordpressAutomat <span class="br0">&#123;</span>
&nbsp;
  <span class="co1">// return new category id</span>
  <span class="kw2">function</span> insertCategory<span class="br0">&#40;</span><span class="re0">$name</span><span class="sy0">,</span> <span class="re0">$description</span><span class="sy0">,</span> <span class="re0">$nicename</span> <span class="sy0">=</span> <span class="kw4">NULL</span><span class="sy0">,</span> <span class="re0">$parentID</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw1">return</span> wp_insert_category<span class="br0">&#40;</span><span class="kw3">array</span><span class="br0">&#40;</span>
      <span class="st_h">'cat_name'</span> <span class="sy0">=&gt;</span> <span class="re0">$name</span><span class="sy0">,</span>
      <span class="st_h">'category_description'</span> <span class="sy0">=&gt;</span> <span class="re0">$description</span><span class="sy0">,</span>
      <span class="st_h">'category_nicename'</span> <span class="sy0">=&gt;</span> <span class="re0">$nicename</span><span class="sy0">,</span>
      <span class="st_h">'category_parent'</span> <span class="sy0">=&gt;</span> <span class="re0">$parentID</span>
    <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
  <span class="br0">&#125;</span>
&nbsp;
  <span class="co1">// return new post id</span>
  <span class="kw2">function</span> insertPost<span class="br0">&#40;</span><span class="re0">$title</span><span class="sy0">,</span> <span class="re0">$content</span><span class="sy0">,</span> <span class="re0">$excerpt</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">,</span> <span class="re0">$parentCategoryId</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="re0">$authorId</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw1">return</span> wp_insert_post<span class="br0">&#40;</span><span class="kw3">array</span><span class="br0">&#40;</span>
     <span class="st_h">'post_title'</span> <span class="sy0">=&gt;</span> <span class="re0">$title</span><span class="sy0">,</span>
     <span class="st_h">'post_content'</span> <span class="sy0">=&gt;</span> <span class="re0">$content</span><span class="sy0">,</span>
     <span class="st_h">'post_excerpt'</span> <span class="sy0">=&gt;</span> <span class="re0">$excerpt</span><span class="sy0">,</span>
     <span class="st_h">'post_status'</span> <span class="sy0">=&gt;</span> <span class="st_h">'publish'</span><span class="sy0">,</span>
     <span class="st_h">'post_author'</span> <span class="sy0">=&gt;</span> <span class="re0">$authorId</span><span class="sy0">,</span>
     <span class="st_h">'post_category'</span> <span class="sy0">=&gt;</span> <span class="re0">$parentCategoryId</span>
    <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
  <span class="br0">&#125;</span>
&nbsp;
  <span class="co1">// return array of new tags</span>
  <span class="kw2">function</span> createTags<span class="br0">&#40;</span><span class="re0">$tags</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="re0">$postId</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw1">return</span> wp_set_object_terms<span class="br0">&#40;</span><span class="re0">$postId</span><span class="sy0">,</span> <span class="re0">$tags</span><span class="sy0">,</span> <span class="st_h">'post_tag'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">&#41;</span><span class="sy0">;</span>
  <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="kw1">require</span> WP_CONFIG_PATH<span class="sy0">;</span>
<span class="kw1">require</span> ABSPATH <span class="sy0">.</span> <span class="st0">&quot;wp-admin/includes/taxonomy.php&quot;</span><span class="sy0">;</span></pre></div></div></div></div></div></div></div>


<p>A teraz jak się jej używa:</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="php"><pre class="de1"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="re0">$automat</span> <span class="sy0">=</span> <span class="kw2">new</span> WordpressAutomat<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// dodaj kategorię</span>
<span class="re0">$cat_id</span> <span class="sy0">=</span> <span class="re0">$automat</span><span class="sy0">-&gt;</span><span class="me1">insertCategory</span><span class="br0">&#40;</span><span class="st_h">'title'</span><span class="sy0">,</span><span class="st_h">'description'</span><span class="sy0">,</span><span class="st_h">'friendly-url'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// dodaj podkategorię</span>
<span class="re0">$cat2_id</span> <span class="sy0">=</span> <span class="re0">$automat</span><span class="sy0">-&gt;</span><span class="me1">insertCategory</span><span class="br0">&#40;</span><span class="st_h">'title 2'</span><span class="sy0">,</span><span class="st_h">'description 2'</span><span class="sy0">,</span><span class="st_h">'friendly-url-2'</span><span class="sy0">,</span><span class="re0">$cat_id</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// dodaj wpis</span>
<span class="re0">$post_id</span> <span class="sy0">=</span> <span class="re0">$automat</span><span class="sy0">-&gt;</span><span class="me1">insertPost</span><span class="br0">&#40;</span><span class="st_h">'title'</span><span class="sy0">,</span> <span class="st_h">'content'</span><span class="sy0">,</span> <span class="st_h">'excerpt'</span><span class="sy0">,</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="re0">$cat2_id</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// kategorii może być kilka</span>
<span class="re0">$automat</span><span class="sy0">-&gt;</span><span class="me1">createTags</span><span class="br0">&#40;</span><span class="kw3">array</span><span class="br0">&#40;</span><span class="st_h">'tag 1'</span><span class="sy0">,</span><span class="st_h">'tag 2'</span><span class="sy0">,</span><span class="st_h">'tag 3'</span><span class="br0">&#41;</span><span class="sy0">,</span><span class="re0">$post_id</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div></div></div></div></div></div>


<div class="betterrelated none"><p>Nie znaleziono żadnych powiązanych wpisów.</p></div>]]></content:encoded>
			<wfw:commentRss>http://programista.it/2011/09/08/wordpress-automat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zmiana kodowania pól w bazie danych</title>
		<link>http://programista.it/2011/08/24/zmiana-kodowania-pol-w-bazie-danych/</link>
		<comments>http://programista.it/2011/08/24/zmiana-kodowania-pol-w-bazie-danych/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 09:11:45 +0000</pubDate>
		<dc:creator>v1x100r</dc:creator>
				<category><![CDATA[MySql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[kodowanie]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zmiana kodowania]]></category>

		<guid isPermaLink="false">http://programista.it/?p=267</guid>
		<description><![CDATA[Zdarza się, że potrzebujemy zmienić kodowanie rekordów w naszej bazie danych. Przykładowo mamy stronę w wordpress i wszystko jest w<a href="http://programista.it/2011/08/24/zmiana-kodowania-pol-w-bazie-danych/" class="searchmore">Czytaj dalej...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Zdarza się, że potrzebujemy zmienić kodowanie rekordów w naszej bazie danych. Przykładowo mamy stronę w <strong>wordpress</strong> i wszystko jest w <strong>utf_general_ci</strong>. Przez to sortowanie wyników zapytania zwraca nam wyniki zaczynające się od polskich znaków jako ostatnie na liście. Chcemy zatem zmienić kodowanie na <strong>utf_polish_ci</strong>. Oto kod który to umożliwia:</p>
<p><span id="more-267"></span></p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="php"><pre class="de1"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="coMULTI">/*
  config
*/</span>
&nbsp;
<span class="kw3">define</span><span class="br0">&#40;</span><span class="st_h">'HOST'</span><span class="sy0">,</span> <span class="st_h">'localhost'</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw3">define</span><span class="br0">&#40;</span><span class="st_h">'USER'</span><span class="sy0">,</span> <span class="st_h">'root'</span>     <span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw3">define</span><span class="br0">&#40;</span><span class="st_h">'PASS'</span><span class="sy0">,</span> <span class="st_h">'hasło'</span>  <span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw3">define</span><span class="br0">&#40;</span><span class="st_h">'NAME'</span><span class="sy0">,</span> <span class="st_h">'wordpress'</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw3">define</span><span class="br0">&#40;</span><span class="st_h">'CHAR'</span><span class="sy0">,</span> <span class="st_h">'utf8'</span>     <span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$sql</span> <span class="sy0">=</span> <span class="kw3">mysql_connect</span><span class="br0">&#40;</span>HOST<span class="sy0">,</span> USER<span class="sy0">,</span> PASS<span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw3">mysql_select_db</span><span class="br0">&#40;</span>NAME<span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw3">mysql_set_charset</span><span class="br0">&#40;</span>CHAR<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$count</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span>
<span class="re0">$q</span> <span class="sy0">=</span> <span class="kw3">mysql_query</span><span class="br0">&#40;</span><span class="st_h">'show tables'</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw1">while</span><span class="br0">&#40;</span><span class="re0">$w</span> <span class="sy0">=</span> <span class="kw3">mysql_fetch_row</span><span class="br0">&#40;</span><span class="re0">$q</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="re0">$name</span> <span class="sy0">=</span> <span class="re0">$w</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">;</span>
  <span class="kw3">mysql_query</span><span class="br0">&#40;</span><span class="st0">&quot;ALTER TABLE <span class="es4">$name</span> CONVERT TO CHARACTER SET utf8 COLLATE utf8_polish_ci&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
  <span class="re0">$count</span> <span class="sy0">+=</span> <span class="kw3">mysql_affected_rows</span><span class="br0">&#40;</span><span class="re0">$sql</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="kw1">echo</span> <span class="st0">&quot;Affected rows: <span class="es4">$count</span><span class="es1">\n</span>&quot;</span><span class="sy0">;</span></pre></div></div></div></div></div></div></div>


<div class="betterrelated none"><p>Nie znaleziono żadnych powiązanych wpisów.</p></div>]]></content:encoded>
			<wfw:commentRss>http://programista.it/2011/08/24/zmiana-kodowania-pol-w-bazie-danych/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

