<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2russianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss version="2.0"><channel><title>Mr.Daark: Блоггинг как идея</title><link>http://mrdaark.com</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mrdaark" /><description>Про меня, про интернет, про деньги, про жизнь, про всё :)</description><language>en</language><lastBuildDate>Thu, 23 Jun 2011 06:48:05 PDT</lastBuildDate><generator>http://wordpress.org/?v=3.2.1</generator><sy:updatePeriod xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">hourly</sy:updatePeriod><sy:updateFrequency xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">1</sy:updateFrequency><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mrdaark" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="mrdaark" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmrdaark" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fmrdaark" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://lenta.yandex.ru/settings.xml?name=feed&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fmrdaark" src="http://lenta.yandex.ru/i/addfeed.gif">?????? ? ??????.?????</feedburner:feedFlare><item><title>Перевод текстов посредством Bing API</title><link>http://mrdaark.com/perevod-tekstov-posredstvom-bing-api.html</link><category>Программинг</category><category>bing api</category><category>php</category><category>soap</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mrdaark</dc:creator><pubDate>Thu, 23 Jun 2011 06:44:40 PDT</pubDate><guid isPermaLink="false">http://mrdaark.com/?p=180</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Сегодня, в связи с тем что гугл собирается закрывать свой translate api, таки собрался и сотворил класс для перевода текста через SOAP сервис <a href="http://www.bing.com/developers/">Bing</a></p>
<p>В связи с тем, что по каким-то странным обстоятельствам нормальной документации нет, а есть только куцый пример на VB (о ужас!) и C# с использованием видимо готовых библиотек пришлось повозиться и подбирать параметры и вид, в котором надо данные отправить сервису, чтоб он не ругался непонятными словами.</p>
<p>В результате родилось вот что:</p>
<blockquote><p><code><font color="#cc6633">&lt;?php</font><br/><font color="#0000ff">class</font>  Bing_Translate_API {    <br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">function</font> translate(<font color="#cc6633">$text</font>, <font color="#cc6633">$from</font> = <font color="#008000">'en'</font>, <font color="#cc6633">$to</font> = <font color="#008000">'ru'</font>) {<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (mb_strlen(<font color="#cc6633">$text</font>)&gt;<font color="#008000">2000</font>)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">echo</font> <font color="#008000">"шмахтунг\n"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return false</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$c</font>=<font color="#0000ff">new</font> SoapClient(<font color="#008000">"http://api.bing.net/search.wsdl"</font>,<font color="#0000ff">array</font>(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">"AppId"</font>=&gt;<font color="#008000">"bingApiId"</font>,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">"Version"</font>=&gt;<font color="#008000">"2.2"</font>   <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;));<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$arr</font>=<font color="#0000ff">array</font>(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">"parameters"</font>=&gt;<font color="#0000ff">array</font>(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">"AppId"</font>=&gt;<font color="#008000">"bingApiId"</font>,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">"Market"</font>=&gt;<font color="#008000">"en-us"</font>,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">"Version"</font>=&gt;<font color="#008000">"2.2"</font>,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">"Sources"</font>=&gt;<font color="#0000ff">array</font>(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">"Translation"</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">"Translation"</font>=&gt;<font color="#0000ff">array</font>(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">"SourceLanguage"</font>=&gt;<font color="#cc6633">$from</font>,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">"TargetLanguage"</font>=&gt;<font color="#cc6633">$to</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">"Query"</font>=&gt;<font color="#cc6633">$text</font>)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$r</font>=<font color="#cc6633">$c</font>-&gt;Search(<font color="#cc6633">$arr</font>);<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (<font color="#0000ff">isset</font>(<font color="#cc6633">$r</font>-&gt;parameters-&gt;Translation-&gt;Results-&gt;TranslationResult-&gt;TranslatedTerm))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return</font> <font color="#cc6633">$r</font>-&gt;parameters-&gt;Translation-&gt;Results-&gt;TranslationResult-&gt;TranslatedTerm;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">echo</font> <font color="#008000">"ахтунг\n"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return false</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/><font color="#cc6633">?&gt;</font> <br/></font></code></p></blockquote>
<p>а вызывать пользоваться этим безобразием теперь вообщем-то просто:</p>
<blockquote><p><code><font color="#cc6633">&lt;?php</font><br/><font color="#0000ff">echo</font> Bing_Translate_API::translate(<font color="#008000">"text&nbsp;to&nbsp;translate"</font>,<font color="#008000">"en"</font>,<font color="#008000">"ru"</font>);    <br/><font color="#cc6633">?&gt;</font> <br/></font></code></p></blockquote>
<p>Кроме того, выяснилось, что у Bing API есть ограничение на размер запроса примерно в 2кБ текста. А Примерно потому, что через раз он текст с размером 2048 символов не переводил, уж не знаю почему.</p>
<p>BingApiId получать по ссылке <a href="http://www.bing.com/developers/">http://www.bing.com/developers/</a></p>
<p>З.Ы. я знаю что код кривой, и при малейшем чихе упадет, но делать ничего не буду, это есть пример <img src='http://mrdaark.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/82ocpudpFqi0FBVrqw7HNK2N5e4/0/da"><img src="http://feedads.g.doubleclick.net/~a/82ocpudpFqi0FBVrqw7HNK2N5e4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/82ocpudpFqi0FBVrqw7HNK2N5e4/1/da"><img src="http://feedads.g.doubleclick.net/~a/82ocpudpFqi0FBVrqw7HNK2N5e4/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><description>Сегодня, в связи с тем что гугл собирается закрывать свой translate api, таки собрался и сотворил класс для перевода текста через SOAP сервис Bing В связи с тем, что по каким-то странным обстоятельствам нормальной документации нет, а есть только куцый пример на VB (о ужас!) и C# с использованием видимо готовых библиотек пришлось повозиться и [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mrdaark.com/perevod-tekstov-posredstvom-bing-api.html/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments></item><item><title>Изобретая велосипеды: xmlrpc</title><link>http://mrdaark.com/izobretaya-velosipedy-xmlrpc.html</link><category>Программинг</category><category>metaWeblog</category><category>php</category><category>wordpress</category><category>xmlrpc</category><category>xmlrpc_encode_request</category><category>блог</category><category>сайты</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mrdaark</dc:creator><pubDate>Tue, 19 Apr 2011 01:29:47 PDT</pubDate><guid isPermaLink="false">http://mrdaark.com/?p=165</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Вчера озаботился возможностью что-то опубликовать в блоке посредством xmlrpc из php.</p>
<p><a href="http://mrdaark.com/wp-content/uploads/2011/04/xmlrpc.jpg"><img src="http://mrdaark.com/wp-content/uploads/2011/04/xmlrpc.jpg" alt="" title="xmlrpc" width="128" height="136" class="aligncenter size-full wp-image-169" /></a></p>
<p>Проковырявшись в общей сложности часа 4 с библиотекой <a href="http://phpxmlrpc.sourceforge.net/" rel="nofollow">xmlrpc</a> и встроенной функцией <a href="http://ru2.php.net/manual/en/function.xmlrpc-encode-request.php" rel="nofollow">xmlrpc_encode_equest</a> и так и не добившись нормальной работы всего этого безобразия, собрался и сегодня за 1.5 часа сделал свой велосипед <img src='http://mrdaark.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote><p><code><font size="2" face="Consolas, Courier New, Courier, Monospace" color="black"><font color="#cc6633">&lt;?php</font><br/><font color="#696969">/*</font><br/><font color="#696969">&nbsp;*&nbsp;Велосипед&nbsp;для&nbsp;работы&nbsp;с&nbsp;xmlrpc</font><br/><font color="#696969">&nbsp;*&nbsp;версия&nbsp;0.1beta</font><br/><font color="#696969">&nbsp;*</font><br/><font color="#696969">&nbsp;*&nbsp;Copyright&nbsp;(c)&nbsp;2011&nbsp;mrdaark.</font><br/><font color="#696969">&nbsp;*&nbsp;Все&nbsp;права&nbsp;защищены</font><br/><font color="#696969">&nbsp;*&nbsp;</font><br/><font color="#696969">&nbsp;*/</font><br/>&nbsp;<br/><font color="#696969">/*</font><br/><font color="#696969">&nbsp;*&nbsp;Функция&nbsp;для&nbsp;отправки&nbsp;запроса&nbsp;на&nbsp;xmlrpc&nbsp;сервер</font><br/><font color="#696969">&nbsp;*&nbsp;использует&nbsp;библиотеку&nbsp;curl</font><br/><font color="#696969">&nbsp;*&nbsp;в&nbsp;качестве&nbsp;параметров:</font><br/><font color="#696969">&nbsp;*&nbsp;@url&nbsp;-&nbsp;url&nbsp;адрес&nbsp;сервера</font><br/><font color="#696969">&nbsp;*&nbsp;@request&nbsp;-&nbsp;запрос&nbsp;формируемый&nbsp;с&nbsp;помощью&nbsp;функции&nbsp;xmlrpc_request</font><br/><font color="#696969">&nbsp;*/</font><br/><font color="#0000ff">function</font> xmlrpc_send(<font color="#cc6633">$url</font>,<font color="#cc6633">$request</font>)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font>(!<a href="http://www.php.net/manual/en/function.function-exists.php">function_exists</a>(<font color="#008000">'curl_init'</font>)) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">die</font> (<font color="#008000">"Curl&nbsp;PHP&nbsp;package&nbsp;not&nbsp;installed\n"</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$ch</font> = <a href="http://www.php.net/manual/en/function.curl-init.php">curl_init</a>();<br/>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.php.net/manual/en/function.curl-setopt.php">curl_setopt</a>(<font color="#cc6633">$ch</font>, CURLOPT_URL, <font color="#cc6633">$url</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.php.net/manual/en/function.curl-setopt.php">curl_setopt</a>(<font color="#cc6633">$ch</font>, CURLOPT_HEADER, <font color="#0000ff">false</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.php.net/manual/en/function.curl-setopt.php">curl_setopt</a>(<font color="#cc6633">$ch</font>, CURLOPT_HTTPHEADER, <font color="#0000ff">array</font>(<font color="#008000">"Content-Type:&nbsp;text/xml;&nbsp;charset=utf-8"</font>));<br/>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.php.net/manual/en/function.curl-setopt.php">curl_setopt</a>(<font color="#cc6633">$ch</font>, CURLOPT_POSTFIELDS, <font color="#cc6633">$request</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$response</font> = <a href="http://www.php.net/manual/en/function.curl-exec.php">curl_exec</a>(<font color="#cc6633">$ch</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$response</font> = xmlrpc_decode(<font color="#cc6633">$response</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.php.net/manual/en/function.curl-close.php">curl_close</a>(<font color="#cc6633">$ch</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return</font> <font color="#cc6633">$response</font>;<br/>}<br/>&nbsp;<br/><font color="#696969">/*</font><br/><font color="#696969">&nbsp;*&nbsp;Функция&nbsp;формирования&nbsp;xml&nbsp;запроса&nbsp;на&nbsp;xmlrpc</font><br/><font color="#696969">&nbsp;*&nbsp;в&nbsp;качестве&nbsp;параметров:</font><br/><font color="#696969">&nbsp;*&nbsp;@method&nbsp;-&nbsp;вызываемый&nbsp;метод</font><br/><font color="#696969">&nbsp;*&nbsp;@params&nbsp;-&nbsp;массив&nbsp;списка&nbsp;параметров</font><br/><font color="#696969">&nbsp;*/</font><br/><font color="#0000ff">function</font> xmlrpc_request(<font color="#cc6633">$method</font>,<font color="#cc6633">$params</font>)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font> =<font color="#008000">"&lt;?xml&nbsp;version=\"1.0\"&nbsp;encoding=\"utf-8\"?&gt;\n"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;methodCall&gt;&lt;methodName&gt;"</font>.<font color="#cc6633">$method</font>.<font color="#008000">"&lt;/methodName&gt;&lt;params&gt;"</font>;<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (<a href="http://www.php.net/manual/en/function.is-array.php">is_array</a>(<font color="#cc6633">$params</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">foreach</font> (<font color="#cc6633">$params</font> <font color="#0000ff">as</font> <font color="#cc6633">$v</font>)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (<a href="http://www.php.net/manual/en/function.is-numeric.php">is_numeric</a>(<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;param&gt;&lt;value&gt;&lt;int&gt;"</font>.<font color="#cc6633">$v</font>.<font color="#008000">"&lt;/int&gt;&lt;/value&gt;&lt;/param&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else if</font> (<a href="http://www.php.net/manual/en/function.is-string.php">is_string</a> (<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;param&gt;&lt;value&gt;&lt;string&gt;"</font>.<font color="#cc6633">$v</font>.<font color="#008000">"&lt;/string&gt;&lt;/value&gt;&lt;/param&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else if</font> (<a href="http://www.php.net/manual/en/function.is-bool.php">is_bool</a>(<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;param&gt;&lt;value&gt;&lt;boolean&gt;"</font>. (<font color="#cc6633">$v</font> ? <font color="#008000">"1"</font>:<font color="#008000">"0"</font>) .<font color="#008000">"&lt;/boolean&gt;&lt;/value&gt;&lt;/param&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}            <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else if</font> (<a href="http://www.php.net/manual/en/function.is-array.php">is_array</a>(<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;param&gt;"</font>._xmlrpc_genstruct(<font color="#cc6633">$v</font>).<font color="#008000">"&lt;/param&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;/params&gt;&lt;/methodCall&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return</font> <font color="#cc6633">$xml</font>;<br/>}<br/>&nbsp;<br/><font color="#696969">/*</font><br/><font color="#696969">&nbsp;*&nbsp;Функция&nbsp;формирования&nbsp;именованной&nbsp;структуры</font><br/><font color="#696969">&nbsp;*&nbsp;в&nbsp;качестве&nbsp;параметров:</font><br/><font color="#696969">&nbsp;*&nbsp;@params&nbsp;-&nbsp;массив&nbsp;списка&nbsp;параметров</font><br/><font color="#696969">&nbsp;*/</font><br/><font color="#0000ff">function</font> _xmlrpc_genstruct(<font color="#cc6633">$params</font>)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (<a href="http://www.php.net/manual/en/function.is-array.php">is_array</a>(<font color="#cc6633">$params</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>=<font color="#008000">"&lt;value&gt;&lt;struct&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">foreach</font> (<font color="#cc6633">$params</font> <font color="#0000ff">as</font> <font color="#cc6633">$k</font>=&gt;<font color="#cc6633">$v</font>)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#696969">//формируем&nbsp;поля&nbsp;запроса.</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (<a href="http://www.php.net/manual/en/function.is-numeric.php">is_numeric</a>(<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;member&gt;&lt;name&gt;"</font>.<font color="#cc6633">$k</font>.<font color="#008000">"&lt;/name&gt;&lt;value&gt;&lt;int&gt;"</font>.<font color="#cc6633">$v</font>.<font color="#008000">"&lt;/int&gt;&lt;/value&gt;&lt;/member&gt;"</font>;                <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else if</font> (<a href="http://www.php.net/manual/en/function.is-string.php">is_string</a> (<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;member&gt;&lt;name&gt;"</font>.<font color="#cc6633">$k</font>.<font color="#008000">"&lt;/name&gt;&lt;value&gt;&lt;string&gt;"</font>.<font color="#cc6633">$v</font>.<font color="#008000">"&lt;/string&gt;&lt;/value&gt;&lt;/member&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else if</font> (<a href="http://www.php.net/manual/en/function.is-bool.php">is_bool</a>(<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;member&gt;&lt;name&gt;"</font>.<font color="#cc6633">$k</font>.<font color="#008000">"&lt;/name&gt;&lt;value&gt;&lt;boolean&gt;"</font>. (<font color="#cc6633">$v</font> ? <font color="#008000">"1"</font>:<font color="#008000">"0"</font>) .<font color="#008000">"&lt;/boolean&gt;&lt;/value&gt;&lt;/member&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}            <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else if</font> (<a href="http://www.php.net/manual/en/function.is-array.php">is_array</a>(<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;member&gt;&lt;name&gt;"</font>.<font color="#cc6633">$k</font>.<font color="#008000">"&lt;/name&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (_xmlrpc_is_struct(<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=_xmlrpc_genstruct(<font color="#cc6633">$v</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=_xmlrpc_genarray(<font color="#cc6633">$v</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;/member&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}             <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;/struct&gt;&lt;/value&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return</font> <font color="#cc6633">$xml</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return</font> <font color="#008000">""</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&nbsp;<br/><font color="#696969">/*</font><br/><font color="#696969">&nbsp;*&nbsp;Функция&nbsp;формирования&nbsp;неименованного&nbsp;массива</font><br/><font color="#696969">&nbsp;*&nbsp;в&nbsp;качестве&nbsp;параметров:</font><br/><font color="#696969">&nbsp;*&nbsp;@params&nbsp;-&nbsp;массив&nbsp;списка&nbsp;параметров</font><br/><font color="#696969">&nbsp;*/</font><br/><font color="#0000ff">function</font> _xmlrpc_genarray(<font color="#cc6633">$params</font>)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (<a href="http://www.php.net/manual/en/function.is-array.php">is_array</a>(<font color="#cc6633">$params</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#696969">//проверим&nbsp;необходимость&nbsp;добавления&nbsp;имени</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>=<font color="#008000">"&lt;value&gt;&lt;array&gt;&lt;data&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">foreach</font> (<font color="#cc6633">$params</font> <font color="#0000ff">as</font> <font color="#cc6633">$v</font>)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#696969">//формируем&nbsp;поля&nbsp;запроса.</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (<a href="http://www.php.net/manual/en/function.is-numeric.php">is_numeric</a>(<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;value&gt;&lt;int&gt;"</font>.<font color="#cc6633">$v</font>.<font color="#008000">"&lt;/int&gt;&lt;/value&gt;"</font>;                <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else if</font> (<a href="http://www.php.net/manual/en/function.is-string.php">is_string</a> (<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;value&gt;&lt;string&gt;"</font>.<font color="#cc6633">$v</font>.<font color="#008000">"&lt;/string&gt;&lt;/value&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else if</font> (<a href="http://www.php.net/manual/en/function.is-bool.php">is_bool</a>(<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;value&gt;&lt;boolean&gt;"</font>. (<font color="#cc6633">$v</font> ? <font color="#008000">"1"</font>:<font color="#008000">"0"</font>) .<font color="#008000">"&lt;/boolean&gt;&lt;/value&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}            <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else if</font> (<a href="http://www.php.net/manual/en/function.is-array.php">is_array</a>(<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (_xmlrpc_is_struct(<font color="#cc6633">$v</font>))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=_xmlrpc_genstruct(<font color="#cc6633">$v</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=_xmlrpc_genarray(<font color="#cc6633">$v</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}  <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$xml</font>.=<font color="#008000">"&lt;/data&gt;&lt;/array&gt;&lt;/value&gt;"</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return</font> <font color="#cc6633">$xml</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return</font> <font color="#008000">""</font>;<br/>}<br/>&nbsp;<br/><font color="#696969">/*</font><br/><font color="#696969">&nbsp;*&nbsp;Функция&nbsp;проверки&nbsp;переданного&nbsp;массива&nbsp;на</font><br/><font color="#696969">&nbsp;*&nbsp;предмет&nbsp;необходимости&nbsp;формирования</font><br/><font color="#696969">&nbsp;*&nbsp;именованной&nbsp;структуры</font><br/><font color="#696969">&nbsp;*&nbsp;в&nbsp;качестве&nbsp;параметров:</font><br/><font color="#696969">&nbsp;*&nbsp;@params&nbsp;-&nbsp;массив&nbsp;списка&nbsp;параметров</font><br/><font color="#696969">&nbsp;*/</font><br/><font color="#0000ff">function</font> _xmlrpc_is_struct(<font color="#cc6633">$params</font>)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$keys</font>=<a href="http://www.php.net/manual/en/function.array-keys.php">array_keys</a>(<font color="#cc6633">$params</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">foreach</font> (<font color="#cc6633">$keys</font> <font color="#0000ff">as</font> <font color="#cc6633">$k</font>=&gt;<font color="#cc6633">$v</font>)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (<font color="#cc6633">$k</font>!=<font color="#cc6633">$v</font>) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return true</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return false</font>;<br/>}<br/><font color="#cc6633">?&gt;</font> <br/></font></code></p></blockquote>
<p>Пользоваться безобразием просто, вот примерчик постинга в блог на wordpress:</p>
<blockquote><p><code><font size="2" face="Consolas, Courier New, Courier, Monospace" color="black"><<font color="#cc6633">&lt;?php</font><br/><font color="#0000ff">require</font>(<font color="#008000">"xmlrpc.php"</font>);<br/><font color="#696969">//формируем&nbsp;массив&nbsp;с&nbsp;параметрами&nbsp;запроса</font><br/><font color="#cc6633">$content</font>=<font color="#0000ff">array</font>();<br/><font color="#cc6633">$content</font>[<font color="#008000">'title'</font>]=<font color="#008000">"Тестовая&nbsp;запись"</font>;<br/><font color="#cc6633">$content</font>[<font color="#008000">'categories'</font>] = <font color="#0000ff">array</font>(<font color="#008000">"news"</font>);<br/><font color="#cc6633">$content</font>[<font color="#008000">'description'</font>]=<font color="#008000">"Описание&nbsp;тестовой&nbsp;запись&nbsp;(то,&nbsp;что&nbsp;до&nbsp;тега&nbsp;&lt;!--more--&gt;)"</font>;<br/><font color="#cc6633">$content</font>[<font color="#008000">'mt_text_more'</font>]=<font color="#008000">"Собственно&nbsp;основная&nbsp;часть&nbsp;постинга"</font>;<br/><font color="#cc6633">$content</font>[<font color="#008000">'mt_keywords'</font>]=<font color="#008000">"ключевые,&nbsp;слова"</font>;<br/>&nbsp;<br/><font color="#696969">//формируем&nbsp;xml&nbsp;запрос</font><br/><font color="#cc6633">$request</font>=xmlrpc_request(<font color="#008000">"metaWeblog.newPost"</font>,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">array</font>(<font color="#008000">1</font>,<font color="#008000">"admin"</font>,<font color="#008000">"password"</font>,<font color="#cc6633">$content</font>,<font color="#0000ff">false</font>));<br/>&nbsp;<br/><font color="#696969">//отправляем&nbsp;серверу</font><br/>xmlrpc_send(<font color="#008000">"http://example.com/wordpress/xmlrpc.php"</font>,<font color="#cc6633">$request</font>);<br/><font color="#cc6633">?&gt;</font> <br/></font></code></p></blockquote>
<p>вроде все просто и понятно. Работает на данный момент только с кодировкой UTF-8. Собственно и затеялось как раз потому, что два предыдущих варианта напрочь отказывались нормально отправлять в UTF-8.</p>
<p>Реализованы не все типы, возможные в xmlrpc, однако мне для постинга в WordPress этого пока хватит, буде кому понадобится еще чего можете меня попинать &#8211; допишу, ну или сами, а я добавлю со ссылкой на автора <img src='http://mrdaark.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>P.S. походу wordpress чудит с кавычками. файл исходника <a href="http://dl.dropbox.com/u/1834466/xmlrpc.phps">xmlrpc.phps</a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/2oov8b_kPydbFmi_8ZzYEHk4TNw/0/da"><img src="http://feedads.g.doubleclick.net/~a/2oov8b_kPydbFmi_8ZzYEHk4TNw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/2oov8b_kPydbFmi_8ZzYEHk4TNw/1/da"><img src="http://feedads.g.doubleclick.net/~a/2oov8b_kPydbFmi_8ZzYEHk4TNw/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><description>Вчера озаботился возможностью что-то опубликовать в блоке посредством xmlrpc из php. Проковырявшись в общей сложности часа 4 с библиотекой xmlrpc и встроенной функцией xmlrpc_encode_equest и так и не добившись нормальной работы всего этого безобразия, собрался и сегодня за 1.5 часа сделал свой велосипед &amp;#60;?php/*&amp;#160;*&amp;#160;Велосипед&amp;#160;для&amp;#160;работы&amp;#160;с&amp;#160;xmlrpc&amp;#160;*&amp;#160;версия&amp;#160;0.1beta&amp;#160;*&amp;#160;*&amp;#160;Copyright&amp;#160;(c)&amp;#160;2011&amp;#160;mrdaark.&amp;#160;*&amp;#160;Все&amp;#160;права&amp;#160;защищены&amp;#160;*&amp;#160;&amp;#160;*/&amp;#160;/*&amp;#160;*&amp;#160;Функция&amp;#160;для&amp;#160;отправки&amp;#160;запроса&amp;#160;на&amp;#160;xmlrpc&amp;#160;сервер&amp;#160;*&amp;#160;использует&amp;#160;библиотеку&amp;#160;curl&amp;#160;*&amp;#160;в&amp;#160;качестве&amp;#160;параметров:&amp;#160;*&amp;#160;@url&amp;#160;-&amp;#160;url&amp;#160;адрес&amp;#160;сервера&amp;#160;*&amp;#160;@request&amp;#160;-&amp;#160;запрос&amp;#160;формируемый&amp;#160;с&amp;#160;помощью&amp;#160;функции&amp;#160;xmlrpc_request&amp;#160;*/function xmlrpc_send($url,$request){&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(!function_exists('curl_init')) {&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;die ("Curl&amp;#160;PHP&amp;#160;package&amp;#160;not&amp;#160;installed\n");&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$ch = curl_init();&amp;#160;&amp;#160;&amp;#160;&amp;#160;curl_setopt($ch, CURLOPT_URL, $url);&amp;#160;&amp;#160;&amp;#160;&amp;#160;curl_setopt($ch, CURLOPT_HEADER, false);&amp;#160;&amp;#160;&amp;#160;&amp;#160;curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:&amp;#160;text/xml;&amp;#160;charset=utf-8"));&amp;#160;&amp;#160;&amp;#160;&amp;#160;curl_setopt($ch, [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mrdaark.com/izobretaya-velosipedy-xmlrpc.html/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments></item><item><title>И смех, и грех.</title><link>http://mrdaark.com/i-smex-i-grex.html</link><category>Мои новости</category><category>адский долбоебизм</category><category>ГИБДД</category><category>Псков</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mrdaark</dc:creator><pubDate>Wed, 13 Apr 2011 06:37:51 PDT</pubDate><guid isPermaLink="false">http://mrdaark.com/?p=161</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Нашел сегодня на башорге:</p>
<blockquote><p>В Пскове, если водилы попали в дтп, им нужно выложить по полтыщи деревянных с лица на пиво полицаям, чтоб товарищи гайцы приехали на место дтп в ближайшие пару часов.</p>
<p>вчера две тачки столкнулись у супермаркета аккурат напротив главного псковского здания гибдд. думали, раз так, то не придется платить дань в количестве тех самых пиццот рублей. ан нет, простояли 11 часов, пока &laquo;органы&raquo; не соизволили к ним свои попы вытащить. и это при том, что никаких чп и аврала в городе не было.</p>
<p>выводы сами делайте&#8230;</p></blockquote>

<p><a href="http://feedads.g.doubleclick.net/~a/ltcOGBZJjJyBlKxoEp_9RnzL254/0/da"><img src="http://feedads.g.doubleclick.net/~a/ltcOGBZJjJyBlKxoEp_9RnzL254/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ltcOGBZJjJyBlKxoEp_9RnzL254/1/da"><img src="http://feedads.g.doubleclick.net/~a/ltcOGBZJjJyBlKxoEp_9RnzL254/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><description>Нашел сегодня на башорге: В Пскове, если водилы попали в дтп, им нужно выложить по полтыщи деревянных с лица на пиво полицаям, чтоб товарищи гайцы приехали на место дтп в ближайшие пару часов. вчера две тачки столкнулись у супермаркета аккурат напротив главного псковского здания гибдд. думали, раз так, то не придется платить дань в количестве [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mrdaark.com/i-smex-i-grex.html/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">4</slash:comments></item><item><title>Решение задачки для php программистов  с хабра</title><link>http://mrdaark.com/zadachka-from-habrahabr.html</link><category>Программинг</category><category>php</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mrdaark</dc:creator><pubDate>Tue, 05 Apr 2011 01:13:24 PDT</pubDate><guid isPermaLink="false">http://mrdaark.com/?p=149</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Увидел на хабре задачку при собеседовании для php программистов <a href="http://habrahabr.ru/blogs/php/116686/">http://habrahabr.ru/blogs/php/116686/</a></p>
<p>Решил попробовать сам ее решить, вроде не сложно. вместе с отладкой, сделал за ~20минут, т.е. в норматив не уложился, что херово.</p>
<p>Получилось вот так,  хз насколько это оптимально. Есть идеи что улучшить?</p>
<blockquote><p><code><font size="2" face="Consolas, Courier New, Courier, Monospace" color="black"><font color="#cc6633">&lt;?php</font><br/><font color="#0000ff">function</font> read_conf(<font color="#cc6633">$path</font>)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$f</font>=file_get_contents(<font color="#cc6633">$path</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#696969">//разбиваем&nbsp;на&nbsp;строки</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$lines</font>=<a href="http://www.php.net/manual/en/function.explode.php">explode</a>(<font color="#008000">"\n"</font>,<font color="#cc6633">$f</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$tmp</font>=<font color="#0000ff">array</font>();<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#696969">//режем&nbsp;строки&nbsp;на&nbsp;key=&gt;value</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">foreach</font>(<font color="#cc6633">$lines</font> <font color="#0000ff">as</font> <font color="#cc6633">$v</font>)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (<a href="http://www.php.net/manual/en/function.trim.php">trim</a>(<font color="#cc6633">$v</font>)!=<font color="#008000">""</font>)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">list</font>(<font color="#cc6633">$key</font>,<font color="#cc6633">$value</font>)=<a href="http://www.php.net/manual/en/function.explode.php">explode</a>(<font color="#008000">"="</font>,<font color="#cc6633">$v</font>,<font color="#008000">2</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$tmp</font>[<a href="http://www.php.net/manual/en/function.trim.php">trim</a>(<font color="#cc6633">$key</font>)]=<a href="http://www.php.net/manual/en/function.trim.php">trim</a>(<font color="#cc6633">$value</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}           <br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$res</font>=<font color="#0000ff">array</font>();<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#696969">//режем&nbsp;ключи&nbsp;по&nbsp;параметрам</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">foreach</font> (<font color="#cc6633">$tmp</font> <font color="#0000ff">as</font> <font color="#cc6633">$key</font>=&gt;<font color="#cc6633">$value</font>)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$keys</font>=<a href="http://www.php.net/manual/en/function.explode.php">explode</a>(<font color="#008000">"."</font>,<font color="#cc6633">$key</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (<a href="http://www.php.net/manual/en/function.count.php">count</a>(<font color="#cc6633">$keys</font>)!=<font color="#008000">1</font>)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#696969">//тут&nbsp;будем&nbsp;делать&nbsp;подмассивчики</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$key</font>=<a href="http://www.php.net/manual/en/function.array-pop.php">array_pop</a>(<font color="#cc6633">$keys</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$first_key</font>=<a href="http://www.php.net/manual/en/function.array-shift.php">array_shift</a>(<font color="#cc6633">$keys</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (!<font color="#0000ff">isset</font>(<font color="#cc6633">$res</font>[<font color="#cc6633">$first_key</font>])) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$res</font>[<font color="#cc6633">$first_key</font>]=<font color="#0000ff">array</font>();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$pres</font>=&amp;<font color="#cc6633">$res</font>[<font color="#cc6633">$first_key</font>];<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">while</font> (<a href="http://www.php.net/manual/en/function.count.php">count</a>(<font color="#cc6633">$keys</font>)!=<font color="#008000">&nbsp;0</font>)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{            <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$tmp_key</font>=<a href="http://www.php.net/manual/en/function.array-shift.php">array_shift</a>(<font color="#cc6633">$keys</font>);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (!<font color="#0000ff">isset</font>(<font color="#cc6633">$pres</font>[<font color="#cc6633">$tmp_key</font>]))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$pres</font>[<font color="#cc6633">$tmp_key</font>]=<font color="#0000ff">array</font>();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$pres</font>=&amp;<font color="#cc6633">$pres</font>[<font color="#cc6633">$tmp_key</font>];<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$pres</font>[<font color="#cc6633">$key</font>]=<font color="#cc6633">$value</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">$res</font>[<font color="#cc6633">$key</font>]=<font color="#cc6633">$value</font>;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return</font> <font color="#cc6633">$res</font>;<br/>}<br/><a href="http://www.php.net/manual/en/function.print-r.php">print_r</a>(read_conf(<font color="#008000">"conf.ini"</font>));<br/><font color="#cc6633">?&gt;</font> <br/></font></code></p></blockquote>

<p><a href="http://feedads.g.doubleclick.net/~a/7KLaXNc0rfM6-ElidY2BV2IwZYs/0/da"><img src="http://feedads.g.doubleclick.net/~a/7KLaXNc0rfM6-ElidY2BV2IwZYs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/7KLaXNc0rfM6-ElidY2BV2IwZYs/1/da"><img src="http://feedads.g.doubleclick.net/~a/7KLaXNc0rfM6-ElidY2BV2IwZYs/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><description>Увидел на хабре задачку при собеседовании для php программистов http://habrahabr.ru/blogs/php/116686/ Решил попробовать сам ее решить, вроде не сложно. вместе с отладкой, сделал за ~20минут, т.е. в норматив не уложился, что херово. Получилось вот так,  хз насколько это оптимально. Есть идеи что улучшить? &amp;#60;?phpfunction read_conf($path){&amp;#160;&amp;#160;&amp;#160;&amp;#160;$f=file_get_contents($path);&amp;#160;&amp;#160;&amp;#160;&amp;#160;//разбиваем&amp;#160;на&amp;#160;строки&amp;#160;&amp;#160;&amp;#160;&amp;#160;$lines=explode("\n",$f);&amp;#160;&amp;#160;&amp;#160;&amp;#160;$tmp=array();&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;//режем&amp;#160;строки&amp;#160;на&amp;#160;key=&amp;#62;value&amp;#160;&amp;#160;&amp;#160;&amp;#160;foreach($lines as $v)&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (trim($v)!="")&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;list($key,$value)=explode("=",$v,2);&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$tmp[trim($key)]=trim($value);&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&amp;#160;&amp;#160;&amp;#160;&amp;#160;} &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$res=array();&amp;#160;&amp;#160;&amp;#160;&amp;#160;//режем&amp;#160;ключи&amp;#160;по&amp;#160;параметрам&amp;#160;&amp;#160;&amp;#160;&amp;#160;foreach ($tmp as $key=&amp;#62;$value)&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$keys=explode(".",$key);&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (count($keys)!=1)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;//тут&amp;#160;будем&amp;#160;делать&amp;#160;подмассивчики&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$key=array_pop($keys);&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$first_key=array_shift($keys);&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (!isset($res[$first_key])) &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$res[$first_key]=array();&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$pres=&amp;#38;$res[$first_key];&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;while (count($keys)!=&amp;#160;0)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{ [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mrdaark.com/zadachka-from-habrahabr.html/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments></item><item><title>Переезд на новый ВДС</title><link>http://mrdaark.com/pereezd-na-novyj-vds.html</link><category>Мои новости</category><category>freebsd</category><category>блог</category><category>миграция</category><category>сайты</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mrdaark</dc:creator><pubDate>Mon, 29 Nov 2010 13:06:38 PST</pubDate><guid isPermaLink="false">http://mrdaark.ru/?p=145</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Собственно сегодня с утреца получил письмо от <a href="http://firstvds.ru/index.html?from=19997">хостера</a>, о том что freebsd 6 больше не комильфо и пора бы обновить сервер до 8ки (а мне все лень было):</p>
<p><a href="http://mrdaark.ru/wp-content/uploads/2010/11/pereezd.png"><img class="aligncenter size-full wp-image-146" title="письмо про переезд на freebsd 8" src="http://mrdaark.ru/wp-content/uploads/2010/11/pereezd.png" alt="" width="954" height="518" /></a></p>
<p>вообщем пол дня продолбался, но все перенес, заодно обнаружилось, что я забыл продлить домен этого блога и он радостно уже неделю был в дауне, посему быстренько <a href="http://webst.ru/?id=6414 ">продлил домен</a> и теперь все работает. субъективно работает быстрее чем раньше, но пока сложно сказать, посмотрим что будет когда появиться хоть какая то нагрузка&#8230;</p>
<p>P.S. В посте аж две реферальные ссылки, по ним можно <del datetime="2010-11-29T20:53:09+00:00">не</del> нажимать <img src='http://mrdaark.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/jsU-uQYAon6Eme72tFZzUu7kFDs/0/da"><img src="http://feedads.g.doubleclick.net/~a/jsU-uQYAon6Eme72tFZzUu7kFDs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jsU-uQYAon6Eme72tFZzUu7kFDs/1/da"><img src="http://feedads.g.doubleclick.net/~a/jsU-uQYAon6Eme72tFZzUu7kFDs/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><description>Собственно сегодня с утреца получил письмо от хостера, о том что freebsd 6 больше не комильфо и пора бы обновить сервер до 8ки (а мне все лень было): вообщем пол дня продолбался, но все перенес, заодно обнаружилось, что я забыл продлить домен этого блога и он радостно уже неделю был в дауне, посему быстренько продлил [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mrdaark.com/pereezd-na-novyj-vds.html/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments></item><item><title>Рабочая суббота</title><link>http://mrdaark.com/rabochaya-subbota.html</link><category>Мои новости</category><category>адский долбоебизм</category><category>бред</category><category>работа</category><category>суббота</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mrdaark</dc:creator><pubDate>Sat, 13 Nov 2010 04:00:45 PST</pubDate><guid isPermaLink="false">http://mrdaark.ru/?p=135</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Это самое настоящее вселенское зло!</p>
<p><img class="aligncenter size-medium wp-image-136" title="работа убивает" src="http://mrdaark.ru/wp-content/uploads/2010/11/rabota-ubivaet-300x187.jpg" alt="работа убивает" width="300" height="187" /></p>
<p>Сижу уже который час читаю БОР, потому что просто безобразно нечем заняться.</p>
<p>это бесполезнейшее времяубивание! я тупею! я скоро стану как вареный овощ!!</p>
<p><img class="aligncenter size-medium wp-image-137" title="овощ" src="http://mrdaark.ru/wp-content/uploads/2010/11/hren-300x199.jpg" alt="овощ" width="300" height="199" /></p>
<p>Вообщем отпустите меня пораньше! не могу больше заниматься этой фигней! причем в прямом смысле этого слова!</p>
<p><img class="aligncenter size-medium wp-image-138" title="Лопата" src="http://mrdaark.ru/wp-content/uploads/2010/11/lopata-245x300.jpg" alt="Лопата" width="245" height="300" />Смеяться тут <img src='http://mrdaark.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Надо сваливать домой, там очередная серия хауса, сегодня вероятно выйдет The Big Bang Theory, вообщем есть над чем оттопыриться.</p>
<p>П.Сы.: А у гугла сегодня логотипчег хорош</p>
<p><img class="aligncenter size-medium wp-image-139" title="Роберт Льюис Стивенсон" src="http://mrdaark.ru/wp-content/uploads/2010/11/stevenson10-hp-300x110.jpg" alt="Роберт Льюис Стивенсон" width="300" height="110" />не правда ли? <img src='http://mrdaark.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: center;"><strong>Хочу домой!!!</strong></p>

<p><a href="http://feedads.g.doubleclick.net/~a/b9CMVd26mdl2RIj9UjtAjaqjLEY/0/da"><img src="http://feedads.g.doubleclick.net/~a/b9CMVd26mdl2RIj9UjtAjaqjLEY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/b9CMVd26mdl2RIj9UjtAjaqjLEY/1/da"><img src="http://feedads.g.doubleclick.net/~a/b9CMVd26mdl2RIj9UjtAjaqjLEY/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><description>Это самое настоящее вселенское зло! Сижу уже который час читаю БОР, потому что просто безобразно нечем заняться. это бесполезнейшее времяубивание! я тупею! я скоро стану как вареный овощ!! Вообщем отпустите меня пораньше! не могу больше заниматься этой фигней! причем в прямом смысле этого слова! Смеяться тут Надо сваливать домой, там очередная серия хауса, сегодня вероятно [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mrdaark.com/rabochaya-subbota.html/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments></item><item><title>Twitter хакнули!</title><link>http://mrdaark.com/twitter-xaknuli.html</link><category>Мои новости</category><category>hack</category><category>twitter</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mrdaark</dc:creator><pubDate>Thu, 17 Dec 2009 22:47:58 PST</pubDate><guid isPermaLink="false">http://mrdaark.ru/?p=132</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Сегодня с &laquo;радостью&raquo; обнаружил дефейс главной страницы популярного сервиса <a href="http://twitter.com">twitter.com</a></p>
<p><img src="http://dl.dropbox.com/u/1834466/twitter.png" alt="twitter дефейс" /></p>

<p><a href="http://feedads.g.doubleclick.net/~a/reyWspGkr9iCxUS2YVJEu3ZAYIs/0/da"><img src="http://feedads.g.doubleclick.net/~a/reyWspGkr9iCxUS2YVJEu3ZAYIs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/reyWspGkr9iCxUS2YVJEu3ZAYIs/1/da"><img src="http://feedads.g.doubleclick.net/~a/reyWspGkr9iCxUS2YVJEu3ZAYIs/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><description>Сегодня с &amp;#171;радостью&amp;#187; обнаружил дефейс главной страницы популярного сервиса twitter.com</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mrdaark.com/twitter-xaknuli.html/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">8</slash:comments></item><item><title>Python: Простой пример использования twisted</title><link>http://mrdaark.com/python-prostoj-primer-ispolzovaniya-twisted.html</link><category>Программинг</category><category>python</category><category>twisted</category><category>обучение</category><category>сайты</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mrdaark</dc:creator><pubDate>Thu, 16 Jul 2009 03:35:07 PDT</pubDate><guid isPermaLink="false">http://mrdaark.ru/?p=128</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Надо мне написать небольшой сервер, который будет принимать некие данные, сохранять их, а потом по определеным командам отдавать. Сейчас есть нечто такое же, только реализованное на LAMP, работает прямо скажем не очень быстро. Можно конечно сделать какое-то кеширование, memcache и т.д., но мне не хватает свободы маневра в текущей структуре, поэтому я решил таки переписать серверную часть, ибо клиентская вполне себе меня удовлетворяет.</p>
<p>Вообще решил сделать отдельный сервис, висящий на отличном от 80 порту и выполняющий все что мне надо. Писать решил с использование сетевого фреймворка twisted. Штука прикольная, но вот незадача, нормальной документации и примеров как то нету, того что на их сайте есть, мне явно не хватает, для того чтобы понять как и что нужно делать. Поэтому решил для начала написать простенький примерчик, который будет висеть и слушать запросы и в зависимости от url увеличивать или уменьшать внутренний счетчик.</p>
<p>Вот что получилось:</p>
<blockquote><p><code><font size="2" face="Consolas, Courier New, Courier, Monospace" color="black">__author__=<font color="#008000">"mrdaark"</font><br/>__date__ =<font color="#008000">"$15.07.2009&nbsp;21:31:01$"</font><br/>&nbsp;<br/><font color="#0000ff">from</font> twisted.web <font color="#0000ff">import</font> server, resource<br/><font color="#0000ff">from</font> twisted.internet <font color="#0000ff">import</font> reactor<br/><font color="#0000ff">import</font> string<br/>&nbsp;<br/><font color="#0000ff">class</font> <font color="#cc6633">Consult</font>():<br/>&nbsp;&nbsp;&nbsp;&nbsp;count=<font color="#008000">&nbsp;0</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">def</font> <font color="#cc6633">add</font>(self,x=<font color="#008000">1</font>):<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>self</b>.__class__.count+=x<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">def</font> <font color="#cc6633">remove</font>(self,x=<font color="#008000">1</font>):<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>self</b>.__class__.count-=x<br/>&nbsp;<br/><font color="#0000ff">class</font> <font color="#cc6633">Server</font>(<b>resource</b>.Resource):<br/>&nbsp;&nbsp;&nbsp;&nbsp;isLeaf = True<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">def</font> <font color="#cc6633">getChild</font>(self, name, request):<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> name == <font color="#008000">''</font>:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return</font> self<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return</font> Resource.<font color="#cc6633">getChild</font>(self, name, request)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">def</font> <font color="#cc6633">render</font>(self, request):<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;urlpath=<b>string</b>.split(request.path[<font color="#008000">1</font>:],<font color="#008000">'/'</font>)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path=urlpath[<font color="#008000">&nbsp;0</font>]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> <b>len</b>(urlpath)&gt;<font color="#008000">1</font>:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r=<b>int</b>(urlpath[<font color="#008000">1</font>])<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">else</font>:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r=<font color="#008000">1</font><br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str=<font color="#008000">'&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;'</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c=<font color="#cc6633">Consult</font>()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">if</font> (path==<font color="#008000">'add'</font>):<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.<font color="#cc6633">add</font>(r)  <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">elif</font> (path==<font color="#008000">'remove'</font>):<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.<font color="#cc6633">remove</font>(r)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str+= <font color="#008000">"x:&nbsp;%d&lt;br&nbsp;/&gt;"</font> % (c.count)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str+=<font color="#008000">'&lt;a&nbsp;href="/add/1"&gt;add&nbsp;1&lt;/a&gt;&lt;br&nbsp;/&gt;&lt;a&nbsp;href="/remove/1"&gt;remove&nbsp;1&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;'</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">return</font> str<br/>&nbsp;<br/><font color="#0000ff">def</font> <font color="#cc6633">main</font>():<br/>&nbsp;&nbsp;&nbsp;&nbsp;site = server.Site(<font color="#cc6633">Server</font>())<br/>&nbsp;&nbsp;&nbsp;&nbsp;reactor.listenTCP(<font color="#008000">8080</font>, site)<br/>&nbsp;&nbsp;&nbsp;&nbsp;reactor.run()<br/>&nbsp;<br/><font color="#0000ff">if</font> __name__ == <font color="#008000">"__main__"</font>:<br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#cc6633">main</font>() <br/>&nbsp;<br/></font></code></p></blockquote>
<p>Штука запускается, вешается на 8080 порт и принимает http запросы. Увеличивает и уменьшает внутренний счетчик в зависимости о второго параметра в урл, т.е. формат урл таков: /<функция>/<параметр>. По-умолчанию, параметр равен единице.</p>
<p>Вот такая штука вообщем получилась. Теперь буду усложнять этот примерчик, чтобы он сохранял и выводил список элементов, так и родится нужный мне функционал. <img src='http://mrdaark.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/o6lYDT2UsD4hBsD-Qxq8_AGnlAc/0/da"><img src="http://feedads.g.doubleclick.net/~a/o6lYDT2UsD4hBsD-Qxq8_AGnlAc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/o6lYDT2UsD4hBsD-Qxq8_AGnlAc/1/da"><img src="http://feedads.g.doubleclick.net/~a/o6lYDT2UsD4hBsD-Qxq8_AGnlAc/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><description>Надо мне написать небольшой сервер, который будет принимать некие данные, сохранять их, а потом по определеным командам отдавать. Сейчас есть нечто такое же, только реализованное на LAMP, работает прямо скажем не очень быстро. Можно конечно сделать какое-то кеширование, memcache и т.д., но мне не хватает свободы маневра в текущей структуре, поэтому я решил таки переписать [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mrdaark.com/python-prostoj-primer-ispolzovaniya-twisted.html/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments></item><item><title>IT-карма: Я почти бог :)</title><link>http://mrdaark.com/it-karma-ya-pochti-bog.html</link><category>Мои новости</category><category>юмор</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mrdaark</dc:creator><pubDate>Wed, 15 Jul 2009 23:40:02 PDT</pubDate><guid isPermaLink="false">http://mrdaark.ru/?p=125</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Прикольно так, хотя я не знал ответов на как минимум 3 вопроса <img src='http://mrdaark.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="200" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="false" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://ru.intel.com/business/community/oracle/widget_oracle.swf?code=Qgr%7Cw3QlIe3lTeSV" /><param name="allowfullscreen" value="false" /><embed type="application/x-shockwave-flash" width="400" height="200" src="http://ru.intel.com/business/community/oracle/widget_oracle.swf?code=Qgr%7Cw3QlIe3lTeSV" allowscriptaccess="always" allowfullscreen="false"></embed></object></p>

<p><a href="http://feedads.g.doubleclick.net/~a/r-LvNjJbbrkeA4BeVvg5PJSB_sg/0/da"><img src="http://feedads.g.doubleclick.net/~a/r-LvNjJbbrkeA4BeVvg5PJSB_sg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/r-LvNjJbbrkeA4BeVvg5PJSB_sg/1/da"><img src="http://feedads.g.doubleclick.net/~a/r-LvNjJbbrkeA4BeVvg5PJSB_sg/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><description>Прикольно так, хотя я не знал ответов на как минимум 3 вопроса</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mrdaark.com/it-karma-ya-pochti-bog.html/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">12</slash:comments></item><item><title>Он издевается!</title><link>http://mrdaark.com/on-izdevaetsya.html</link><category>Мои новости</category><category>бред</category><category>заработок</category><category>юмор</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mrdaark</dc:creator><pubDate>Wed, 01 Jul 2009 05:24:28 PDT</pubDate><guid isPermaLink="false">http://mrdaark.ru/?p=109</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Сейчас дир приволок денежку за мою подработку. Я честно мерзко хихикал когда он ушел.</p>
<p>Мало того что денег там кот наплакал, так видимо чтобы мне казалось что денег дофига, он выдал мне 610 рублей десятками!</p>
<p>Это 61 (шестьдесят одна) бумажка!</p>
<div id="attachment_110" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-110" title="Стопка денег" src="http://f.mrdaark.com/Home/%D0%A4%D0%BE%D1%82%D0%BE066-300x225.jpg" alt="Стопка денег" width="300" height="225" /><p class="wp-caption-text">Стопка денег</p></div>
<p>Не хилая такая стопка денежков, только куда ее девать теперь <img src='http://mrdaark.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/gEqw8kZecTlt7P6SkWgDqcnIkFw/0/da"><img src="http://feedads.g.doubleclick.net/~a/gEqw8kZecTlt7P6SkWgDqcnIkFw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/gEqw8kZecTlt7P6SkWgDqcnIkFw/1/da"><img src="http://feedads.g.doubleclick.net/~a/gEqw8kZecTlt7P6SkWgDqcnIkFw/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><description>Сейчас дир приволок денежку за мою подработку. Я честно мерзко хихикал когда он ушел. Мало того что денег там кот наплакал, так видимо чтобы мне казалось что денег дофига, он выдал мне 610 рублей десятками! Это 61 (шестьдесят одна) бумажка! Не хилая такая стопка денежков, только куда ее девать теперь</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://mrdaark.com/on-izdevaetsya.html/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">8</slash:comments></item></channel></rss>

