Invision Power Board — Gamedev sufferingБлог о разработке игр и серверных технологияхSun, 25 May 2025 20:13:38 +0000ru-RUhourly1https://wordpress.org/?v=5.1.19/wp-content/uploads/2019/03/cropped-Lain-32x32.pngInvision Power Board — Gamedev suffering3232 Авторизация пользователей в IPB 3.1.x из своих скриптов/2012/02/27/1041/avtorizaciya-polzovatelej-v-ipb-3-1-x-iz-svoix-skriptov//2012/02/27/1041/avtorizaciya-polzovatelej-v-ipb-3-1-x-iz-svoix-skriptov/#respondSun, 26 Feb 2012 23:06:58 +0000/?p=1041Довольно частое явление, когда вы используете форум ipb, а движок сайта пишете сами. Естественно вы не хотите хранить инфу о юзерах в двух местах: для авторизации на сайте и форуме. Очевидно, лучше использовать внешнюю авторизацию для форума при авторизации на сайте.

К примеру, если вы хотите авторизоваться на форуме через свою форму на сайте.

Продолжить чтение

]]>
/2012/02/27/1041/avtorizaciya-polzovatelej-v-ipb-3-1-x-iz-svoix-skriptov/feed/0
Автоматическое сокращение ссылок в Invision Power Board/2011/09/01/492/%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b5-%d1%81%d0%be%d0%ba%d1%80%d0%b0%d1%89%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81%d1%81%d1%8b%d0%bb%d0%be%d0%ba-%d0%b2-invision-p//2011/09/01/492/%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b5-%d1%81%d0%be%d0%ba%d1%80%d0%b0%d1%89%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81%d1%81%d1%8b%d0%bb%d0%be%d0%ba-%d0%b2-invision-p/#respondThu, 01 Sep 2011 14:11:29 +0000/?p=492Меня часто спрашивают о том, как избежать сокращения отображения ссылки на форуме с движком Invision Power Board.

То есть ссылка вида: ht_tp://какая-то_ссылка/ссылка_на_какую-нить_статью автоматически превращается в: ht_tp://какая-то_…_какую-нить_статью

Открываем /admin/sources/clases/bbcode/custom/default.php и ищем:

if( ( empty( $this->settings['__noTruncateUrl'] ) ) AND $content == $option AND IPSText::mbstrlen($content) > 38 )
{
$content = htmlspecialchars( IPSText::mbsubstr( html_entity_decode( $content ), 0, 20 ) ) .

Продолжить чтение

]]>
/2011/09/01/492/%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b5-%d1%81%d0%be%d0%ba%d1%80%d0%b0%d1%89%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81%d1%81%d1%8b%d0%bb%d0%be%d0%ba-%d0%b2-invision-p/feed/0
Несколько последних новостей на главной странице форума Invision Power Board/2011/08/28/478/%d0%bd%d0%b5%d1%81%d0%ba%d0%be%d0%bb%d1%8c%d0%ba%d0%be-%d0%bf%d0%be%d1%81%d0%bb%d0%b5%d0%b4%d0%bd%d0%b8%d1%85-%d0%bd%d0%be%d0%b2%d0%be%d1%81%d1%82%d0%b5%d0%b9-%d0%bd%d0%b0-%d0%b3%d0%bb%d0%b0%d0%b2//2011/08/28/478/%d0%bd%d0%b5%d1%81%d0%ba%d0%be%d0%bb%d1%8c%d0%ba%d0%be-%d0%bf%d0%be%d1%81%d0%bb%d0%b5%d0%b4%d0%bd%d0%b8%d1%85-%d0%bd%d0%be%d0%b2%d0%be%d1%81%d1%82%d0%b5%d0%b9-%d0%bd%d0%b0-%d0%b3%d0%bb%d0%b0%d0%b2/#respondSun, 28 Aug 2011 18:26:37 +0000/?p=478Как сделать, чтоб высвечивалась не одна последняя новость на главной странице форума от Invision Power Board, а например 4?

Стандартными средствами этого не сделать. Так же не встречал модов для этого. Единственный вариант — ручками :3

Что менять?

Открываем файл admin/applications/forums/modules_public/forums/boards.php и находим в нём:

$news_data = array(
'forum_id' => $this->settings['news_forum_id'],
'title' => stripslashes($this->registry->getClass( 'class_forums')->forum_by_id[ $this->settings['news_forum_id'] ]['newest_title']),
'seo_title' => $this->registry->getClass( 'class_forums')->forum_by_id[ $this->settings['news_forum_id'] ]['seo_last_title'],
'id'=> $this->registry->getClass( 'class_forums')->forum_by_id[ $this->settings['news_forum_id'] ]['newest_id']
);

Меняем этот код на:

