Публикации

Форумы

Склейка постов форума
 

Склейка постов форума

1 2 3  
Модераторы: Патрик, net1313, Predator, Perfecthus, Kapman
Автор Добавил
Offline KAMDen
09.08.12 - 18:40
Сообщений: 1
Здравствуйте.
Нужно сделать возможность на форуме склеивать посты пользователя, если они следую одно за другим в течении суток.
На многих форумных движках эта функция не реализована по умолчанию, но делается в виде хаков.
Можно ли найти подобный для e107 Forum System?

Благодарю.
Вернуться наверх
Популярность сообщения: 1
Рекламный блок
VPS
Наверх

Offline Evgura
09.08.12 - 22:25
Сообщений: 386
– Цитата: 
Можно ли найти подобный для e107 Forum System?

Нету такого для е107.
Вернуться наверх
Популярность сообщения: 0
 
Offline Real
09.08.12 - 22:38
Real

Сообщений: 1236
Evgura: тут на клубном форуме это есть.
KAMDen: Готовь челобитную и к Кэпу на аудиенцию (Kapman'y в личку)


Всё, что существует на свете, когда-то было мечтой.
Вернуться наверх
Популярность сообщения: 1
 
Offline Kapman
09.08.12 - 23:12
Kapman


Сообщений: 961
Завтра напишу, что править.
Вернуться наверх
Популярность сообщения: 2
 
Offline Evgura
09.08.12 - 23:39
Сообщений: 386
– Цитата: 
Evgura: тут на клубном форуме это есть.

Real: Я знаю что здесь есть. Просто я то же просил как то и никто не откликнулся.
Вернуться наверх
Популярность сообщения: 0
 
Offline Kapman
10.08.12 - 12:24
Kapman


Сообщений: 961
Файл forum_class.php, функция thread_insert.

После строк:
  1. $post_user = $thread_poster['post_userid'].".".$tp->toDB($thread_poster['post_user_name']);
  2. $thread_post_user = $post_user;
  3. if ($thread_poster['post_userid'] == 0) {
  4.         $thread_post_user = $post_user.chr(1).$ip;
  5. }


Добавляем этот код:
  1. // Вытаскиваем последний пост из темы
  2. if (
  3.         $sql->db_Select('forum_t', '*', "`thread_parent`='".intval($thread_parent)."' AND `thread_datestamp` + 86400 > ".time()." ORDER BY `thread_datestamp` DESC LIMIT 1")
  4.                 &&
  5.         intval($thread_parent)
  6. ) {
  7.         $last_thread_post = $sql->db_Fetch();
  8.                        
  9.         // Если авторы совпадают
  10.         if ($last_thread_post['thread_user'] == $post_user) {
  11.                                
  12.                 // Новый текст поста
  13.                 $new_text = $last_thread_post['thread_thread'].PHP_EOL.PHP_EOL.'[b]'.strftime('%d.%m.%y %T').' добавлено сообщение:[/b]'.PHP_EOL.PHP_EOL.$thread_thread;
  14.                                
  15.                 // Обновляем пост
  16.                 if($sql->db_Update('forum_t', "`thread_thread` = '{$new_text}', `thread_datestamp` = '{$post_time}' WHERE `thread_id` = '{$last_thread_post['thread_id' ]}'")) {
  17.  
  18.                         $forum_lp_info = $post_time.'.'.intval($thread_parent);
  19.  
  20.                         // Update main forum with last post info and increment reply count
  21.                         $this->_forum_lp_update('forum_replies', $post_user, $forum_lp_info, $thread_forum_id, $forum_sub);
  22.  
  23.                         // Update head post with last post info and increment reply count
  24.                         $sql->db_Update('forum_t', "`thread_lastpost`= '{$post_time}', `thread_lastuser` = '{$post_user}' WHERE `thread_id` = ".(int)$thread_parent);
  25.                        
  26.                         return $last_thread_post['thread_id'];
  27.                 }
  28.                 else {
  29.                         echo "thread creation failed!";
  30.                         exit;
  31.                 }
  32.         }
  33. }


Не забудьте перекодировать файл в UTF-8.
Вернуться наверх
Популярность сообщения: 4
 
Offline Evgura
10.08.12 - 13:26
Сообщений: 386
Kapman: Спасибо большое.
Вернуться наверх
Популярность сообщения: 0
 
Offline Dru
03.09.12 - 12:52
Dru

Сообщений: 101
А, если первый пост написан вчера, а второй сегодня написать, то они тоже объединятся в один?
Вернуться наверх
Сайт
Популярность сообщения: 0
 
Offline Predator
03.09.12 - 14:30
Predator


Сообщений: 4051
Сообщение от Evgura... 
Нету такого для е107.
Ошибаетесь молодой человек

Сообщение от Real... 
KAMDen: Готовь челобитную и к Кэпу на аудиенцию (Kapman'y в личку)
А вот это ты зря, всех в личку направляешь, для этого есть форум! А, если таким макаром, то Кэп скоро напишет хак, что постучать Админу в личку можно будет, только заплатив $15 на один из кошельков!

Сообщение от pokuziev... 
А, если первый пост написан вчера, а второй сегодня написать, то они тоже объединятся в один?
Да, сделано это специально, чтобы один и тот же пользователь не превращал тему в «рулон туалетной бумаги», кому интересно щелкать по страницам и читать по одному слову в посте?



Я не матерюсь, а всего лишь употребляю ненормативную лексику в целях более полного и лаконичного выражения своих эмоций.
Вернуться наверх
Популярность сообщения: 0
 
Offline Dru
03.09.12 - 15:57
Dru

Сообщений: 101
– Цитата: 
Да, сделано это специально, чтобы один и тот же пользователь не превращал тему в «рулон туалетной бумаги», кому интересно щелкать по страницам и читать по одному слову в посте?

Т.е., если пользователь написал пост в июле, потом зашел и еще написал в сентябре, то они объединятся? У меня на форуме есть отдельный раздел для музыкальной группы и они пишут о новостях, о новых песнях. В основном пишет только один человек. Получится тогда, что все посты объединятся и будет не особо "красиво".

03.09.12 15:57:12 добавлено сообщение:

Нельзя, например, сделать так, чтобы посты склеивались только за день?
Вернуться наверх
Сайт
Популярность сообщения: 0
 
1 2 3  
Склейка постов форума

Перейти:  Вернуться наверх