Перейти к контенту

[1.x.x]Склейка сообщений


Рекомендуемые сообщения

Название: Склейка сообщений

Добавил: Total

Добавлен: 13 Мар 2003

Обновлен: 13 Мар 2003

Категория: IP.Board 1.x.x

 

Хак позволяет склеивать и более сообщений от одного пользователя в течении определенного времени.

 

Немного функций!

1. Соединяет сообщения в течении 10 мин (меняйте 600 для увеличения/уменьшения)

2. Счетчик постов не учитывается при добавлении

3. Если в одном из постов есть аттач, он остается!

4. С цитированием и другими кодами тоже самое

5. Тема при добавлении НЕ ПОДНИМАЕТСЯ вверх.

6. Дата и время остается первоначальной

 

Спасибо Vanish за написание этого хака.

 

Нажмите здесь, чтобы скачать файл

Ссылка на комментарий
Поделиться на других сайтах

  • 5 недель спустя...

Вообщем немного изменил код, теперь хак стал более информативен :D

 

Переписал выделеные строки.

 

1. Это увеличение несклейки постов с 10 минут до года

2. Вывод даты дополнения поста

 

//########### Merge Posts Hack From Ruforum dot net ##########

$topic_id = $this->post['topic_id'];

$DB->query("SELECT * FROM ibf_posts WHERE topic_id = '$topic_id' ORDER BY post_date DESC LIMIT 0,1");

$this->lastpost = $DB->fetch_row();

$lastdate = $this->lastpost['post_date'];

$timedeff = time() - $lastdate;

$lastposter = $this->lastpost['author_id'];

$lastpostername = $this->lastpost['author_name'];

$nowposter = $this->post['author_id'];

if ($nowposter == $lastposter && $timedeff < 30672000 && !($this->post['attach_id']) && $nowposter) {

$this->post['post'] = $this->lastpost['post'] ."<br>". date("j-m-y H:i:s") . " <b>" . $lastpostername . "</b><i> Добавил:</i> <br>". $this->post['post'];

$post = $this->post['post']; $lastpid = $this->lastpost['pid'];

 

$DB->query("UPDATE ibf_posts SET post = '".addslashes($post)."' WHERE pid = '$lastpid'");

 

if ($class->obj['moderate']) {

 

$print->redirect_screen( $ibforums->lang['moderate_post'], "act=ST&f={$class->forum['id']}&t={$this->topic['tid']}" );

}

 

$DB->query("UPDATE ibf_topics SET pinned = '".$this->topic['pinned']."', state='".$this->topic['state']."' WHERE tid='".$this->topic['tid']."'");

 

//-------------------------------------------------

// Redirect them back to the topic

//-------------------------------------------------

 

if ($return_to_move == 1)

{

$std->boink_it($class->base_url."&act=Mod&CODE=02&f={$class->forum['id']}&t={$this->topic['tid']}");

}

else

{

$page = floor( ($this->topic['posts']) / $ibforums->vars['display_max_posts']);

$page = $page * $ibforums->vars['display_max_posts'];

$std->boink_it($class->base_url."&act=ST&f={$class->forum['id']}&t={$this->topic['tid']}&st=$pageentry{$this->post['pid']}");

}

    exit;

}

//########### Merge Posts Hack From Ruforum dot net ########

Что скажете?

Ссылка на комментарий
Поделиться на других сайтах

Meowth[OGD]

по-моему в файле написанно для того чтобы изменить время склейки надо изменить цифру. Что успешно проделал ты. И в чем твоя модификация?

Ссылка на комментарий
Поделиться на других сайтах

Так пункт 2 посмотрию Имнил строку вывода: Добавлена на более информативную. Проверь у себя лучше ли стало.
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

Небольшой апгрейд хака. Теперь дата у склееного сообщения будет изменена на новую, + улучшена строка добавлена

 

Вот весь код

//########### Merge Posts Hack From Ruforum dot net ##########

$topic_id = $this->post['topic_id'];

$DB->query("SELECT * FROM ibf_posts WHERE topic_id = '$topic_id' ORDER BY post_date DESC LIMIT 0,1");

$this->lastpost = $DB->fetch_row();

$lastdate = $this->lastpost['post_date'];

$timedeff = time() - $lastdate;

$lastposter = $this->lastpost['author_id'];

