Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2008-12-20 19:31:51

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

SMF :: Последние сообщения с форума SMF

Плагин 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)

Не в сети

#2 2008-12-21 02:49:42

Box
Участник
Зарегистрирован: 2008-10-28
Сообщений: 82
Рейтинг :   

Re: SMF :: Последние сообщения с форума SMF

ROZARD, а чем хорош форум SMF против других?

Не в сети

#3 2008-12-21 13:16:21

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: SMF :: Последние сообщения с форума SMF

Box, Безопасность - по край не мере не встречал сообщений о том что форум на SMF был взломан.
Установка модов в один клик и не нужно лазить в код.
Держит не плохую нагрузку, на официальном форуме поддержки постоянно находиться от 600-1000 чел и не плохо работает.
Но каждый выбирает то что ему больше нравиться.

А вообще не стоит в этой теме разводить ФЛУД...

Не в сети

#4 2009-01-15 00:33:29

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: SMF :: Последние сообщения с форума SMF

Обновил первый пост.:)
Просьба перенести на страницу с плагинами...;)

Не в сети

#5 2009-01-15 16:42:58

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: SMF :: Последние сообщения с форума SMF

перенесено

Не в сети

#6 2009-04-12 21:13:02

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: SMF :: Последние сообщения с форума SMF

Плагин обновлен...

Не в сети

#7 2009-12-07 21:13:12

apd2004
Участник
Зарегистрирован: 2009-07-15
Сообщений: 11
Рейтинг :   

Re: SMF :: Последние сообщения с форума SMF

Проблема, плагин выводит "postName" - что выводит ник топикстартера, а не ник человека, который последний отписался в ветке...

Не в сети

#8 2009-12-19 14:49:36

zenn
Участник
Зарегистрирован: 2009-04-25
Сообщений: 48
Рейтинг :   

Re: SMF :: Последние сообщения с форума SMF

Держимс более лучший вариант выборочки (можете добавить нужные поля в запрос) :

	$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');
		}
	}

cool

Не в сети

#9 2011-12-05 20:38:00

nSide
Участник
Зарегистрирован: 2011-11-22
Сообщений: 9
Рейтинг :   

Re: SMF :: Последние сообщения с форума SMF

У меня выводит русский текст в виде (????? ????? ? ??????) как поменять кодировку чтобы нормально читала?

Не в сети

#10 2011-12-05 20:48:01

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: SMF :: Последние сообщения с форума SMF

'title'    =>    iconv("utf-8", "windows-1251", $row['subject']),

Попробуй

Не в сети

#11 2011-12-05 21:01:08

nSide
Участник
Зарегистрирован: 2011-11-22
Сообщений: 9
Рейтинг :   

Re: SMF :: Последние сообщения с форума SMF

В каком участке кода это именно заменить.
Я просто пойму если вот такую строку придется заменить

array_push($cfg,  array('mode' => 'group', 'title' => '<b>Настройки внешней БД</b>', 'entries' => $cfgX));

Ну а тут проблема немного другая, тут не выводит сообщения из самого форума, точнее выводит но в виде вопросов.
Если я немного не так понял, то поправьте меня. Или где именно нужно заменить?

Не в сети

#12 2011-12-05 21:02:54

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: SMF :: Последние сообщения с форума SMF

$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'    =>    'смотреть'
            );

Не в сети

#13 2011-12-05 21:24:37

nSide
Участник
Зарегистрирован: 2011-11-22
Сообщений: 9
Рейтинг :   

Re: SMF :: Последние сообщения с форума SMF

А в каком собственно файле это менять?

Не в сети

#14 2011-12-05 21:25:31

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: SMF :: Последние сообщения с форума SMF

smf.php

Не в сети

#15 2011-12-05 21:29:41

nSide
Участник
Зарегистрирован: 2011-11-22
Сообщений: 9
Рейтинг :   

Re: SMF :: Последние сообщения с форума SMF

Я такого там вообще не найду

Не в сети

#16 2011-12-05 21:30:35

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: SMF :: Последние сообщения с форума SMF

nSide, А что у тебя там есть?:P

Не в сети

#17 2011-12-05 21:32:40

nSide
Участник
Зарегистрирован: 2011-11-22
Сообщений: 9
Рейтинг :   

Re: SMF :: Последние сообщения с форума SMF

<?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');
                    }
        }
    }
}

Не в сети

#18 2011-12-05 21:34:48

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: SMF :: Последние сообщения с форума SMF

'subject' => $row[subject],

на

'subject'    =>    iconv("utf-8", "windows-1251", $row['subject']),

Не в сети

#19 2011-12-05 21:36:23

nSide
Участник
Зарегистрирован: 2011-11-22
Сообщений: 9
Рейтинг :   

Re: SMF :: Последние сообщения с форума SMF

Неа. Вообще не помогло.

Не в сети

#20 2011-12-05 21:43:15

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: SMF :: Последние сообщения с форума SMF

Форум в какой кодировке?

Не в сети

#21 2011-12-11 18:38:08

nSide
Участник
Зарегистрирован: 2011-11-22
Сообщений: 9
Рейтинг :   

Re: SMF :: Последние сообщения с форума SMF

Четно говоря не знаю.По дефолту ставился, но вроде cp-1251.

Не в сети

#22 2011-12-11 19:00:26

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: SMF :: Последние сообщения с форума SMF

nSide, Загляни в таблицу форума и посмотри точно в какой кодировке там текст

Не в сети

#23 2012-01-27 20:49:02

Burelom
Участник
Зарегистрирован: 2011-01-26
Сообщений: 62
Рейтинг :   

Re: SMF :: Последние сообщения с форума SMF

Не работает переключение "Морда" - "Везде", нужно только на морде, показывает везде.

Не в сети

#24 2012-01-27 21:37:46

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: SMF :: Последние сообщения с форума SMF

Burelom, Плагин не адаптирован под новую версию)

Не в сети

#25 2012-01-27 21:51:20

Dimas
Участник
Зарегистрирован: 2011-12-20
Сообщений: 32
Рейтинг :   

Re: SMF :: Последние сообщения с форума SMF

А где можно посмотреть в действие данный Плагин?

Не в сети

Подвал раздела

Работает на FluxBB