Вы не зашли.
Плагин SMF, текущая версия: 0.04
[0.04][12-04-2009]
+ Добвлена возможность выбрать версию форума
+ Добавлена возможность использовать внешнюю БД
+ Добавлена возможность управления расположения блока
* Изменен тег {smf} на {lasttopic_smf}
* Немного подправлен код[0.03][15-01-2009]
+ Добавлено кеширование
* Исправлена ошибка из-за которой темы выводились в неправильной очередности[0.02][14-01-2009]
+ Вывод последних тем
+ Вывод логина последнего оставшего сообщение
+ Урезание длины последней темы
+ Ограничение на количество последних тем
+ Весь дизайн в *.tpl[0.01][20-12-2008]
x Первый релиз
Изменено ROZARD (2009-04-12 21:12:05)
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Box, Безопасность - по край не мере не встречал сообщений о том что форум на SMF был взломан.
Установка модов в один клик и не нужно лазить в код.
Держит не плохую нагрузку, на официальном форуме поддержки постоянно находиться от 600-1000 чел и не плохо работает.
Но каждый выбирает то что ему больше нравиться.
А вообще не стоит в этой теме разводить ФЛУД...
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Обновил первый пост.:)
Просьба перенести на страницу с плагинами...;)
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Плагин обновлен...
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Держимс более лучший вариант выборочки (можете добавить нужные поля в запрос) :
$list = $db->select("SELECT a.id_topic, a.id_last_msg, a.id_member_started, b.id_topic, b.subject, b.poster_name, b.poster_time FROM smf_messages AS b, smf_topics AS a WHERE a.id_topic = b.id_topic GROUP BY a.id_last_msg DESC LIMIT 10");
if (mysql_errno() !=0) {
$template['vars']['lasttopic_smf] = "Нет соединения БД и форума SMF или вы не верное ввели префикс форума";
}
if (is_array($list) && count($list)) {
foreach ($list as $row) {
if (strlen($row['subject']) > $name_length) {
$row['subject'] = substr($row['subject'], 0,$name_length) . "...";
}
$tvars['vars'] = array (
'title' => $row['subject'],
'href' => 'index.php/topic,'.$row['id_topic'].'.0.html',
'date' => date($time, $row['poster_time']),
'autor' => 'index.php?action=profile;u='.$row['id_member_started'].'',
'name' => 'смотреть'
);
$tpl -> template('entries', $tpath['entries']);
$tpl -> vars('entries', $tvars);
$result .= $tpl -> show('entries');
}
}
Не в сети
'title' => iconv("utf-8", "windows-1251", $row['subject']),
Попробуй
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
В каком участке кода это именно заменить.
Я просто пойму если вот такую строку придется заменить
array_push($cfg, array('mode' => 'group', 'title' => '<b>Настройки внешней БД</b>', 'entries' => $cfgX));
Ну а тут проблема немного другая, тут не выводит сообщения из самого форума, точнее выводит но в виде вопросов.
Если я немного не так понял, то поправьте меня. Или где именно нужно заменить?
Не в сети
$tvars['vars'] = array (
'title' => $row['subject'],
'href' => 'index.php/topic,'.$row['id_topic'].'.0.html',
'date' => date($time, $row['poster_time']),
'autor' => 'index.php?action=profile;u='.$row['id_member_started'].'',
'name' => 'смотреть'
);
Меняешь на:
$tvars['vars'] = array (
'title' => iconv("utf-8", "windows-1251", $row['subject']),
'href' => 'index.php/topic,'.$row['id_topic'].'.0.html',
'date' => date($time, $row['poster_time']),
'autor' => 'index.php?action=profile;u='.iconv("utf-8", "windows-1251", $row['$row['id_member_started']'])'',
'name' => 'смотреть'
);
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
smf.php
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
nSide, А что у тебя там есть?:P
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
<?php
if (!defined('NGCMS')) die ('HAL');
add_act('index', 'smf');
function smf(){
global $mysql, $tvars, $template, $tpl, $action, $category;
$cstart = $_REQUEST['cstart'];
$year = $_REQUEST['year'];
$month = $_REQUEST['month'];
$cacheFileName = md5('smf'.$config['theme'].$config['default_lang'].$year.$month).'.txt';
if (intval(extra_get_param($plugin,'cache'))) {
$cacheData = cacheRetrieveFile($cacheFileName, intval(extra_get_param($plugin,'cacheExpire')), 'smf');
if ($cacheData != false){
// We got data from cache. Return it and stop
$template['vars']['lasttopic_smf'] = $cacheData;
return;
}
}
if ($prefix = extra_get_param('smf','prefix')) {
$prefix = extra_get_param('smf','prefix');
} else {
$prefix = 'smf_';
}
$num = extra_get_param('smf','number');
if (($num < 1) || ($num > 50)) {$num = 10;}
$name_length = extra_get_param('smf','topicname');
if (($name_length < 10) || ($name_length > 100)) {$name_length = 20;}
$db = $mysql;
if (extra_get_param('smf','db')) {
$db = new mysql;
$db->connect(extra_get_param('smf','dbhost'), extra_get_param('smf','dbuser'), extra_get_param('smf','dbpasswd'), extra_get_param('smf','dbname'), 1);
if ($db->error) {
$template['vars']['lasttopic_smf'] = "Нет соединения БД и форума SMF";
}
}
$ver = extra_get_param('smf','ver');
if ($ver == 'smfv1') {
$list = $db->select("SELECT ID_MSG, ".$prefix."messages.ID_TOPIC, subject, posterName FROM ".$prefix."messages, ".$prefix."topics WHERE ".$prefix."messages.ID_TOPIC = ".$prefix."topics.ID_TOPIC GROUP BY ".$prefix."topics.ID_LAST_MSG DESC LIMIT $num");
if (mysql_errno() !=0) {
$template['vars']['lasttopic_smf'] = "Ошибка в запросе к БД";
}
}
if ($ver == 'smfv2') {
$list = $db->select("SELECT id_msg, ".$prefix."messages.id_topic, subject, poster_name FROM ".$prefix."messages, ".$prefix."topics WHERE ".$prefix."messages.id_topic = ".$prefix."topics.id_topic GROUP BY ".$prefix."topics.id_last_msg DESC LIMIT $num");
if (mysql_errno() !=0) {
$template['vars']['lasttopic_smf'] = "Ошибка в запросе к БД";
}
}
if (is_array($list) && count($list)) {
foreach ($list as $row) {
if (strlen($row[subject]) > $name_length) {
$row[subject] = substr($row[subject], 0,$name_length) . "...";
}
if ($ver == 'smfv1') {
$tvars['vars'] = array (
'subject' => $row[subject],
'href' => '?topic=' . $row['ID_TOPIC'] . '.msg' . $row['ID_MSG'] . '#new',
'autor' => $row['posterName']
);
}
if ($ver == 'smfv2') {
$tvars['vars'] = array (
'subject' => $row[subject],
'href' => '?topic=' . $row['id_topic'] . '.msg' . $row['id_msg'] . ';topicseen#new',
'autor' => $row['poster_name']
);
}
$mode = extra_get_param('smf','position');
if (
// main page
(($mode == 'root')&&(!$action)&&(!$category)&&(!$cstart)&&(!$year)&&(!$month)) ||
// everywhere except main page
(($mode == 'noroot')&&($action||$category||($year&&$month))) ||
// everywhere
($mode == 'all')
)
$tpl -> template('smf', extras_dir."/smf/tpl");
$tpl -> vars('smf', $tvars);
$smf .= $tpl -> show('smf');
$template['vars']['lasttopic_smf'] = $smf;
if (extra_get_param('smf','cache')) {
cacheStoreFile($cacheFileName, $smf, 'smf');
}
}
}
}
Не в сети
'subject' => $row[subject],
на
'subject' => iconv("utf-8", "windows-1251", $row['subject']),
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Форум в какой кодировке?
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
nSide, Загляни в таблицу форума и посмотри точно в какой кодировке там текст
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Burelom, Плагин не адаптирован под новую версию)
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети