<?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>Блог Вована &#187; PHP</title>
	<atom:link href="http://blog.vovana.com/cat/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.vovana.com</link>
	<description></description>
	<lastBuildDate>Mon, 22 Nov 2010 10:31:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Загрузка произвольного количества файлов на сервер</title>
		<link>http://blog.vovana.com/telezka-s/zagruzka-proizvolnogo-kolichesva-fajlov-na-server/</link>
		<comments>http://blog.vovana.com/telezka-s/zagruzka-proizvolnogo-kolichesva-fajlov-na-server/#comments</comments>
		<pubDate>Wed, 06 Feb 2008 12:05:48 +0000</pubDate>
		<dc:creator>vovan</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Дележка опытом]]></category>
		<category><![CDATA[Разработка]]></category>
		<category><![CDATA[выбор файлов]]></category>
		<category><![CDATA[загрузка файлов]]></category>
		<category><![CDATA[пхп]]></category>
		<category><![CDATA[разрабока]]></category>
		<category><![CDATA[форма]]></category>

		<guid isPermaLink="false">http://blog.vovana.com/2008/02/06/100</guid>
		<description><![CDATA[Что я подразумеваю под загрузкой произвольного количества: пользователь выбирает сколько угодно файлов, нажимает кнопку &#8220;загрузить&#8221; и файлы загружаются на сервер и обрабатываются. Новые поля для выбора файлов создаются динамически. Шаг 1: Создаём форму &#60;form method=&#8221;POST&#8221; id=&#8221;upform&#8221; name=&#8221;upform&#8221; enctype=&#8221;multipart/form-data&#8221;&#62; &#60;input type=&#8221;file&#8221; size=&#8221;50&#8243; onchange=&#8221;addElement()&#8221; name=&#8221;first&#8221;&#62; &#60;/form&#62; &#60;input type=&#8221;button&#8221; value=&#8221;Загрузить&#8221; onclick=&#8221;upform.submit()&#8221;&#62; На форме у нас всего один элемент [...]]]></description>
			<content:encoded><![CDATA[<p>Что я подразумеваю под загрузкой произвольного количества: пользователь выбирает сколько угодно файлов, нажимает кнопку &#8220;загрузить&#8221; и файлы загружаются на сервер и обрабатываются. Новые поля для выбора файлов создаются динамически.</p>
<p><strong>Шаг 1: Создаём форму</strong></p>
<blockquote><p>&lt;form method=&#8221;POST&#8221; id=&#8221;upform&#8221; name=&#8221;upform&#8221; enctype=&#8221;multipart/form-data&#8221;&gt;<br />
&lt;input type=&#8221;file&#8221; size=&#8221;50&#8243; onchange=&#8221;addElement()&#8221; name=&#8221;first&#8221;&gt;<br />
&lt;/form&gt;</p>
<p>&lt;input type=&#8221;button&#8221; value=&#8221;Загрузить&#8221; onclick=&#8221;upform.submit()&#8221;&gt;</p></blockquote>
<blockquote></blockquote>
<p>На форме у нас всего один элемент для загрузки файлов под именем <em>first</em> и назначено событие на изменение(выбор) файла &#8211; <em>addElement()</em>. Кнопка загрузить стоит отдельно от формы, почему сделано именно так будет объяснено далее.</p>
<p><strong>Шаг 2: Создаем javascript функцию динамического добавления нового поля для файла </strong></p>
<blockquote><p>&lt;script&gt;<br />
function addElement() {<br />
var uf = document.getElementById(&#8216;upform&#8217;);</p>
<p>// Создаём новое поле для выбора файла<br />
var newFile = document.createElement(&#8216;input&#8217;);</p>
<p>var fileIdName = &#8216;myFile&#8217;+Math.random(); //Случайное имя</p>
<p>newFile.setAttribute(&#8216;id&#8217;,fileIdName);<br />
newFile.setAttribute(&#8216;name&#8217;,fileIdName);<br />
newFile.setAttribute(&#8216;type&#8217;,'file&#8217;);<br />
newFile.setAttribute(&#8216;size&#8217;,&#8217;50&#8242;);</p>
<p>// при выборе файла данное поле тоже должно добавлять еще одно поле<br />
newFile.setAttribute(&#8216;onChange&#8217;,'addElement()&#8217;);<br />
newFile.onchange = addElement;</p>
<p>uf.appendChild(newFile); // добавляем поле к форме, поле добавится в конец формы, потому мы ранее<br />
// и вынесли кнопку &#8220;загрузить&#8221; за форму &#8211; логичнее она будет смотреться в конце<br />
}<br />
&lt;/script&gt;</p></blockquote>
<p><strong> Шаг 3: Обработка загруженных файлов на сервере</strong></p>
<p>Для обработки файлов на сервере вставляем следующий код:</p>
<blockquote><p>foreach ($_FILES as $file) {</p>
<p>// здесь стандартная обработка загруженных файлов, примеров в интернете полно<br />
// также здесь можно проверять, например, что это динамически добавлненное поле (у нас оно начинается с &#8220;myFile&#8221;)</p>
<p>}</p></blockquote>
<p>Рабочий пример можно посмотреть <a href="http://blog.vovana.com/scripts/multiselect_for_upload.html" target="_blank">здесь</a> (в примере опущено enctype=&#8221;multipart/form-data&#8221;).</p>
<p>Код написан для админки одного из сайтов фирмы Бош, он не идеален (например если два раза выбрать файл в первом поле, то будет два пустых поля), но это не сложно добавить самим <img src='http://blog.vovana.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Гарантированно работает в <em>Firefox</em>, <em>IE</em>, <em>Opera</em>. Удачного кодинга!</p>
<p><strong>UPDATE:</strong> по просьбе выкладываю серверную часть загрузки файлов<span id="more-100"></span></p>
<p><strong>Шаг 3.1: </strong><strong>Обработка загруженных файлов на сервере (код)</strong></p>
<p>Вот приблизительный код(урезанный), который я использую. Имейте в виду что код используется строго в админке, по этому в паблик доступе с безопасностью могут быть проблемы <img src='http://blog.vovana.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<blockquote><p> $upload_path         = $_SERVER['DOCUMENT_ROOT'].&#8221;/uploads&#8221;;<br />
$valid_types         = array(<br />
&#8220;pdf&#8221;, &#8216;doc&#8217;, &#8216;txt&#8217;, &#8216;jpg&#8217;,'xls&#8217;,'gif&#8217;,'png&#8217;,'zip&#8217;,'rar&#8217;<br />
);<br />
$max_file_size        = &#8220;10000000&#8243;;</p>
<p>if (sizeof($_FILES)&gt;0) {<br />
$errors = array();</p>
<p>foreach ($_FILES as $file) {<br />
if (strlen($file["name"])&lt;=0)<br />
continue;<br />
if (is_uploaded_file($file['tmp_name'])) {<br />
$filename = $file['tmp_name'];<br />
$ext = substr($file['name'], 1 + strrpos($file['name'], &#8220;.&#8221;));<br />
$ext = strtolower($ext);<br />
$name = $file['name'];<br />
if (file_exists($upload_path.$name)) {<br />
$errors[$name] = &#8220;\nТакой файл уже существует&#8221;;<br />
} elseif (filesize($filename) &gt; $max_file_size) {<br />
$errors[$name] = &#8220;\nРазмер файла больше 10 мегабайт&#8221;;<br />
} elseif (!in_array($ext, $valid_types)) {<br />
$errors[$name] = &#8220;\nНе верный тип файла. &#8220;;<br />
} else {<br />
$size =$file['size'];<br />
if (@move_uploaded_file($filename, $upload_path.$name)) {<br />
// Здесь запись в базу, если необходимо<br />
} else {<br />
$errors[$name] = &#8220;\nОшибка перемещения файла. &#8220;;<br />
}</p>
<p>}<br />
} else {<br />
$errors[$name] = &#8220;\nНеобходимо выбрать правильный файл.&#8221;;<br />
}<br />
}<br />
}</p></blockquote>
<p>Небольшие комментарии:</p>
<ul>
<li>в  $errors падают ошибки загрузки файлов</li>
<li>в коде проверяются ТОЛЬКО расширения по списку ($valid_types), но не реальныйтип файла</li>
<li>и да &#8211; 10 мегабайт, не 10000000 байт, я в курсе <img src='http://blog.vovana.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.vovana.com/telezka-s/zagruzka-proizvolnogo-kolichesva-fajlov-na-server/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Накрутка счетчика Feedburner: Попытка №2</title>
		<link>http://blog.vovana.com/telezka-s/nakrutka-schetchika-feedburner-popytka-2/</link>
		<comments>http://blog.vovana.com/telezka-s/nakrutka-schetchika-feedburner-popytka-2/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 10:27:00 +0000</pubDate>
		<dc:creator>vovan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Дележка опытом]]></category>
		<category><![CDATA[Идеи]]></category>
		<category><![CDATA[Разработка]]></category>
		<category><![CDATA[feedburner]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[накрутка]]></category>
		<category><![CDATA[счетчик]]></category>

		<guid isPermaLink="false">http://blog.vovana.com/2008/01/09/78</guid>
		<description><![CDATA[Не так давно я писал про свой эксперимент по накрутке счетчика Feedburner. Первая попытка провалилась с треском. Я почему-то наивно решил что feedburner можно &#8220;сделать&#8221; в тупую, в лоб. Не тут-то было. Раскрою секрет первой попытки(фактически это не секрет ): я взял список бесплатных анонимных и не анонимных proxy-серверов, и через сокеты, тунелем через прокси [...]]]></description>
			<content:encoded><![CDATA[<p>Не так давно я писал про свой <a href="http://blog.vovana.com/2007/12/19/69" target="_blank">эксперимент по накрутке счетчика Feedburner</a>. Первая попытка провалилась с треском. Я почему-то наивно решил что <strong>feedburner</strong> можно &#8220;сделать&#8221; в тупую, в лоб. Не тут-то было.</p>
<p>Раскрою секрет первой попытки(фактически это не секрет <img src='http://blog.vovana.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ): я взял список бесплатных анонимных и не анонимных proxy-серверов, и через сокеты, тунелем через прокси тянул rss-фиды. Еще один нюанс был там, но до этого вы можете додуматься и сами <img src='http://blog.vovana.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Так вот &#8211; позавчера мной был проведен второй, улучшенный эксперимент. За основу была взята идея <a href="http://blog.vovana.com/2007/12/19/69" target="_blank">первой попытки</a>, но код полностью переписан (начитался в инете статей + свои мысли реализовал).</p>
<p>В качестве &#8220;жертв&#8221; эксперимента были взяты блоги-новички, у которых на счетчике 1-5 подписчиков.</p>
<p>Тянуть резину не буду &#8211; результат нулевой. Точнее на одном из блогов счетчик прыгнул с 2 до 8-ми, но по моим расчетам он должен был подняться до 30-50.</p>
<p>Получается что я пытался &#8220;сделать&#8221; фидбернер, а он вывернулся и сам пристроился сзади <img src='http://blog.vovana.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Есть, конечно, еще идеи (и свои и чужие), но что-то мне подсказывает что через прокси сделать это непросто &#8211; гугл тоже не дурак и в любом случае мониторит бесплатные прокси для своего Adsense и скорее всего система там единая уже с Feedburner и Analytics.</p>
<p>Толи еще будет&#8230;</p>
<p>&#8211;</p>
<p>Между прочим:<span id="more-78"></span></p>
<p>приобрел себе на работу вот такие вот гламурные наушники <img src='http://blog.vovana.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://blog.vovana.com/wp-content/uploads/2008/01/naushniki.jpg" title="Меховые наушники A4Tech HS-60"><img src="http://blog.vovana.com/wp-content/uploads/2008/01/naushniki.jpg" alt="Меховые наушники A4Tech HS-60" /></a></p>
<p>Эти &#8220;меховые&#8221; подкладки можно сменить на классические, &#8220;кожанные&#8221;. Очень удобно лежат на ушах и голове, вон та кожанная штука под железной дугой &#8211; очень мягко лежит на голове. Т.е. наушники не чувствуются и не жмут.</p>
<p>Единственно что какаха в этих наушниках &#8211; это микрофон. Он не жесткий, а на мягкой проволоке, постоянно гнуть приходится.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vovana.com/telezka-s/nakrutka-schetchika-feedburner-popytka-2/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>PDT &#8211; Редактор PHP</title>
		<link>http://blog.vovana.com/soft/pdt-redaktor-php/</link>
		<comments>http://blog.vovana.com/soft/pdt-redaktor-php/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 14:03:26 +0000</pubDate>
		<dc:creator>vovan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Программы]]></category>
		<category><![CDATA[Разработка]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[zend]]></category>
		<category><![CDATA[кодинг]]></category>
		<category><![CDATA[программа]]></category>
		<category><![CDATA[редактор]]></category>

		<guid isPermaLink="false">http://blog.vovana.com/2007/12/27/74</guid>
		<description><![CDATA[Давным давно я пытался настроить Eclipse под свои пхп-шные нужды. Накачал плагинов, начал лепить &#8211; с ходу не получилось, а надо было срочно работать. Взял Zend(ZDE) и все время писал в нем. Ну и основной гемор был в том что редактировать-то мне нравилось в Zend, а поливать и синхронизить под CVS &#8211; в Eclipse. Но [...]]]></description>
			<content:encoded><![CDATA[<p>Давным давно я пытался настроить <strong>Eclipse </strong>под свои пхп-шные нужды. Накачал плагинов, начал лепить &#8211; с ходу не получилось, а надо было срочно работать. Взял <strong>Zend(ZDE)</strong> и все время писал в нем.</p>
<p>Ну и основной гемор был в том что редактировать-то мне нравилось в Zend, а поливать и синхронизить под CVS &#8211; в Eclipse.</p>
<p>Но вчера я открыл для себя маленькую америку <img src='http://blog.vovana.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  С прошлого года комманда Eclipse начала выпускать сборку, уже заточенную под пхп кодеров. Назвали все это дело <strong>&#8220;PDT</strong>&#8221; в сборке уже установленые все плагины, которые необходимы для разработки: подсветка синтаксиса, автодополнение (по контрол+пробелу), навороченный редактор SQL, XML и т.д. и т.п.</p>
<p>Я думаю штука достойна внимания, попробую пользовать &#8211; там увидим!</p>
<p><a href="http://download.eclipse.org/tools/pdt/downloads/">http://download.eclipse.org/tools/pdt/downloads/</a> (120 mb)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vovana.com/soft/pdt-redaktor-php/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Анти-спам защита WordPress: не опять, а снова</title>
		<link>http://blog.vovana.com/ideazz/anti-spam-zashhita-wordpress-ne-opyat-a-snova/</link>
		<comments>http://blog.vovana.com/ideazz/anti-spam-zashhita-wordpress-ne-opyat-a-snova/#comments</comments>
		<pubDate>Tue, 13 Nov 2007 11:20:09 +0000</pubDate>
		<dc:creator>vovan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Идеи]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[защита от спама]]></category>
		<category><![CDATA[спам]]></category>

		<guid isPermaLink="false">http://blog.vovana.com/2007/11/13/45</guid>
		<description><![CDATA[Не так давно, с неделю как, мне пришла идея о защите от спама блога wordpress. Об этом уже говорено-наговорено, но своего метода я еще не видел и про него не слышал. Идея проста: банально не показывать спам-боту форму отправки комментария. Реализация: Форма подгружается через AJAX, например через onload тега &#60;body&#62; (возможно другие варианты) Имена всех [...]]]></description>
			<content:encoded><![CDATA[<p>Не так давно, с неделю как, мне пришла идея о защите от спама блога wordpress. Об этом уже говорено-наговорено, но своего метода я еще не видел и про него не слышал.</p>
<p>Идея проста:  банально не показывать спам-боту форму отправки комментария.</p>
<p>Реализация:<span id="more-45"></span></p>
<ol>
<li>Форма подгружается через AJAX, например через onload тега &lt;body&gt; (возможно другие варианты)</li>
<li>Имена всех элементов формы генярятся случайным образом, вида &#8220;4jlfd8hewrkvf8df7&#8243; и каждый раз разные ,чтобы бот не спамил напрямую через скрипт</li>
</ol>
<p>Достоинства:</p>
<ul>
<li>не нужно использовать каптчу, что удобно для посетителей</li>
<li>по логике пробить такую защиту бот не сможет</li>
<li>идея применима не только для WordPress-a</li>
</ul>
<p>Недостатки:</p>
<ul>
<li>возможная несовместимость с существующими плагинами, например &#8220;древовидные комментарии&#8221;</li>
<li>AJAX требует включенного Javascript</li>
</ul>
<p>Что скажете? Я погуглил-пояндексил &#8211; похожего не нашел. Если есть &#8211; дайте ссылку, буду благодарен за своё сэкономленное время <img src='http://blog.vovana.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vovana.com/ideazz/anti-spam-zashhita-wordpress-ne-opyat-a-snova/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Греббер с bash.org.ru + плагин для WordPress</title>
		<link>http://blog.vovana.com/dev-god/grebber-s-bashorgru-plagin-dlya-wordpress/</link>
		<comments>http://blog.vovana.com/dev-god/grebber-s-bashorgru-plagin-dlya-wordpress/#comments</comments>
		<pubDate>Sat, 03 Nov 2007 15:18:40 +0000</pubDate>
		<dc:creator>vovan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Разработка]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[плагин]]></category>

		<guid isPermaLink="false">http://blog.vovana.com/2007/11/03/40</guid>
		<description><![CDATA[От нечего делать и практики ради &#8211; решил написать небольшой скрипт который грабит записи с БОРа и пихает их в базу. Скрипт был написан где-то за пол часа и представляет из себя следующую штуку: берется контент с главной страницы выбираются все записи (обычно их там 95 на странице) каждая запись проверяется есть ли она в [...]]]></description>
			<content:encoded><![CDATA[<p>От нечего делать и практики ради &#8211; решил написать небольшой скрипт который <strong>грабит записи</strong> с БОРа и пихает их в базу. Скрипт был написан где-то за пол часа и представляет из себя следующую штуку:</p>
<ul>
<li>берется контент с главной страницы</li>
<li>выбираются все записи (обычно их там 95 на странице)</li>
<li>каждая запись проверяется есть ли она в базе по айди, который указан там на сайте</li>
<li>если записи нет, то добавляем её</li>
</ul>
<p>Данный скрипт нужно вешать на cron с интервалом &#8211; 2-3 раза в день, при этом с каждым днем ваша собственная база цитат будет автоматически наращиваться;)</p>
<p>Структура теблицы БД, её нужно создать вручную:<span id="more-40"></span></p>
<p>CREATE TABLE `bash_quotes` (<br />
`id` int(11) unsigned NOT NULL auto_increment,<br />
`bash_id` int(11) NOT NULL,<br />
`text` longtext NOT NULL,<br />
PRIMARY KEY  (`id`)<br />
) ENGINE=MyISAM AUTO_INCREMENT=96 ;</p>
<p>Таблица должна быть с кодировкой UTF8, иначе причется патчить скрипт.</p>
<p>Можно скачать <a href="http://blog.vovana.com/scripts/bash_quotes.sql.zip">дамп базки</a>  в которой уже есть немного цитат.</p>
<p>Так как скрипт сам по себе никакой особой пользы не несет, то в нагрузку к нему был разработан <strong>плагин для WordPress</strong>, который доабвляет случайные цитаты в тело сообщения, либо в указанное в темплейте месте.</p>
<p>Для того чтобы вывести запись в теле сообщения, нужно добавить в любом месте поста код [ BASH.QUOTE], этот код будет автоматически заменен случайной записью из БОРа. Пример использования вы можете посмотреть в конце этого поста &#8211; при обновлении страницы прикол будет меняться.</p>
<p>Есть три момента:</p>
<ol>
<li> [ BASH.QUOTE] заменяется только одной записью при загрузке страницы, т.е. если вы поставите 5 штук [ BASH.QUOTE] на странице, то все они будут заменены одним и тем же приколом;</li>
<li>Выдача может повторяться &#8211; так как это рандом, а не шаффл;</li>
<li>Ну и последнее -между [ и BASH.QUOTE] пробел не нужен (если бы я написал без пробела &#8211; везде в тексте торчали бы приколы <img src='http://blog.vovana.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</li>
</ol>
<p>Второй способ встроить цитату, это добавить код &lt;?php bash_rand_quote() ?&gt; в любое месте шаблона. Здесь ситуация иная &#8211; каждый такой кусок кода будет заменен своей случайной записью из базки. Пример этого можно посмотреть на этом же блоге, в правом нижнем углу заголовок &#8220;bash.live&#8221;, для этого редактировался файл footer.php в папке шаблона.</p>
<p>Исходники обоих скриптов можно скачать одним архивом: <a href="http://blog.vovana.com/scripts/bash.zip">bash.zip</a>.</p>
<p>В архиве два файла:</p>
<p>bash_grabber.php &#8211; граббер который вешаем на крон, в нем нужно настроить доступ к БД</p>
<p>bash_org_ru.php &#8211; <strong>плагин для WordPress</strong> &#8211; небходимо скопировать в папку plugins и активировать в админке.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Прошел популярный сейчас тест (слабо, думал будет больше):</p>
<p><a href="http://www.corp.mamba.ru/test/promo.phtml"><img src="http://www.corp.mamba.ru/test/widget.phtml?id=1998" border="0" /></a></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Случайная цитата с <a href="http://bash.org.ru" target="_blank">bash.org.ru</a>:</p>
<p>Randy: что там сейчас интересного рассказывают?<br>Подружка Гарри: что-то наш преподаватель по криптографии вторую субботу не появляется )<br>Randy: шифруется</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vovana.com/dev-god/grebber-s-bashorgru-plagin-dlya-wordpress/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

