<?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>IPB, WordPress, IP.Board, php-Fusion, Invision Power Board &#187; Форум IP.Board</title>
	<atom:link href="http://pronets.ru/category/ipboard/feed/" rel="self" type="application/rss+xml" />
	<link>http://pronets.ru</link>
	<description>Моды, Плагины, Форум IPB (IP.Board, Invision Power Board), Cms php-Fusion, Блог WordPress</description>
	<lastBuildDate>Tue, 31 Aug 2010 20:10:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Обновление форума IP.Board до версии 3</title>
		<link>http://pronets.ru/obnovlenie-foruma-ip-board-do-versii-3/</link>
		<comments>http://pronets.ru/obnovlenie-foruma-ip-board-do-versii-3/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 10:01:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Форум IP.Board]]></category>
		<category><![CDATA[Invision Power Board]]></category>
		<category><![CDATA[IPB]]></category>
		<category><![CDATA[Изменить кодировку]]></category>
		<category><![CDATA[Изменить кодировку базы данных]]></category>
		<category><![CDATA[Изменяем кодировку]]></category>
		<category><![CDATA[Изменяем кодировку базы данных]]></category>
		<category><![CDATA[Кодировка]]></category>
		<category><![CDATA[Кодировка базы дынных]]></category>
		<category><![CDATA[Кодировка форума]]></category>
		<category><![CDATA[Обновление]]></category>
		<category><![CDATA[Обновление форума]]></category>
		<category><![CDATA[Обновление форума IP.Board]]></category>
		<category><![CDATA[форум]]></category>

		<guid isPermaLink="false">http://pronets.ru/?p=707</guid>
		<description><![CDATA[В IP.Board 3 было сделано много существенных изменений в архитектуре приложения. Одним из самых больших нововведений стала работа форума с UTF-8. 
При обновлении вашего старого форума до версии 3, вам скорее всего прийдется столкнуться с необходимостью сконвертировать вашу старую базу в новую (в формате UTF-8). 
Данная инструкция поможет сделать шаг за шагом.

Шаг 0. Готов ли [...]]]></description>
			<content:encoded><![CDATA[<p>В <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3 было сделано много существенных изменений в архитектуре приложения. Одним из самых больших нововведений стала работа форума с UTF-8. </p>
<p>При обновлении вашего старого форума до версии 3, вам скорее всего прийдется столкнуться с необходимостью сконвертировать вашу старую базу в новую (в формате UTF-8). </p>
<p>Данная инструкция поможет сделать шаг за шагом.<br />
<span id="more-707"></span><br />
<strong>Шаг 0. Готов ли ты к переходу?</strong></p>
<p>Прежде чем грезить о переходе на новый форум, необходимо узнать, сможет ли сервер работать с ним. </p>
<p>Для оценки существующей конфигурации PHP, создаем в корневой директории старого форума файл <u>myinfo.php</u> с содержимым:</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>
&nbsp;
<span style="color: #990000;">phpinfo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Запускаем скрипт в браузере. Результатом будет табличка следующего вида:</p>
<p><center><a href="http://pronets.ru/wp-content/uploads/2009/09/phpinfo.png"><img src="http://pronets.ru/wp-content/uploads/2009/09/phpinfo-200x200.png" alt="phpinfo" title="phpinfo" width="200" height="200" class="alignnone size-thumbnail wp-image-708" /></a></center></p>
<p><em><strong>Во-первых</strong></em>, версия PHP &#8211; она должна быть 5.1.x, а лучше 5.2.x, если версия PHP 4.x.x или PHP 5.3.x, то форум у вас работать не будет. </p>
<p><em><strong>Во-вторых</strong></em>, новому <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3 нужны модули расширения PHP: </p>
<p>- dom<br />
- gd<br />
- iconv<br />
- libxml<br />
- mbstring<br />
- mysqli или mysql<br />
- Reflection<br />
- SimpleXML<br />
- SPL</p>
<p>Если одного из выше перечисленных модулей не будет &#8211; форум не будет работать. </p>
<p><strong><em>В-третьих</strong></em>, крайне желательно наличие следующих модулей:</p>
<p>- json<br />
- sockets<br />
- sphinx<br />
- XCache или APC</p>
<p>Данные модули позволяют оптимизировать работу форума, но они не обязательны для его работы. </p>
<p><em><strong>В-четвертых</strong></em>, память выделенная для PHP. </p>
<p>Найдите значение memory_limit в таблице на странице. Оно должно быть не менее 32M, идеально 128M, значение надо смотреть в первой колонке (Local Value). Если памяти будет меньше, то форум не сможет нормально обновиться, возникнут проблемы с импортированием стилей, настроек и языков. </p>
<p>Итак, если все условия выполнены &#8211; мы готовы к обновлению. Приступим&#8230;</p>
<p><strong>Шаг 1. Подготовка.</strong></p>
<p>Прежде чем начинать что-то делать, необходимо подготовить пути отступления на случай непредвиденных ситуаций. Здесь нам крайне помогут следующие инструменты: </p>
<p>- SSH<br />
- SypexDumper<br />
- FTP</p>
<p><strong>Для обладателей SSH</strong></p>
<p>Делаем резервную копию базы данных:<br />
Получаем всю информацию о соединении с БД</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&gt;</span> cat <span style="color: #339933;">./</span>mydomain<span style="color: #339933;">.</span>ru<span style="color: #339933;">/</span>htdocs<span style="color: #339933;">/</span>forums<span style="color: #339933;">/</span>conf_global<span style="color: #339933;">.</span>php <span style="color: #339933;">|</span> grep sql
&nbsp;
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_driver'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'mysql'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_host'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'server.mysql'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_database'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'db_forum'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_user'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'db_user'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_pass'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'db_passw'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_tbl_prefix'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'ibf_'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_debug'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'1'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mysql_tbl_type'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'MyISAM'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mysql_codepage'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'cp1251'</span><span style="color: #339933;">;</span></pre></div></div>

<p>Путь до <u>conf_global.php</u> у вас конечно будет свой. Здесь все данные для наглядности, у вас они будут другими! </p>
<p>Теперь когда данные нам известны делаем резервную копию базы:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&gt;</span> mysqldump  <span style="color: #339933;">-</span>h server<span style="color: #339933;">.</span><span style="color: #990000;">mysql</span> <span style="color: #339933;">-</span>u db_user <span style="color: #339933;">-</span>p db_forum <span style="color: #339933;">--</span>default<span style="color: #339933;">-</span>character<span style="color: #339933;">-</span>set<span style="color: #339933;">=</span>cp1251 <span style="color: #339933;">&gt;</span> dump<span style="color: #339933;">.</span>sql</pre></div></div>

<p>И сделаем сразу архивчик:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&gt;</span> tar <span style="color: #339933;">-</span>czf dump<span style="color: #339933;">.</span>tar<span style="color: #339933;">.</span>gz dump<span style="color: #339933;">.</span>sql</pre></div></div>

<p><strong>Для обладателей SypexDumper</strong></p>
<p>Подробная инструкция по использованию &#8211; <a href="http://sypex.net/products/dumper/docs/">Читаем&#8230;</a></p>
<p><strong>Шаг 2. Новые файлы.</strong></p>
<p>Теперь необходимо закачать новые файлы форма на сервер. Для этого в начале разберемся со старыми. Часть из них нам больше уже не понадобиться никогда. Потому удаляем следующие директории и файлы:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">./</span>sources
<span style="color: #339933;">./</span>skin_acp
<span style="color: #339933;">./</span>retail
<span style="color: #339933;">./</span>resources
<span style="color: #339933;">./</span>modules
<span style="color: #339933;">./</span>lofiversion
<span style="color: #339933;">./</span>jscripts
<span style="color: #339933;">./</span>ips_kernel
<span style="color: #339933;">./</span><span style="color: #000000; font-weight: bold;">interface</span>
<span style="color: #339933;">./</span>install
<span style="color: #339933;">./</span>init<span style="color: #339933;">.</span>php
<span style="color: #339933;">./</span>index<span style="color: #339933;">.</span>php
<span style="color: #339933;">./</span>favicon<span style="color: #339933;">.</span>ico
<span style="color: #339933;">./</span>converge_local
<span style="color: #339933;">./</span>admin<span style="color: #339933;">.</span>php
<span style="color: #339933;">./</span>admin</pre></div></div>

<p>Должны остаться следующие файлы и директории:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">./</span>uploads
<span style="color: #339933;">./</span>style_images
<span style="color: #339933;">./</span>style_emoticons
<span style="color: #339933;">./</span>style_captcha
<span style="color: #339933;">./</span>style_avatars
<span style="color: #339933;">./</span>conf_global<span style="color: #339933;">.</span>php
<span style="color: #339933;">./</span>cache</pre></div></div>

<p>Теперь берем дистрибутив форума, и все файлы и директории из папки upload закачиваем на сервер при помощи FTP-клиента. Должно получиться так:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">./</span>xml<span style="color: #339933;">.</span>php
<span style="color: #339933;">./</span>uploads
<span style="color: #339933;">./</span>style_images
<span style="color: #339933;">./</span>style_emoticons
<span style="color: #339933;">./</span>style_captcha
<span style="color: #339933;">./</span>style_avatars
<span style="color: #339933;">./</span>robotstxt<span style="color: #339933;">.</span>txt
<span style="color: #339933;">./</span>retail
<span style="color: #339933;">./</span><span style="color: #000000; font-weight: bold;">public</span>
<span style="color: #339933;">./</span>lofiversion
<span style="color: #339933;">./</span>ips_kernel
<span style="color: #339933;">./</span><span style="color: #000000; font-weight: bold;">interface</span>
<span style="color: #339933;">./</span>initdata<span style="color: #339933;">.</span>php
<span style="color: #339933;">./</span>index<span style="color: #339933;">.</span>php
<span style="color: #339933;">./</span>hooks
<span style="color: #339933;">./</span>favicon<span style="color: #339933;">.</span>ico
<span style="color: #339933;">./</span>converge_local
<span style="color: #339933;">./</span>conf_global<span style="color: #339933;">.</span>php
<span style="color: #339933;">./</span>cache
<span style="color: #339933;">./</span>admin</pre></div></div>

<p>Теперь нужно проверить, что все права на директории расставлены правильно. <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3 требует записи в следующие директории:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">./</span>cache
<span style="color: #339933;">./</span>cache<span style="color: #339933;">/</span>tmp
<span style="color: #339933;">./</span>cache<span style="color: #339933;">/</span>lang_cache
<span style="color: #339933;">./</span>cache<span style="color: #339933;">/</span>lang_cache<span style="color: #339933;">/</span><span style="color: #cc66cc;">1</span>
<span style="color: #339933;">./</span>cache<span style="color: #339933;">/</span>skin_cache
<span style="color: #339933;">./</span><span style="color: #000000; font-weight: bold;">public</span><span style="color: #339933;">/</span>style_images
<span style="color: #339933;">./</span><span style="color: #000000; font-weight: bold;">public</span><span style="color: #339933;">/</span>style_css
<span style="color: #339933;">./</span>hooks
<span style="color: #339933;">./</span>uploads</pre></div></div>

<p>И файл <u>./conf_global.php</u> </p>
<p>Для того чтобы не было проблем выставляем этим директориям и файлу CHMOD 777 (rwxrwxrwx). </p>
<p><strong>Шаг 3. Подготовка к обновлению.</strong></p>
<p><strong>Кодировка в conf_global.php</strong></p>
<p>Ваш старый conf_global нужно изменить, чтобы обновление прошло успешно. Допустим сейчас он выглядит так:</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: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_driver'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'mysql'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_host'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'server.mysql'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_database'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'db_forum'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_user'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'db_user'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_pass'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'db_passw'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_tbl_prefix'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'ibf_'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_debug'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'1'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'board_start'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'1246400000'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'installed'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'1'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'php_ext'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'php'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'safe_mode'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'0'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'board_url'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'http://www.mydomain.ru/forum'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'banned_group'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'5'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'admin_group'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'4'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'guest_group'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'2'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'member_group'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'3'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'auth_group'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'1'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mysql_tbl_type'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'MyISAM'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mysql_codepage'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'cp1251'</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;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_tbl_prefix'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'ibf_'</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;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_charset'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'utf8'</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;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mysql_codepage'</span><span style="color: #009900;">&#93;</span>			<span style="color: #339933;">=</span>	<span style="color: #0000ff;">'cp1251'</span><span style="color: #339933;">;</span></pre></div></div>

<p>Можно удалить за ненадобностью.</p>
<p><strong>Перекодирование базы данных</strong></p>
<p>Это очень важный этап. Если его выполнить не верно, дальнейшее обновление форума не будет иметь смысла. </p>
<p><strong>Основная идея перекодирования базы</strong></p>
<p>У нас есть резервная копия базы в файле. Это простой текст в кодировке windows-1251 (cp1251). Для того чтобы перевести этот текст в UTF-8, необходимо воспользоваться конвертером (редактор текста с поддержкой перекодирования, утилита для перекодирования; все что угодно, что может перевести текст из Windows-1251 в UTF-8). </p>
<p>После того как текст переведен в UTF-8, необходимо поправить инструкции в этом тексте, чтобы сама база работала с ним как с UTF-8. А именно есть две команды SET NAMES и DEFAULT CHARSET. На базе cp1251 они выглядят так:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">SET NAMES cp1251
&nbsp;
<span style="color: #009900;">&#41;</span> ENGINE<span style="color: #339933;">=</span>MyISAM <span style="color: #b1b100;">DEFAULT</span> CHARSET<span style="color: #339933;">=</span>cp1251</pre></div></div>

<p>В нашей резервной копии таких команд больше чем две. Значит нам нужно их заменить во всем файле на</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">SET NAMES utf8
&nbsp;
<span style="color: #009900;">&#41;</span> ENGINE<span style="color: #339933;">=</span>MyISAM <span style="color: #b1b100;">DEFAULT</span> CHARSET<span style="color: #339933;">=</span>utf8</pre></div></div>

<p><strong>Перекодирование средствами SSH</strong></p>
<p>Воспользуемся утилитой iconv для преобразования нашей резервной копии (которую мы делали на первом шаге), делается это так:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&gt;</span>iconv <span style="color: #339933;">-</span>f cp1251 <span style="color: #339933;">-</span>t utf8 dump<span style="color: #339933;">.</span>sql <span style="color: #339933;">&gt;</span> dump<span style="color: #339933;">.</span>utf8</pre></div></div>

<p>Назначение ключей следующее:</p>
<p>-f cp1251 – конвертировать из кодировки cp1251<br />
-t utf8 – в кодировку utf8<br />
dump.sql – файл который надо сконвертировать<br />
> dump.utf8 – результаты конвертации запишутся сюда </p>
<p>Возможно появление проблем при конвертации, которые прервут процесс конвертирования. Это как правило происходит из-за невозможности найти соответствие символов одной кодировки в символы другой. В таких случаях стоит добавить еще один ключ (-c) в вызов iconv. Т.е. команда будет выглядеть уже так:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&gt;</span>iconv <span style="color: #339933;">-</span>c <span style="color: #339933;">-</span>f cp1251 <span style="color: #339933;">-</span>t utf8 dump<span style="color: #339933;">.</span>sql <span style="color: #339933;">&gt;</span> dump<span style="color: #339933;">.</span>utf8</pre></div></div>

<p>В этом случае при возникновении проблемы при конвертировании, символ будет пропущен, а конвертирование продолжится. </p>
<p>Итак весь текст у нас переведен в UTF-8, теперь необходимо изменить команды SQL. Делается это так </p>
<p>Собственно так как дамп у нас должен быть в правильной cp1251 кодировке, то делаем замену в файле этих значений на новые:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&gt;</span> sed <span style="color: #0000ff;">'s/SET NAMES cp1251/SET NAMES utf8/g'</span> <span style="color: #339933;">&lt;</span> dump<span style="color: #339933;">.</span>utf8 <span style="color: #339933;">&gt;</span> 1<span style="color: #339933;">.</span>dump<span style="color: #339933;">.</span>utf8
<span style="color: #339933;">&gt;</span> sed <span style="color: #0000ff;">'s/DEFAULT CHARSET=cp1251/DEFAULT CHARSET=utf8/g'</span> <span style="color: #339933;">&lt;</span> 1<span style="color: #339933;">.</span>dump<span style="color: #339933;">.</span>utf8 <span style="color: #339933;">&gt;</span> dump<span style="color: #339933;">.</span>utf8<span style="color: #339933;">.</span>sql</pre></div></div>

<p>Данную команду наглядно описать с русскими значениями:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">sed <span style="color: #0000ff;">'s/БЫЛО/СТАЛО/g'</span> <span style="color: #339933;">&lt;</span> ОТКУДА ЧИТАЕМ <span style="color: #339933;">&gt;</span> КУДА ЗАПИСЫВАЕМ</pre></div></div>

<p><strong>Перекодирование подготовленным SypexDumper</strong></p>
<p>В директории Tools дистрибутива мы расположили скрипт измененного SypexDumper, который уже настроен на работу с базой вашего форума. Необходимо закачать данный скрипт в корневую директорию форума на сервере и запустить. </p>
<p>Вводите данные для доступа к базе форума в первом окне. </p>
<p>В следующем окне вам будет предложено сделать дамп базы и восстановить базу из резервной копии. </p>
<p>Делаете дамп базы. После завершения dumper напишет, что резервная копия готова и даст ссылку на ее скачивание. Скачивать не надо. Просто заходим по FTP на сервер форума и убеждаемся, что копия действительно сделана и находится в директории cache. Вы можете скачать этот дамп к себе на компьютер. Запомните имя файла резервной копии. </p>
<p>Возвращаемся к форме дампера из которой вы начали делать резервную копию. Теперь в нем необходимо выбрать восстановление базы.<br />
В первом выпадающем списке выбираете вашу базу данных, во втором &#8211; название файла резервной копии. Запускаете восстановление. </p>
<p>После того как восстановление будет завершено. При помощи phpMyAdmin или схожего по возможности инструмента, проверяете, что все таблицы теперь имеют сравнение utf8_general_ci, и все данные внутри таблиц нормально отображаются.</p>
<p><strong>Другие способы</strong></p>
<p>Конвертирование посредством самого MySQL &#8211; <a href="http://forum.pronets.ru/Konvertirovanie-bazy-MySQL-iz-kirilitsy-v-UTF8-t15486.html">Конвертирование базы MySQL из кирилицы в UTF8</a></p>
<p>Если скрипт подвисает на конвертировании базы, в основном на таблице posts, то необходимо воспользоваться модифицированным скриптом и SSH. </p>
<p>Загружаете следующий скрипт в корневую директорию форума:</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: #666666; font-style: italic;">// Database info</span>
&nbsp;
<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;conf_global.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$dbhost</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_host'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$dbuser</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_user'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$dbpass</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_pass'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$dbname</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$INFO</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sql_database'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//---------------</span>
&nbsp;
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Content-type: text/plain'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$dbconn</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dbhost</span><span style="color: #339933;">,</span> <span style="color: #000088;">$dbuser</span><span style="color: #339933;">,</span> <span style="color: #000088;">$dbpass</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">mysql_error</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: #000088;">$db</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_select_db</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dbname</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;ALTER DATABASE `&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$dbname</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$exec_sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'SHOW TABLES'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$exec_sql</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_row</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$table</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_real_escape_string</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$sql</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;ALTER TABLE `&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$table</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci, CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #990000;">mysql_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dbconn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$sql</span><span style="color: #339933;">;</span></pre></div></div>

<p>Запускаете скрипт через браузер. Вы получите список инструкций для выполнения в mysql. Копируете код страницы в файл, например win2utf.sql, и закачиваете данный файл на сервер. Запомните путь к файлу, для примера у нас будет путь /home/user/htdocs/ </p>
<p>Заходите на сервер с использованием SSH и выполняете следующую команду:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">mysql</span> <span style="color: #339933;">-</span>uusername <span style="color: #339933;">-</span>p dbname <span style="color: #339933;">&lt;</span> <span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>user<span style="color: #339933;">/</span>htdocs<span style="color: #339933;">/</span>win2utf<span style="color: #339933;">.</span>sql</pre></div></div>

<p>Имя пользователя username, имя базы dbname и путь до файла sql запросов у вас должны быть свои. </p>
<p>Вводите пароль и ожидаете завершения работы команды mysql.</p>
<p><strong>Использование специального Perl скрипта</strong></p>
<p>Метод исключительно для SSH.</p>
<p>Скачиваете скрипт:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">wget http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//www.pablowe.net/convert_charset</span></pre></div></div>

<p>Выставляете ему права на запуск</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">chmod</span> a<span style="color: #339933;">+</span>x convert_charset</pre></div></div>

<p>Запускаете конвертацию базы форума в тестовом режиме</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">./</span>convert_charset <span style="color: #339933;">--</span>database<span style="color: #339933;">=</span>database <span style="color: #339933;">--</span>host<span style="color: #339933;">=</span>localhost <span style="color: #339933;">--</span>user<span style="color: #339933;">=</span>username <span style="color: #339933;">--</span>askpass <span style="color: #339933;">--</span>test</pre></div></div>

<p>В консоль будут выведены команды, которые будет выполнять скрипт. Убедитесь, что все таблицы базы будут сконвертированы. Если скрипт не сможет найти таблицы, выполните следующую команду:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">mysql</span> <span style="color: #339933;">-</span>u username <span style="color: #339933;">-</span>pDBUSERPASSWORD <span style="color: #339933;">-</span>e <span style="color: #0000ff;">'SHOW TABLES'</span> database <span style="color: #339933;">|</span> awk <span style="color: #0000ff;">'{if (NR&gt;1) {if (NR==2) {a=$1} else {a=a &quot;,&quot; $1}} } END {print a}'</span></pre></div></div>

<p>Данные для username, DBUSERPASSWORD и database должны быть вашими. </p>
<p>Вы получите список таблиц в базе, дальше этот список необходимо добавить к ключу –tables</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">./</span>convert_charset <span style="color: #339933;">--</span>database<span style="color: #339933;">=</span>database <span style="color: #339933;">--</span>host<span style="color: #339933;">=</span>localhost <span style="color: #339933;">--</span>user<span style="color: #339933;">=</span>username <span style="color: #339933;">--</span>askpass <span style="color: #339933;">--</span>tables<span style="color: #339933;">=</span>admin_login_logs<span style="color: #339933;">,</span>admin_logs<span style="color: #339933;">,</span>admin_permission_rows<span style="color: #339933;">,</span>announcements<span style="color: #339933;">,....</span> <span style="color: #339933;">--</span>test</pre></div></div>

<p>Убедившись, что все таблицы будут затронуты, запустите команду без ключа –test </p>
<p><strong>Восстановление новой базы данных</strong></p>
<p>Наша база сконвертирована и готова к обновлению. Однако ее еще надо восстановить на сервере MySQL.<br />
Сначала необходимо поменять кодировку старой базы. </p>
<p><strong>При наличии SSH</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&gt;</span>mysql <span style="color: #339933;">-</span>u db_user <span style="color: #339933;">-</span>p db_forum <span style="color: #339933;">-</span>e <span style="color: #0000ff;">'ALTER DATABASE db_forum DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci'</span>
Enter password<span style="color: #339933;">:</span></pre></div></div>

<p><strong>При отсутствии SSH</strong></p>
<p>В любом доступном интерфейсе для работы с базой данных (например, phpMyAdmin) перейти в базу форума и выполнить запрос</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">ALTER DATABASE db_forum <span style="color: #b1b100;">DEFAULT</span> CHARACTER SET utf8 COLLATE utf8_general_ci</pre></div></div>

<p>Вместо db_forum должно быть название ваше базы! </p>
<p>Теперь развернем базу. Делается это так:</p>
<p><strong>При наличии SSH</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&gt;</span>mysql <span style="color: #339933;">-</span>u db_user <span style="color: #339933;">-</span>p <span style="color: #339933;">--</span>default<span style="color: #339933;">-</span>character<span style="color: #339933;">-</span>set<span style="color: #339933;">=</span>utf8 db_forum <span style="color: #339933;">&lt;</span> <span style="color: #339933;">./</span>dump<span style="color: #339933;">.</span>utf8<span style="color: #339933;">.</span>sql
Enter password<span style="color: #339933;">:</span>
<span style="color: #339933;">&gt;</span></pre></div></div>

<p><strong>При отсутствии SSH</strong></p>
<p>Восстанавливать лучше SypexDumper. Закидываете сконвертированную резеврную копию в директорию, куда SypexDumper сохраняет резервные копии баз. И запускаете SypexDumper. Внимательно следуете инструкциям </p>
<p>Дамп развернут, кодировка базы utf8, база готова для обновления.</p>
<p><strong>Шаг 4. Обновление</strong></p>
<p>Теперь у нас все готово, чтобы запустить скрипт обновления. Заходите браузером на страницу:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//mydomain.ru/forum/admin/upgrade/</span></pre></div></div>

<p>и следуете указаниям мастера обновления.</p>
<p><strong>Шаг 5. Ошибки после обновления</strong></p>
<p><strong>Кодировка страниц</strong></p>
<p>Бывает так, что после обновления, зайдя на страницу форума, вы видите что-то подобное:</p>
<p><center><a href="http://pronets.ru/wp-content/uploads/2009/09/oh_shit.png"><img src="http://pronets.ru/wp-content/uploads/2009/09/oh_shit-200x200.png" alt="oh_shit" title="oh_shit" width="200" height="200" class="alignnone size-thumbnail wp-image-717" /></a></center></p>
<p>Проблема в том, что выбирается не правильная кодировка для страниц. Проверьте в АЦ параметр Кодировка страниц форума (АЦ → Системные настройки → Настройки серверного окружения → Кодировка страниц форума) он должен содержать значение utf-8. </p>
<p>Если все правильно, попробуйте создать файл <u>.htaccess</u> в корневой директории сервера, со следующим содержанием:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">AddDefaultCharset utf<span style="color: #339933;">-</span><span style="color: #cc66cc;">8</span>
AddCharset utf<span style="color: #339933;">-</span><span style="color: #cc66cc;">8</span> <span style="color: #339933;">*</span>
<span style="color: #339933;">&lt;</span>IfModule mod_charset<span style="color: #339933;">.</span>c<span style="color: #339933;">&gt;</span>
CharsetSourceEnc utf<span style="color: #339933;">-</span><span style="color: #cc66cc;">8</span>
CharsetDefault utf<span style="color: #339933;">-</span><span style="color: #cc66cc;">8</span>
<span style="color: #339933;">&lt;/</span>IfModule<span style="color: #339933;">&gt;</span></pre></div></div>

<p><strong>Не все символы выводятся</strong></p>
<p>При просмотре страницы форума, часть символов пропала, а вместо них ромбики:</p>
<p><center><a href="http://pronets.ru/wp-content/uploads/2009/09/wtf.png"><img src="http://pronets.ru/wp-content/uploads/2009/09/wtf-200x200.png" alt="wtf" title="wtf" width="200" height="200" class="alignnone size-thumbnail wp-image-718" /></a></center></p>
<p>Причины может быть две: </p>
<p>1. Вы забыли изменить <u>conf_global.php</u> так как об этом писалось в шаге 1.<br />
Попробуйте выполнить эти изменения, если не поможет внимательно повторите обновление </p>
<p>2. Вы сконвертировали базу, которая уже была в UTF.<br />
Начните обновление с шага 2, но не выполняйте перекодирование базы (самого текста), а только выполните замены команд SQL.</p>

	<b>Метки:</b> <a href="http://pronets.ru/tag/izmenyaem-kodirovku-bazyi-dannyih/" title="Изменяем кодировку базы данных" rel="tag nofollow">Изменяем кодировку базы данных</a>, <a href="http://pronets.ru/tag/kodirovka-bazyi-dyinnyih/" title="Кодировка базы дынных" rel="tag nofollow">Кодировка базы дынных</a>, <a href="http://pronets.ru/tag/obnovlenie-foruma/" title="Обновление форума" rel="tag nofollow">Обновление форума</a>, <a href="http://pronets.ru/tag/obnovlenie/" title="Обновление" rel="tag nofollow">Обновление</a>, <a href="http://pronets.ru/tag/forum/" title="форум" rel="tag nofollow">форум</a>, <a href="http://pronets.ru/tag/izmenyaem-kodirovku/" title="Изменяем кодировку" rel="tag nofollow">Изменяем кодировку</a>, <a href="http://pronets.ru/tag/obnovlenie-foruma-ip-board/" title="Обновление форума IP.Board" rel="tag nofollow">Обновление форума IP.Board</a>, <a href="http://pronets.ru/tag/kodirovka-foruma/" title="Кодировка форума" rel="tag nofollow">Кодировка форума</a>, <a href="http://pronets.ru/tag/kodirovka/" title="Кодировка" rel="tag nofollow">Кодировка</a>, <a href="http://pronets.ru/tag/izmenit-kodirovku/" title="Изменить кодировку" rel="tag nofollow">Изменить кодировку</a><br /><br />

	<ul class="st-related-posts">
	<li><a href="http://pronets.ru/o-sayte/" title="О сайте (17/11/2009)">О сайте</a> (0)</li>
	<li><a href="http://pronets.ru/globalnyie-prava-dostupa/" title="Глобальные права доступа (04/06/2009)">Глобальные права доступа</a> (0)</li>
	<li><a href="http://pronets.ru/rasshiryaya-mehanizmyi-avtorizatsii/" title="Расширяя механизмы авторизации (04/06/2009)">Расширяя механизмы авторизации</a> (0)</li>
	<li><a href="http://pronets.ru/ispolzovanie-cms/" title="Использование CMS (15/06/2008)">Использование CMS</a> (0)</li>
	<li><a href="http://pronets.ru/oshibki-bazyi-dannyih/" title="Ошибки базы данных (29/06/2008)">Ошибки базы данных</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://pronets.ru/obnovlenie-foruma-ip-board-do-versii-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка форума IP.Board 2.x.x</title>
		<link>http://pronets.ru/ustanovka-foruma-ipboard-2xx/</link>
		<comments>http://pronets.ru/ustanovka-foruma-ipboard-2xx/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 21:18:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Форум IP.Board]]></category>
		<category><![CDATA[Invision Power Board]]></category>
		<category><![CDATA[IPB]]></category>
		<category><![CDATA[Видео]]></category>
		<category><![CDATA[Видео-Урок]]></category>
		<category><![CDATA[Урок]]></category>
		<category><![CDATA[Установка IP.Board]]></category>
		<category><![CDATA[Установка Форума]]></category>
		<category><![CDATA[Установка Форума IP.Board]]></category>

		<guid isPermaLink="false">http://pronets.ru/?p=615</guid>
		<description><![CDATA[Установка форума IP.Board 2.x.x &#8211; Видео-Урок


	Метки: Установка Форума IP.Board, Установка IP.Board, IPB, Invision Power Board, Видео, Установка Форума, Видео-Урок, Форум IP.Board, Урок

	
	Скачать видео с Video.mail.ru (0)
	Обзор механизма пометки прочитанности тем (0)
	Улучшения системы обработки ошибок (0)
	Наконец-то, дружественные URL&#8217;ы! (0)
	Дополнения и хаки (0)


]]></description>
			<content:encoded><![CDATA[<p><center><strong>Установка форума <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 2.x.x &#8211; Видео-Урок</strong></p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/e9PKHhgYdfM&#038;hl=ru&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/e9PKHhgYdfM&#038;hl=ru&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></center></p>

	<b>Метки:</b> <a href="http://pronets.ru/tag/urok/" title="Урок" rel="tag nofollow">Урок</a>, <a href="http://pronets.ru/tag/ustanovka-foruma-ipboard/" title="Установка Форума IP.Board" rel="tag nofollow">Установка Форума IP.Board</a>, <a href="http://pronets.ru/tag/ipboard/" title="Форум IP.Board" rel="tag nofollow">Форум IP.Board</a>, <a href="http://pronets.ru/tag/ustanovka-foruma/" title="Установка Форума" rel="tag nofollow">Установка Форума</a>, <a href="http://pronets.ru/tag/ipb/" title="IPB" rel="tag nofollow">IPB</a>, <a href="http://pronets.ru/tag/video-urok/" title="Видео-Урок" rel="tag nofollow">Видео-Урок</a>, <a href="http://pronets.ru/tag/video/" title="Видео" rel="tag nofollow">Видео</a>, <a href="http://pronets.ru/tag/invision-power-board/" title="Invision Power Board" rel="tag nofollow">Invision Power Board</a>, <a href="http://pronets.ru/tag/ustanovka-ipboard/" title="Установка IP.Board" rel="tag nofollow">Установка IP.Board</a><br /><br />

	<ul class="st-related-posts">
	<li><a href="http://pronets.ru/kak-nahodit-interesnoe-video-dlya-sayta/" title="Как находить интересное видео для сайта (21/05/2010)">Как находить интересное видео для сайта</a> (0)</li>
	<li><a href="http://pronets.ru/ipblog-ipgallery-i-ipdownloads/" title="IP.Blog, IP.Gallery и IP.Downloads (04/06/2009)">IP.Blog, IP.Gallery и IP.Downloads</a> (0)</li>
	<li><a href="http://pronets.ru/prochie-vozmozhnosti/" title="Прочие возможности (04/06/2009)">Прочие возможности</a> (0)</li>
	<li><a href="http://pronets.ru/vzaimosvyaz-s-vneshnimi-prilozheniyami/" title="Взаимосвязь с внешними приложениями (04/06/2009)">Взаимосвязь с внешними приложениями</a> (0)</li>
	<li><a href="http://pronets.ru/upravlenie-yazyikami/" title="Управление языками (04/06/2009)">Управление языками</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://pronets.ru/ustanovka-foruma-ipboard-2xx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FAQ по IP.Board</title>
		<link>http://pronets.ru/faq-po-ipboard/</link>
		<comments>http://pronets.ru/faq-po-ipboard/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 20:05:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Форум IP.Board]]></category>
		<category><![CDATA[FAQ]]></category>
		<category><![CDATA[FAQ по IP.Board]]></category>
		<category><![CDATA[Invision Power Board]]></category>
		<category><![CDATA[IPB]]></category>
		<category><![CDATA[Решение вопросов]]></category>
		<category><![CDATA[Решение вопросов по IP.Board]]></category>

		<guid isPermaLink="false">http://pronets.ru/?p=604</guid>
		<description><![CDATA[Решение вопросов по IP.Board , FAQ &#8211; FAQ

	Метки: Решение вопросов по IP.Board, FAQ, IPB, Форум IP.Board, Решение вопросов, FAQ по IP.Board, Invision Power Board

	
	Приоткрывая завесу над ipsRegistry (0)
	Импорт/Экспорт скинов IP.Board (0)
	Глобальный поиск (0)
	Ревизия системы BBCode (0)
	Скрины IP. Board 3 (0)


]]></description>
			<content:encoded><![CDATA[<p><strong>Решение вопросов по <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board , FAQ</strong> &#8211; <a href="http://forum.pronets.ru/Reshenie-voprosov-po-IPBoard-t15440.html">FAQ</a></p>

	<b>Метки:</b> <a href="http://pronets.ru/tag/ipb/" title="IPB" rel="tag nofollow">IPB</a>, <a href="http://pronets.ru/tag/invision-power-board/" title="Invision Power Board" rel="tag nofollow">Invision Power Board</a>, <a href="http://pronets.ru/tag/faq-po-ipboard/" title="FAQ по IP.Board" rel="tag nofollow">FAQ по IP.Board</a>, <a href="http://pronets.ru/tag/faq/" title="FAQ" rel="tag nofollow">FAQ</a>, <a href="http://pronets.ru/tag/reshenie-voprosov/" title="Решение вопросов" rel="tag nofollow">Решение вопросов</a>, <a href="http://pronets.ru/tag/ipboard/" title="Форум IP.Board" rel="tag nofollow">Форум IP.Board</a>, <a href="http://pronets.ru/tag/reshenie-voprosov-po-ipboard/" title="Решение вопросов по IP.Board" rel="tag nofollow">Решение вопросов по IP.Board</a><br /><br />

	<ul class="st-related-posts">
	<li><a href="http://pronets.ru/uluchshenie-yadra-sistemyi/" title="Улучшение ядра системы (04/06/2009)">Улучшение ядра системы</a> (0)</li>
	<li><a href="http://pronets.ru/nakonets-to-druzhestvennyie-urlyi/" title="Наконец-то, дружественные URL&#8217;ы! (04/06/2009)">Наконец-то, дружественные URL&#8217;ы!</a> (0)</li>
	<li><a href="http://pronets.ru/oshibki-bazyi-dannyih/" title="Ошибки базы данных (29/06/2008)">Ошибки базы данных</a> (0)</li>
	<li><a href="http://pronets.ru/oshibki-ipb/" title="Ошибки IPB (30/06/2008)">Ошибки IPB</a> (0)</li>
	<li><a href="http://pronets.ru/obnovlenie-foruma-ip-board-do-versii-3/" title="Обновление форума IP.Board до версии 3 (10/09/2009)">Обновление форума IP.Board до версии 3</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://pronets.ru/faq-po-ipboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Прочие возможности</title>
		<link>http://pronets.ru/prochie-vozmozhnosti/</link>
		<comments>http://pronets.ru/prochie-vozmozhnosti/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 22:09:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Форум IP.Board]]></category>
		<category><![CDATA[Invision Power Board]]></category>
		<category><![CDATA[Invision Power Board 3]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[IP.Board]]></category>
		<category><![CDATA[IP.Board 3]]></category>
		<category><![CDATA[IPB]]></category>
		<category><![CDATA[IPB 3]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[Бан]]></category>
		<category><![CDATA[Возможности]]></category>
		<category><![CDATA[Логин]]></category>
		<category><![CDATA[плагин]]></category>
		<category><![CDATA[Прочие]]></category>
		<category><![CDATA[Прочие возможности]]></category>
		<category><![CDATA[Сайт]]></category>
		<category><![CDATA[стили]]></category>
		<category><![CDATA[темы]]></category>
		<category><![CDATA[Установка]]></category>

		<guid isPermaLink="false">http://pronets.ru/?p=533</guid>
		<description><![CDATA[Какое-то время мы описывали большие изменения, которые вы увидите при выходе IP.Board 3. Вещи, вроде улучшенного управления BBКодами, системы хуков и плагинов, системы личного общения, к примеру, являются более интересными, нежели описание множества маленьких возможностей. Однако настал момент, когда необходимо уделить некоторое время для ознакомления с несколькими малыми улучшениями, которые добавлены в IP.Board 3 и [...]]]></description>
			<content:encoded><![CDATA[<p>Какое-то время мы описывали большие изменения, которые вы увидите при выходе <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3. Вещи, вроде улучшенного управления BBКодами, системы хуков и плагинов, системы личного общения, к примеру, являются более интересными, нежели описание множества маленьких возможностей. Однако настал момент, когда необходимо уделить некоторое время для ознакомления с несколькими малыми улучшениями, которые добавлены в <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3 и о которых мы еще не рассказывали.</p>
<p><span id="more-533"></span></p>
<h4>Минимальное количество сообщений для просмотра форума</h4>
<p> </p>
<p>Теперь вы можете настроить ваши форумы так, что доступ к ним будет только у пользователей, набравших определенное количество сообщений.</p>
<p> </p>
<h4>Минимальное количество сообщений для ответа в форум</h4>
<p> </p>
<p>Опция, аналогичная предыдущей — теперь вы сможете разрешить пользователям оставлять сообщения в конкретном форуме только после того, как они наберут необходимое количество сообщений.</p>
<p> </p>
<h4>Только авторы могут видеть свои темы</h4>
<p> </p>
<p>Довольно часто пользователи запрашивали такую возможность. Отныне вы вправе разрешить пользователям в определенном форуме видеть только созданные ими темы. Конечно же эти темы смогут видеть модераторы и администраторы. Данная опция позволит вам создавать форумы в стиле &#8220;help-desk&#8221; (форумы поддержки) без привлечения дополнительных приложений.</p>
<p> </p>
<h4>HTTPS форма входа</h4>
<p> </p>
<p>Появилась возможность привязать форму входа к <a href="http://pronets.ru/tag/url/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with URL">url</a> использующим https, осуществляется это простой настройкой в админцентре. Однако получение SSL сертификата для сервера и его установка на сервер все же остается вашей обязанностью.</p>
<p> </p>
<h4>&#8220;Режим производительности&#8221;</h4>
<p> </p>
<p>Мы работаем с несколькими крупными клиентами, которые обладают форумами, трафик на которых достаточно равномерен, однако временами бывают огромные всплески активности (например, связанные с какими-либо событиями). Во время данных всплесков часто бывает необходимо отключить не нужные опции для поддержания жизнеспособности сайта. Настройка режима производительности позволяет вам легко отключать множество опций, тем самым экономя ресурсы, одним кликом. Сама система запоминает значение настроек перед включением режима производительности, что позволяет вам вернуть систему в прежнее состояние при уменьшении активности отключив данный режим.</p>
<p> </p>
<h4>Регистрация &#8220;вопрос и ответ&#8221;</h4>
<p> </p>
<p>В третьей версии форума вам будет доступна возможность настройки вопросов и ответов на них, которые будут случайным образом выведены на странице регистрации, тем самым усилив защиту от автоматических регистраций.</p>
<p> </p>
<h4>Загрузка javascript файлов через Google</h4>
<p> </p>
<p>Google предоставляет сервис, позволяющий загружать файлы библиотек prototype и scriptaculous с их серверов. Тем самым разгрузив ваш сервер на 2 HTTP запроса, к тому же позволяя самим серверам гугла управлять правильными заголовками кеширования данных файлов.</p>
<p> </p>
<h4>Выбор стиля и языка для гостей</h4>
<p> </p>
<p>Отныне гости могут сменять стиль и язык интерфейса, если на вашем форуме их несколько. Стоит заметить что доступ к стилям может быть настроен для каждой группы, тем самым вы можете легко настраивать какие стили будут видны гостям, а какие нет.</p>
<p> </p>
<h4>Улучшение управления подпиской на тему/форум</h4>
<p> </p>
<p>Появилась возможность отписывать конкретных пользователей от всех форумов и тем (настройка доступна в админцентре на странице редактирования пользователя), а так же вы сможете отписывать всех пользователей от конкретных форумов.</p>
<p> </p>
<h4>Расширение управления &#8220;друзьями&#8221;</h4>
<p> </p>
<p>Теперь вы можете отключать возможность &#8220;друзья&#8221; на форуме полностью и индивидуально для групп пользователей (например отключить опцию у группы пользователей требующих активации email)</p>
<p> </p>
<h4>Скрыть информацию о последнем сообщении для форума</h4>
<p> </p>
<p>Если у вас есть форумы где различные группы пользователей имеют различные права доступа к просмотру тем, то бывает полезно скрыть информацию о последнем сообщении форума с главной страницы, теперь вы сможете сделать так.</p>
<p> </p>
<h4>Поля контактов &#8211; дополнительные поля профиля</h4>
<p> </p>
<p>Все поля контактов (yahoo, aim, msn, и прочее) теперь перенесены в дополнительные поля, что позволяет вам легко настраивать их в связи со своими потребностями (или просто удалить их). В дополнении к уже существующим полям мы добавили поля Jabber и Skype.</p>
<p> </p>
<h4>Настройка принудительной скрытности для групп</h4>
<p> </p>
<p>Если вам нужно, чтобы пользователи из групп (например, администраторы или забанненые пользователи) при логине отмечались, как скрытые то в версии 3 это будет возможно.</p>
<p> </p>
<h4>Премодерация сообщений от пользователей определенных групп</h4>
<p> </p>
<p>В новой версии появилась возможность настраивать группы так, чтобы сообщения от пользователей из этих групп на всех форумах премодерировались.</p>
<p> </p>
<h4>Настройки подписи для групп</h4>
<p> </p>
<p>Появилась возможность устанавливать максимальное количество изображений, строчек текста и размеры изображений в подписи для каждой группы пользователей.</p>
<p>Пожалуй это все, надеемся что вам понравились новые возможности форума.</p>

	<b>Метки:</b> <a href="http://pronets.ru/tag/ban/" title="Бан" rel="tag nofollow">Бан</a>, <a href="http://pronets.ru/tag/stili/" title="стили" rel="tag nofollow">стили</a>, <a href="http://pronets.ru/tag/ustanovka/" title="Установка" rel="tag nofollow">Установка</a>, <a href="http://pronets.ru/tag/url/" title="URL" rel="tag nofollow">URL</a>, <a href="http://pronets.ru/tag/prochie-vozmozhnosti/" title="Прочие возможности" rel="tag nofollow">Прочие возможности</a>, <a href="http://pronets.ru/tag/invision-power-board-3/" title="Invision Power Board 3" rel="tag nofollow">Invision Power Board 3</a>, <a href="http://pronets.ru/tag/temyi/" title="темы" rel="tag nofollow">темы</a>, <a href="http://pronets.ru/tag/ip-board/" title="IP.Board" rel="tag nofollow">IP.Board</a>, <a href="http://pronets.ru/tag/ipboard-3/" title="IP.Board 3" rel="tag nofollow">IP.Board 3</a>, <a href="http://pronets.ru/tag/ipb-3/" title="IPB 3" rel="tag nofollow">IPB 3</a><br /><br />

	<ul class="st-related-posts">
	<li><a href="http://pronets.ru/heshtegi-v-twitter/" title="Хэштэги в Twitter (25/06/2010)">Хэштэги в Twitter</a> (0)</li>
	<li><a href="http://pronets.ru/chmod-na-faylyi-i-papki-ipb/" title="CHMOD на файлы и папки IPB (30/06/2008)">CHMOD на файлы и папки IPB</a> (0)</li>
	<li><a href="http://pronets.ru/twitter-servisyi/" title="Twitter сервисы (25/06/2010)">Twitter сервисы</a> (0)</li>
	<li><a href="http://pronets.ru/vzaimosvyaz-s-vneshnimi-prilozheniyami/" title="Взаимосвязь с внешними приложениями (04/06/2009)">Взаимосвязь с внешними приложениями</a> (0)</li>
	<li><a href="http://pronets.ru/kak-podnyat-indeks-tsitiruemosti/" title="Как поднять Индекс Цитируемости? (24/06/2008)">Как поднять Индекс Цитируемости?</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://pronets.ru/prochie-vozmozhnosti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IP.Blog, IP.Gallery и IP.Downloads</title>
		<link>http://pronets.ru/ipblog-ipgallery-i-ipdownloads/</link>
		<comments>http://pronets.ru/ipblog-ipgallery-i-ipdownloads/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 22:06:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Форум IP.Board]]></category>
		<category><![CDATA[downloads]]></category>
		<category><![CDATA[Invision Power Board]]></category>
		<category><![CDATA[Invision Power Board 3]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[IP.Blog]]></category>
		<category><![CDATA[IP.Board]]></category>
		<category><![CDATA[IP.Board 3]]></category>
		<category><![CDATA[IP.Downloads]]></category>
		<category><![CDATA[IP.Gallery]]></category>
		<category><![CDATA[IPB]]></category>
		<category><![CDATA[IPB 3]]></category>
		<category><![CDATA[блог]]></category>
		<category><![CDATA[Защита]]></category>
		<category><![CDATA[линк]]></category>
		<category><![CDATA[поддержка]]></category>
		<category><![CDATA[Сайт]]></category>

		<guid isPermaLink="false">http://pronets.ru/?p=531</guid>
		<description><![CDATA[С грядущим IPB3 мы безусловно обновим и наши официальные компоненты для совместимости с новой архитектурой. Новые версии IP.Blog, IP.Gallery и IP.Downloads будут доступны почти сразу с IP.Board 3, чтобы вы смогли обновить сразу все вместе, не волнуясь о сроках выхода новых компонентов.

Мы работаем с командами нашего сообщества, чтобы помочь им выпустить совместимую с IPB3 версию [...]]]></description>
			<content:encoded><![CDATA[<p>С грядущим IPB3 мы безусловно обновим и наши официальные компоненты для совместимости с новой архитектурой. Новые версии <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Blog, <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Gallery и <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Downloads будут доступны почти сразу с <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3, чтобы вы смогли обновить сразу все вместе, не волнуясь о сроках выхода новых компонентов.</p>
<p><span id="more-531"></span></p>
<p>Мы работаем с командами нашего сообщества, чтобы помочь им выпустить совместимую с IPB3 версию компонентов Tracker и Shoutbox максимально быстро. Их планируют выпустить очень скоро после выхода IPB3.Мы решили, что первоначально для такого большого обновления поработаем только для обеспечения совместимости между нашими компонентами. Мы проводим все наше время, сосредотачиваясь на самом <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board, чтобы гарантировать максимальную стабильность, учитывая тот факт, что применяется полностью новая платформа. Это означает, что вы не будете замечать сбои в работе с Blog, Gallery или Downloads обновлениями. Но наверняка заметите улучшенную интеграцию между компонентами и системой в целом. Некоторые примеры улучшений указаны ниже:</p>
<ul>
<li>Интегрированный поиск – одна поисковая форма будет искать везде;</li>
<li>Все кеши приложений управляются через общее окно управления кешем;</li>
<li>Шаблоны форума и всех компонентов управляются через единый;</li>
<li>Редактирование все настроек групп в одном месте для всех приложений;</li>
<li>Все права в приложениях управляются также из одного места;</li>
<li>Возможность показа галереи или блогов на главной странице форума через закладки.</li>
</ul>
<p>Вскоре после того, как будет выпущен и отлажен IPB3, как все основные ошибки будут исправлены и все компоненты будут стабильно работать, мы будем работать над большими обновлениями и компонентов. Сейчас мы еще обсуждаем, какие новые возможности требуются, какие улучшения необходимы. Мы подготовили небольшой список для обсуждения с вами, понравится ли вам или нет? Что вы думаете?</p>
<p> </p>
<h4><a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Blog</h4>
<p> </p>
<ul>
<li>Групповой блог – блог, который может быть создан, принадлежав не конкретному пользователю, а скорее сайту (например, блог компании) или группе (например, блог разработчиков);</li>
<li>Настраиваемые пользователем заголовки;</li>
<li>RSS блогов – позволяет импортировать данные из удаленного блога в свой форумный;</li>
</ul>
<p> </p>
<h4><a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Gallery</h4>
<p> </p>
<ul>
<li>Способность резать, вращать и динамически изменять размеры изображений. Использование Javascript для регенерации изображения через GD;</li>
<li>Улучшенное слайд-шоу. По типу Flickr, но полностью сделано на Javascript (flash не требуется) и немного проще;</li>
<li>Улучшенное управление альбомом, базированное на дружбе – например, разрешить только друзьям смотреть альбом, или разрешить друзьям публиковать картинки в ваш альбом;</li>
<li>Под-альбомы;</li>
<li>Теги картинок;</li>
<li>Исправленные картинки категорий/альбомов (как в <a href="http://pronets.ru/tag/ipb/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IPB">IPB</a>);</li>
<li>Разрешение пользователям выбирать обложку альбома из изображений в нем.</li>
</ul>
<p> </p>
<h4><a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Downloads</h4>
<p> </p>
<ul>
<li>Улучшенная поддержка записей файлов. В конечном счете задача стояла предоставить поддержку загрузки множества файлов в одну запись. Использование функцию внесенных файлов ломало запись на части и невозможнр было добавлять несколько скриншотов;</li>
<li>Поддержка «зеркал»</li>
<li>Возможность отключения версионного контроля файлов</li>
<li>Улучшенное управление категориями</li>
<li>Более надежный индикатор загрузки файла</li>
<li>Исправленные картинки категорий (как в <a href="http://pronets.ru/tag/ipb/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IPB">IPB</a>);</li>
<li>Теги файлов;</li>
<li>Динамические и основанные на сессиях ссылки на скачивание (защита от хотлинка)</li>
</ul>
<p>Существует еще несколько идей, которые мы все еще обсуждаем. Окончательный список возможностей будет опубликован после выпуска <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3.0.</p>
<p>Мы знаем, что многие из вас задавались вопросом, как быстро будут обновлены все официальные компоненты форума при выходе IPB3. Мы долгое время не публиковали никакой информации. Теперь мы надеемся, что представленная в этой статье информация поможем вам запланировать все нужные обновления и изменения.</p>

	<b>Метки:</b> <a href="http://pronets.ru/tag/ipgallery/" title="IP.Gallery" rel="tag nofollow">IP.Gallery</a>, <a href="http://pronets.ru/tag/zaschita/" title="Защита" rel="tag nofollow">Защита</a>, <a href="http://pronets.ru/tag/ipb/" title="IPB" rel="tag nofollow">IPB</a>, <a href="http://pronets.ru/tag/invision-power-board/" title="Invision Power Board" rel="tag nofollow">Invision Power Board</a>, <a href="http://pronets.ru/tag/link/" title="линк" rel="tag nofollow">линк</a>, <a href="http://pronets.ru/tag/downloads/" title="downloads" rel="tag nofollow">downloads</a>, <a href="http://pronets.ru/tag/ipboard/" title="Форум IP.Board" rel="tag nofollow">Форум IP.Board</a>, <a href="http://pronets.ru/tag/ip/" title="IP" rel="tag nofollow">IP</a>, <a href="http://pronets.ru/tag/ip-board/" title="IP.Board" rel="tag nofollow">IP.Board</a>, <a href="http://pronets.ru/tag/ipb-3/" title="IPB 3" rel="tag nofollow">IPB 3</a><br /><br />

	<ul class="st-related-posts">
	<li><a href="http://pronets.ru/kratkiy-slovarik-spetsialista-po-prodvizheniyu-saytov/" title="Краткий словарик специалиста по продвижению сайтов (31/08/2008)">Краткий словарик специалиста по продвижению сайтов</a> (0)</li>
	<li><a href="http://pronets.ru/uproschenie-administrirovaniya/" title="Упрощение администрирования (04/06/2009)">Упрощение администрирования</a> (0)</li>
	<li><a href="http://pronets.ru/vyidelyaem-vse-soobscheniya-administratora-v-topikah-otdelnyim-tsvetom/" title="Выделяем все сообщения администратора в топиках отдельным цветом (14/10/2008)">Выделяем все сообщения администратора в топиках отдельным цветом</a> (0)</li>
	<li><a href="http://pronets.ru/blog-kak-istochnik-blag/" title="Блог как источник благ (03/09/2008)">Блог как источник благ</a> (0)</li>
	<li><a href="http://pronets.ru/izmenenie-privetstviya-sayta/" title="Изменение приветствия сайта (16/06/2008)">Изменение приветствия сайта</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://pronets.ru/ipblog-ipgallery-i-ipdownloads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Упрощение администрирования</title>
		<link>http://pronets.ru/uproschenie-administrirovaniya/</link>
		<comments>http://pronets.ru/uproschenie-administrirovaniya/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 22:03:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Форум IP.Board]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[downloads]]></category>
		<category><![CDATA[Invision Power Board]]></category>
		<category><![CDATA[Invision Power Board 3]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[IP.Board]]></category>
		<category><![CDATA[IP.Board 3]]></category>
		<category><![CDATA[IPB]]></category>
		<category><![CDATA[IPB 3]]></category>
		<category><![CDATA[Администратирование]]></category>
		<category><![CDATA[Администратирования]]></category>
		<category><![CDATA[Сайт]]></category>
		<category><![CDATA[Упрощение]]></category>
		<category><![CDATA[Упрощение администрирования]]></category>
		<category><![CDATA[шаблоны]]></category>

		<guid isPermaLink="false">http://pronets.ru/?p=529</guid>
		<description><![CDATA[Администрирование — важная часть любого сайта. У вас должна быть возможность настраивать ваш сайт так, как вы хотите и, конечно, делать это максимально быстро. И это время увеличивается, как только вы устанавливаете дополнительные модули (такие как IP.Blog, IP.Gallery или IP.Downloads), которые интегрируются в тот же самый админцентр и добавляют новых сложностей администратору.
В IP.Board 3 мы [...]]]></description>
			<content:encoded><![CDATA[<p>Администрирование — важная часть любого сайта. У вас должна быть возможность настраивать ваш сайт так, как вы хотите и, конечно, делать это максимально быстро. И это время увеличивается, как только вы устанавливаете дополнительные модули (такие как <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Blog, <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Gallery или <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Downloads), которые интегрируются в тот же самый админцентр и добавляют новых сложностей администратору.</p>
<p>В <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3 мы внесли изменения в админцентр, чтобы упростить обычные администраторские действия и сделать работу с ним удобной и простой.</p>
<p><span id="more-529"></span></p>
<h4>Навигация</h4>
<p> </p>
<p>Навигация — очень хитрый элемент, грамотное построение которого требуется для успешного управления такими большими проектами, как форум <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board. Мы разбили навигацию на несколько частей, чтобы вам было удобнее находить необходимые вам вещи. Во-первых, каждое приложение указано в самом верху страницы, что позволяет легко попасть в те приложения, в которые вы хотите внести изменения (больше нет необходимости выбирать вкладку &#8220;Компоненты&#8221;, чтобы, например, изменить категории в <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Gallery). Во-вторых, в левой колонке вы найдете раскрывающееся меню, которое ускоряет доступ к основным страницам приложения (как в <a href="http://pronets.ru/tag/ipb/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IPB">IPB</a> 2). Для приложений, которые требуют этого, есть контекстные ссылки и табы, которые призваны на равне с основной рабочей областью сделать вашу работу более гибкой. Мы понимаем, что без скриншотов трудно представить новый админцентр, но основная цель была сохранить дружественный интерфейс, чтобы текущие администраторы легко разобрались в нем и начали эффективно использовать его новые возможности.</p>
<p> </p>
<h4>Поиск</h4>
<p> </p>
<p>Постоянная жалоба, которую мы слышим на протяжении нескольких лет, это частое возникновение у новых администраторов проблемы с определением местоположения возможности, которой они хотят воспользоваться (например, где изменить основные правила форума, или изменить возможность публикации HTML в сообщениях). Естественным решением данной проблемы является поиск, помогающий людям найти то, что они ищут, и который очень удобен для начинающих администраторов, как подсказка к определению местоположения возможности. Мы добавили &#8220;живой&#8221; поиск в админцентре, чтобы поиск нужного места занимал у вас минимум времени (и прежде чем вы спросите &#8211; да &#8220;живой&#8221; такой же как на apple.com). Поиск по настройкам уже работал в <a href="http://pronets.ru/tag/invision-power-board/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Invision Power Board">Invision Power Board</a> 2, но мы чувствовали, что он не достаточно хорош. Часто получалось, что опция, которую вы ищите, находится в редактировании групп пользователей, а не в настройках форума, по которым вы ищите.</p>
<p>И поэтому новый &#8220;живой&#8221; поиск ищет в настройках, на страницах и файлах помощи по админцентру. Мы также включили метод добавления ключевых слов к этим секциям, так что если мы заметим, что некоторые части админцентра пользователи ищут по определенным словам, то мы легко добавим их, чтобы поиск по данным словам выдавал именно те секции, которые и ищет пользователь.</p>
<p> </p>
<h4>Улучшенная интеграция</h4>
<p> </p>
<p>И хотя мы уже подробно описали данную вещь в наших предыдущих записях мы все же еще раз в рамкой этой записи кратко хотели бы описать улучшения админцентра, позволяющие пользователям получить более дружелюбный интерфейс вцелом. Например, настройки приложения могут оторажаться в настройках прав групп форума в нужной месте, вместо того, чтобы отображаться на независимой странице в самом приложении (страница &#8220;Настройки групп&#8221; в <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Gallery &#8211; эти настройки теперь есть и при редактировании прав группы самого форума). Точно также, приложения имеют все возможности для редактирования страниц пользователей через админцентр, не требуя редактирования исходных файлов. Настройки каждого приложения все еще включены в группы настроек, как и в <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 2.</p>
<p> </p>
<h4>Настройка прав</h4>
<p> </p>
<p>Множество дополнительных приложений имеют матрицу прав — сетку из полей для установки &#8220;галочки&#8221;, которые контролируют те или иные права на действия в этом приложении. Эта система работает настолько хорошо, что мы улучшили подобную функциональность в <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3, сделав ее еще более простой в использовании. При этом мы также создали простой метод обновления настроек для каждого приложения, задавая уровень прав. То есть, если вы хотите обновить права для пользователей группы &#8220;Неактивированные&#8221;, вы можете это настроить на одной странице для всех приложений сразу. Например, удалить права для календаря, права на форумы, доступ ко всей галерее, исключая необходимость заходить в каждое приложении для редактирования.</p>
<p>Соглашаясь с этим, многие пользователи были удивлены, как связаны права доступа и группы. Мы часто слышим от администраторов, что они создали новую группу и не знают, как установить права для нее. Чтобы сделать это легче к пониманию и управлению, добавляя новую группу, вам нужно задать права новой маски доступа (если вы хотите выбрать новые права, различные от других масок доступа). После того, как в сохраните новую группу, вы будете перемещены на страницу редактирования группы, где настраиваются глобальные права для нее. Вам больше не нужно сначала создавать маску, устанавливать все параметры прав доступа, а уже затем добавлять новую группу пользователей, выбирая маску. Теперь это можно сделать просто в одном месте.</p>
<p> </p>
<h4>Изменение шаблонов</h4>
<p> </p>
<p>Я еще не могу рассказать все детали относительно нового интерфейса редактора, но уже могу сообщить, что он полностью переработан. Мы много думали над способами облегчить редактирование шаблонов, <a href="http://pronets.ru/tag/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with css">CSS</a> и макросов, чтобы помочь работе администраторов с их стилями, чтобы было проще. Некоторые изменения, которые могут быть вам интересны:</p>
<ul>
<li>Подсветка HTML синтаксиса, при редактировании шаблонов в АЦ;</li>
<li>Сжатые HTML шаблоны делают редактирование шаблонов намного легче, возможно отредактировать всю «страницу», не нуждаясь в редактировании восьми независимых шаблонов, которые собраны на одной;</li>
<li>Нет больше разницы между &#8220;Global board header и footer wrapper&#8221; зонами. Вместо этого мы сделали общий шаблон форума, включащий содержание зон global_board_header, global_board_footer, member_bar, navigation и других общих зон, отображаемые на одной странице;</li>
<li>AJAX <a href="http://pronets.ru/tag/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with css">CSS</a> редактирование. Это было по специальному предложение от Rikki – очевидно, что неудобно, чтобы прокрутить довольно далеко вниз, отредактировать какой-то <a href="http://pronets.ru/tag/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with css">CSS</a> параметр, сохранить страницу и оказаться в самом начале <a href="http://pronets.ru/tag/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with css">CSS</a> списка.Сейчас, когда вы сохраняете <a href="http://pronets.ru/tag/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with css">CSS</a> файл, используется AJAX для сохранения содержания, и страница не перегружается, таким образом вы не теряете место редактирования.</li>
</ul>
<p> </p>
<h4>Переработка содержимого</h4>
<p> </p>
<p>Помните все те прекрасные сортирующиеся выпадающие меню (на экране управления форумами). Или эти замечательные комбинации стрелок вверх/вниз (страница управления компонентами) Во временя <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 2 они конечно удовлетворяли своей цели, но в <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board3 они уже устарели.</p>
<p>Теперь все функциональные возможности упорядочивания для всех наших приложений будут использовать drag-n-drop + AJAX. Хотите переместить форум в нужную категорию? Только вытащите его и переместите куда нужно.</p>
<p> </p>
<h4>В заключении</h4>
<p> </p>
<p>Мы думаем, что вы, открыв админцентр IPB3, найдете в нем простоту управления настройками форума. Однажды, мы запустим открытое тестирование новой версии и вы сможете высказать ваши мнения по поводу внесенных изменений, чтобы мы смогли их учесть и внести доработки.</p>

	<b>Метки:</b> <a href="http://pronets.ru/tag/ipb-3/" title="IPB 3" rel="tag nofollow">IPB 3</a>, <a href="http://pronets.ru/tag/ipboard/" title="Форум IP.Board" rel="tag nofollow">Форум IP.Board</a>, <a href="http://pronets.ru/tag/administratirovanie/" title="Администратирование" rel="tag nofollow">Администратирование</a>, <a href="http://pronets.ru/tag/ipb/" title="IPB" rel="tag nofollow">IPB</a>, <a href="http://pronets.ru/tag/ip/" title="IP" rel="tag nofollow">IP</a>, <a href="http://pronets.ru/tag/invision-power-board-3/" title="Invision Power Board 3" rel="tag nofollow">Invision Power Board 3</a>, <a href="http://pronets.ru/tag/invision-power-board/" title="Invision Power Board" rel="tag nofollow">Invision Power Board</a>, <a href="http://pronets.ru/tag/uproschenie-administrirovaniya/" title="Упрощение администрирования" rel="tag nofollow">Упрощение администрирования</a>, <a href="http://pronets.ru/tag/administratirovaniya/" title="Администратирования" rel="tag nofollow">Администратирования</a>, <a href="http://pronets.ru/tag/css/" title="css" rel="tag nofollow">css</a><br /><br />

	<ul class="st-related-posts">
	<li><a href="http://pronets.ru/klyuchevyie-slova-dlya-prodvizheniya-sayta/" title="Ключевые Слова Для Продвижения Сайта (19/04/2010)">Ключевые Слова Для Продвижения Сайта</a> (0)</li>
	<li><a href="http://pronets.ru/downloads/" title="Скины, Моды, Плагины для IPB, Wordpress, IP.Board, Invision Power Board, php-Fusion (11/06/2008)">Скины, Моды, Плагины для IPB, Wordpress, IP.Board, Invision Power Board, php-Fusion</a> (0)</li>
	<li><a href="http://pronets.ru/vvedenie/" title="Введение&#8230; (16/06/2008)">Введение&#8230;</a> (0)</li>
	<li><a href="http://pronets.ru/reviziya-sistemyi-bbcode/" title="Ревизия системы BBCode (04/06/2009)">Ревизия системы BBCode</a> (0)</li>
	<li><a href="http://pronets.ru/25-pravil-povedeniya-v-twitter%e2%80%99e/" title="25 правил поведения в Twitter’е (28/07/2010)">25 правил поведения в Twitter’е</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://pronets.ru/uproschenie-administrirovaniya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Улучшение ядра системы</title>
		<link>http://pronets.ru/uluchshenie-yadra-sistemyi/</link>
		<comments>http://pronets.ru/uluchshenie-yadra-sistemyi/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 21:59:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Форум IP.Board]]></category>
		<category><![CDATA[Invision Power Board]]></category>
		<category><![CDATA[Invision Power Board 3]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[IP.Board]]></category>
		<category><![CDATA[IP.Board 3]]></category>
		<category><![CDATA[IPB]]></category>
		<category><![CDATA[IPB 3]]></category>
		<category><![CDATA[архив]]></category>
		<category><![CDATA[поддержка]]></category>
		<category><![CDATA[Система]]></category>
		<category><![CDATA[Системы]]></category>
		<category><![CDATA[создание]]></category>
		<category><![CDATA[темы]]></category>
		<category><![CDATA[Улучшение]]></category>
		<category><![CDATA[Улучшение ядра системы]]></category>
		<category><![CDATA[Ядро]]></category>

		<guid isPermaLink="false">http://pronets.ru/?p=527</guid>
		<description><![CDATA[В IP.Board 2, мы создали &#8220;ядро&#8221; классов, которые IP.Board использует, но которые сами по себе не завязаны на использование IP.Board. Набор классов ядра включает в себя классы работы с базой данных, загрузки файлов, работы с почтой, обработки и чтения RSS, разбора XML и поддержки нашего собственного формата XMLArchive.

Например, вы можете использовать &#8220;classUpload.php&#8221; и &#8220;classImage.php&#8221; в [...]]]></description>
			<content:encoded><![CDATA[<p>В <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 2, мы создали &#8220;ядро&#8221; классов, которые <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board использует, но которые сами по себе не завязаны на использование <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board. Набор классов ядра включает в себя классы работы с базой данных, загрузки файлов, работы с почтой, обработки и чтения RSS, разбора XML и поддержки нашего собственного формата XMLArchive.<br />
<span id="more-527"></span></p>
<p>Например, вы можете использовать &#8220;classUpload.php&#8221; и &#8220;classImage.php&#8221; в ваших модификациях или расширениях для обработки загрузок файлов и генерации уменьшенных изображений через GD. И вам не нужно будет инициализировать реестр или делать что-то еще чтобы использовать данные классы, нужно просто подключить файл и начать использовать его.</p>
<p>Но, совершив прыжок и сделав PHP 5 необходимым требованием для работы системы, мы получили возможность реализовать несколько долгожданных улучшений. Перейдем к самым ярким моментам.</p>
<p><strong>Пользовательские поля</strong></p>
<p>Josh полностью переписал управление пользовательскими полями в <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board и данный класс связывает всю эту работу воедино. Josh воспользовался фактически всеми новшествами PHP 5, включая абстрактные классы, интерфейсы и ArrayAccess для предоставления простого и ясного интерфейса, который может быть использован почти в любом проекте, так как класс не ограничен использованием только для пользовательских полей <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board.</p>
<p><strong>Диаграммы</strong></p>
<p>Remco расширил класс, теперь в нем есть поддержка новых диаграмм, таких как &#8220;funnel&#8221;, &#8220;bubble&#8221; и &#8220;radar&#8221; что позволит отображать данные более подходящим способом. Как разработчики <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3.0.0, мы найдем хорошее применение данному классу в отчетах админцентра.</p>
<p><strong>GD и ImageMagick</strong></p>
<p>Brandon переписал наш класс для обработки изображений с помощью GD. А также создал класс для работы с imagemagick, что позволит использовать данную библиотеку тем клиентам, у которых она установлена. Обратите внимание на сколько просто стало изменять размеры изображений и добавлять watermark&#8217;и на них.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$image</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> classImageGd<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$image</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">init</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'image_path'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;/path/to/images/&quot;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">'image_file'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;image_filename.jpg&quot;</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: #000088;">$image</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">resizeImage</span><span style="color: #009900;">&#40;</span> <span style="color: #cc66cc;">600</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">480</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Добавляем watermark</span>
<span style="color: #000088;">$image</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addWatermark</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;/path/to/watermark/trans.png&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$image</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">displayImage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Создание и разбор XML</strong></p>
<p>Во второй версии <a href="http://pronets.ru/tag/invision-power-board/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Invision Power Board">Invision Power Board</a> у нас был класс разбирающий и создающий XML, но это был набор разрозненного PHP кода, реализующий примитивный обработчик XML и класс с ручным разбором для тех у кого XML обработчики отсутствовали. Надо признать что данный класс работал хорошо, но был очень требователен к памяти. К счастью, PHP 5 обладает намного лучшей родной поддержкой обработки XML, всю прелесть которой я почувствовал переписав данный класс.</p>
<p>В начале я обратил внимание на simpleXML, но он оказался действительно простым для наших нужд, так что я пошел дальше и воспользовался DOM методами. Это дало нам полный контроль над созданием и разбором XML документов.</p>
<p>Ну и конечно же код, на котором вы видете на сколько легко стало создавать XML документы:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$xml</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> classXML<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'utf-8'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">newXMLDocument</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;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addElement</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'productlist'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'myname'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'version'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'1.0'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">/* Добавляем потомка.... */</span>
<span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addElement</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'productgroup'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'productlist'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'thisgroup'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addElementAsRecord</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'productgroup'</span><span style="color: #339933;">,</span>
	<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'product'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'id'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'1.0'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
	<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'Это не орандж-сода'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'title'</span>         <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'Печеньки'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'room'</span>         <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'103'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'store'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addElementAsRecord</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'productgroup'</span><span style="color: #339933;">,</span>
	<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'product'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'id'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'2.0'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
	<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'Куплен в трендовом магазине'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'title'</span>         <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'Тедди Бир'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'room'</span>         <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'104'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'store'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">2</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$xmlData</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchDocument</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>Данный код породит следующий документ<span style="color: #339933;">:</span>
&nbsp;
<span style="color: #339933;">&lt;</span>productlist name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;myname&quot;</span> version<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;1.0&quot;</span><span style="color: #339933;">&gt;</span>
 <span style="color: #339933;">&lt;</span>productgroup name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;thisgroup&quot;</span><span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>product id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;1.0&quot;</span><span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>description<span style="color: #339933;">&gt;</span>Это не орандж<span style="color: #339933;">-</span>сода<span style="color: #339933;">&lt;/</span>description<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>title<span style="color: #339933;">&gt;</span>Печеньки<span style="color: #339933;">&lt;/</span>title<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>room store<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;1&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">103</span><span style="color: #339933;">&lt;/</span>room<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;/</span>product<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>product id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;2.0&quot;</span><span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>description<span style="color: #339933;">&gt;</span>Куплен в трендовом магазине<span style="color: #339933;">&lt;/</span>description<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>title<span style="color: #339933;">&gt;</span>Тедди Бир<span style="color: #339933;">&lt;/</span>title<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>room store<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;2&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">104</span><span style="color: #339933;">&lt;/</span>room<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;/</span>product<span style="color: #339933;">&gt;</span>
 <span style="color: #339933;">&lt;/</span>productgroup<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>productlist<span style="color: #339933;">&gt;</span>А вот так вы этот документ можете разобрать<span style="color: #339933;">:</span>
&nbsp;
<span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">loadXML</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$xmlData</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* Получаем необходимые данные из 'products'... */</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchElements</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'product'</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$products</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">print</span> <span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchItem</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$products</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'title'</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>;
}
/* Выводит: */</span></pre></div></div>

<p><strong>Печеньки</strong></p>
<p>Тедди БирЯ уверен вы оценили насколько легко использовать новые XML возможности!</p>
<p><strong>XMLArchive</strong></p>
<p>Я создал XMLArchive формат для <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board, как способ объединять несколько файлов в один без использования tar или zip, использование которых может быть проблематично на некоторых серверах. XMLArchive это простой файл с данными в обычном XML формате. Я переписал данный класс для более легкого использования и конечно же добавил новых возможностей.</p>
<p>Ниже пример того как прочитать архив:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$archive</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> classXMLArchive<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$archive</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;/path/to/archive.xml&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">print</span> <span style="color: #000088;">$archive</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'someDir/file.html'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Как вы уже могли заметить, мы воспользовались итератором ArrayAccess для более прозрачного доступа к содержимому архива.</p>
<p>А вот пример создания архива:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$archive</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> classXMLArchive<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$archive</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;someDir&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$archive</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;anotherDir/anotherFile.html&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$archive</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;Создаем новый файл налету!&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;anotherDir/brandNewFile.html&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Сохраняем gzipped
</span><span style="color: #000088;">$archive</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">saveGZIP</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;/path/to/archive.xml.gzip&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;"># Сохраняем без сжатия
</span><span style="color: #000088;">$archive</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;/path/to/archive.xml&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;"># Просто возвращаем данные
</span><span style="color: #000088;">$archive</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getArchiveContents</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>В угоду простоте теперь есть только один интерфейс добавления файлов: &#8220;add()&#8221;. Чем меньше имен функций надо помнить тем лучше!</p>
<p>Естественно, данная запись не охватывает всех тех изменений и улучшений, которые были внесены в ядро системы, но вы должны почувствовать сколько энергии и сил мы затрачиваем, чтобы сделать <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board надежным и эффективным инструментом, каким он только может быть.</p>

	<b>Метки:</b> <a href="http://pronets.ru/tag/sistemyi/" title="Системы" rel="tag nofollow">Системы</a>, <a href="http://pronets.ru/tag/temyi/" title="темы" rel="tag nofollow">темы</a>, <a href="http://pronets.ru/tag/ipb/" title="IPB" rel="tag nofollow">IPB</a>, <a href="http://pronets.ru/tag/invision-power-board/" title="Invision Power Board" rel="tag nofollow">Invision Power Board</a>, <a href="http://pronets.ru/tag/yadro/" title="Ядро" rel="tag nofollow">Ядро</a>, <a href="http://pronets.ru/tag/invision-power-board-3/" title="Invision Power Board 3" rel="tag nofollow">Invision Power Board 3</a>, <a href="http://pronets.ru/tag/ip-board/" title="IP.Board" rel="tag nofollow">IP.Board</a>, <a href="http://pronets.ru/tag/uluchshenie-yadra-sistemyi/" title="Улучшение ядра системы" rel="tag nofollow">Улучшение ядра системы</a>, <a href="http://pronets.ru/tag/ipboard/" title="Форум IP.Board" rel="tag nofollow">Форум IP.Board</a>, <a href="http://pronets.ru/tag/ipb-3/" title="IPB 3" rel="tag nofollow">IPB 3</a><br /><br />

	<ul class="st-related-posts">
	<li><a href="http://pronets.ru/tegi-shablonov-perezagruzka/" title="Теги шаблонов, перезагрузка (04/06/2009)">Теги шаблонов, перезагрузка</a> (0)</li>
	<li><a href="http://pronets.ru/obnovlenie-ipboard/" title="Обновление (upgrade) IP.Board (31/08/2008)">Обновление (upgrade) IP.Board</a> (0)</li>
	<li><a href="http://pronets.ru/esli-ne-rabotaet-ssyilka-udalit-ustanovlennyie-forumom-cookies/" title="Если не работает ссылка &#8220;Удалить установленные форумом cookies&#8221; (22/03/2009)">Если не работает ссылка &#8220;Удалить установленные форумом cookies&#8221;</a> (0)</li>
	<li><a href="http://pronets.ru/uluchshenie-ot-dobavleniya-statey-v-katalogi-statey/" title="Улучшение От Добавления Статей В Каталоги Статей (01/03/2009)">Улучшение От Добавления Статей В Каталоги Статей</a> (0)</li>
	<li><a href="http://pronets.ru/komu-doverit-sozdanie-korporativnogo-sayta/" title="Кому доверить создание корпоративного сайта? (08/09/2009)">Кому доверить создание корпоративного сайта?</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://pronets.ru/uluchshenie-yadra-sistemyi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Оптимизация для поисковых систем</title>
		<link>http://pronets.ru/optimizatsiya-dlya-poiskovyih-sistem/</link>
		<comments>http://pronets.ru/optimizatsiya-dlya-poiskovyih-sistem/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 21:55:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Форум IP.Board]]></category>
		<category><![CDATA[Invision Power Board]]></category>
		<category><![CDATA[Invision Power Board 3]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[IP.Board]]></category>
		<category><![CDATA[IP.Board 3]]></category>
		<category><![CDATA[IPB]]></category>
		<category><![CDATA[IPB 3]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[блок]]></category>
		<category><![CDATA[Дизайн]]></category>
		<category><![CDATA[копирайт]]></category>
		<category><![CDATA[Оптимизация]]></category>
		<category><![CDATA[Оптимизация для поисковых систем]]></category>
		<category><![CDATA[Поисковик]]></category>
		<category><![CDATA[Поисковые]]></category>
		<category><![CDATA[Сайт]]></category>
		<category><![CDATA[Система]]></category>
		<category><![CDATA[Системы]]></category>
		<category><![CDATA[скрипты]]></category>
		<category><![CDATA[стили]]></category>
		<category><![CDATA[темы]]></category>

		<guid isPermaLink="false">http://pronets.ru/?p=525</guid>
		<description><![CDATA[Мы весьма часто получаем запросы: «Добавьте SEO в IPB». Это очень сложный запрос для выполнения. Что такое SEO? Что не так в IPB для индексации поисковиками? Что можно сделать лучше?
Мы разделили предложения на те, которые есть смысл разрабатывать сейчас, и те, которые можно оставить для модификаций. Пока мы не полностью освоили SEO для форумов, мы [...]]]></description>
			<content:encoded><![CDATA[<p>Мы весьма часто получаем запросы: «Добавьте <a href="http://pronets.ru/tag/seo/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SEO">SEO</a> в <a href="http://pronets.ru/tag/ipb/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IPB">IPB</a>». Это очень сложный запрос для выполнения. Что такое <a href="http://pronets.ru/tag/seo/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SEO">SEO</a>? Что не так в <a href="http://pronets.ru/tag/ipb/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IPB">IPB</a> для индексации поисковиками? Что можно сделать лучше?</p>
<p>Мы разделили предложения на те, которые есть смысл разрабатывать сейчас, и те, которые можно оставить для модификаций. Пока мы не полностью освоили <a href="http://pronets.ru/tag/seo/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SEO">SEO</a> для форумов, мы внесли изменения в <a href="http://pronets.ru/tag/invision-power-board/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Invision Power Board">Invision Power Board</a> 3 только там, где по нашему мнению это поможет улучшить индексацию поисковыми системами. Эта статья даст более детальную информацию по данным улучшениям.<br />
<span id="more-525"></span></p>
<p><strong>Семантически корректный HTML</strong></p>
<p>&#8220;Семантика&#8221; — наука о понимании определённых знаков, последовательностей символов и других условных обозначений. По существу, когда мы используем данный термин говоря о HTML документе, мы хотим показать что HTML теги в исходном коде документа используются исключительно в соответствии со структурой документа. Совсем недавно, для позиционирования элементов на странице использовались таблицы, для создания отступов использовали однопиксельные gif картинки. Те дни ушли и сегодня современные вебстраницы разрабатываются с использованием подходов создания качественного HTML кода.</p>
<p>Разрабатываемый <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3 будет xHTML «валидным», а исходный код будет семантически корректным. Запрещенные HTML-теги не используются, ушло чрезмерное употребление тегов (например div’ы тройной вложенности), javasciprt больше не навязывается (*см. комментарии). Темы новой версии форума устройства для чтения и поисковые системы должны считывать намного легче, чем в <a href="http://pronets.ru/tag/ipb/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IPB">IPB</a> 2. Кроме того, все функции должны работать (хотя в некоторых случаях в меньшей степени), даже когда javascript отключен. Теги заголовков используются должным образом и показывают ключевые слова содержимого страницы. Для заголовков используются стили, что позволяет «представлять» их содержание наилучшим способом.</p>
<p>*Примечание: HTML будет семантическим, а javascript не навязчивым настолько, насколько это возможно. Есть тысячи конфигураций, много разных браузеров, настроек и дополнений, так что невозможно гарантировать во всем этом многообразии единства представления контента. Rikki рассказывал подробнее о целях, которые мы преследуем при разработке нового дизайна в другой статье, доступной вам.</p>
<p><strong>Поддержка микроформатов (Microformats)</strong></p>
<p>Микроформаты (Microformats) представляют собой спецификацию способа представления однородных данных. Например, не редко на сайте возникает необходимость размещать некоторые новости или статьи, а также хранить страницу профиля для каждого пользователя. Микроформаты был разработаны так, чтобы эти общие данные могли бы быть представлены общим способом. Используя микроформаты, другие интернет-страницы и скрипты могут корректно обрабатывать вашу страницу, чтобы извлечь из нее данные для последующего использования. Даже Internet Explorer 8 будет поддерживать Microformats для некоторых его новых возможностей, в то время как другие браузеры или планируют, или уже поддерживают микроформаты.</p>
<p><a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3 использует несколько микроформатов. Это hCard, hCalendar, rel-nofollow, rel-tag, и rel-home микроформаты. Мы также используем некоторые другие общие атрибуты (такие как &#8220;rel=&#8217;help&#8217;&#8221; для ссылки на документацию), это при том, что они не настолько необходимы на данный момент. Кроме того, мы будем продолжать следить за микроформатами и применять их при необходимости в <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board.</p>
<p><strong>Поддержка rel=&#8217;nofollow&#8217;</strong></p>
<p>Это еще один популярный запрос наших клиентов: сделать так чтобы все публикуемые ссылки в темах имели атрибут «rel=&#8217;nofollow&#8217;». С другой стороны многие просили, чтобы мы не делали этого. Идея данного изменения состоит в том, что поисковые системы должны по «rel=&#8217;nofollow&#8217;» понимать, что владелец форума не отвечает за содержимое находящееся по ссылке. Таким образом поисковая система не должна «оштрафовать» или заблокировать сайт, на котором размещена эта ссылка (например в случае если ссылка окажется битой или несоответствующей содержимому).</p>
<p>Мы добавили опцию для возможности настройки включения/отключения этого без редактирования исходных кодов. Атрибут «rel=&#8217;nofollow&#8217;» будет автоматически добавлен ко всем вставляемым <a href="http://pronets.ru/tag/url/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with URL">URL</a> адресам (при включенной настройке).</p>
<p>Удаление &#8220;(Работает на <a href="http://pronets.ru/tag/invision-power-board/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Invision Power Board">Invision Power Board</a>)&#8221; с главной страницы.<br />
Во всех версиях <a href="http://pronets.ru/tag/invision-power-board/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Invision Power Board">Invision Power Board</a> заголовок главной страницы содержал эту фразу (если вы не покупали услугу удаления копирайтов). Мы не запрещали пользователям удалять его через исходные коды, многие именно так и поступали.</p>
<p>Но теперь мы пошли дальше и удалили этот текст из заголовка в базовом дистрибутиве.</p>
<p><strong>Удаление текстовой версии</strong></p>
<p>Текстовая версия <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board предназначалась для упрощенного представления темы или форума. Это было полезно, как для поисковых систем, так и для браузеров мобильных устройств. Опция была на столько используема, что фактически в поисковой системе, находя ссылку на тему форума, показывалась ссылку на текстовую, а не полную версию, страницы.</p>
<p>В <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3 мы исключили текстовую версию полностью благодаря новым возможностям ядра системы. Мобильный стиль теперь может быть установлен непосредственно в админцентре, что делает ненужным отдельный скрипт для вывода содержимого в другом формате. И все это благодаря использованию MVC паттерна &#8211; оставляем модель и контроллер, а сами просто изменяем представление.</p>
<p>По отношению к оптимизации под поисковые системы данное нововведение убирает очевидное дублирование текстовой и полной версией содержание одного и того же материала, что обычно ухудшает позиции в поисковиках.</p>
<p>Изменнеие способов отображения темы перенесено в личную панель пользователя<br />
Часто поисковики индексировали темы в <a href="http://pronets.ru/tag/invision-power-board/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Invision Power Board">Invision Power Board</a> с использованием различных видов отображения темы, по некоторым непонятным причинам «наилучшим» видом оказывался содержащий в адресе «&#038;mode=outline». И хотя это не препятствовало посещению страницы, однако, серьезно влияло на восприятие тем, потому что многие пользователи пугались при виде не стандартного представления темы и не знали, как перейти в привычный режим отображения.</p>
<p>Многие пользователи действительно используют различных варианты отображения тем (которые каждый пользователь может настраивать под себя), поэтому мы перенесли возможность изменения вида в личную панель пользователя, а, заодно, решили проблему индексации тем в нестандартных режимах поисковыми машинами.</p>
<p>Есть еще много незначительных, но важных улучшений, которые заложены глубоко внутри <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3. Они должны помочь улучшить индексацию вашего форума в поисковых системах. В тоже время мы не будем углубляться в <a href="http://pronets.ru/tag/seo/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with SEO">SEO</a> разработки, однако, обещаем обязательно осуществлять доработки, которые помогут нашим пользователям добиваться успеха с <a href="http://pronets.ru/tag/ipb/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IPB">IPB</a>.</p>

	<b>Метки:</b> <a href="http://pronets.ru/tag/skriptyi/" title="скрипты" rel="tag nofollow">скрипты</a>, <a href="http://pronets.ru/tag/ipboard/" title="Форум IP.Board" rel="tag nofollow">Форум IP.Board</a>, <a href="http://pronets.ru/tag/url/" title="URL" rel="tag nofollow">URL</a>, <a href="http://pronets.ru/tag/ipboard-3/" title="IP.Board 3" rel="tag nofollow">IP.Board 3</a>, <a href="http://pronets.ru/tag/ip-board/" title="IP.Board" rel="tag nofollow">IP.Board</a>, <a href="http://pronets.ru/tag/seo/" title="SEO" rel="tag nofollow">SEO</a>, <a href="http://pronets.ru/tag/poiskovik/" title="Поисковик" rel="tag nofollow">Поисковик</a>, <a href="http://pronets.ru/tag/optimizatsiya-dlya-poiskovyih-sistem/" title="Оптимизация для поисковых систем" rel="tag nofollow">Оптимизация для поисковых систем</a>, <a href="http://pronets.ru/tag/ipb/" title="IPB" rel="tag nofollow">IPB</a>, <a href="http://pronets.ru/tag/sistemyi/" title="Системы" rel="tag nofollow">Системы</a><br /><br />

	<ul class="st-related-posts">
	<li><a href="http://pronets.ru/rabota-so-ssyilkami/" title="Работа со ссылками (16/09/2008)">Работа со ссылками</a> (0)</li>
	<li><a href="http://pronets.ru/dizayn-tvitter-klientyi/" title="Дизайн, Твиттер-клиенты (23/08/2010)">Дизайн, Твиттер-клиенты</a> (0)</li>
	<li><a href="http://pronets.ru/wi-fi-telefon-vmesto-sotovogo/" title="Wi-Fi-телефон вместо сотового? (13/02/2009)">Wi-Fi-телефон вместо сотового?</a> (0)</li>
	<li><a href="http://pronets.ru/tipyi-sozdavaemyih-saytov/" title="Tипы создаваемых сайтов (10/05/2010)">Tипы создаваемых сайтов</a> (0)</li>
	<li><a href="http://pronets.ru/upravlenie-auditoriey-sayta/" title="Управление аудиторией сайта (27/08/2008)">Управление аудиторией сайта</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://pronets.ru/optimizatsiya-dlya-poiskovyih-sistem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Взаимосвязь с внешними приложениями</title>
		<link>http://pronets.ru/vzaimosvyaz-s-vneshnimi-prilozheniyami/</link>
		<comments>http://pronets.ru/vzaimosvyaz-s-vneshnimi-prilozheniyami/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 21:50:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Форум IP.Board]]></category>
		<category><![CDATA[Invision Power Board]]></category>
		<category><![CDATA[Invision Power Board 3]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[IP.Board]]></category>
		<category><![CDATA[IP.Board 3]]></category>
		<category><![CDATA[IPB]]></category>
		<category><![CDATA[IPB 3]]></category>
		<category><![CDATA[блок]]></category>
		<category><![CDATA[Взаимосвязь]]></category>
		<category><![CDATA[Взаимосвязь с внешними приложениями]]></category>
		<category><![CDATA[Внешние]]></category>
		<category><![CDATA[добавить]]></category>
		<category><![CDATA[Логин]]></category>
		<category><![CDATA[модуль]]></category>
		<category><![CDATA[Пароль]]></category>
		<category><![CDATA[Приложения]]></category>
		<category><![CDATA[Сайт]]></category>
		<category><![CDATA[темы]]></category>
		<category><![CDATA[форум]]></category>

		<guid isPermaLink="false">http://pronets.ru/?p=523</guid>
		<description><![CDATA[В данной записи мы распишем новые возможности IP.Board 3, которые позволят вам настроить взаимодействие форумов с вашим сайтом и создать собственную сеть.

Управление пользователями
С момента IP.Board 2, мы ввели возможность под названием &#8220;Модули входа&#8221;. На самом деле это мини-каркас, позволяющий использовать собственный код для аутентификации и регистрации пользователей. Например, у вас есть база данных пользователей и [...]]]></description>
			<content:encoded><![CDATA[<p>В данной записи мы распишем новые возможности <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3, которые позволят вам настроить взаимодействие форумов с вашим сайтом и создать собственную сеть.<br />
<span id="more-523"></span></p>
<p><strong>Управление пользователями</strong></p>
<p>С момента <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 2, мы ввели возможность под названием &#8220;Модули входа&#8221;. На самом деле это мини-каркас, позволяющий использовать собственный код для аутентификации и регистрации пользователей. Например, у вас есть база данных пользователей и вы хотите дать возможность им использовать форум с уже существующим аккаунтом (логин и пароль), тогда вы можете создать модуль входа, который бы работал с существующей базой пользователей или иной системой (через SOAP, XML-RPC, и тому подобное).</p>
<p>Система была доукомплектована новыми модулями по просьбам пользователей, теперь <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board будет комплектоваться модулями для LDAP и OpenID, что позволит легко использовать данные системы для аутентификации пользователей.</p>
<p><strong>Использование <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board Engine</strong></p>
<p>Не секрет, что <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3 полностью переписан. Новый каркас в полную силу использует PHP 5 и включает огромное количество экономящих время разработчика возможностей.</p>
<p>Довольно часто наши клиенты просят помочь объединить некоторые части форума с существующим сайтом. Например, они хотят получить список последних тем и сообщений с форума на сайте. Для решения таких вещей мы создали класс API в <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 2.</p>
<p>Однако в случае, если необходимо было отправить какие-то данные в <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board, например новое сообщение или новое персональное сообщение, нужно было повозиться. Даже для использования какого-либо шаблона системы приходилось копировать и много кода.</p>
<p>Например, для того чтобы использовать наш механизм для работы с данными или нашу шаблонную систему, необходимо было копировать большую часть &#8216;index.php&#8217;, чтобы ipsclass корректно подключился. В <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3 этого больше не требуется. </p>
<p>Теперь использование стало очень простым:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'./initdata.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span> IPS_ROOT_PATH <span style="color: #339933;">.</span> <span style="color: #0000ff;">'sources/base/ipsRegistry.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$registry</span> <span style="color: #339933;">=</span> ipsRegistry<span style="color: #339933;">::</span><span style="color: #004000;">instance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$registry</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Эти несколько строк дадут вам полноценный доступ к: кешам, настройкам, управлению пользователями, работу с базой данных и многое другое.</p>
<p>Написание собственного кода<br />
Довольно часто бывает необходимо добавить возможности <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board на собственный сайт. В <a href="http://pronets.ru/tag/invision-power-board/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Invision Power Board">Invision Power Board</a> 3 это сделать легко.</p>
<p>Хотите добавить новое сообщение? Без проблем, просто используйте следующий код:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span> IPSLib<span style="color: #339933;">::</span><span style="color: #004000;">getAppDir</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'forums'</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/sources/classes/post/classPost.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$postClass</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> classPostForms<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$registry</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$postClass</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setForumID</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$forumID</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$postClass</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setForumData</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">registry</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">class_forums</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forum_by_id</span><span style="color: #009900;">&#91;</span> <span style="color: #000088;">$forumID</span> <span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$postClass</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setTopicTitle</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;Моя тема&quot;</span> <span style="color: #009900;">&#41;</span>
<span style="color: #000088;">$postClass</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setPostContent</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;Привет, я содержимое сообщения!&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$postClass</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setAuthor</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$memberID</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
try
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$postClass</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addTopic</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
catch<span style="color: #009900;">&#40;</span> Exception <span style="color: #000088;">$error</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">print</span> <span style="color: #000088;">$error</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Да все действительно просто, как в примере выше. Кстати, вы заметили try -> catch блок? Теперь он согласуется со всеми API-похожими функциями. Мы воспользовались механизмом исключений пятого PHP, чтобы возвращать в вызывающую программу информацию о возникших проблемах (конечно если такие будут). Мы так же вскоре предоставим список всех возможных исключений (в формате phpDoc).</p>
<p>Авторы модификаций для версии <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 2 должны быть уже знакомы с похожими функциями, которые существовали в API второй версии. Тогда для них будет хорошей новостью информация о том, что для реализации данных возможностей API прослойка больше не нужна, потому как теперь используется оригинальный код форума, да-да тот самый, что используется в работе самого форума.</p>
<p>Хотите создать новое персональное обсуждение из собственной программы? Легко!</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span> IPSLib<span style="color: #339933;">::</span><span style="color: #004000;">getAppDir</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'members'</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/sources/classes/messaging/messengerFunctions.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$messengerFunctions</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> messengerFunctions<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$registry</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$messengerFunctions</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">sendNewPersonalTopic</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$toMemberID</span><span style="color: #339933;">,</span> <span style="color: #000088;">$fromMemberID</span><span style="color: #339933;">,</span> <span style="color: #000088;">$invitedUserIDArray</span><span style="color: #339933;">,</span> <span style="color: #000088;">$msgTitle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$msgContent</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>Нужен список личных сообщений?
&nbsp;
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span> IPSLib<span style="color: #339933;">::</span><span style="color: #004000;">getAppDir</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'members'</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/sources/classes/messaging/messengerFunctions.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$messengerFunctions</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> messengerFunctions<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$registry</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$messengerFunctions</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getPersonalTopicsList</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$memberID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'in'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Другой довольно частый запрос это подключение шаблонов <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board в своем коде, снова все очень просто:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'./initdata.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span> IPS_ROOT_PATH <span style="color: #339933;">.</span> <span style="color: #0000ff;">'sources/base/ipsRegistry.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$registry</span> <span style="color: #339933;">=</span> ipsRegistry<span style="color: #339933;">::</span><span style="color: #004000;">instance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$registry</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">print</span> <span style="color: #000088;">$registry</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">output</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getTemplate</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$templateGroup</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">templateName</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$templateArguments</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>И это далеко не все, что вы сможете сделать. Однако, на перечисление всех возможных действий, которые вы теперь сможете сделать, потребовалось бы очень много времени и получилась бы очень большая заметка, поэтому мы ограничились самими интересными возможностями.</p>

	<b>Метки:</b> <a href="http://pronets.ru/tag/ipb-3/" title="IPB 3" rel="tag nofollow">IPB 3</a>, <a href="http://pronets.ru/tag/dobavit/" title="добавить" rel="tag nofollow">добавить</a>, <a href="http://pronets.ru/tag/forum/" title="форум" rel="tag nofollow">форум</a>, <a href="http://pronets.ru/tag/invision-power-board-3/" title="Invision Power Board 3" rel="tag nofollow">Invision Power Board 3</a>, <a href="http://pronets.ru/tag/invision-power-board/" title="Invision Power Board" rel="tag nofollow">Invision Power Board</a>, <a href="http://pronets.ru/tag/modul/" title="модуль" rel="tag nofollow">модуль</a>, <a href="http://pronets.ru/tag/prilozheniya/" title="Приложения" rel="tag nofollow">Приложения</a>, <a href="http://pronets.ru/tag/ip-board/" title="IP.Board" rel="tag nofollow">IP.Board</a>, <a href="http://pronets.ru/tag/ipboard-3/" title="IP.Board 3" rel="tag nofollow">IP.Board 3</a>, <a href="http://pronets.ru/tag/ip/" title="IP" rel="tag nofollow">IP</a><br /><br />

	<ul class="st-related-posts">
	<li><a href="http://pronets.ru/sozdanie-rezervnyih-kopiy-bazyi-dannyih/" title="Создание резервных копий базы данных (30/06/2008)">Создание резервных копий базы данных</a> (0)</li>
	<li><a href="http://pronets.ru/prakticheskie-rekomendatsii-po-raskrutke-sayta/" title="Практические рекомендации по раскрутке сайта (16/06/2008)">Практические рекомендации по раскрутке сайта</a> (0)</li>
	<li><a href="http://pronets.ru/problemyi-servera/" title="Проблемы сервера (30/06/2008)">Проблемы сервера</a> (0)</li>
	<li><a href="http://pronets.ru/sistema-reputatsii/" title="Система репутации (04/06/2009)">Система репутации</a> (0)</li>
	<li><a href="http://pronets.ru/ustanovka-shablona-v-php-fusion/" title="Установка шаблона в php-Fusion (16/06/2008)">Установка шаблона в php-Fusion</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://pronets.ru/vzaimosvyaz-s-vneshnimi-prilozheniyami/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Личные беседы</title>
		<link>http://pronets.ru/lichnyie-besedyi/</link>
		<comments>http://pronets.ru/lichnyie-besedyi/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 21:26:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Форум IP.Board]]></category>
		<category><![CDATA[Invision Power Board]]></category>
		<category><![CDATA[Invision Power Board 3]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[IP.Board]]></category>
		<category><![CDATA[IP.Board 3]]></category>
		<category><![CDATA[IPB]]></category>
		<category><![CDATA[IPB 3]]></category>
		<category><![CDATA[Беседа]]></category>
		<category><![CDATA[Беседы]]></category>
		<category><![CDATA[блок]]></category>
		<category><![CDATA[Лично]]></category>
		<category><![CDATA[Личные]]></category>
		<category><![CDATA[Личные беседы]]></category>
		<category><![CDATA[темы]]></category>

		<guid isPermaLink="false">http://pronets.ru/?p=520</guid>
		<description><![CDATA[Как и большинство новых возможностей в IP.Board 3, «личные беседы» (так мы их назвали) был одним из популярных запросов. Запросом, который мы реализовали! Основаны они на принципе отказа от пересылки и копирования сообщения другим пользователям. Согласитесь зачем вносить в копию или пересылать сообщения другим пользователям, когда вы можете пригласить их в беседу?

Как это работает
 
Там, где [...]]]></description>
			<content:encoded><![CDATA[<p>Как и большинство новых возможностей в <a href="http://pronets.ru/tag/ip/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with IP">IP</a>.Board 3, «личные беседы» (так мы их назвали) был одним из популярных запросов. Запросом, который мы реализовали! Основаны они на принципе отказа от пересылки и копирования сообщения другим пользователям. Согласитесь зачем вносить в копию или пересылать сообщения другим пользователям, когда вы можете пригласить их в беседу?</p>
<p><span id="more-520"></span></p>
<h4>Как это работает</h4>
<p> </p>
<p>Там, где вы ранее создавали новое личное сообщение, теперь вы открываете личную беседу. Форма по большей части такая же. Однако, вместо поля «Копия другим пользователям» там находятся поля приглашения других пользователей в беседу. Ограничение, сколько человек можно пригласить в беседу, задается администратором в настройках групп. Фактически, администратор может полностью отключить возможность приглашать других пользователей, если желает иметь привычный метод работы личных сообщений.</p>
<p>Получатель и каждый приглашенный участник будут уведомлены, что у них есть новое сообщение. Новая личная беседа появится в папке «Входящие» и «Новые» (до тех пор, пока оно не будет прочитано).</p>
<p>Беседа выглядит похожей на обычную тему форума, она линейно упорядочена (последними идут новые ответы). Есть форма быстрого ответа. Структура облегчает просмотр старых сообщений и позволяет помнить «нить» беседы.</p>
<p>Автор темы (и любой участвующий супермодератор) может заблокировать любого участника беседы. Иммунитетом обладают пользователи групп, помеченные как «не игнорируемые». Это означает, что вы (администратор) никогда не можете быть удаленным из беседы, в которой вы участвуете. Когда участник заблокирован, беседа исчезает из его папок, пока он не будет снова допущен к ней.</p>
<p>Каждый участник, кроме автора, может покинуть беседу в любое время. Как только участник покинул беседу, она остается лишь в папке «Оконченные» и ответы больше не попадают к нему в личный ящик. Автор беседы не может повторно пригласить вас, но вы можете присоединиться обратно к беседе к любое время.</p>
<p>Автор темы может приглашать новых участников в любое время прямо из экрана отображения беседы. Каждый участник может также видеть всех пользователей, участвующих в беседе.</p>
<p> </p>
<h4>Волшебные папки</h4>
<p> </p>
<p>Этот термин мы дали определенным папкам, которые не являются редактируемыми или удаляемыми. Среди них «Новые», «Оконченные» и «Мои беседы». Темы в «Новых» и «Моих беседах» могут быть и в других папках. «Мои беседы» являются папкой куда попадает любая беседа, которую вы начали. Вы можете перемещать беседу и в другие папки, но она всегда будет доступна и в «Моих беседах». «Новые» – содержит список всех новых бесед и бесед с новыми ответами. В папке «Оконченные» отображаются все законченные беседы, или беседы, которые вы покинули. В любом момент можно ее заново открыть. &#8220;Все&#8221;, как понятно из имени, показывает все имеющиеся беседы, в которых вы участвуете, и как автор и как приглашенный.</p>
<p>Мы думает, что эта возможность в целом очень большой шаг вперед для личных переписок, который открывает новые способы для общения через форум. Десять лет – долго время ожидания изменений. Мы надеемся, что вы оценили это ожидание.</p>

	<b>Метки:</b> <a href="http://pronets.ru/tag/ipboard/" title="Форум IP.Board" rel="tag nofollow">Форум IP.Board</a>, <a href="http://pronets.ru/tag/ipb-3/" title="IPB 3" rel="tag nofollow">IPB 3</a>, <a href="http://pronets.ru/tag/invision-power-board/" title="Invision Power Board" rel="tag nofollow">Invision Power Board</a>, <a href="http://pronets.ru/tag/beseda/" title="Беседа" rel="tag nofollow">Беседа</a>, <a href="http://pronets.ru/tag/temyi/" title="темы" rel="tag nofollow">темы</a>, <a href="http://pronets.ru/tag/blok/" title="блок" rel="tag nofollow">блок</a>, <a href="http://pronets.ru/tag/besedyi/" title="Беседы" rel="tag nofollow">Беседы</a>, <a href="http://pronets.ru/tag/lichnyie/" title="Личные" rel="tag nofollow">Личные</a>, <a href="http://pronets.ru/tag/lichnyie-besedyi/" title="Личные беседы" rel="tag nofollow">Личные беседы</a>, <a href="http://pronets.ru/tag/ip/" title="IP" rel="tag nofollow">IP</a><br /><br />

	<ul class="st-related-posts">
	<li><a href="http://pronets.ru/vzaimosvyaz-s-vneshnimi-prilozheniyami/" title="Взаимосвязь с внешними приложениями (04/06/2009)">Взаимосвязь с внешними приложениями</a> (0)</li>
	<li><a href="http://pronets.ru/banners/" title="Баннеры Нашего Сайта (25/06/2008)">Баннеры Нашего Сайта</a> (0)</li>
	<li><a href="http://pronets.ru/importeksport-skinov-ipboard/" title="Импорт/Экспорт скинов IP.Board (15/12/2008)">Импорт/Экспорт скинов IP.Board</a> (0)</li>
	<li><a href="http://pronets.ru/faq-po-ipboard/" title="FAQ по IP.Board (05/07/2009)">FAQ по IP.Board</a> (0)</li>
	<li><a href="http://pronets.ru/chmod-na-faylyi-i-papki-ipb/" title="CHMOD на файлы и папки IPB (30/06/2008)">CHMOD на файлы и папки IPB</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://pronets.ru/lichnyie-besedyi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
