<?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>sb0y[AT]home &#187; О DC портале</title>
	<atom:link href="http://www.bagrincev.ru/category/about-dc/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bagrincev.ru</link>
	<description>Уютный бложик девелопера.</description>
	<lastBuildDate>Fri, 03 Dec 2010 13:30:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Вывод поиска</title>
		<link>http://www.bagrincev.ru/%d0%b2%d1%8b%d0%b2%d0%be%d0%b4-%d0%bf%d0%be%d0%b8%d1%81%d0%ba%d0%b0/</link>
		<comments>http://www.bagrincev.ru/%d0%b2%d1%8b%d0%b2%d0%be%d0%b4-%d0%bf%d0%be%d0%b8%d1%81%d0%ba%d0%b0/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 22:18:16 +0000</pubDate>
		<dc:creator>Sb0y</dc:creator>
				<category><![CDATA[О DC портале]]></category>

		<guid isPermaLink="false">http://www.bagrincev.ru/?p=321</guid>
		<description><![CDATA[Косметический ремонт вывода результатов поиска по сайту]]></description>
			<content:encoded><![CDATA[<p>Косметический ремонт вывода результатов поиска по сайту.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bagrincev.ru/%d0%b2%d1%8b%d0%b2%d0%be%d0%b4-%d0%bf%d0%be%d0%b8%d1%81%d0%ba%d0%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Поправил глюк с кавычками</title>
		<link>http://www.bagrincev.ru/%d0%bf%d0%be%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb-%d0%b3%d0%bb%d1%8e%d0%ba-%d1%81-%d0%ba%d0%b0%d0%b2%d1%8b%d1%87%d0%ba%d0%b0%d0%bc%d0%b8/</link>
		<comments>http://www.bagrincev.ru/%d0%bf%d0%be%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb-%d0%b3%d0%bb%d1%8e%d0%ba-%d1%81-%d0%ba%d0%b0%d0%b2%d1%8b%d1%87%d0%ba%d0%b0%d0%bc%d0%b8/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 21:51:52 +0000</pubDate>
		<dc:creator>Sb0y</dc:creator>
				<category><![CDATA[О DC портале]]></category>

		<guid isPermaLink="false">http://www.bagrincev.ru/%d0%bf%d0%be%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb-%d0%b3%d0%bb%d1%8e%d0%ba-%d1%81-%d0%ba%d0%b0%d0%b2%d1%8b%d1%87%d0%ba%d0%b0%d0%bc%d0%b8/</guid>
		<description><![CDATA[Случайно нашёл причину глюка с кавычками и исправил. Теперь при написании символа &#171;&#187; не будет добавляться символ ]]></description>
			<content:encoded><![CDATA[<p>Случайно нашёл причину глюка с кавычками и исправил.<br />
Теперь при написании символа &laquo;&raquo; не будет добавляться символ /</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bagrincev.ru/%d0%bf%d0%be%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb-%d0%b3%d0%bb%d1%8e%d0%ba-%d1%81-%d0%ba%d0%b0%d0%b2%d1%8b%d1%87%d0%ba%d0%b0%d0%bc%d0%b8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Баг фиксы</title>
		<link>http://www.bagrincev.ru/%d0%b1%d0%b0%d0%b3-%d1%84%d0%b8%d0%ba%d1%81%d1%8b/</link>
		<comments>http://www.bagrincev.ru/%d0%b1%d0%b0%d0%b3-%d1%84%d0%b8%d0%ba%d1%81%d1%8b/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 20:10:32 +0000</pubDate>
		<dc:creator>Sb0y</dc:creator>
				<category><![CDATA[О DC портале]]></category>

		<guid isPermaLink="false">http://www.bagrincev.ru/?p=312</guid>
		<description><![CDATA[Наконец-то работает мультизакачка, доведена до ума система закачки картинок в целом на сервер и в качестве бонуса &#8211; небольшие фиксы для ]]></description>
			<content:encoded><![CDATA[<p>Наконец-то работает мультизакачка, доведена до ума система закачки картинок в целом на сервер и в качестве бонуса &#8211; небольшие фиксы для IE7.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bagrincev.ru/%d0%b1%d0%b0%d0%b3-%d1%84%d0%b8%d0%ba%d1%81%d1%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Переход на новое оборудование</title>
		<link>http://www.bagrincev.ru/%d0%bf%d0%b5%d1%80%d0%b5%d1%85%d0%be%d0%b4-%d0%bd%d0%b0-%d0%bd%d0%be%d0%b2%d0%be%d0%b5-%d0%be%d0%b1%d0%be%d1%80%d1%83%d0%b4%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5/</link>
		<comments>http://www.bagrincev.ru/%d0%bf%d0%b5%d1%80%d0%b5%d1%85%d0%be%d0%b4-%d0%bd%d0%b0-%d0%bd%d0%be%d0%b2%d0%be%d0%b5-%d0%be%d0%b1%d0%be%d1%80%d1%83%d0%b4%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 18:03:17 +0000</pubDate>
		<dc:creator>Sb0y</dc:creator>
				<category><![CDATA[О DC портале]]></category>
		<category><![CDATA[О сервере]]></category>

		<guid isPermaLink="false">http://www.bagrincev.ru/?p=283</guid>
		<description><![CDATA[Есть 2 новости &#8211; плохая и хорошая. Начну с хорошей. Перевёл все сервисы на новое железо, в 2 раза мощнее прошлого. При переходе старался меньше всего тратить ресурсов железа на не нужные операции, получилось, пожалуй ещё лучше, чем было. Плохая новость состоит в том, что переход прошёл не без проблем. Недавно исправил грубейшие ошибки в ]]></description>
			<content:encoded><![CDATA[<p>Есть 2 новости &#8211; плохая и хорошая. Начну с хорошей.</p>
<p><a class="tt-flickr tt-flickr-Small" title="P1000132" href="http://www.bagrincev.ru/photoalbum/photo/3135173415/p1000132.html"><img class="alignleft" style="float: left;" src="http://farm4.static.flickr.com/3294/3135173415_c6f8283242_m.jpg" alt="P1000132" width="168" height="126" /></a>Перевёл все сервисы на новое железо, в 2 раза мощнее прошлого. При переходе старался меньше всего тратить ресурсов железа на не нужные операции, получилось, пожалуй ещё лучше, чем было.</p>
<p>Плохая новость состоит в том, что переход прошёл не без проблем. Недавно исправил грубейшие ошибки в сервере FTP и это ещё далеко не всё. Недавно пришёл баг-репорт о том  что массовая загрузка картинок DC портале перестала работать. Пока ещё следствие этой проблемы,  дабы потом найти решение.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bagrincev.ru/%d0%bf%d0%b5%d1%80%d0%b5%d1%85%d0%be%d0%b4-%d0%bd%d0%b0-%d0%bd%d0%be%d0%b2%d0%be%d0%b5-%d0%be%d0%b1%d0%be%d1%80%d1%83%d0%b4%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Автоматическое формирование Magnet-ссылок</title>
		<link>http://www.bagrincev.ru/%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b5-%d1%84%d0%be%d1%80%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-magnet-%d1%81%d1%81%d1%8b%d0%bb%d0%be/</link>
		<comments>http://www.bagrincev.ru/%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b5-%d1%84%d0%be%d1%80%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-magnet-%d1%81%d1%81%d1%8b%d0%bb%d0%be/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 11:34:26 +0000</pubDate>
		<dc:creator>Sb0y</dc:creator>
				<category><![CDATA[О DC портале]]></category>
		<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://www.bagrincev.ru/?p=234</guid>
		<description><![CDATA[Недавно обкатал новую интересную функцию на DC портале. Для неё использовал в классе парсера функцию PHP &#171;preg_replace_callback&#171;. Суть функции заключается в том что она берёт параметром функцию обратного вызова ко всем найденным выражениям и найденное заменяет тем что функция вернула. Внутри функции заключил 2 функции: первая, format_size, формирует размер, кстати вот она: function format_size &#40;$size, ]]></description>
			<content:encoded><![CDATA[<p>Недавно обкатал новую интересную функцию на DC портале. Для неё использовал в классе парсера функцию PHP &laquo;<strong>preg_replace_callback</strong>&laquo;. Суть функции заключается в том что она берёт параметром функцию обратного вызова ко всем найденным выражениям и найденное заменяет тем что функция вернула.</p>
<p>Внутри функции заключил 2 функции: первая, <strong>format_size</strong>, формирует размер, кстати вот она:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> format_size <span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #000088;">$arr</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
 <span style="color: #000088;">$units</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
 <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span> <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1024</span><span style="color: #009900;">&#41;</span>
 <span style="color: #009900;">&#123;</span>
 <span style="color: #000088;">$units</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;b&quot;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span> <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #cc66cc;">1048576</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;"># 1024^2
</span>	<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$units</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Kb&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$size</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$size</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">1024</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span> <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #cc66cc;">1073741824</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;"># 1024^3
</span>  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$units</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Mb&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$size</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$size</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1048576</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
	 <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span> <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #cc66cc;">1099511627776</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;"># 1024^4
</span>		<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$units</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;GB&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$size</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$size</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1073741824</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
		  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span> <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #cc66cc;">1125899906842624</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;"># 1024^5
</span>		    <span style="color: #009900;">&#123;</span>
		    <span style="color: #000088;">$units</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Tb&quot;</span><span style="color: #339933;">;</span>
		    <span style="color: #000088;">$size</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$size</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1099511627776</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
		    <span style="color: #000088;">$units</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Eb&quot;</span><span style="color: #339933;">;</span>
		    <span style="color: #000088;">$size</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$size</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1125899906842624</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;"># 1024^5
</span>				<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$arr</span><span style="color: #009900;">&#41;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">round</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #000088;">$units</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">else</span>
		<span style="color: #b1b100;">return</span> <span style="color: #990000;">round</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">.</span><span style="color: #000088;">$units</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Вторая, <strong>rep_magnet</strong>, берёт этот размер и формирует, собственно Magnet-ссылку.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> rep_magnet <span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #000088;">$s</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// If have '[url=' at the start - return not modiffed string</span>
<span style="color: #000088;">$link</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$s</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$link</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&quot;'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&quot;'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$link</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$name</span> <span style="color: #339933;">=</span> <span style="color: #990000;">htmlspecialchars</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">urldecode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$size</span> <span style="color: #339933;">=</span> format_size<span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">'&lt;img src=&quot;/favicon.png/&quot; alt=&quot;&quot; /&gt;&lt;a href=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$link</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;&gt;Скачать файл из DC++: &lt;strong&gt;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$name</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;/strong&gt;&lt;/a&gt; ('</span><span style="color: #339933;">.</span><span style="color: #000088;">$size</span><span style="color: #339933;">.</span><span style="color: #0000ff;">')'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Если функция находит символ равно, в регулярном выражении, обработки не происходит, сделанно, для экранирования ссылок заключённых в тег [url и воизбежании повторного парсинга.</p>
<p>В итоге получается такая регулярка:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$source</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace_callback</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/([=\'&quot;`])?magnet:\?xt=urn:tree:tiger:([a-z0-9]+)&amp;amp;xl=([0-9]+)&amp;amp;dn=([^&amp;lt;\s\[\]]+)/uims'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'rep_magnet'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$source</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Вот так это выглядит в работе:</p>
<p><img class="alignnone size-full wp-image-251" title="d0b1d0b5d0b7-d0b8d0bcd0b5d0bdd0b81" src="http://www.bagrincev.ru/uploads/d0b1d0b5d0b7-d0b8d0bcd0b5d0bdd0b81.png" alt="d0b1d0b5d0b7-d0b8d0bcd0b5d0bdd0b81" width="369" height="61" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bagrincev.ru/%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b5-%d1%84%d0%be%d1%80%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-magnet-%d1%81%d1%81%d1%8b%d0%bb%d0%be/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
