<?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>Q-Zma&#039;s Burrow &#187; PHP</title>
	<atom:link href="http://q-zma.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://q-zma.com</link>
	<description>дневник педантичного отморозка</description>
	<lastBuildDate>Wed, 04 Jan 2012 13:07:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Добавляем CKFinder к модулю FCKEditor для Drupal</title>
		<link>http://q-zma.com/2009-10-19-dobavlyaem-ckfinder-k-modulyu-fckeditor-dlya-drupal/</link>
		<comments>http://q-zma.com/2009-10-19-dobavlyaem-ckfinder-k-modulyu-fckeditor-dlya-drupal/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 10:56:16 +0000</pubDate>
		<dc:creator>Q-Zma</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://q-zma.com/?p=821</guid>
		<description><![CDATA[В процессе создания одного сайта столкнулся с отсутствием поддержки CKFinder в модуле FCKEditor для Drupal. Поковырявшись в интернетах и исходниках модуля, состряпал следующее решение это проблемы: В settings.php вашего сайта (обычно этот файл находится здесь: sites/default/settings.php) найдите и раскомментируйте параметр $cookie_domain (если он закомментирован, конечно, в случае, если он уже раскомментирован — убедитесь, что его [...]]]></description>
			<content:encoded><![CDATA[<p>В процессе создания одного сайта столкнулся с отсутствием поддержки <a href=http://ckfinder.com"">CKFinder</a> в модуле <a href="http://drupal.org/project/fckeditor">FCKEditor</a> для <a href="http://drupal.org">Drupal</a>.</p>
<p>Поковырявшись в интернетах и исходниках модуля, состряпал следующее решение это проблемы:</p>
<ol>
<li>В <code>settings.php</code>  вашего сайта (обычно этот файл находится здесь: <code>sites/default/settings.php</code>) найдите и раскомментируйте параметр <code>$cookie_domain</code> (если он закомментирован, конечно, в случае, если он уже раскомментирован — убедитесь, что его значение корректно). Если этот параметр не будет установлен или будет установлен неверно, то FCKEditor откажется загружать CKFinder под предлогом, что браузер файлов отключен.</li>
<li>Скачайте дистрибутив CKFinder и распакуйте его в директорию модуля.</li>
<li>Откройте файл <code>fckeditor.config.js</code> в корневой директории модуля и добавьте в конец следующие строки:
<pre class="brush: jscript; title: ; notranslate">
FCKConfig.LinkBrowserURL = '/ckfinder/ckfinder.html';
FCKConfig.ImageBrowserURL = '/ckfinder/ckfinder.html?type=Images';
FCKConfig.FlashBrowserURL = '/ckfinder/ckfinder.html?type=Flash';
FCKConfig.LinkUploadURL = '/ckfinder/core/connector/php/connector.php?command=QuickUpload&amp;type=Files';
FCKConfig.ImageUploadURL = '/ckfinder/core/connector/php/connector.php?command=QuickUpload&amp;type=Images';
FCKConfig.FlashUploadURL = '/ckfinder/core/connector/php/connector.php?command=QuickUpload&amp;type=Flash';
</pre>
</li>
<li>Откройте файл <code>fckeditor.module</code>, найдите следующие строки:
<pre class="brush: php; title: ; notranslate">
if ($advanced_uploads) {
  $js .= $js_id .&quot;.Config['LinkBrowserURL'] = \&quot;&quot;. $module_full_path .&quot;/fckeditor/editor/filemanager/browser/default/browser.html?Connector=&quot;. $connector_path .&quot;&amp;ServerPath=&quot;. $files_path .&quot;\&quot;;
  &quot;. $js_id .&quot;.Config['ImageBrowserURL'] = \&quot;&quot;. $module_full_path .&quot;/fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&amp;Connector=&quot;. $connector_path .&quot;&amp;ServerPath=&quot;. $files_path .&quot;\&quot;;
  &quot;. $js_id .&quot;.Config['FlashBrowserURL'] = \&quot;&quot;. $module_full_path .&quot;/fckeditor/editor/filemanager/browser/default/browser.html?Type=Flash&amp;Connector=&quot;. $connector_path .&quot;&amp;ServerPath=&quot;. $files_path .&quot;\&quot;;\n&quot;;
}
</pre>
<p>и замените их на:</p>
<pre class="brush: php; title: ; notranslate">
if ($advanced_uploads) {
  $js .= $js_id.&quot;.Config['LinkBrowserURL'] = '&quot;.$module_full_path.&quot;/ckfinder/ckfinder.html';
  &quot;.$js_id.&quot;.Config['ImageBrowserURL'] = '&quot;.$module_full_path.&quot;/ckfinder/ckfinder.html?type=Images';
  &quot;.$js_id.&quot;.Config['FlashBrowserURL'] = '&quot;.$module_full_path.&quot;/ckfinder/ckfinder.html?type=Flash';\n&quot;;
}
</pre>
</li>
<li>Откройте файл <code>ckfinder/config.php</code>, найдите пустую функцию <code>CheckAuthentication</code> и замените её:
<pre class="brush: php; title: ; notranslate">
function CheckAuthentication () {
  static $authenticated;
  if (!isset($authenticated)) {
    $drupal_path = &quot;../../../&quot;;
    if(!file_exists($drupal_path . &quot;/includes/bootstrap.inc&quot;)) {
      $drupal_path = &quot;../..&quot;;
      do {
        $drupal_path .= &quot;/..&quot;;
        $depth = substr_count($drupal_path, &quot;..&quot;);
      }
      while(!($bootstrapFileFound = file_exists($drupal_path . &quot;/includes/bootstrap.inc&quot;)) &amp;&amp; $depth&lt;10);
    }
    if (!isset($bootstrapFileFound) || $bootstrapFileFound) {
      $cwd = getcwd();
      chdir($drupal_path);
      require_once &quot;./includes/bootstrap.inc&quot;;
      drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
      $authenticated = user_access(&quot;allow fckeditor file uploads&quot;);
      chdir($cwd);
    }
  }
  return $authenticated;
}
$config['Enabled'] = CheckAuthentication();
</pre>
<p>далее найдите параметр <code>$baseUrl</code> и установите его значение:</p>
<pre class="brush: php; title: ; notranslate">
$baseUrl = '/' . file_directory_path() . '/';
</pre>
</li>
<li>Enjoy.</li>
</ol>
<p>К сожалению, сайт некого <strong>voyageur</strong>, автора оригинального решения, на котором базируется моё, в настоящий момент в дауне, поэтому ссылку не привожу.</p>
]]></content:encoded>
			<wfw:commentRss>http://q-zma.com/2009-10-19-dobavlyaem-ckfinder-k-modulyu-fckeditor-dlya-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Перевод FeedWordPress 2009.0707</title>
		<link>http://q-zma.com/2009-08-11-perevod-feedwordpress-2009-0707/</link>
		<comments>http://q-zma.com/2009-08-11-perevod-feedwordpress-2009-0707/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 21:42:34 +0000</pubDate>
		<dc:creator>Q-Zma</dc:creator>
				<category><![CDATA[FeedWordPress]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://q-zma.com/?p=807</guid>
		<description><![CDATA[В&#160;процессе работы над одним проектом возникла необходимость создать агрегатор RSS лент. Порыскав по просторам интернетов, нашёл офигенный плагин для WordPress&#160;— FeedWordPress. Одна беда&#160;— автор, как и многие забугорные разработчики, позабыл, что в мире существует огромный пласт людей, которые разговаривают (а иногда даже читают и пишут) на языках отличных от английского. После нескольких дней ковыряния в [...]]]></description>
			<content:encoded><![CDATA[<p>В&nbsp;процессе работы над одним проектом возникла необходимость создать агрегатор RSS лент. Порыскав по просторам интернетов, нашёл офигенный плагин для WordPress&nbsp;— <a href="http://feedwordpress.radgeek.com/">FeedWordPress</a>. Одна беда&nbsp;— автор, как и многие забугорные разработчики, позабыл, что в мире существует огромный пласт людей, которые разговаривают (а иногда даже читают и пишут) на языках отличных от английского. После нескольких дней ковыряния в исходниках и натравливания штатных вордпрессовских тулзей для переводчиков, удалось выковырять все языкозависимые строки и сгенерировать gettext шаблон.</p>
<p>Адаптированную для перевода версию можно скачать <a href="http://q-zma.com/wp-content/uploads/2009/08/feedwordpress-2009.0707-russian.zip">здеся</a>. Архив комплектуется gettext шаблоном, а так же альфа-версией русского перевода, так что по поводу качества русификации просьба не пинать, если есть конкретные дельные предложения по переводу&nbsp;—&nbsp;предлагать.</p>
]]></content:encoded>
			<wfw:commentRss>http://q-zma.com/2009-08-11-perevod-feedwordpress-2009-0707/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Полезные модули Drupal для client side разработчика</title>
		<link>http://q-zma.com/2009-05-26-poleznyie-moduli-drupal-dlya-client-side-razrabotchika/</link>
		<comments>http://q-zma.com/2009-05-26-poleznyie-moduli-drupal-dlya-client-side-razrabotchika/#comments</comments>
		<pubDate>Tue, 26 May 2009 08:44:11 +0000</pubDate>
		<dc:creator>Q-Zma</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://q-zma.com/?p=591</guid>
		<description><![CDATA[Так как я являюсь большим поклонником jQuery и Drupal, хочу рассказать о нескольких модулях, которые могут значительно облегчить создание высококачественных веб-приложений с использованием этой связки. jQuery Update Как вы наверняка знаете — jQuery в Drupal является основной javascript-библиотекой, однако, в связи с тем, что Drupal содержит довольно много зависящих от jQuery фишек, обновлять библиотеку в [...]]]></description>
			<content:encoded><![CDATA[<p>Так как я являюсь большим поклонником <a href="http://jquery.com">jQuery</a> и <a href="http://drupal.org/">Drupal</a>, хочу рассказать о нескольких модулях, которые могут значительно облегчить создание высококачественных веб-приложений с использованием этой связки.</p>
<h3><a href="http://drupal.org/project/jquery_update">jQuery Update</a></h3>
<p>Как вы наверняка знаете — jQuery в Drupal является основной javascript-библиотекой, однако, в связи с тем, что Drupal содержит довольно много зависящих от jQuery фишек, обновлять библиотеку в ядре с каждым минорным релизом Drupal у сообщества не принято. Но, так как почти каждый релиз jQuery совершает маленькую революцию, некоторые из членов сообщества озаботились актуальностью версии библиотеки, и в помощь революционерам был создан модуль jQuery Update. Для того, чтобы использовать самые последние возможности jQuery — установите и активируйте этот модуль. Для 5-ой версии Drupal потребуются некоторые дополнительные телодвижения типа замены кое-каких файлов в ядре, в 6-ой же версии всё начинает функционировать сразу после активации модуля.</p>
<h3><a href="http://drupal.org/project/jquery_ui">jQuery UI</a></h3>
<p>Этот модуль является обёрткой для интеграции <a href="http://jqueryui.com/">jQuery UI</a> — библиотеки компонентов для разработки пользовательских инетрфейсов. Сам по себе модуль не содержит дистрибутива jQuery UI, поэтому после его установки вам потребуется установить девелоперский дистрибутив jQuery UI, подробные инструкции смотрите в <code>README.txt</code>. После установки и активации у вас появится возможность разрабатывать модули, которые используют какие-либо компоненты jQuery UI, подробности, опять же, смотрите в <code>README.txt</code>.</p>
<h3><a href="http://drupal.org/project/jquery_plugin">jQuery plugins</a></h3>
<p>jQuery — довольно популярная библиотека, благодаря большому сообществу существуют тысячи плагинов реализующих ту или иную функциональность, зачем изобретать велосипед, если что-то уже было реализовано до вас? Конечно, если вы не начинающий web-разработчик, как известно, каждый начинающий должен изобрести какое-то количество велосипедов :). Данный модуль предназначен для централизованного хранения и использования плагинов jQuery, подробности как всегда смотрите в <code>README.txt</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://q-zma.com/2009-05-26-poleznyie-moduli-drupal-dlya-client-side-razrabotchika/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Перевод темы Sandbox для WordPress</title>
		<link>http://q-zma.com/2009-05-12-perevod-temyi-sandbox-dlya-wordpress/</link>
		<comments>http://q-zma.com/2009-05-12-perevod-temyi-sandbox-dlya-wordpress/#comments</comments>
		<pubDate>Tue, 12 May 2009 20:41:53 +0000</pubDate>
		<dc:creator>Q-Zma</dc:creator>
				<category><![CDATA[Open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[sandbox]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[translation]]></category>

		<guid isPermaLink="false">http://q-zma.com/?p=282</guid>
		<description><![CDATA[Перевёл на досуге тему Sandbox для WordPress на русский, может кому пригодится — брать здеся. Просто распакуйте архив в директорию темы.]]></description>
			<content:encoded><![CDATA[<p>Перевёл на досуге тему <a title="A WordPress theme rich with powerful, dynamic semantic class selectors" href="http://code.google.com/p/sandbox-theme/">Sandbox</a> для WordPress на русский, может кому пригодится — <a href="http://q-zma.com/wp-content/uploads/2009/05/sandbox-16-ru_ru.zip">брать здеся</a>. Просто распакуйте архив в директорию темы.</p>
]]></content:encoded>
			<wfw:commentRss>http://q-zma.com/2009-05-12-perevod-temyi-sandbox-dlya-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка memcache для PHP в Windows</title>
		<link>http://q-zma.com/2009-05-12-ustanovka-memcache-dlja-php-v-windows/</link>
		<comments>http://q-zma.com/2009-05-12-ustanovka-memcache-dlja-php-v-windows/#comments</comments>
		<pubDate>Tue, 12 May 2009 12:32:25 +0000</pubDate>
		<dc:creator>Q-Zma</dc:creator>
				<category><![CDATA[Open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[memcache]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://q-zma.com/?p=250</guid>
		<description><![CDATA[Установка демона memcached Скачиваем скопиленную win32 версию отсюда. Устанавливаем сервис memcache: Распакуйте скачанное в директорию, куда мы хотим установить memcached, например в c:\memcached (по идее там должен быть один файл — memcached.exe). Если вы счастливый пользователь Windows Vista, то вы не забудьте поставить галочку напротив «Run this program as an administrator» во вкладке compatibility в [...]]]></description>
			<content:encoded><![CDATA[<h3>Установка демона memcached</h3>
<ol>
<li>Скачиваем скопиленную win32 версию <a href="http://code.jellycan.com/memcached/">отсюда</a>.</li>
<li>Устанавливаем сервис memcache:
<ul>
<li>Распакуйте скачанное в директорию, куда мы хотим установить memcached, например в <code>c:\memcached</code> (по идее там должен быть один файл — <code>memcached.exe</code>).</li>
<li>Если вы счастливый пользователь Windows Vista, то вы не забудьте поставить галочку напротив «Run this program as an administrator» во вкладке compatibility в свойствах исполняемого файла.</li>
<li>Установите сервис из командной строки: <code>c:\memcached\memcached.exe -d install</code>.</li>
<li>Запустите сервер из Microsoft Management Console или из командной строки одной из следующих команд: <code>c:\memcached\memcached.exe -d start</code> или <code>net start "memcached Server"</code>.</li>
</ul>
</li>
</ol>
<h3>Установка расширения PHP для работы с memcache</h3>
<ol>
<li>Загляните в директорию расширений PHP (обычно это что-то типа: <code>C:\php\ext</code>) и попытайтесь там найти файл <code>php_memcache.dll</code>, если вам не повезло его обнаружить, то попробуйте его найти в одном из нижеперечиленных мест:
<ul>
<li><a href="http://downloads.php.net/pierre/">downloads.php.net/pierre/</a></li>
<li><a href="http://www.pureformsolutions.com/pureform.wordpress.com/2008/06/17/php_memcache.dll">www.pureformsolutions.com/…</a> для PHP 5.2.x</li>
<li><a href="http://kromann.info/download.php?strFolder=php5_1-Release_TS&amp;strIndex=PHP5_1">http://kromann.info/…</a> для PHP 5.1.x</li>
<li><a href="http://pecl4win.php.net/ext.php/php_memcache.dll/">pecl4win.php.net/ext.php/php_memcache.dll</a></li>
</ul>
</li>
<li>Теперича нужно подправить конфигурационный файл php:
<pre class="brush: plain; light: true; title: ; notranslate">extension=php_memcache.dll</pre>
</li>
<li>Перезапускаем apache.</li>
<li>Пробуем:
<pre class="brush: php; title: ; notranslate">
&lt;?php
$memcache = new Memcache;
$memcache-&gt;connect(&quot;localhost&quot;,11211); # You might need to set &quot;localhost&quot; to &quot;127.0.0.1&quot;
echo &quot;Server's version: &quot; . $memcache-&gt;getVersion() . &quot;\n&quot;;
$tmp_object = new stdClass;
$tmp_object-&gt;str_attr = &quot;test&quot;;
$tmp_object-&gt;int_attr = 123;
$memcache-&gt;set(&quot;key&quot;, $tmp_object, false, 10);
echo &quot;Store data in the cache (data will expire in 10 seconds)\n&quot;;
echo &quot;Data from the cache:\n&quot;;
var_dump($memcache-&gt;get(&quot;key&quot;));
?&gt;
</pre>
</li>
</ol>
<p>Если вы не видите ошибок, значит всё в порядке, вы уже юзаете memcache!</p>
<h3>Настройки демона</h3>
<p>По умолчанию memcached использует 64 мегабайта памяти, такого количества памяти может быть недостаточно для большинства веб-приложений. Для того, чтобы изменить количество используемой демоном памяти вам придётся поковыряться в реестре: <code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server</code>, найдите ключ <code>ImagePath</code> и измените его значение:</p>
<pre class="brush: plain; light: true; title: ; notranslate">C:\memcached\memcached.exe” -d runservice -m 512</pre>
<p>Теперь, когда вы перезапустите memcached, он будет использовать 512 мегабайт памяти.</p>
<p>Эта статья — вольный перевод, оригинал: <a href="http://pureform.wordpress.com/2008/01/10/installing-memcache-on-windows-for-php/">Installing memcache on Windows for PHP</a></p>
]]></content:encoded>
			<wfw:commentRss>http://q-zma.com/2009-05-12-ustanovka-memcache-dlja-php-v-windows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

