Сообщений: 1676 Откуда: Киев Зарегистрирован: 18 Ноября 2007, 18:49:13 Сказали спасибо 148 раз Статус: offline
ICQ статус
Опубликовано 11 Марта 2008, 22:16:27
Добавляем перед названием темы ссылку на последнее сообщение темы:
Открываем viewforum.php ищем
$result = dbquery(
"SELECT t.*, COUNT(p.post_id) AS thread_replies, MAX(p.post_id) as last_id, tu1.user_name AS user_author, tu2.user_name AS user_lastuser, tp.poll_id FROM ".$db_prefix."threads t
LEFT JOIN ".$db_prefix."posts p USING(thread_id)
LEFT JOIN ".$db_prefix."users tu1 ON t.thread_author = tu1.user_id
LEFT JOIN ".$db_prefix."users tu2 ON t.thread_lastuser = tu2.user_id
LEFT JOIN ".$db_prefix."forum_thread_polls tp ON t.thread_id = tp.thread_id
WHERE t.forum_id='$forum_id' AND thread_sticky='1' GROUP BY thread_id ORDER BY thread_lastpost DESC"
);
* - то, что выделено красным надо добавить в запрос.
Добавляем такую же ссылку только на главной странице форума:
Открываем index.php из папки forum, находим строку:
$data9 = dbarray(dbquery("SELECT * FROM ".$db_prefix."threads WHERE forum_id='".$data2['forum_id']."' ORDER BY thread_lastpost DESC"));
добавлям после
if (dbrows($subForums)) {
$subForum = dbarray(dbquery("SELECT * FROM ".$db_prefix."forums WHERE forum_sub='".$data2['forum_id']."' ORDER BY forum_order DESC"));
$data99 = dbarray(dbquery(
"SELECT t.*, COUNT(p.post_id) AS thread_replies, MAX(p.post_id) as last_id FROM ".$db_prefix."threads t
LEFT JOIN ".$db_prefix."posts p USING(thread_id)
WHERE t.forum_id='".$subForum['forum_id']."' GROUP BY thread_id ORDER BY thread_lastpost DESC"));
} else {
$data99 = dbarray(dbquery(
"SELECT t.*, COUNT(p.post_id) AS thread_replies, MAX(p.post_id) as last_id FROM ".$db_prefix."threads t
LEFT JOIN ".$db_prefix."posts p USING(thread_id)
WHERE t.forum_id='".$data2['forum_id']."' GROUP BY thread_id ORDER BY thread_lastpost DESC"));
}
На главной странице форума есть один баг: если последнее сообщение было написано в подфоруме, то неотображалась ссылка на пост...я попробовал ето исправить:
Сообщений: 17 Зарегистрирован: 27 Февраля 2008, 22:30:18 Сказали спасибо 1 раз Статус: offline
Опубликовано 12 Марта 2008, 03:21:51
На базе полезности от pozitiv родилась еще одна.. Имхо полезная.
Ссылка на пост. Живет маленькая картинка в правом углу таблички с временем каждого поста.
1. добавить post_url.gif к картинкам форума
2. viewthread.php
ищем
Народ читаем и запоминаем! Не помогаю по ICQ Не помогаю по ЛС
буду просто игнорировать эти сообщения!
Все вопросы задаем на форуме, но предварительно пользуемся поиском!
Сообщений: 353 Откуда: Москва, ВАО, Перово Зарегистрирован: 18 Октября 2007, 01:42:47 Сказали спасибо 51 раз Статус: offline
ICQ статус
Опубликовано 12 Марта 2008, 08:17:40
У меня так давно было в viewforum.php сделано - ссылка на последний пост в теме была сделана в столбце "Последнее сообщение" (рисуночек перед словами "последнее сообщение" и можно было сразу перейти к последнему ссобщению в теме - по моему это стандарт для всех форумов.
Такая же ссылка у меня стоит в viewthread.php у каждого поста перед словами
"Опубликовано 05 февраля 2008, 13:50:02" сделал по просьбе посетителей, чтобы можно было легко сослаться на любой пост в теме (получить ссылку на него и где-то её использовать).
Сообщений: 87 Зарегистрирован: 07 Мая 2007, 20:32:37 Сказали спасибо 6 раз Статус: offline
ICQ статус
Опубликовано 13 Марта 2008, 02:15:24
Номер сообщения в таблице на форуме
http://www.phpfusion-themes.com/forum/viewthread.php?forum_id=17&thread_id=1693
------------------------------------------------------------------------------------------
кнопка СПАСИБО на форуме
http://www.phpfusion-themes.com/forum/viewthread.php?forum_id=17&thread_id=2572
------------------------------------------------------------------------------------------
Пользователь в сети не в сети на форуме
http://www.phpfusion-themes.com/forum/viewthread.php?forum_id=4&thread_id=575
------------------------------------------------------------------------------------------
Разбитие тем на форуме
http://www.phpfusion-themes.com/forum/viewthread.php?forum_id=17&thread_id=2754
------------------------------------------------------------------------------------------
Выбор модератора на несколько разделов форума сразу
http://www.phpfusion-themes.com/forum/viewthread.php?forum_id=17&thread_id=2777
------------------------------------------------------------------------------------------
Удаление сообщений с форума без захода в Правку
http://www.phpfusion-themes.com/forum/viewthread.php?forum_id=17&thread_id=1844
------------------------------------------------------------------------------------------
Не показывать ник и дату при повторном редактировании поста на форуме
http://www.phpfusion-themes.com/forum/viewthread.php?forum_id=17&thread_id=2215
------------------------------------------------------------------------------------------
то что сам поставил и проверил и работает в данный момент.
Сообщений: 1676 Откуда: Киев Зарегистрирован: 18 Ноября 2007, 18:49:13 Сказали спасибо 148 раз Статус: offline
ICQ статус
Опубликовано 13 Марта 2008, 20:59:12
Еще одна мелочь....изменяем картинку которая отображает состояние темы, всмысле есть новые ответы или нету, горячая тема...
Данная модификация добавляет:
1. Если тема гарячая и есть новые ответы с момента вашего последнего посещения то отображается папка красная папка
2. Если тема гарячая и нет новых ответов с момента вашего последнего посещения, то отображается тускло-красная папка
3. Если в теме опрос и есть нове ответы-отображается соответсвующая иконка
4. Если есть опрос и нет новых ответов то отображается таже иконка, только немного тусклее
Пока вроде все...если кому невпадлу-протестируйте плиз=)
Опять-таки открываем viewforum.php и ищем код который отвечает за иконку
Теперь создай в папке images папку forum_img и выставь права как у всех папок....все...теперь редактируй форумы....картинки для форумов надо заливать в ету папку и потом при редактировании в админке только писать название картинки для форума.....
то что выделено жирным показывает картинку если тема под паролем!
3. Открываем и редактируем forum/viewforum.php:
Следующий код надо вставлять после кода вывода объявления, у меня он изменен, поэтому привести пример немогу=( :
if (isset($_COOKIE['forum_password'])) {
$cookie_vars = explode(".", $_COOKIE['forum_password']);
$forums = $cookie_vars['0'];
$forum_password = $cookie_vars['1'];
$result = dbarray(dbquery("SELECT * FROM ".$db_prefix."forums WHERE forum_id='".$forums."'"));
if ($result['forum_password'] == $forum_password) {
$access = 1;
} else {
$access = 0;
}
}
$results = dbarray(dbquery("SELECT * FROM ".$db_prefix."forums WHERE forum_id='".$forum_id."'"));
if ($access == 0 && $results['forum_password']) {
forumsidez('Введите пароль раздела');
echo"<b>Даний розділ захищено паролем!</b><br>
Якщо у Вас немає доступу до даного розділу, не намагайтеся ввести пароль. Всі невдалі спроби записуються в логах Адміністратора і Ви можете позбутися прав користувача форуму.
Перевірте і переконаєтеся, що Ваш браузер підтримує тимчасові cookies
if (isset($_COOKIE['forum_password'])) {
$cookie_vars = explode(".", $_COOKIE['forum_password']);
$forums = $cookie_vars['0'];
$forum_password = $cookie_vars['1'];
$result = dbarray(dbquery("SELECT * FROM ".$db_prefix."forums WHERE forum_id='".$forums."'"));
if ($result['forum_password'] == $forum_password) {
$access = 1;
} else {
$access = 0;
}
}
$results = dbarray(dbquery("SELECT * FROM ".$db_prefix."forums WHERE forum_id='".$forum_id."'"));
if ($access == 0 && $results['forum_password']) {
forumsidez('Введите пароль раздела');
echo"<b>Даний розділ захищено паролем!</b><br>
Якщо у Вас немає доступу до даного розділу, не намагайтеся ввести пароль. Всі невдалі спроби записуються в логах Адміністратора і Ви можете позбутися прав користувача форуму.
Перевірте і переконаєтеся, що Ваш браузер підтримує тимчасові cookies
Сообщений: 1676 Откуда: Киев Зарегистрирован: 18 Ноября 2007, 18:49:13 Сказали спасибо 148 раз Статус: offline
ICQ статус
Опубликовано 08 Апреля 2008, 20:16:23
Новая мелочь...отображает на форуме кто и когда закрыл тему...
Создать в базе два новых поля(выделенные красным)
CREATE TABLE IF NOT EXISTS `rusfusion_threads` (
`forum_id` smallint(5) unsigned NOT NULL default '0',
`thread_id` smallint(5) unsigned NOT NULL auto_increment,
`thread_smile` varchar(100) NOT NULL,
`thread_subject` varchar(100) NOT NULL default '',
`thread_description` varchar(100) NOT NULL,
`thread_author` smallint(5) unsigned NOT NULL default '0',
`thread_views` smallint(5) unsigned NOT NULL default '0',
`thread_lastpost` int(10) unsigned NOT NULL default '0',
`thread_lastuser` smallint(5) unsigned NOT NULL default '0',
`thread_sticky` tinyint(1) unsigned NOT NULL default '0',
`thread_locked` tinyint(1) unsigned NOT NULL default '0',
`thread_replies` smallint(5) unsigned NOT NULL default '0', `thread_close_author` smallint(5) unsigned NOT NULL default '0',
`thread_close_time` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`thread_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=91 ;
Далее в options.php найти $result = dbquery("UPDATE ".$db_prefix."threads SET thread_locked='1' WHERE thread_id='$thread_id'");
и заменить на
$result = dbquery("UPDATE ".$db_prefix."threads SET thread_locked='1', thread_close_author='".$userdata['user_id']."', thread_close_time='".time()."' WHERE thread_id='$thread_id'");
и теперь в файле viewthread.php в том месте где вы хотите чтобы отображало автора и дату вставте код
$locked = dbarray(dbquery("SELECT * FROM ".$db_prefix."threads WHERE thread_id='$thread_id'"));
if ($locked['thread_locked'] == 1) {
$author = dbarray(dbquery("SELECT * FROM ".$db_prefix."users WHERE user_id='".$locked['thread_close_author']."'"));
echo "<b>Тему закрыл:</b> ".$author['user_name'].", <b>дата закрытия:</b> ".showdate("forumdate", $locked['thread_close_time'])."";
}