$lastpostername = $this->lastpost['author_name'];

$nowposter = $this->post['author_id'];

if ($nowposter == $lastposter && $timedeff < 10000000 && !($this->post['attach_id']) && $nowposter) {

$this->post['post'] = $this->lastpost['post'] ."<br><hr>". date("j-m-y H:i:s") . " <b>" . $lastpostername . "</b><i> Добавил:</i> <br>". $this->post['post'];

$post = $this->post['post']; $lastpid = $this->lastpost['pid'];

 

$DB->query("UPDATE ibf_posts SET post = '".addslashes($post)."' WHERE pid = '$lastpid'");

 

// Обновление даты топика

$class->forum['last_title']    = str_replace( "'", "'", $this->topic['title'] );

  $class->forum['last_id']          = $this->topic['tid'];

  $class->forum['last_post']        = time();

  $class->forum['last_poster_name'] = $ibforums->member['id'] ?  $ibforums->member['name'] : $ibforums->input['UserName'];

  $class->forum['last_poster_id'] = $ibforums->member['id'];

  $class->forum['posts']++;

 

  // Update the database

 

  $DB->query("UPDATE ibf_forums    SET last_title='"      .$class->forum['last_title']    ."', ".

        "last_id='"      .$class->forum['last_id']          ."', ".

        "last_post='"    .$class->forum['last_post']        ."', ".

        "last_poster_name='".$class->forum['last_poster_name'] ."', ".

        "last_poster_id='"  .$class->forum['last_poster_id'] ."', ".

        "posts='"        .$class->forum['posts']            ."' ".

        "WHERE id='"        .$class->forum['id']            ."'");

  $DB->query("UPDATE ibf_topics  SET last_poster_id='"    .$class->forum['last_poster_id']    ."', ".

          "last_poster_name='"    .$class->forum['last_poster_name']  ."', ".

          "last_post='"        .$class->forum['last_post']      ."', ".

          "pinned='"              .$this->topic['pinned']          ."', ".

          "state='"            .$this->topic['state']              ."', ".

          "posts=posts+1 ".

          "WHERE tid='"        .$this->topic['tid']          ."'");

//Конец обновления         

         

if ($class->obj['moderate']) {

 

$print->redirect_screen( $ibforums->lang['moderate_post'], "act=ST&f={$class->forum['id']}&t={$this->topic['tid']}" );

}

 

$DB->query("UPDATE ibf_topics SET pinned = '".$this->topic['pinned']."', state='".$this->topic['state']."' WHERE tid='".$this->topic['tid']."'");

 

//-------------------------------------------------

// Redirect them back to the topic

//-------------------------------------------------

 

if ($return_to_move == 1)

{

$std->boink_it($class->base_url."&act=Mod&CODE=02&f={$class->forum['id']}&t={$this->topic['tid']}");

}

else

{

$page = floor( ($this->topic['posts']) / $ibforums->vars['display_max_posts']);

$page = $page * $ibforums->vars['display_max_posts'];

$std->boink_it($class->base_url."&act=ST&f={$class->forum['id']}&t={$this->topic['tid']}&st=$pageentry{$this->post['pid']}");

}

    exit;

}

//########### Merge Posts Hack From Ruforum dot net ##########

 

Вот как это фыглядит на моем форуме

А про кустомы... ну дайте по одной понравившейся больше всех, может и сделаю... 

--------------------------------------------------------------------------------

24-04-03 00:21:00 Astres Добавил:

все вместе в архиве, если...

Ссылка на комментарий
Поделиться на других сайтах

Хе - во-первых в оригинале дата не должна обновляться, а во-вторых у тебя добавилось 2 запроса, которые, по-моему мнения, совершенно лишние.
Ссылка на комментарий
Поделиться на других сайтах

Я знаю, что не должна, но имхо это неудобно, хотя каждому свой, насчет лишних ты прав, ночью посижу подумаю, улучшу
Ссылка на комментарий
Поделиться на других сайтах

  • 4 месяца спустя...
  • 9 месяцев спустя...

а на версию 1.3 пойдёт если я скачал вот отсюда

Склейка сообщений

Добавлено в [mergetime]1088543839[/mergetime]

Vanish

Скажи точно откуда скачать можно для ферсии 1.3

пожалуйста :D

Ссылка на комментарий
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.