<?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>The Rpsl Blog &#187; форум</title>
	<atom:link href="http://blog.rpsl.info/tag/forum/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.rpsl.info</link>
	<description></description>
	<lastBuildDate>Tue, 24 Jan 2012 11:35:02 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>XenForo &#8212; Первые впечатления</title>
		<link>http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/</link>
		<comments>http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 18:48:10 +0000</pubDate>
		<dc:creator>Rpsl</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[форум]]></category>

		<guid isPermaLink="false">http://blog.rpsl.info/?p=14167</guid>
		<description><![CDATA[Сегодня стартовали продажи нового форума от авторов все любимой 3 ветки vBulletin. После ухода из компании они долгое время работали над своим продуктом и по всей видимости очень даже не зря. Новый движок получил название XenForo. Он сделан в web два ноль стиле, напичкан по уши аяксам, на первый взгляд имеет очень хорошее api и основное ядро. Кстати приятной неожиданностью стало, что в основе ядра лежит большая часть библиотек из Zend Framework, сколько читал описаний, ни где это не упоминалось. По тестам и первым форумам что появились в сети работает очень шустро. За первые часы использования более серьезного описания дать [...]]]></description>
			<content:encoded><![CDATA[Сегодня стартовали продажи нового форума от авторов все любимой 3 ветки vBulletin.
После ухода из компании они долгое время работали над своим продуктом и по всей видимости очень даже не зря.

<img class="colorbox-14167"  style="margin-left:auto;margin-right:auto" src="http://blog.rpsl.info/wp-content/uploads/2010/10/xenforo_logo.jpg" alt="xenforo_logo.jpg" border="0" width="400" height="400" />

Новый движок получил название XenForo. Он сделан в web два ноль стиле, напичкан по уши аяксам, на первый взгляд имеет очень хорошее api и основное ядро. Кстати приятной неожиданностью стало, что в основе ядра лежит большая часть библиотек из Zend Framework, сколько читал описаний, ни где это не упоминалось.

По тестам и первым форумам что появились в сети работает очень шустро.

За первые часы использования более серьезного описания дать не могу, но в целом очень понравилось. Думаю что forum.centrgroup.ru в ближайшем будущем переедет именно на него.

Ловите скриншоты админки.

<span id="more-14167"></span>


<a href='http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/xenforo_logo-jpg/' title='xenforo_logo.jpg'><img width="150" height="150" src="http://blog.rpsl.info/wp-content/uploads/2010/10/xenforo_logo-150x150.jpg" class="attachment-thumbnail colorbox-14167" alt="xenforo_logo.jpg" title="xenforo_logo.jpg" /></a>
<a href='http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/xenforo9/' title='xenforo9'><img width="150" height="150" src="http://blog.rpsl.info/wp-content/uploads/2010/10/xenforo9-150x150.png" class="attachment-thumbnail colorbox-14167" alt="xenforo9" title="xenforo9" /></a>
<a href='http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/xenforo8/' title='xenforo8'><img width="150" height="150" src="http://blog.rpsl.info/wp-content/uploads/2010/10/xenforo8-150x150.png" class="attachment-thumbnail colorbox-14167" alt="xenforo8" title="xenforo8" /></a>
<a href='http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/xenforo7/' title='xenforo7'><img width="150" height="150" src="http://blog.rpsl.info/wp-content/uploads/2010/10/xenforo7-150x150.png" class="attachment-thumbnail colorbox-14167" alt="xenforo7" title="xenforo7" /></a>
<a href='http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/xenforo6/' title='xenforo6'><img width="150" height="150" src="http://blog.rpsl.info/wp-content/uploads/2010/10/xenforo6-150x150.png" class="attachment-thumbnail colorbox-14167" alt="xenforo6" title="xenforo6" /></a>
<a href='http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/xenforo5/' title='xenforo5'><img width="150" height="150" src="http://blog.rpsl.info/wp-content/uploads/2010/10/xenforo5-150x150.png" class="attachment-thumbnail colorbox-14167" alt="xenforo5" title="xenforo5" /></a>
<a href='http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/xenforo4/' title='xenforo4'><img width="150" height="150" src="http://blog.rpsl.info/wp-content/uploads/2010/10/xenforo4-150x150.png" class="attachment-thumbnail colorbox-14167" alt="xenforo4" title="xenforo4" /></a>
<a href='http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/xenforo3/' title='xenforo3'><img width="150" height="150" src="http://blog.rpsl.info/wp-content/uploads/2010/10/xenforo3-150x150.png" class="attachment-thumbnail colorbox-14167" alt="xenforo3" title="xenforo3" /></a>
<a href='http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/xenforo2/' title='xenforo2'><img width="150" height="150" src="http://blog.rpsl.info/wp-content/uploads/2010/10/xenforo2-150x150.png" class="attachment-thumbnail colorbox-14167" alt="xenforo2" title="xenforo2" /></a>
<a href='http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/xenforo10/' title='xenforo10'><img width="150" height="150" src="http://blog.rpsl.info/wp-content/uploads/2010/10/xenforo10-150x150.png" class="attachment-thumbnail colorbox-14167" alt="xenforo10" title="xenforo10" /></a>
<a href='http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/xenforo1/' title='xenforo1'><img width="150" height="150" src="http://blog.rpsl.info/wp-content/uploads/2010/10/xenforo1-150x150.png" class="attachment-thumbnail colorbox-14167" alt="xenforo1" title="xenforo1" /></a>


Основные ресурсы:


<blockquote>
<a href="http://xenforo.com/">Оффициальный сайт</a>
<a href="http://www.xf-russia.ru/">XenForo - Russia</a>
<a href="http://vbsupport.org/forum/forumdisplay.php?f=112">Раздел XenForo на vBsupport.org</a>
</blockquote>

]]></content:encoded>
			<wfw:commentRss>http://blog.rpsl.info/2010/10/xenforo-pervye-vpechatleniya/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Чат для vbulletin</title>
		<link>http://blog.rpsl.info/2010/03/chat-dlya-vbulletin/</link>
		<comments>http://blog.rpsl.info/2010/03/chat-dlya-vbulletin/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 08:47:26 +0000</pubDate>
		<dc:creator>Rpsl</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[centr]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[vbulletin]]></category>
		<category><![CDATA[форум]]></category>

		<guid isPermaLink="false">http://blog.rpsl.info/?p=489</guid>
		<description><![CDATA[Главное что бы было желания, все остальное уже дело техники. Очень давно я хотел сделать чатик для нашего уютного форума. Если кто-то помнит, то он даже был там очень давно, но тогда по техническим и эстетическим причинам его пришлось убрать. Несколько выходных назад я решил вернуться к этому вопросу, скачал стандартный чат для форума, но он как и все остальные подобные реализации являлся унылым говном. Это глупое окошко которое предлагается разместить после навбара или перед футером... Решение было принято моментально, а бутылка ликера добавила мне решительности. В итоге, просидев около 4 часов над сорцами чата и переделкой его стилей у [...]]]></description>
			<content:encoded><![CDATA[<i>Главное что бы было желания, все остальное уже дело техники.</i>
<div style="text-align:center"><a href="http://blog.rpsl.info/wp-content/uploads/2010/03/Снимок-экрана-2010-03-05-в-11.37.50.png"><img class="colorbox-489"  src="http://blog.rpsl.info/wp-content/uploads/2010/03/Снимок-экрана-2010-03-05-в-11.37.50.png" alt="Снимок экрана 2010-03-05 в 11.37.50.png" border="0" width="400" height="300" /></a></div>
<p>Очень давно я хотел сделать чатик для нашего уютного форума. Если кто-то помнит, то он даже был там очень давно, но тогда по техническим и эстетическим причинам его пришлось убрать.</p>
Несколько выходных назад я решил вернуться к этому вопросу, скачал стандартный чат для форума, но он как и все остальные подобные реализации являлся унылым говном. Это глупое окошко которое предлагается разместить после навбара или перед футером... Решение было принято моментально, а бутылка ликера добавила мне решительности.

В итоге, просидев около 4 часов над сорцами чата и переделкой его стилей у нас получилась отличная консоль, которая открывается - закрывается по нажатию горячих клавиш и доступна всем зарегистрированным пользователям.
Единственная проблема с которой я столкнулся - это кривое отображение в ie6, но решать её, по своим внутренним убеждениям я не собираюсь.

Живой пример на <a href="http://forum.centrgroup.ru">http://forum.centrgroup.ru</a> (для зарегистрированных)
Если кому интересна сама реализация - пишите в комменты, постараюсь рассказать.
]]></content:encoded>
			<wfw:commentRss>http://blog.rpsl.info/2010/03/chat-dlya-vbulletin/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Twitter it для vBulletin</title>
		<link>http://blog.rpsl.info/2009/11/twitter-it-dlya-vbulletin/</link>
		<comments>http://blog.rpsl.info/2009/11/twitter-it-dlya-vbulletin/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 17:21:27 +0000</pubDate>
		<dc:creator>Rpsl</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Полезное]]></category>
		<category><![CDATA[centr]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[vbulletin]]></category>
		<category><![CDATA[форум]]></category>

		<guid isPermaLink="false">http://blog.rpsl.info/?p=445</guid>
		<description><![CDATA[На днях, мне захотелось сделать наш форум еще более интегрированным в, не побоюсь этого слова, великую социальную сеть twitter. Сначала была идея сделать возможность автоматической отправки новых тем из выбранных разделов в некий твиттер аккаунт, потом это обдумывалось и свелось до того, что бы была возможность отправлять в твиттер ссылки на темы, но при этом не сам форум будет спамить темы, а пользователи сам должны решать за себя. Первый вариант, который был реализован, заключался в простом добавление кнопки в шаблон, которая содержит в себе необходимый URL, но как выяснилось, это вариант не очень удобен, т.к. он не будет работать с [...]]]></description>
			<content:encoded><![CDATA[На днях, мне захотелось сделать наш форум еще более интегрированным в, не побоюсь этого слова, великую социальную сеть twitter.

Сначала была идея сделать возможность автоматической отправки новых тем из выбранных разделов в некий твиттер аккаунт, потом это обдумывалось и свелось до того, что бы была возможность отправлять в твиттер ссылки на темы, но при этом не сам форум будет спамить темы, а пользователи сам должны решать за себя.

Первый вариант, который был реализован, заключался в простом добавление кнопки в шаблон, которая содержит в себе необходимый URL, но как выяснилось, это вариант не очень удобен, т.к. он не будет работать с некоторыми символами, которые встречаются в тексте.

В итоге я просто создал модуль который генерирует ссылку, а в шаблон добавил простую кнопку и ву-аля.

<a href="http://blog.rpsl.info/wp-content/uploads/2009/11/twitterit.png"><img class="aligncenter size-full wp-image-446 colorbox-445" src="http://blog.rpsl.info/wp-content/uploads/2009/11/twitterit.png" alt="twitterit" width="373" height="149" /></a>

<span id="more-445"></span>Для начала нужно создать модуль:
<blockquote>Продукт - <strong>vBulletin</strong>
Местоположение модуля - <strong>postbit_display_complete</strong>
Имя - <strong>Twitter It</strong></blockquote>
Код модуля:


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$twitterit</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$post</span><span style="color: #009900;">&#91;</span>title<span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; http://siteurl/showthread.php?t=&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$thread</span><span style="color: #009900;">&#91;</span>threadid<span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; #tag&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$twitterit</span> <span style="color: #339933;">=</span> <span style="color: #990000;">iconv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'WINDOWS-1251'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'UTF-8'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$twitterit</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Если у вас не UTF-8</span>
<span style="color: #000088;">$twitterit</span> <span style="color: #339933;">=</span> <span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">htmlspecialchars_decode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$twitterit</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>





<blockquote>#tag и siteurl соответственно прописываете сами</blockquote>



Теперь нам осталось добавить вывод кнопок в шаблон. По умолчанию, за вывод сообщений отвечает шаблон postbit (postbit_legacy - если у вас Аватарки сбоку)

И добавляем в необходимое место вывод кнопки:<span style="color: #0000bb"> </span>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$twitterit</span>&quot;</span> target<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;_blank&quot;</span> rel<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;nofollow&quot;</span><span style="color: #339933;">&gt;&lt;</span>img src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$stylevar[imgdir_button]</span>/twitterit.gif&quot;</span> alt<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;Twitter It!&quot;</span> border<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;0&quot;</span> <span style="color: #339933;">/&gt;&lt;/</span>a<span style="color: #339933;">&gt;</span></pre></div></div>




If - мы используем для того, что бы кнопка отображалась только в первом сообщение темы.<p>Сюда приходят по следующим фразам</p>
<ul>
<li><a href="http://blog.rpsl.info/2010/06/vkontakte-rukozhopy.html">как сделать чтобы в контакте на свою страну все заходили</a></li>
<li><a href="http://blog.rpsl.info/2010/06/vkontakte-hd-video-vomp.html">кино в контакте</a></li>
<li><a href="http://blog.rpsl.info/2009/01/kak-stat-repperom-kniga.html">все про рэп и как стать рэппером</a></li>
<li><a href="http://blog.rpsl.info/2010/03/burger-king-na-kievskoj.html">бургер заказать</a></li>
<li><a href="http://blog.rpsl.info/2010/06/vkontakte-rukozhopy.html">поиск контакта говно</a></li>
<li><a href="http://blog.rpsl.info/2009/04/film-klass.html">класс фильм</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://blog.rpsl.info/2009/11/twitter-it-dlya-vbulletin/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Интеграция phpbb3 с любым сайтом.</title>
		<link>http://blog.rpsl.info/2009/04/integraciya-phpbb3-s-lyubym-sajtom/</link>
		<comments>http://blog.rpsl.info/2009/04/integraciya-phpbb3-s-lyubym-sajtom/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 10:00:26 +0000</pubDate>
		<dc:creator>Rpsl</dc:creator>
				<category><![CDATA[Статьи]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpbb]]></category>
		<category><![CDATA[форум]]></category>

		<guid isPermaLink="false">http://blog.rpsl.info/?p=134</guid>
		<description><![CDATA[Не очень давно, по работе, пришлось делать интеграцию уже имеющегося сайта, с форумом на системе phpBB 3-ей версии. После разбора полетов и курения мануалов по работе форума, организовалась очень интересная и простая система. Если говорить о её плюсах, то она полностью независима от форума, таким образом, при обнолении движка, мы уверены что не потерям правленные нами ранее файлы и что ничего не поломается. Для того, что бы понимать зачем и как это делать, сначала я постараюсь объяснить логику работы. Из уже готовых изменений, нам нужно добавить в БД сайта, дополнительное поле, например - 'user_f_id', в которое мы будем записывать информацию [...]]]></description>
			<content:encoded><![CDATA[Не очень давно, по работе, пришлось делать <strong>интеграцию</strong> уже имеющегося сайта, <strong>с форумом на системе phpBB</strong> 3-ей версии.

После разбора полетов и курения мануалов по работе форума, организовалась очень интересная и простая система. Если говорить о её плюсах, то она полностью независима от форума, таким образом, при обнолении движка, мы уверены что не потерям правленные нами ранее файлы и что ничего не поломается.

Для того, что бы понимать зачем и как это делать, сначала я постараюсь объяснить логику работы. Из уже готовых изменений, нам нужно добавить в БД сайта, дополнительное поле, например - 'user_f_id', в которое мы будем записывать информацию о сопоставлении профилей пользователей сайта, с профилями пользовталей форума (предполагается числовой идентификатор, user_id из БД форума - таблицы %prefix%_users).

<span id="more-134"></span>
<blockquote>
<ol>
	<li>Пользователь заполняет на сайте поля login и password</li>
	<li>Проверяем, заполненно ли у предпологаемого пользователя поле user_f_id</li>
</ol>
<ul>
	<li><strong>Если заполненно, то:</strong></li>
</ul>
<ol>
	<li>Запускаем функцию авторизации пользователя через форумную БД (листинг ниже)</li>
	<li>Если пароль не подходит, то выходим. Если подходит, то ставим авторизию на сайте + авторизацию на форуме</li>
	<li>Авторизация на форуме делается путем установки кук + добавлением записи в таблицу %prefix%_sessions БД форума (листинг ниже)</li>
</ol>
<ul>
	<li><strong>Если не заполнено, то:</strong></li>
</ul>
<ol>
	<li>Скрипт производит стандартные функции валидации пароля</li>
	<li>Если пароль не подходит, то выходим, если подходит, то запускаем функции установки сопоставления</li>
	<li>Создаем запись в БД форума о пользователе (таблица %prefix%_users)</li>
	<li>Созадем запись в БД форума о правах пользователя (таблица %prefix%_user_group)</li>
	<li>Заполняем в БД нашего сайта поле user_f_id</li>
</ol>
</blockquote>
Собственно всё. Теперь мы имеем систему, благодаря которой уже зарегистрированные пользователи, при первом входе заведут себе новый аккаунт на форуме. По какому критерию их сравнивать (логин, почта) это уже решайте сами.

Естественно нужно еще дописать функии, которые при  регистрации пользователей будут создавать учетную запись на форуме. И чтобы при авторизации несуществующего пользователя на сайте, при правильном форумном логине и пароле, ему автоматически создавалась учетная запись на сайте.

<span style="text-decoration: underline;"><em>Листинг ф-ций, которые проверяют пароль из форумной базы:</em></span>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// phpbb_hash($password) - Создание пароля</span>
<span style="color: #666666; font-style: italic;">// phpbb_check_hash($password, $hash) - Верификация пароля</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> unique_id<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'_'</span><span style="color: #339933;">.</span><span style="color: #990000;">microtime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'_'</span><span style="color: #339933;">.</span><span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">16</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> _hash_gensalt_private<span style="color: #009900;">&#40;</span><span style="color: #000088;">$input</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span><span style="color: #000088;">$itoa64</span><span style="color: #339933;">,</span> <span style="color: #000088;">$iteration_count_log2</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">6</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;">$iteration_count_log2</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">4</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$iteration_count_log2</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">31</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$iteration_count_log2</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">8</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'$H$'</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$itoa64</span><span style="color: #009900;">&#91;</span><span style="color: #990000;">min</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$iteration_count_log2</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">PHP_VERSION</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span> ? <span style="color: #cc66cc;">5</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$_hash_encode64</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$input</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">6</span><span style="color: #339933;">,</span> <span style="color: #000088;">$itoa64</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> _hash_encode64<span style="color: #009900;">&#40;</span><span style="color: #000088;">$input</span><span style="color: #339933;">,</span> <span style="color: #000088;">$count</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span><span style="color: #000088;">$itoa64</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">do</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$input</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$itoa64</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$value</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x3f</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$count</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$value</span> <span style="color: #339933;">|=</span> <span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$input</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">8</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$itoa64</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">6</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x3f</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">++</span> <span style="color: #339933;">&gt;=</span> <span style="color: #000088;">$count</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">break</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;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$count</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$value</span> <span style="color: #339933;">|=</span> <span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$input</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">16</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$itoa64</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x3f</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">++</span> <span style="color: #339933;">&gt;=</span> <span style="color: #000088;">$count</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$itoa64</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">18</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x3f</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
     <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$count</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> _hash_crypt_private<span style="color: #009900;">&#40;</span><span style="color: #000088;">$password</span><span style="color: #339933;">,</span> <span style="color: #000088;">$setting</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span><span style="color: #000088;">$itoa64</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'*'</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">// Check for correct hash</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$setting</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">'$H$'</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000088;">$count_log2</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$itoa64</span><span style="color: #339933;">,</span> <span style="color: #000088;">$setting</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$count_log2</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">7</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$count_log2</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000088;">$count</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #000088;">$count_log2</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$salt</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$setting</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">4</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$salt</span><span style="color: #009900;">&#41;</span>
    <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">PHP_VERSION</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$hash</span> <span style="color: #339933;">=</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$salt</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$password</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">do</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$hash</span> <span style="color: #339933;">=</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hash</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$password</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
         <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">--</span><span style="color: #000088;">$count</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$hash</span> <span style="color: #339933;">=</span> <span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'H*'</span><span style="color: #339933;">,</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$salt</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$password</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">do</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$hash</span> <span style="color: #339933;">=</span> <span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'H*'</span><span style="color: #339933;">,</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hash</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$password</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: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">--</span><span style="color: #000088;">$count</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$setting</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$_hash_encode64</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hash</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">16</span><span style="color: #339933;">,</span> <span style="color: #000088;">$itoa64</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> phpbb_hash<span style="color: #009900;">&#40;</span><span style="color: #000088;">$password</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$itoa64</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$random_state</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$unique_id</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$random</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$count</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">6</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fh</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/dev/urandom'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'rb'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$random</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fh</span><span style="color: #339933;">,</span> <span style="color: #000088;">$count</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #990000;">fclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fh</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$random</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$count</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$random</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$count</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">+=</span> <span style="color: #cc66cc;">16</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$random_state</span> <span style="color: #339933;">=</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$unique_id</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$random_state</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$random</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'H*'</span><span style="color: #339933;">,</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$random_state</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: #000088;">$random</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$random</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$count</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000088;">$hash</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_hash_crypt_private</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$password</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_hash_gensalt_private</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$random</span><span style="color: #339933;">,</span> <span style="color: #000088;">$itoa64</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$itoa64</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hash</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">34</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$hash</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$password</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> phpbb_check_hash<span style="color: #009900;">&#40;</span><span style="color: #000088;">$password</span><span style="color: #339933;">,</span> <span style="color: #000088;">$hash</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$itoa64</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hash</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">34</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_hash_crypt_private</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$password</span><span style="color: #339933;">,</span> <span style="color: #000088;">$hash</span><span style="color: #339933;">,</span> <span style="color: #000088;">$itoa64</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #000088;">$hash</span><span style="color: #009900;">&#41;</span> ? <span style="color: #009900; font-weight: bold;">true</span> <span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$password</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #000088;">$hash</span><span style="color: #009900;">&#41;</span> ? <span style="color: #009900; font-weight: bold;">true</span> <span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>



<span style="text-decoration: underline;"><em>Массив для добавления записи о сессии в БД форума.</em></span>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$browser</span> <span style="color: #339933;">=</span> <span style="color: #990000;">get_browser</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$ss</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
            <span style="color: #0000ff;">'sid'</span>          <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'U'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'user_id'</span>      <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$forum</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'user_id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'forum_id'</span>     <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'0'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'last_visit'</span>   <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'U'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'start_time'</span>   <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'U'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'session_time'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'U'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">86400</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'session_page'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'index.php'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'remote_ip'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'browser'</span>      <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">htmlspecialchars</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$browser</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'browser_name_pattern'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'autologin'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'1'</span>
            <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>


]]></content:encoded>
			<wfw:commentRss>http://blog.rpsl.info/2009/04/integraciya-phpbb3-s-lyubym-sajtom/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>centrgroup.ru</title>
		<link>http://blog.rpsl.info/2009/01/centrgroupru/</link>
		<comments>http://blog.rpsl.info/2009/01/centrgroupru/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 16:12:26 +0000</pubDate>
		<dc:creator>Rpsl</dc:creator>
				<category><![CDATA[Заметки]]></category>
		<category><![CDATA[centr]]></category>
		<category><![CDATA[ihiphop]]></category>
		<category><![CDATA[rap]]></category>
		<category><![CDATA[форум]]></category>

		<guid isPermaLink="false">http://blog.rpsl.info/?p=60</guid>
		<description><![CDATA[Форум растет. Акселерация очень большая. На картинке статистика по форуму. Про лицевую говорить ничего не буду, там около 7-8к хостов в сутки. Раньше "все они", просто читали, сейчас "они" начинают писать, спрашивать, тоесть нормально принимать участие в жизни форума. Модеры естественно охуевают от такого наплыва имбицилов. Зачем люди слушают музыку если не понимают процентов 50 текстов? Не буду вам про мерлы затирать (мы вандер гауди), кому надо сами почитайте "Разбор текстов". Пополнил сегодня форум еще двумя модерами и одним админом. Сам я уже давно большую часть форума не читаю и всю модерацию сейчас осуществляет Dimson, которому, как я знаю это [...]]]></description>
			<content:encoded><![CDATA[<p>Форум растет. Акселерация очень большая.</p>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img class="mt-image-center colorbox-60" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://blog.rpsl.info/2009/01/17/centrgroup_counter.png" alt="centrgroup_counter.png" width="300" height="150" /></span><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><br /></span>
<p>На картинке статистика по форуму. Про лицевую говорить ничего не буду, там около 7-8к хостов в сутки.</p>
<p>Раньше "все они", просто читали, сейчас "они" начинают писать, спрашивать, тоесть нормально принимать участие в жизни форума.</p>
<p>Модеры естественно охуевают от такого наплыва имбицилов. Зачем люди слушают музыку если не понимают процентов 50 текстов? Не буду вам про мерлы затирать (мы вандер гауди), кому надо сами почитайте "<a href="http://centrgroup.ru/forum/gruppa_centr/4-razbor_tekstov.html">Разбор текстов</a>".</p>
<p>Пополнил сегодня форум еще двумя модерами и одним админом. Сам я уже давно большую часть форума не читаю и всю модерацию сейчас осуществляет Dimson, которому, как я знаю это тоже уже давно остопиздело.</p>
<p><em>Мы догоним, мы обгоним и вперед уйдем.</em></p>
<p>&nbsp;</p>
<hr>
<p>Кстати есть домен <a href="http://ihiphop.ru">ihiphop.ru</a>, давно прикупил для подкаста (Саша, Кеша и Хип Хоп. Маф привет.) который так и не смог родить, вот думаю что с ним сделать? Вешать обычный рсс личер не очень хочется, а идей мало.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rpsl.info/2009/01/centrgroupru/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

