<?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>Блог Курского ITшника</title>
	<atom:link href="http://alllexe.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://alllexe.com</link>
	<description>Цель ничто, процесс все</description>
	<lastBuildDate>Mon, 10 Jan 2011 13:56:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>php функция substr не работает с utf-8</title>
		<link>http://alllexe.com/2011/01/php-funkciya-substr-ne-rabotaet-s-utf-8/</link>
		<comments>http://alllexe.com/2011/01/php-funkciya-substr-ne-rabotaet-s-utf-8/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 13:44:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://alllexe.com/?p=743</guid>
		<description><![CDATA[В продолжении серии тем про utf-8 (Кодировка utf-8 при отладке проекта в NetBeans, php функция перекодировки из windows-1251 в utf-8) Warning. Столкнулся сегодня с такой проблемой. Если вы делаете проект в utf-8 используйте mbstring функции вместо обычных string функций PHP. &#8230; <a href="http://alllexe.com/2011/01/php-funkciya-substr-ne-rabotaet-s-utf-8/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>В продолжении серии тем про utf-8 (<a href="http://alllexe.com/2011/01/kodirovka-utf-8-pri-otladke-proekta-v-netbeans/">Кодировка utf-8 при отладке проекта в NetBeans</a>, <a href="http://alllexe.com/2011/01/php-funkciya-perekodirovki-iz-windows-1251-v-utf-8/">php функция перекодировки из windows-1251 в utf-8</a>)<br />
<strong><span style="color: #ff0000;">Warning</span></strong>. Столкнулся сегодня с такой проблемой. Если вы делаете проект в utf-8 используйте mbstring функции вместо обычных string функций PHP. Иначе можно потом долго искать баг. Для включения mbstring расскоментируйте в php.ini строчку</p>
<pre>extension=php_mbstring.dll</pre>
]]></content:encoded>
			<wfw:commentRss>http://alllexe.com/2011/01/php-funkciya-substr-ne-rabotaet-s-utf-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Кодировка utf-8 при отладке проекта в NetBeans</title>
		<link>http://alllexe.com/2011/01/kodirovka-utf-8-pri-otladke-proekta-v-netbeans/</link>
		<comments>http://alllexe.com/2011/01/kodirovka-utf-8-pri-otladke-proekta-v-netbeans/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 11:56:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://alllexe.com/?p=741</guid>
		<description><![CDATA[Ранее я уже писал о том как настроить отладку проекта в CodeIgniter используя NetBeans. Сегодня расскажу о другой проблеме. Если наш проект сделан в кодировке utf-8, то при отладке в NetBeans, вместо значений переменных (к примеру переданных через post) мы &#8230; <a href="http://alllexe.com/2011/01/kodirovka-utf-8-pri-otladke-proekta-v-netbeans/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ранее я уже писал о том <a href="http://alllexe.com/2010/12/nastrojka-otladki-v-proekte-na-codeigniter/">как настроить отладку проекта в CodeIgniter используя NetBeans</a>. Сегодня расскажу о другой проблеме. Если наш проект сделан в кодировке utf-8, то при отладке в NetBeans, вместо значений переменных (к примеру переданных через post) мы увидим крякозябры <img src='http://alllexe.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Для того, чтобы при отладке в NetBeans переданные в utf-8 переменные отображались в отладчике нормально, необходимо научить NetBeans понимать кодировку utf-8.<span id="more-741"></span><br />
Для этого открываем в папке NetBeans в папке etc файл netbeans.conf. В нем находим секцию:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">netbeans_default_options=&quot;-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true&quot;</pre></div></div>

<p>И дописываем в нее строчку -J-Dfile.encoding=UTF-8<br />
В результате должно получиться:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">netbeans_default_options=&quot;-J-Dfile.encoding=UTF-8 -J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true&quot;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://alllexe.com/2011/01/kodirovka-utf-8-pri-otladke-proekta-v-netbeans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php функция перекодировки из windows-1251 в utf-8</title>
		<link>http://alllexe.com/2011/01/php-funkciya-perekodirovki-iz-windows-1251-v-utf-8/</link>
		<comments>http://alllexe.com/2011/01/php-funkciya-perekodirovki-iz-windows-1251-v-utf-8/#comments</comments>
		<pubDate>Sat, 08 Jan 2011 18:05:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://alllexe.com/?p=738</guid>
		<description><![CDATA[iconv к сожалению работает не всегда корректно. Ниже приведенная функция может заменить стандартную iconv для перекодировки в utf-8. function win2utf&#40;$str&#41; &#123; static $table = array&#40; &#34;\xA8&#34; =&#62; &#34;\xD0\x81&#34;, &#34;\xB8&#34; =&#62; &#34;\xD1\x91&#34;, &#34;\xA1&#34; =&#62; &#34;\xD0\x8E&#34;, &#34;\xA2&#34; =&#62; &#34;\xD1\x9E&#34;, &#34;\xAA&#34; =&#62; &#34;\xD0\x84&#34;, &#8230; <a href="http://alllexe.com/2011/01/php-funkciya-perekodirovki-iz-windows-1251-v-utf-8/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>iconv к сожалению работает не всегда корректно. Ниже приведенная функция может заменить стандартную iconv для перекодировки в utf-8.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> win2utf<span style="color: #009900;">&#40;</span><span style="color: #000088;">$str</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    static <span style="color: #000088;">$table</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xA8</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD0</span><span style="color: #660099; font-weight: bold;">\x81</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xB8</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD1</span><span style="color: #660099; font-weight: bold;">\x91</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xA1</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD0</span><span style="color: #660099; font-weight: bold;">\x8E</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xA2</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD1</span><span style="color: #660099; font-weight: bold;">\x9E</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xAA</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD0</span><span style="color: #660099; font-weight: bold;">\x84</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xAF</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD0</span><span style="color: #660099; font-weight: bold;">\x87</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xB2</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD0</span><span style="color: #660099; font-weight: bold;">\x86</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xB3</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD1</span><span style="color: #660099; font-weight: bold;">\x96</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xBA</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD1</span><span style="color: #660099; font-weight: bold;">\x94</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xBF</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD1</span><span style="color: #660099; font-weight: bold;">\x97</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\x8C</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD3</span><span style="color: #660099; font-weight: bold;">\x90</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\x8D</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD3</span><span style="color: #660099; font-weight: bold;">\x96</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\x8E</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD2</span><span style="color: #660099; font-weight: bold;">\xAA</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\x8F</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD3</span><span style="color: #660099; font-weight: bold;">\xB2</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\x9C</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD3</span><span style="color: #660099; font-weight: bold;">\x91</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\x9D</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD3</span><span style="color: #660099; font-weight: bold;">\x97</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\x9E</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD2</span><span style="color: #660099; font-weight: bold;">\xAB</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\x9F</span>&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\xD3</span><span style="color: #660099; font-weight: bold;">\xB3</span>&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#[\x80-\xFF]#se'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">' &quot;$0&quot; &gt;= &quot;\xF0&quot; ? &quot;\xD1&quot;.chr(ord(&quot;$0&quot;)-0x70) :
                       (&quot;$0&quot; &gt;= &quot;\xC0&quot; ? &quot;\xD0&quot;.chr(ord(&quot;$0&quot;)-0x30) :
                        (isset($table[&quot;$0&quot;]) ? $table[&quot;$0&quot;] : &quot;&quot;)
                       )'</span><span style="color: #339933;">,</span>
    <span style="color: #000088;">$str</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://alllexe.com/2011/01/php-funkciya-perekodirovki-iz-windows-1251-v-utf-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Настройка отладки в проекте на CodeIgniter</title>
		<link>http://alllexe.com/2010/12/nastrojka-otladki-v-proekte-na-codeigniter/</link>
		<comments>http://alllexe.com/2010/12/nastrojka-otladki-v-proekte-na-codeigniter/#comments</comments>
		<pubDate>Tue, 28 Dec 2010 06:53:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://alllexe.com/?p=715</guid>
		<description><![CDATA[Наконец свершилось это чудо. Я все таки потратил полдня и мне удалось настроить отладку в CodeIgniter. Правда все равно вся эта конструкция работает через раз, с глюками и финтами, но все таки она работает. Все операции производились на Denwer. 1. &#8230; <a href="http://alllexe.com/2010/12/nastrojka-otladki-v-proekte-na-codeigniter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Наконец свершилось это чудо. Я все таки потратил полдня и мне удалось настроить отладку в CodeIgniter. Правда все равно вся эта конструкция работает через раз, с глюками и финтами, но все таки она работает.<br />
<span id="more-715"></span><br />
Все операции производились на Denwer.</p>
<p><strong>1. Настраиваем отладку в PHP</strong></p>
<p>Скачиваем с <a href="http://xdebug.org/">http://xdebug.org/</a> библиотеку xdebug для отладки. Соответсвенно вашей версии PHP (посмотреть версию можно через <a href="http://localhost/Tests/PHP5/index.php5">http://localhost/Tests/PHP5/index.php5</a>). Сохраняем ее в папку usr\local\php5\ext\ под именем php_xdebug.dll.<br />
в usr\local\php\php.ini дописываем в конец файла</p>
<pre>
[XDebug]

zend_extension_ts = "Z:\usr\local\php5\ext\php_xdebug.dll" 

xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.profiler_output_dir="C:\WebServers\tmp\"
</pre>
<p>Перезапускаем денвер. Еще раз заходим в <a href="http://localhost/Tests/PHP5/index.php5">http://localhost/Tests/PHP5/index.php5</a> и ищем секцию Xdebug. Если она есть то все нормально.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/XDebug.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/XDebug.png" alt="" title="XDebug" width="625" height="206" class="aligncenter size-full wp-image-719" /></a></p>
<p><strong>2. Скачиваем Java SDK 6</strong></p>
<p><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Скачиваем java sdk 6 отсюда</a>. И устанавливаем. Это необходимо для работы IDE NetBeans.</p>
<p><strong>3. Скачиваем и устанавливаем NetBeans.</strong></p>
<p>NetBeans скачиваем с их официального сайта <a href="http://netbeans.org/">http://netbeans.org/</a> сборку для PHP.</p>
<p><strong>4. Скачиваем и устанавливаем плагин для Firfox  </strong><br />
<a href="https://addons.mozilla.org/en-US/firefox/addon/58688">easy xDebug</a><a href="http://alllexe.com/wp-content/uploads/2010/12/easyXdebug.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/easyXdebug.png" alt="" title="easyXdebug" width="202" height="95" class="alignright size-full wp-image-721" /></a><br />
Основная фишка заключается в этом плагине. Без него запустить отладку мне не удалось. Возможно это связано с форматом ссылок в моем проекте. У меня ссылки вида site.com/mycontroller/. После установки этого плагина в окне фаерфокса в нижнем правом углу появятся два зеленых значка. С помощью них можно будет управлять отладкой.</p>
<blockquote><p>На этом этапе все подготовительные работы для запуски отладки готовы. Скажу сразу, что мне не удалось запустить отладку в phpDesigner (вернее она запускалась, но только при условии что не было загрузки $this->load, если же в контроллере встречалась такая загрузка и точка остановки стояло после нее phpDesigner упорно не хотел ее видеть). По этой причине пришлось использовать NetBeans.</p></blockquote>
<p><strong>5. Настройка NetBeans для отладки CodeIgniter</strong></p>
<p>Нажимаем создать проект. Приложение PHP с существующим исходным кодом. Указываем папку проекта на Денвере. Указываем имя проекта, кодировку. Указываем local web site. В поле project url указываем адрес нашего сайта как он указан на Денвере. В поле index file оставляем index.php. После этого откроется рабочая среда NetBeans. Открываем в меню Сервис->Настройки. На вкладке &#171;Общего назначения&#187; выбираем браузер firefox.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/nastroika_netbeans1.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/nastroika_netbeans1.png" alt="" title="nastroika_netbeans1" width="705" height="140" class="aligncenter size-full wp-image-729" /></a><br />
На вкладке PHP снимаем галочки в чекбоксах Open result In:, ставим галочку Stop at First Line, остальные настройки не меняем. Нажимаем &#171;ОК&#187; сохраняем изменения.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/nastroika_netbeans2.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/nastroika_netbeans2.png" alt="" title="nastroika_netbeans2" width="565" height="262" class="aligncenter size-full wp-image-730" /></a><br />
Нажимаем завершить. На этом настройка NetBeans закончена.</p>
<p><strong>6. Процесс отладки</strong></p>
<p>Открываем любой контроллер. Становимся на строчку в которой мы хотим поставить точку остановки и нажимаем Ctrl+F8. Строчка будет выглядеть так.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/breakpoint.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/breakpoint.png" alt="" title="breakpoint" width="623" height="70" class="aligncenter size-full wp-image-724" /></a><br />
Теперь запускаем отладчик. Нажимаем Ctr+F5. В нижнем правом углу NetBeans должна появится надпись &#171;wating for connection&#187;.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/watingXdebug.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/watingXdebug.png" alt="" title="watingXdebug" width="423" height="56" class="aligncenter size-full wp-image-726" /></a><br />
После этого NetBeans запустит firefox, почему то со ссылкой в адресной строке </p>
<pre>

http://yourdomain.ru/index.php?XDEBUG_SESSION_START=netbeans-xdebug
</pre>
<p>И отладчик остановится на первой строке в файле index.php<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/otladka_netbeans.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/otladka_netbeans.png" alt="" title="otladka_netbeans" width="667" height="120" class="aligncenter size-full wp-image-731" /></a><br />
<strong>Далее проделываем следующий финт:</strong><br />
Открываем новую вкладку в firefox. Ту вкладку которую открыл отладчик NetBeans закрываем. В адресной строке новой вкладки, которую мы открыли, вбиваем имя нужного нам контроллера (в котором мы установили точку останова). В нижнем правом углу окна firefox нажимаем на зеленую букашку (Start Xdebug session).<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/startXdebug.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/startXdebug.png" alt="" title="startXdebug" width="249" height="117" class="aligncenter size-full wp-image-727" /></a><br />
Нажимаем обновить (F5) в firefox. Возвращаемся обратно в NetBeans. Нажимаем в NetBeans F4 (Выполнить до курсора) несколько раз, пока процесс отладки не упрется в нашу точку остановки.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/NetBeans_breakpoint.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/NetBeans_breakpoint.png" alt="" title="NetBeans_breakpoint" width="342" height="139" class="aligncenter size-full wp-image-732" /></a><br />
Все. Теперь удачно наслаждаемся отладкой.</p>
]]></content:encoded>
			<wfw:commentRss>http://alllexe.com/2010/12/nastrojka-otladki-v-proekte-na-codeigniter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>10 Способов получить инвайт на Хабр</title>
		<link>http://alllexe.com/2010/12/10-sposobov-poluchit-invajt-na-xabr/</link>
		<comments>http://alllexe.com/2010/12/10-sposobov-poluchit-invajt-na-xabr/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 06:44:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[offtop]]></category>

		<guid isPermaLink="false">http://alllexe.com/?p=699</guid>
		<description><![CDATA[Давно читаю Хабр, но не был тут зарегистрирован. Решил исправить этот пробел. Перейдя по ссылочке зарегистрироваться я увидел поле код доступа. Естественно кода доступа у меня не было, а желание зарегистрироваться было. Это еще больше разожгло мой азарт. После нескольких &#8230; <a href="http://alllexe.com/2010/12/10-sposobov-poluchit-invajt-na-xabr/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Давно читаю Хабр, но не был тут зарегистрирован. Решил исправить этот пробел. Перейдя по ссылочке <a href="http://habrahabr.ru/register/">зарегистрироваться</a> я увидел поле код доступа. Естественно кода доступа у меня не было, а желание зарегистрироваться было. Это еще больше разожгло мой азарт. После нескольких часов поисков в интернете, я представляю вам 10 способов <strong>как получить инвайт на Хабр</strong>.<br />
<span id="more-699"></span></p>
<h4><strong><span style="color: #0000ff;">Способ 1 Очевидный</span></strong></h4>
<p>Найти друга у которого есть лишний инвайт и попросит. Самый простой и очевидный, на мой взгляд, способ. Единственный недостаток этого способа заключается в том, что вам нужно иметь такого друга.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/plus.png"><img class="alignleft size-full wp-image-702" title="plus" src="http://alllexe.com/wp-content/uploads/2010/12/plus.png" alt="плюс" width="32" height="32" /></a> Затраты с вашей стороны минимальны, результат получаете быстро.</p>
<p><a href="http://alllexe.com/wp-content/uploads/2010/12/minus.png"><img class="alignleft size-full wp-image-703" title="minus" src="http://alllexe.com/wp-content/uploads/2010/12/minus.png" alt="минус" width="32" height="32" /></a> Если вы у вас нет такого друга вы пролетаете.</p>
<h4><strong><span style="color: #0000ff;">Способ 2 Для халявщиков.</span></strong></h4>
<p>Попросить. Тупо взять и написать везде (на форум, блогах и т.п.) что-то типа &#171;<em>умоляю дайте инвайт на Хабр</em>&#171;. Остальное от вас уже не зависит. Можно расслабиться и ждать что вам свалиться халява. Очевидно чтобы этот способ работал, необходимо брать количеством, а не качеством. Авось повезет.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/plus.png"><img class="alignleft size-full wp-image-702" title="plus" src="http://alllexe.com/wp-content/uploads/2010/12/plus.png" alt="плюс" width="32" height="32" /></a> Бесплатно. Не нужно иметь никаких навыков (по написанию статей или программированию как в способе 5).</p>
<p><a href="http://alllexe.com/wp-content/uploads/2010/12/minus.png"><img class="alignleft size-full wp-image-703" title="minus" src="http://alllexe.com/wp-content/uploads/2010/12/minus.png" alt="минус" width="32" height="32" /></a> Времени на постинг придется потратить очень много.</p>
<h4><strong><span style="color: #0000ff;">Способ 3 Для тех кто следует правилам</span></strong></h4>
<p><a href="http://habrahabr.ru/sandbox/add/">Написать статью в песочницу</a>. Этот способ подходит для тех, кто при покупке новой технике первым делом читает инструкцию. Это удивительно, но оказывается многие даже не знают об этом способе (большинство из тех кто пользуется способом 2). Во первых вам надо написать статью, пройти хитрый процесс &#171;предварительной регистрации&#187; (необходимо прочитать все пункты программы &#171;предварительной грамотности&#187;, отметить чекбоксы, которые активируются последовательно через 5 секунд). Ваша статья не должна быть кросспостом или копипастом. Также необходимо красиво оформить статью, иначе она не пройдет модерацию. Кроме этого, не рекомендуется использовать обилие смайликов в постах. А также еще вам надо ознакомиться с правилами сайта. Если вы прошли все эти этапы, ваша статья прошла модерацию и попала в песочницу, вам остается ждать что кому-нибудь из хабролюдей понравиться ваш пост и вам дадут инвайт. Может случиться так, что вы напишите десяток статей в песочницу, но инвайт так и не получите. Если инвайта вам так и не досталось, вы сможете потом продать ваши статьи на бирже копирайтинга и воспользоваться способом 4.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/plus.png"><img class="alignleft size-full wp-image-702" title="plus" src="http://alllexe.com/wp-content/uploads/2010/12/plus.png" alt="плюс" width="32" height="32" /></a> Вы действуете абсолютно честно и зарабатываете инвайт своим трудом.</p>
<p><a href="http://alllexe.com/wp-content/uploads/2010/12/minus.png"><img class="alignleft size-full wp-image-703" title="minus" src="http://alllexe.com/wp-content/uploads/2010/12/minus.png" alt="минус" width="32" height="32" /></a> Можете потратить много времени, но так и не получить результата.</p>
<h4><strong><span style="color: #0000ff;">Способ 4 Для богатых и занятых</span></strong></h4>
<p>Купить. Да я знаю, что этот способ является незаконным, но он существует. Как говориться, если есть спрос, будет и предложение. В интернете есть несколько сайтов на которых предлагают продать инвайт на Хабр. Средняя цена составляет около 25$.<br />
P.S. Существует и легальный способ &#171;купить инвайт&#187; на Хабр. Если у вас есть компания и вы <a href="http://habrahabr.ru/info/advertising/corporate/">покупаете место на Хабре</a> для нее, в придачу вам дают некоторое количество инвайтов.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/plus.png"><img class="alignleft size-full wp-image-702" title="plus" src="http://alllexe.com/wp-content/uploads/2010/12/plus.png" alt="плюс" width="32" height="32" /></a> Вы тратите деньги, но экономите время. Результат обещают относительно быстро.</p>
<p><a href="http://alllexe.com/wp-content/uploads/2010/12/minus.png"><img class="alignleft size-full wp-image-703" title="minus" src="http://alllexe.com/wp-content/uploads/2010/12/minus.png" alt="минус" width="32" height="32" /></a> Никто вам ничего не гарантирует. Высок риск, что вы просто отдадите деньги и ничего не получите. Все как на &#171;черном рынке&#187;.</p>
<h4><strong><span style="color: #0000ff;">Способ 5 Для коллекционеров</span></strong></h4>
<p>Обменять. Есть люди которые собирают марки, есть люди которые собирают значки, а есть люди которые собирают доступы к закрытым сообществам. В интернете есть сайты где люди <a href="http://www.myinviter.com/">обмениваются инвайтами</a>, к примеру Хабр на Лепру и т.п. Насчет законности способа мне ничего не известно.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/plus.png"><img class="alignleft size-full wp-image-702" title="plus" src="http://alllexe.com/wp-content/uploads/2010/12/plus.png" alt="плюс" width="32" height="32" /></a> Способ достаточно простой. Отдаете свой инвайт, получаете инвайт на Хабр. Затраты времени и ресурсов минимальны.</p>
<p><a href="http://alllexe.com/wp-content/uploads/2010/12/minus.png"><img class="alignleft size-full wp-image-703" title="minus" src="http://alllexe.com/wp-content/uploads/2010/12/minus.png" alt="минус" width="32" height="32" /></a> Необходимо иметь востребованный инвайт, чтобы его можно было обменять.</p>
<h4><strong><span style="color: #0000ff;">Способ 6 Для программистов</span></strong></h4>
<p>Написать парсер интернета <img src='http://alllexe.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Этот способ получения инвайта хорошо описан в топике <a href="http://habrahabr.ru/blogs/personal/68986/">&#171;История одного инвайта&#187;</a>. Человек написал парсер твиттера который отслеживал предложения дать свободный инвайт на Хабр. При появлении такого предложения, остальное являлось делом техники. Необходимо было убедить раздающего инвайты человека, что вы этого достойны.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/plus.png"><img class="alignleft size-full wp-image-702" title="plus" src="http://alllexe.com/wp-content/uploads/2010/12/plus.png" alt="плюс" width="32" height="32" /></a> Бесплатно. Можете потренироваться в программировании.</p>
<p><a href="http://alllexe.com/wp-content/uploads/2010/12/minus.png"><img class="alignleft size-full wp-image-703" title="minus" src="http://alllexe.com/wp-content/uploads/2010/12/minus.png" alt="минус" width="32" height="32" /></a> Необходимо писать программу, отслеживать появления предложений. Затраты по времени могут оказаться не маленькими.</p>
<h4><strong><span style="color: #0000ff;">Способ 7 Для везунчиков</span></strong></h4>
<p>Выиграть. Попасть в участие какой нибудь акции. Особую известность получила акция стартовавшая 11 июля 2009 года. По условиям акции надо было скачать IE 8 со специальной надстройкой, благодаря которой можно в реальном времени отслеживать свою карму и новые посты. В результате бага инвайт смогли получить все желающие, а ближе к вечеру к делу добычи инвайтов из недр Хабра подключились и боты. Вот <a href="http://habrahabr.ru/special/ie8/">ссылочка на акцию с ie8</a> не знаю работает ли она на сегодня.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/plus.png"><img class="alignleft size-full wp-image-702" title="plus" src="http://alllexe.com/wp-content/uploads/2010/12/plus.png" alt="плюс" width="32" height="32" /></a> Бесплатно, минимальные затраты времени, нет необходимость применять какие-то скиллы.</p>
<p><a href="http://alllexe.com/wp-content/uploads/2010/12/minus.png"><img class="alignleft size-full wp-image-703" title="minus" src="http://alllexe.com/wp-content/uploads/2010/12/minus.png" alt="минус" width="32" height="32" /></a> Надо вовремя узнать о проведении акции.</p>
<h4><strong><span style="color: #0000ff;">Способ 8 Для хакеров</span></strong></h4>
<p>Взломать Хабр. Такие прецеденты были. Пруфлинки приводить не буду, кому надо найдет в поиске.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/plus.png"><img class="alignleft size-full wp-image-702" title="plus" src="http://alllexe.com/wp-content/uploads/2010/12/plus.png" alt="плюс" width="32" height="32" /></a> бесплатно.</p>
<p><a href="http://alllexe.com/wp-content/uploads/2010/12/minus.png"><img class="alignleft size-full wp-image-703" title="minus" src="http://alllexe.com/wp-content/uploads/2010/12/minus.png" alt="минус" width="32" height="32" /></a> необходимо иметь серьезный уровень скиллов, потратить кучу времени на выявление дыр в безопасности и т.п. Вообщем способ только для фанатов.</p>
<h4><strong><span style="color: #0000ff;">Способ 9 Для бизнесменов.</span></strong></h4>
<p>Создать свой Хабр. Переманить хабролюдей к себе, взять инвестиции под свой хабростартап. После чего станут легкодоступны способы: 1,2. Благо сейчас такой вариант уже не кажется сильно фантастическим. Как грибы после дождя появляются различные площадки с такой же структурой организации как на Хабре.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/plus.png"><img class="alignleft size-full wp-image-702" title="plus" src="http://alllexe.com/wp-content/uploads/2010/12/plus.png" alt="плюс" width="32" height="32" /></a> Даже если ничего не получиться, у вас будет опыт создания собственного проекта.</p>
<p><a href="http://alllexe.com/wp-content/uploads/2010/12/minus.png"><img class="alignleft size-full wp-image-703" title="minus" src="http://alllexe.com/wp-content/uploads/2010/12/minus.png" alt="минус" width="32" height="32" /></a> Необходимо потратить много времени и денег.</p>
<h4><strong><span style="color: #0000ff;">Способ 10 Для хитрых индейцов.</span></strong></h4>
<p>Попросить кого-то из хабролюдей опубликовать вашу статью. Да этот способ тоже существуют. Многим лень писать статьи самому, зато можно поднять карму с помощью вашей статьи. В результате вам может упасть инвайт.<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/plus.png"><img class="alignleft size-full wp-image-702" title="plus" src="http://alllexe.com/wp-content/uploads/2010/12/plus.png" alt="плюс" width="32" height="32" /></a> Вероятность чуть выше чем способ 3. В придачу вы можете получить хороших и интересных знакомых.</p>
<p><a href="http://alllexe.com/wp-content/uploads/2010/12/minus.png"><img class="alignleft size-full wp-image-703" title="minus" src="http://alllexe.com/wp-content/uploads/2010/12/minus.png" alt="минус" width="32" height="32" /></a> Надо написать статью и найти человека, который готов будет ее опубликовать.</p>
]]></content:encoded>
			<wfw:commentRss>http://alllexe.com/2010/12/10-sposobov-poluchit-invajt-na-xabr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как сделать FULLTEXT поиск в CMS на CodeIgniter</title>
		<link>http://alllexe.com/2010/12/kak-sdelat-fulltext-poisk-v-cms-na-codeigniter/</link>
		<comments>http://alllexe.com/2010/12/kak-sdelat-fulltext-poisk-v-cms-na-codeigniter/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 09:47:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Уроки]]></category>

		<guid isPermaLink="false">http://alllexe.com/?p=678</guid>
		<description><![CDATA[В этом уроке мы рассмотрим как сделать поиск по сайту в Code-Igniter. 1. Подготовка CodeIgniter. Скачиваем и распаковываем дистрибутив CodeIgniter в какую-нибудь папку на вашем сервере. Следующим шагом создаем базу данных, пользователя с правами доступа к этой БД и прописываем &#8230; <a href="http://alllexe.com/2010/12/kak-sdelat-fulltext-poisk-v-cms-na-codeigniter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>В этом уроке мы рассмотрим как сделать поиск по сайту в Code-Igniter.<br />
<span id="more-678"></span><br />
<strong>1. Подготовка CodeIgniter.</strong><br />
<a href="http://codeigniter.com/downloads/">Скачиваем</a> и распаковываем дистрибутив CodeIgniter в какую-нибудь папку на вашем сервере. Следующим шагом создаем базу данных, пользователя с правами доступа к этой БД и прописываем настройки подключения в application/config/database.php.<br />
Открываем application/config/config.php и выставляем настройку поля <strong>base_url</strong>.<br />
<strong>2. Настройка Базы данных.</strong><br />
БД мы уже создали в первом шаге, но у нас нет таблиц. Создадим простую таблицу <strong>pages</strong>.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> pages <span style="color: #66cc66;">&#40;</span>
  id <span style="color: #993333; font-weight: bold;">INT</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">UNSIGNED</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #66cc66;">,</span>
  url text <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  title text <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  content text <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  updated datetime <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
  <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span>  <span style="color: #66cc66;">&#40;</span>id<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
  FULLTEXT <span style="color: #993333; font-weight: bold;">KEY</span> content <span style="color: #66cc66;">&#40;</span>content<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span> ENGINE<span style="color: #66cc66;">=</span>MyISAM</pre></div></div>

<p>При использовании FULLTEXT необходимо указать все поля по которым мы будем производить поиск. В данной таблице поиск будет производиться только по полю content. Обратите внимание, что FULLTEXT поиск работает только с использованием MyISAM engine.<br />
<strong>3. Тестовые данные</strong><br />
Для тестирования нашего поискового механизма в таблицу необходимо добавить некоторое количество тестовых данных. Я решил что Википедия может стать хорошим донором для нашей БД. Я написал небольшой скрипт, который берет несколько <a href="http://en.wikipedia.org/wiki/Wikipedia:Featured_articles">последних статей</a> и потом с помощью <a href="http://en.wikipedia.org/wiki/Special:Export">экспорта</a> Википедии заносит эти статьи в БД.<br />
<strong>4. Поиск по базе</strong><br />
Для поиска мы будем использовать SQL запрос вида:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span>
<span style="color: #993333; font-weight: bold;">FROM</span> pages
<span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #993333; font-weight: bold;">MATCH</span> <span style="color: #66cc66;">&#40;</span>content<span style="color: #66cc66;">&#41;</span> AGAINST <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'test'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">0</span></pre></div></div>

<p>При использовании FULLTEXT поиска необходимо помнить о нескольких ограничениях.</p>
<ul>
<li>Длина запроса должна превышать 3 символа, иначе поиск вернет пустой результат.</li>
<li>Существует набор <a href="http://dev.mysql.com/doc/refman/5.1/en/fulltext-stopwords.html">стоп слов</a> который MySQL игнорирует при поиске (‘the’, ‘however’, ‘hello’). Если вы попытаетесь искать по этим словам, результат поиска будет пустым.</li>
</ul>
<p>Существует несколько моделей поиска (например boolean), а также различные операторы используемые при поиске. Более подробно это можно рассмотреть в <a href="http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html">документации</a>.<br />
Также доступен <a href="http://dev.mysql.com/doc/refman/5.1/en/fulltext-query-expansion.html">расширенный поиск</a>.  Полную информацию можно найти <a href="http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html">в документации к MySQL</a>.<br />
<strong>5. CodeIgniter и MVC паттерн.</strong><br />
Вернемся к нашему фреймворку. CodeIgniter предоставляет популярный паттерн проектирования модель-вид-контроллер (MVC model-view-controller).<br />
Напомню основные правила:</p>
<ul>
<li>Все изменения и работа с БД производиться из модели</li>
<li>Ничего не может быть выведено пользователю из контроллера или модели</li>
<li>Только одно выражение может быть внутри тегов <?php в фале вида. (Для удобства в файлах вида часто используют <a href="http://php.net/manual/en/control-structures.alternative-syntax.php">сокращенную запись PHP</a>)</li>
</ul>
<p>Если вы нарушаете какое-либо из этих правил, то стоит вернуться назад и еще раз подумать над структурой вашего проекта.<br />
Начнем разработку поиска с файла модели. Я использую только один метод, который выполняет поиск. Вы можете заметить, что здесь использован &#171;прямой SQL запрос&#187;, хотя в CodeIgniter есть ActiveRecord позволяющий упростить формирование запросов.<br />
Ниже представлен код модели располагающейся в application/models/page_model.php</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Page_model <span style="color: #000000; font-weight: bold;">extends</span> Model
<span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">function</span> Page_model<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        parent<span style="color: #339933;">::</span><span style="color: #004000;">Model</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// Делаем доступной БД во всех функциях</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">database</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> search<span style="color: #009900;">&#40;</span><span style="color: #000088;">$terms</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// Выполнение запроса и возврат результата</span>
        <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT url, title
                    FROM pages
                    WHERE MATCH (content) AGAINST (?) &gt; 0&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$terms</span><span style="color: #339933;">,</span> <span style="color: #000088;">$terms</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">result</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Следующим шагом создадим файл вида:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;?php $this-&gt;load-&gt;helper('form'); ?&gt;
&nbsp;
&lt;?php echo form_open($this-&gt;uri-&gt;uri_string); ?&gt;
&lt;?php echo form_label('Search:', 'search-box'); ?&gt;
&lt;?php echo form_input(array('name' =&gt; 'q', 'id' =&gt; 'search-box', 'value' =&gt; $search_terms)); ?&gt;
&lt;?php echo form_submit('search', 'Search'); ?&gt;
&lt;?php echo form_close(); ?&gt;
&nbsp;
&lt;?php if ( ! is_null($results)): ?&gt;
    &lt;?php if (count($results)): ?&gt;
        &lt;ul&gt;
        &lt;?php foreach ($results as $result): ?&gt;
            &lt;li&gt;&lt;a href=&quot;&lt;?php echo $result-&gt;url; ?&gt;&quot;&gt;&lt;?php echo $result-&gt;title; ?&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;?php endforeach ?&gt;
        &lt;/ul&gt;
    &lt;?php else: ?&gt;
        &lt;p&gt;&lt;em&gt;There are no results for your query.&lt;/em&gt;&lt;/p&gt;
    &lt;?php endif ?&gt;
&lt;?php endif ?&gt;</pre></div></div>

<p>Теперь пришла очередь создать файл контроллера, который свяжет модель и вид:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Pages <span style="color: #000000; font-weight: bold;">extends</span> Controller <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> search<span style="color: #009900;">&#40;</span><span style="color: #000088;">$search_terms</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// Если форма отправлена перепишем URL добавив строку запроса</span>
        <span style="color: #666666; font-style: italic;">// обратите внимание, что с некоторыми символами </span>
        <span style="color: #666666; font-style: italic;">// могут быть проблемы.</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'q'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            redirect<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/pages/search/'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'q'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$search_terms</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #666666; font-style: italic;">// Загрузка модели и выполнение поиска по БД</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">model</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'page_model'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$results</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">page_model</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">search</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$search_terms</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// Загрзка файла вида и вывод на экран</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">view</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'search_results'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
            <span style="color: #0000ff;">'search_terms'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$search_terms</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'results'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">@</span><span style="color: #000088;">$results</span>
        <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Стоит заметить что с некоторыми символами могут возникнуть проблемы (<a href="http://alllexe.com/2010/12/russkie-simvoly-v-url-sajta-na-codeigniter/">Русские символы в URL сайта на CodeIgniter</a>).<br />
В начале этого метода мы использовали функции redirect. Это функция содержится в хелпере URL. Для использовании этой функции мы производили &#171;ручную&#187; загрузку хелпера с помощью $this->load->helper(&#8216;url&#8217;); Т.к. мы будем часто использовать этот хелпер, то проще сразу прописать его в автозагрузку, чтобы не загружать все время его вручную. Для этого редактируем файл application/config/autoload.php. Дописываем в раздел $autoload['helper']:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$autoload</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'helper'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'url'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Теперь мы получили рабочий прототип. Не забудьте, что в вашей БД должны быть данные (не меньше 3 строк). Теперь наберите в вашем браузере что-то типа ‘http://localhost/index.php/pages/search’, введите в строку поиска какой-нибудь текст содержащийся в БД и нажмите поиск. Результат будет выглядеть примерно так:<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/screenshot-1.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/screenshot-1.png" alt="" title="Результат поиска в CodeIgniter" width="500" height="505" class="aligncenter size-full wp-image-690" /></a><br />
<strong>6. Добавление новых возможностей в наш поиск.</strong><br />
Для начала добавим постраничную навигацию для результатов поиска. Для вывода постраничной навигации в CodeIgniter используется класс Pagination.<br />
Модифицируем нашу модель для вывода постраничной навигации. Для этого нам необходимо задать количество записей выбираемых из БД, номер записи с которой производить выборку, а также получить общее количество записей по данному запросу.<br />
Вот что у нас получилось:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Page_model <span style="color: #000000; font-weight: bold;">extends</span> Model <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> search<span style="color: #009900;">&#40;</span><span style="color: #000088;">$terms</span><span style="color: #339933;">,</span> <span style="color: #000088;">$start</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$results_per_page</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// Зададим лимит выбираемых записей </span>
        <span style="color: #666666; font-style: italic;">//и стартовую позицию</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$results_per_page</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$limit</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;LIMIT <span style="color: #006699; font-weight: bold;">$start</span>, <span style="color: #006699; font-weight: bold;">$results_per_page</span>&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: #000088;">$limit</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// Выполнение SQL запроса</span>
        <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT url, title, content
                    FROM pages
                    WHERE MATCH (content) AGAINST (?) &gt; 0
                    <span style="color: #006699; font-weight: bold;">$limit</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$terms</span><span style="color: #339933;">,</span> <span style="color: #000088;">$terms</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">result</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> count_search_results<span style="color: #009900;">&#40;</span><span style="color: #000088;">$terms</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// Run SQL to count the total number of search results</span>
        <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT COUNT(*) AS count
                    FROM pages
                    WHERE MATCH (content) AGAINST (?)&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$terms</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">row</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">count</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Следующим шагом модифицируем наш контроллер для работы с постраничной навигацией</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Pages <span style="color: #000000; font-weight: bold;">extends</span> Controller <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> search<span style="color: #009900;">&#40;</span><span style="color: #000088;">$search_terms</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$start</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// Если форма отправлена перепишем URL добавив строку запроса</span>
        <span style="color: #666666; font-style: italic;">// обратите внимание, что с некоторыми символами </span>
        <span style="color: #666666; font-style: italic;">// могут быть проблемы.</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'q'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            redirect<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/pages/search/'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'q'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$search_terms</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #666666; font-style: italic;">// Определим сколько результатов </span>
            <span style="color: #666666; font-style: italic;">//выводить на страницу</span>
            <span style="color: #000088;">$results_per_page</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">config</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">item</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'results_per_page'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">// Загружаем модель, выполняем поиск, определяем</span>
            <span style="color: #666666; font-style: italic;">// сколько всего результатов поиска</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">model</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'page_model'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$results</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">page_model</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">search</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$search_terms</span><span style="color: #339933;">,</span> <span style="color: #000088;">$start</span><span style="color: #339933;">,</span> <span style="color: #000088;">$results_per_page</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$total_results</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">page_model</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">count_search_results</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$search_terms</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">// Загрузка постраничной навигации</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span>_setup_pagination<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/pages/search/'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$search_terms</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$total_results</span><span style="color: #339933;">,</span> <span style="color: #000088;">$results_per_page</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">// Определяем какие результаты выводить</span>
            <span style="color: #000088;">$first_result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$start</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$last_result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">min</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$start</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$results_per_page</span><span style="color: #339933;">,</span> <span style="color: #000088;">$total_results</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// Загрузка вида и вывод результатов</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">view</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'search_results'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
            <span style="color: #0000ff;">'search_terms'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$search_terms</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'first_result'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">@</span><span style="color: #000088;">$first_result</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'last_result'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">@</span><span style="color: #000088;">$last_result</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'total_results'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">@</span><span style="color: #000088;">$total_results</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'results'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">@</span><span style="color: #000088;">$results</span>
        <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> _setup_pagination<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #000088;">$total_results</span><span style="color: #339933;">,</span> <span style="color: #000088;">$results_per_page</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// Не забываем загрузить постраничную навигацию</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">library</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'pagination'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
        <span style="color: #000088;">$uri_segment</span> <span style="color: #339933;">=</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// Инициализация постраничной навигации и установка</span>
        <span style="color: #666666; font-style: italic;">// необходимых параметров</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">pagination</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">initialize</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
            <span style="color: #0000ff;">'base_url'</span> <span style="color: #339933;">=&gt;</span> site_url<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'uri_segment'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$uri_segment</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'total_rows'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$total_results</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'per_page'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$results_per_page</span>
        <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Давайте рассмотрим что у нас получилось. Мы добавили постраничную навигацию, а значит в URL у нас добавились новые сегменты. Этот сегмент является одновременно страницей результатов поиска и номером для определения стартовой позиции для выборки из БД.<br />
Для задания количества результатов на странице поиска я использовал <a href="http://codeigniter.com/user_guide/libraries/config.html">config library</a>. Лучше всего добавить новый файл в папку application/config. Создадим файл application/config/application.php содержащий строчку:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'results_per_page'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span></pre></div></div>

<p>Добавим его в автозагрузку изменив опять файл application/config/autoload.php и добавим ‘application’ в $autoload['config'] секцию.<br />
Также мы используем методы для обработки выводимой в результатах поиска информации (сниппет и подстветка в сниппете слов из запроса). Эти методы содержаться в нашем хелпере в файле application/helpers/search_helper.php. Первая функция search_highlight($text, $search_terms) выделяет слова из запроса в результатах поиска, вторая search_extract($content, $search_terms, $number_of_snippets = 3, $snippet_length = 60) извлекает из контента часть содержащую заданный в поиске запрос.<br />
Так будет выглядеть наш доработанный файл вида:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;?php $this-&gt;load-&gt;helper(array('form', 'search')); ?&gt;
&nbsp;
&lt;?php echo form_open($this-&gt;uri-&gt;uri_string); ?&gt;
&lt;?php echo form_label('Search:', 'search-box'); ?&gt;
&lt;?php echo form_input(array('name' =&gt; 'q', 'id' =&gt; 'search-box', 'value' =&gt; $search_terms)); ?&gt;
&lt;?php echo form_submit('search', 'Search'); ?&gt;
&lt;?php echo form_close(); ?&gt;
&nbsp;
&lt;?php if ( ! is_null($results)): ?&gt;
    &lt;?php if (count($results)): ?&gt;
&nbsp;
        &lt;p&gt;Showing search results for '&lt;?php echo $search_terms; ?&gt;' (&lt;?php echo $first_result; ?&gt;&amp;ndash;&lt;?php echo $last_result; ?&gt; of &lt;?php echo $total_results; ?&gt;):&lt;/p&gt;
&nbsp;
        &lt;ul&gt;
        &lt;?php foreach ($results as $result): ?&gt;
            &lt;li&gt;&lt;a href=&quot;&lt;?php echo $result-&gt;url; ?&gt;&quot;&gt;&lt;?php echo search_highlight($result-&gt;title, $search_terms); ?&gt;&lt;/a&gt;&lt;br /&gt;&lt;?php echo search_extract($result-&gt;content, $search_terms); ?&gt;&lt;/li&gt;
        &lt;?php endforeach ?&gt;
        &lt;/ul&gt;
&nbsp;
        &lt;?php echo $this-&gt;pagination-&gt;create_links(); ?&gt;
&nbsp;
    &lt;?php else: ?&gt;
        &lt;p&gt;&lt;em&gt;There are no results for your query.&lt;/em&gt;&lt;/p&gt;
    &lt;?php endif ?&gt;
&lt;?php endif ?&gt;</pre></div></div>

<p>А так новые результаты поиска:<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/screenshot-2.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/screenshot-2.png" alt="" title="Результаты поиска CodeIniter" width="500" height="605" class="aligncenter size-full wp-image-692" /></a></p>
<p><strong>7. Еще больше вкусных фишек.</strong><br />
CodeIgniter предоставляет возможность вывода <a href="http://codeigniter.com/user_guide/libraries/benchmark.html">тестовых данных</a> и различной <a href="http://codeigniter.com/user_guide/general/profiling.html">дополнительной информации</a><br />
К пример так можно запустить работу теста для модели</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Mark the start of search</span>
<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">benchmark</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">mark</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'search_start'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Load the model, perform the search and establish the total</span>
<span style="color: #666666; font-style: italic;">// number of results</span>
<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">model</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'page_model'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$results</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">page_model</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">search</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$search_terms</span><span style="color: #339933;">,</span> <span style="color: #000088;">$start</span><span style="color: #339933;">,</span> <span style="color: #000088;">$results_per_page</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$total_results</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">page_model</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">count_search_results</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$search_terms</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Mark the end of search</span>
<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">benchmark</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">mark</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'search_end'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>В итоге форма с результатами теста будет выглядеть так:<br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/profiling.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/profiling.png" alt="" title="profiling" width="500" height="480" class="aligncenter size-full wp-image-694" /></a></p>
<blockquote><p>Этот пост является <a href="http://joefreeman.co.uk/blog/2009/10/fulltext-search-with-mysql-and-codeigniter/">переводом статьи Joe Freeman</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://alllexe.com/2010/12/kak-sdelat-fulltext-poisk-v-cms-na-codeigniter/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Русские символы в URL сайта на CodeIgniter</title>
		<link>http://alllexe.com/2010/12/russkie-simvoly-v-url-sajta-na-codeigniter/</link>
		<comments>http://alllexe.com/2010/12/russkie-simvoly-v-url-sajta-na-codeigniter/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 13:51:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://alllexe.com/?p=674</guid>
		<description><![CDATA[Известно, что по умолчанию в Code Igniter русские буквы в адресах запрещены. Однако даже при изменении в файле system/application/config/config.php строки $config&#91;'permitted_uri_chars'&#93; = 'a-z 0-9~%.:_\-'; на $config&#91;'permitted_uri_chars'&#93; = 'a-zа-яё 0-9~%.:_\-'; проблема не решилась. Для этого создаем файл system/application/libraries/MY_URI.php и размещаем там &#8230; <a href="http://alllexe.com/2010/12/russkie-simvoly-v-url-sajta-na-codeigniter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Известно, что по умолчанию в Code Igniter русские буквы в адресах запрещены.<br />
Однако даже при изменении в файле system/application/config/config.php строки</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'permitted_uri_chars'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'a-z 0-9~%.:_\-'</span><span style="color: #339933;">;</span></pre></div></div>

<p>на</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'permitted_uri_chars'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'a-zа-яё 0-9~%.:_\-'</span><span style="color: #339933;">;</span></pre></div></div>

<p>проблема не решилась.<span id="more-674"></span><br />
Для этого создаем файл system/application/libraries/MY_URI.php и размещаем там следующий код:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
<span style="color: #000000; font-weight: bold;">class</span> MY_URI <span style="color: #000000; font-weight: bold;">extends</span> CI_URI
<span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">function</span> _filter_uri<span style="color: #009900;">&#40;</span><span style="color: #000088;">$str</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: #000088;">$str</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span> AND <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">config</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">item</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'permitted_uri_chars'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</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: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;|^[&quot;</span><span style="color: #339933;">.</span><span style="color: #990000;">preg_quote</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">config</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">item</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'permitted_uri_chars'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;]+$|ui&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$str</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
            <span style="color: #009900;">&#123;</span>
                <span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'The URI you submitted has disallowed characters.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$str</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Решение <a href="http://habrahabr.ru/blogs/codeigniter/40465/">взято отсюда</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://alllexe.com/2010/12/russkie-simvoly-v-url-sajta-na-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как добавить rss в Code-Igniter</title>
		<link>http://alllexe.com/2010/12/kak-dobavit-rss-v-code-igniter/</link>
		<comments>http://alllexe.com/2010/12/kak-dobavit-rss-v-code-igniter/#comments</comments>
		<pubDate>Sat, 11 Dec 2010 13:02:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://alllexe.com/?p=669</guid>
		<description><![CDATA[Сегодня рассмотрим как добавить в наш движок на CodeIgniter rss ленту для новостей. Для этого создаем контроллер feed: &#60;?php /** * @author allexe * @copyright 2010 */ &#160; class feed extends Controller &#123; function feed&#40;&#41; &#123; parent::Controller&#40;&#41;; &#125; &#160; function &#8230; <a href="http://alllexe.com/2010/12/kak-dobavit-rss-v-code-igniter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://alllexe.com/wp-content/uploads/2010/12/rss.jpeg"><img src="http://alllexe.com/wp-content/uploads/2010/12/rss.jpeg" alt="" title="rss" width="112" height="112" class="alignleft size-full wp-image-672" /></a>Сегодня рассмотрим как добавить в <a href="http://alllexe.com/tag/uroki/">наш движок на CodeIgniter</a> rss ленту для новостей.<br />
<span id="more-669"></span><br />
Для этого создаем <strong>контроллер feed</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #009933; font-style: italic;">/**
 * @author allexe
 * @copyright 2010
 */</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> feed <span style="color: #000000; font-weight: bold;">extends</span> Controller
<span style="color: #009900;">&#123;</span>	
	<span style="color: #000000; font-weight: bold;">function</span> feed<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		parent<span style="color: #339933;">::</span><span style="color: #004000;">Controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>				
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$CI</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span>get_instance<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Доступ к CodeIgniter</span>
        <span style="color: #000088;">$CI</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">model</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'mdl_news'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$CI</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">model</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'mdl_nastr'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$CI</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">helper</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'xml'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'encoding'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'utf-8'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'feed_name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'alllexe.com'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'feed_url'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'http://www.alllexe.com'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'page_description'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Kursk IT, Code Igniter, PHP'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'page_language'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'ru-ru'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'creator_email'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'your mail'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$num_news</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$CI</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">mdl_nastr</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_nastr_by_name</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Новостей в RSS'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$sort</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'desc'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'date'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$news</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$CI</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">mdl_news</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getlist</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span><span style="color: #000088;">$num_news</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span><span style="color: #000088;">$sort</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>        
&nbsp;
        <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'news'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$CI</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">mdl_news</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getlist</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span><span style="color: #000088;">$num_news</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span><span style="color: #000088;">$sort</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    
        <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: application/rss+xml&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">view</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'rss'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>	
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Тут все просто при заходе на наш сайт по ссылке нашсайт/feed, этот контроллер берет из базы последние новости. Количество новостей задается в настройках. Полученные новости передаются в <strong>файл вида rss.php</strong>. Также передаются служебные переменные, все передается в массиве date.<br />
<strong>Содержание rss.php</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;?php 
echo '&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;' . &quot;\n&quot;;
?&gt;
&lt;rss version=&quot;2.0&quot;
    xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;
    xmlns:sy=&quot;http://purl.org/rss/1.0/modules/syndication/&quot;
    xmlns:admin=&quot;http://webns.net/mvcb/&quot;
    xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;
    xmlns:content=&quot;http://purl.org/rss/1.0/modules/content/&quot;&gt;
&nbsp;
    &lt;channel&gt;
&nbsp;
    &lt;title&gt;&lt;?php echo $feed_name; ?&gt;&lt;/title&gt;
&nbsp;
    &lt;link&gt;&lt;?php echo $feed_url; ?&gt;&lt;/link&gt;
    &lt;description&gt;&lt;?php echo $page_description; ?&gt;&lt;/description&gt;
    &lt;dc:language&gt;&lt;?php echo $page_language; ?&gt;&lt;/dc:language&gt;
    &lt;dc:creator&gt;&lt;?php echo $creator_email; ?&gt;&lt;/dc:creator&gt;
&nbsp;
    &lt;dc:rights&gt;Copyright &lt;?php echo gmdate(&quot;Y&quot;, time()); ?&gt;&lt;/dc:rights&gt;
    &lt;admin:generatorAgent rdf:resource=&quot;http://www.codeigniter.com/&quot; /&gt;
&nbsp;
    &lt;?php foreach($news as $one): ?&gt;
&nbsp;
        &lt;item&gt;
&nbsp;
          &lt;title&gt;&lt;?php echo xml_convert($one['title']); ?&gt;&lt;/title&gt;
          &lt;link&gt;&lt;?php echo base_url().'news/read/'.$one['id'] ?&gt;&lt;/link&gt;
          &lt;guid&gt;&lt;?php echo base_url().'news/read/'.$one['id'] ?&gt;&lt;/guid&gt;
&nbsp;
          &lt;description&gt;&lt;![CDATA[
      &lt;?= $one['anons']; ?&gt;
      ]]&gt;&lt;/description&gt;
      &lt;pubDate&gt;
	  &lt;?php
	  $date_arr = explode('.',$one['date']); 
	  echo date('r', mktime(0,0,0,$date_arr[1],$date_arr[0],$date_arr[2]));
	  ?&gt;
	  &lt;/pubDate&gt;
        &lt;/item&gt;        
    &lt;?php endforeach; ?&gt;    
    &lt;/channel&gt;&lt;/rss&gt;</pre></div></div>

<p>Чтобы в адресной строке браузера появился значок rss при нажатии на который открывается наша лента новостей, перед закрывающим тегом </head> нужно вставить строку</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;название_RSS-ленты_вашего_сайта&quot; href=&quot;http://адрес_вашего_сайта/путь_и_имя_файла_RSS-ленты.xml&quot; /&gt;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://alllexe.com/2010/12/kak-dobavit-rss-v-code-igniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1С 7.7 Открытие окна в данном режиме недоступно!</title>
		<link>http://alllexe.com/2010/12/1s-7-7-otkrytie-okna-v-dannom-rezhime-nedostupno/</link>
		<comments>http://alllexe.com/2010/12/1s-7-7-otkrytie-okna-v-dannom-rezhime-nedostupno/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 12:46:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[1С]]></category>

		<guid isPermaLink="false">http://alllexe.com/?p=667</guid>
		<description><![CDATA[Данная ошибка возникает в 1С 7.7 если мы пытаемся выполнить метод &#171;ОткрытьФорму&#187; из формулы, которая находиться в реквизите диалога на форме. Например у нас на форме есть реквизит с типом дата и мы хотим, чтобы при вводе даты, выполнялись какие-либо &#8230; <a href="http://alllexe.com/2010/12/1s-7-7-otkrytie-okna-v-dannom-rezhime-nedostupno/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Данная ошибка возникает в 1С 7.7 если мы пытаемся выполнить метод &#171;ОткрытьФорму&#187; из формулы, которая находиться в реквизите диалога на форме. </p>
<blockquote><p>Например у нас на форме есть реквизит с типом дата и мы хотим, чтобы при вводе даты, выполнялись какие-либо действия и открывалась форма внешнего отчета.</p></blockquote>
<p>Обойти это можно с помощью &#171;ложного закрытия&#187;. <span id="more-667"></span>В модуле создаем глобальную переменную </p>
<pre>
Перем НашаПеременная;
</pre>
<p>В процедуре которая выполняется при вводе даты пишем:</p>
<pre>
Процедура ПриВводеДаты()
	НашаПеременная = 1;
	Форма.Закрыть(0);
КонецПроцедуры
</pre>
<p>А само открытие формы выполняем уже из предопределенной процедуры ПриЗакрытии</p>
<pre>
Процедура ПриЗакрытии()
	Если НашаПеременная =1 Тогда
		ОткрытьФорму("Отчет",Контекст,КаталогИБ()+"ExtForms\ВнешнийОтчет.ert");
		НашаПеременная = 0;
		СтатусВозврата(0);
		Возврат;
	КонецЕсли;
КонецПроцедуры
</pre>
]]></content:encoded>
			<wfw:commentRss>http://alllexe.com/2010/12/1s-7-7-otkrytie-okna-v-dannom-rezhime-nedostupno/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Бесплатный аналог Radmin</title>
		<link>http://alllexe.com/2010/12/besplatnyj-analog-radmin/</link>
		<comments>http://alllexe.com/2010/12/besplatnyj-analog-radmin/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 13:52:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AnyKey]]></category>

		<guid isPermaLink="false">http://alllexe.com/?p=658</guid>
		<description><![CDATA[TightVNC &#8212; это бесплатный аналог Radmina. Программа позволяет подключаться на удаленный компьютер (следить за монитором и движением мышки, самому управлять мышкой и нажатием клавиш, передавать файлы и многое другое). Установка довольно проста скачиваем с сайта TightVNC последнюю версию (на текущей &#8230; <a href="http://alllexe.com/2010/12/besplatnyj-analog-radmin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://alllexe.com/wp-content/uploads/2010/12/tightvnc-logo-90x90.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/tightvnc-logo-90x90.png" alt="" title="tightvnc-logo-90x90" width="90" height="90" class="alignleft size-full wp-image-659" /></a>TightVNC &#8212; это бесплатный аналог Radmina. Программа позволяет подключаться на удаленный компьютер (следить за монитором и движением мышки, самому управлять мышкой и нажатием клавиш, передавать файлы и многое другое).<span id="more-658"></span><br />
Установка довольно проста скачиваем с <a href="http://tightvnc.org">сайта TightVNC</a> последнюю версию (на текущей момент <a href="http://www.tightvnc.com/download/2.0.2/tightvnc-2.0.2-setup.exe">это версия 2.0.2</a>).<br />
Запускаем установку.</p>
<ol>
<li>Если мы устанавливаем программу на компьютере <strong>к которому</strong> будем подключаться оставляем галочку (TightVNC Server), для компьютера <strong>с которого</strong> будем подключаться (TightVNC Viewer)</li>
<li>Ставим галочку Set passwords for the server before finishing installation.</li>
<li>Устанавливаем пароли для подключения к этому компьютеру и для изменения настроек на этом компьютере</li>
<li>Нажимаем далее и по завершении установки в трее появится значок <a href="http://alllexe.com/wp-content/uploads/2010/12/TightVNC.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/TightVNC.png" alt="" title="TightVNC" width="38" height="25" class="alignright size-full wp-image-660" /></a></li>
</ol>
<p>На этом установку сервера можно считать законченной. Единственный момент. Если мы не хотим, чтобы пользователь видел этот значок (т.е. знал что за ним &#171;следят&#187;). Необходимо убрать отображение значка в трее через реестр. Для этого на компьютере пользователя создаем текстовый файл с расширением .reg и в нем пишем:</p>
<pre>
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3]

"DisableTrayIcon"=dword:00000001
</pre>
<p>Сохраняем файл. Два раза щелкаем на нем. На вопрос &#171;Добавить данные в реестр&#187;, отвечаем да. Перезагружаем компьютер и значка в трее уже не будет.<br />
Установка серверной части завершена.<br />
<strong>Теперь устанавливаем Viewer</strong> на компьютер с которого будем смотреть за остальными. Установка проходит аналогично только мы оставляем одну галочку TightVNC Viewer.<br />
<strong>Далее запускаем TightVNC Viewer.</strong><br />
<a href="http://alllexe.com/wp-content/uploads/2010/12/TightVNC-Viewer.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/TightVNC-Viewer.png" alt="" title="TightVNC-Viewer" width="405" height="162" class="alignleft size-full wp-image-662" /></a> Указываем ip адрес компьютера к которому будем подключаться, нажимаем кнопку Options. В открывшемся окне выставляем необходимые параметры. Если нам необходимо осуществлять <strong>только просмотр за рабочим столом (без управления) выставляем галочку View only (inputs ignored)</strong>.<a href="http://alllexe.com/wp-content/uploads/2010/12/TightVNC-Viewer2.png"><img src="http://alllexe.com/wp-content/uploads/2010/12/TightVNC-Viewer2.png" alt="" title="TightVNC-Viewer2" width="195" height="77" class="aligncenter size-full wp-image-663" /></a><br />
Закрываем окно настроек и нажимаем кнопку Connect перед нами отобразиться рабочий стол удаленного компьютера. Для быстрого подключения к этому компьютеру нажимаем вверху кнопку сохранить и сохраняем на рабочем столе ярлык для подключения к этому компьютеру.</p>
]]></content:encoded>
			<wfw:commentRss>http://alllexe.com/2010/12/besplatnyj-analog-radmin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