$this->DB->build( array( 'select' => 't.tid, t.title, t.title_seo, t.start_date',
'from' => array( 'topics' => 't' ),
'where'=> 't.approved=1 AND t.forum_id = '.$this->settings['news_forum_id'],
'order'=> 'start_date desc',
'limit'=> array( 0, 4 )
)
);
$this->DB->execute();

while ( $topic = $this->DB->fetch() )
{
$news_data[] = array(
'forum_id' => $this->settings['news_forum_id'],
'title' => stripslashes($topic['title']),
'seo_title' => $topic['title_seo'],
'date' => $this->registry->getClass( 'class_localization')->getDate( $topic['start_date'], 'manual{%d %B}' ),
'id'=> $topic['tid']
);
}

Ну и и в шаблоне boardIndexTemplate это выглядит так:

<if test="latestNews:|:is_array($news_data) AND count($news_data)">
<div id='latest_news'>
<strong>{$this->lang->words['newslink']}</strong>
<foreach loop="news:$news_data as $_news">
<span>{$_news['date']}</span> — <a href='{parse url="showtopic={$_news['id']}" template="showtopic" seotitle="{$_news['seo_title']}" base="public"}' title='{$this->lang->words['newslink']}'>{$_news['title']}</a>
</foreach>
</div>

</if>

Собственно, вот и всё.

Продолжить чтение

]]>
/2011/08/28/478/%d0%bd%d0%b5%d1%81%d0%ba%d0%be%d0%bb%d1%8c%d0%ba%d0%be-%d0%bf%d0%be%d1%81%d0%bb%d0%b5%d0%b4%d0%bd%d0%b8%d1%85-%d0%bd%d0%be%d0%b2%d0%be%d1%81%d1%82%d0%b5%d0%b9-%d0%bd%d0%b0-%d0%b3%d0%bb%d0%b0%d0%b2/feed/0
Создание новой темы, используя API в IP.Board 3/2011/07/04/246/%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%bd%d0%be%d0%b2%d0%be%d0%b9-%d1%82%d0%b5%d0%bc%d1%8b-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d1%83%d1%8f-api-%d0%b2-ip-board-3//2011/07/04/246/%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%bd%d0%be%d0%b2%d0%be%d0%b9-%d1%82%d0%b5%d0%bc%d1%8b-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d1%83%d1%8f-api-%d0%b2-ip-board-3/#commentsMon, 04 Jul 2011 16:15:22 +0000/?p=246Предположим у вас есть сайт и вы прикрутили к нему форум IPB 3.0.x. Бывает, что вы хотите сделать возможность создавать форумные темы вне форума. К примеру, организовать публикацию новостей или статей на своём сайте, но, чтобы эти же сообщения появились и на форуме. Можно конечно мудрить и самому делать вставки на уровне MySQL.

Продолжить чтение

]]>
/2011/07/04/246/%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%bd%d0%be%d0%b2%d0%be%d0%b9-%d1%82%d0%b5%d0%bc%d1%8b-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d1%83%d1%8f-api-%d0%b2-ip-board-3/feed/2
Как изменить адрес форума?/2011/07/04/242/%d0%ba%d0%b0%d0%ba-%d0%b8%d0%b7%d0%bc%d0%b5%d0%bd%d0%b8%d1%82%d1%8c-%d0%b0%d0%b4%d1%80%d0%b5%d1%81-%d1%84%d0%be%d1%80%d1%83%d0%bc%d0%b0//2011/07/04/242/%d0%ba%d0%b0%d0%ba-%d0%b8%d0%b7%d0%bc%d0%b5%d0%bd%d0%b8%d1%82%d1%8c-%d0%b0%d0%b4%d1%80%d0%b5%d1%81-%d1%84%d0%be%d1%80%d1%83%d0%bc%d0%b0/#respondSun, 03 Jul 2011 20:46:04 +0000/?p=242Довольно частая проблема. К примеру, у вас есть сайт мой_сайт.ru. В подкаталоге /forum у вас лежат файлы форума. Соответственно, форум доступен по адресу мой_сайт.ru/forum, а вы хотите, чтобы форум был доступен по адресу мой_сайт.ru

Во-первых, необходимо в файле conf_global.php изменить параметр:
$INFO['board_url'] = 'http://мой_сайт.ru';

Во-вторых, в корневой папке в файл .htaccess добавить две записи: #RewriteRule ^(.*)$ /forum/$1 [L]
#RewriteRule ^index /forum/ [L]

В-третьих, если вам конечно необходимо, чтобы пользователи могли загружать файлы, в админке (Система-Глобальные настройки) поменяйте путь к папке uploads.

Продолжить чтение

]]>
/2011/07/04/242/%d0%ba%d0%b0%d0%ba-%d0%b8%d0%b7%d0%bc%d0%b5%d0%bd%d0%b8%d1%82%d1%8c-%d0%b0%d0%b4%d1%80%d0%b5%d1%81-%d1%84%d0%be%d1%80%d1%83%d0%bc%d0%b0/feed/0