Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Веб Форумы » VBulletin 2.x.x » Хаки от Netadmin или "Сделай сам" » Склейка сообщений
Страницы (6): « 1 [2] 3 4 » ... Последняя »
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #7526]

Другая проблема это время, я думал что можно сделать так: если пользователь отвечает на сообщение то проверяется предыдцщее и если это его же сообщение то текущее добавляется к предыдущему, ну там соотаетственно надпись что добавили. А вот время когда добавили не предвидется показывать.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 07-05-2002 09:00
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
DragOn
Участник+

Зарегистрирован: Mar 2002
Место проживания: Беларусь
Публикаций: 96
Статус: DragOn в оф-лайне
[сообщение #7546]

и еще не забывать не плюсовать количество сообщений.

quote:
А вот время когда добавили не предвидется показывать.

в принципе это и не надо, если сделать ограничение на работу 2 часа

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 07-05-2002 14:21
Нажмите сюда для просмотра профайла DragOn Отправить Персональное сообщение DragOn Посетить домашнию страничку DragOn! Найти сообщения от DragOn Добавить DragOn в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #7548]

quote:
и еще не забывать не плюсовать количество сообщений.

Ð_то само собой.
У меня щяс времени нет, так что я скоро не обещаю взяться.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 07-05-2002 14:45
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
DragOn
Участник+

Зарегистрирован: Mar 2002
Место проживания: Беларусь
Публикаций: 96
Статус: DragOn в оф-лайне
[сообщение #7560]

polo
может попробуй поднять тему на vbulletin.org?

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 07-05-2002 17:16
Нажмите сюда для просмотра профайла DragOn Отправить Персональное сообщение DragOn Посетить домашнию страничку DragOn! Найти сообщения от DragOn Добавить DragOn в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Vanish
-= n0b0dy =-
Средний рейтинг: 4.29 | Оценок: 24
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Oct 2001
Место проживания: rus|53
Публикаций: 624
Статус: Vanish в оф-лайне
Post Народ попробуйте это [сообщение #7570]

Итак принимайте: хак, который позволяет объединять сообщения в одно, если пользователь отправляет их в одну и ту же тему в течений x секунд времени, и при этом является последним автором в теме, короче Ð_у-Борду смотрите...

Написано за короткий промежуток времени, тестилось только на локале, выводы делайте сами -> хотите устанавливайте, хотите нет.
Итак делаем следующее изменение в файле newreply.php:
Ищем сей фрагмент

$DB_site->query("INSERT INTO post (postid,threadid,title,username,userid,dateline,at
tachmentid,pagetext,allowsmilie,showsignature,ipad
dress,iconid,visible) VALUES(NULL,'$threadid','".addslashes(htmlspecialchars($title))."','".addslashes($postusername)."','$bbuserinfo[userid]','".time()."','$attachmentid','".addslashes($message)." ','$allowsmilie','$signature','$ipaddress','$iconi
d','$visible')");

<... Вырезано цензурой ....>


И оканчивая строками:
$DB_site->query("UPDATE thread SET lastpost='".time()."',replycount=replycount+1,lastposter='".addslashes($postusername)."' WHERE threadid='$threadid'");
}
}

Так вот этот фрагмент ремим на случай неудачи, т.е. ставим в начале такую фигулину - /* , а в конце - */
Теперь осталось после всего этого закомментированного блока вставить следующий, заменяющий его, код:

############# Begin merge posts hack by Vanish ######################
$last_post = $DB_site->query_first("SELECT * FROM post WHERE userid='$bbuserinfo[userid]' AND threadid='$threadid' ORDER BY dateline DESC LIMIT 1 ");
$last_poster = $DB_site->query_first("SELECT userid FROM post WHERE threadid='$threadid' ORDER BY dateline DESC LIMIT 1");
$time_interval = ((date("H",time()))*3600 + (date("i",time()))*60 + date("s",time()))-((date("H",$last_post[dateline]))*3600 + (date("i",$last_post[dateline]))*60 + date("s",$last_post[dateline]));

/*
Alarm/Warning/Внимание: переменная $time_interval контролирет интарвал в течении котрого посты будут склеиваться (в секундах).
Пример: если $time_interval>300, то после 5-ти (60*5 мин = 300 сек) минут посты не будут склеиваться.
При изменении $time_interval, НЕ ЗАБУДЬТЕ в Строке №1 изменить равенство $time_interval=400 на $time_interval=<ВАШЕ ВÐ_ЕМЯ>+100, где <ВАШЕ ВÐ_ЕМЯ> -
Ваш новый временной интервал.
*/

if ($time_interval<0) {$time_interval=400;} ### Строка №1
if ($time_interval>300 || !($threadid == $last_post[threadid]) || !($last_poster[userid] == $last_post[userid])) {
$DB_site->query("INSERT INTO post (postid,threadid,title,username,userid,dateline,at
tachmentid,pagetext,allowsmilie,showsignature,ipad
dress,iconid,visible) VALUES (NULL,'$threadid','".addslashes(htmlspecialchars($title))."','".addslashes($postusername)."','$bbuserinfo[userid]','".time()."','$attachmentid','".addslashes($message)." ','$allowsmilie','$signature','$ipaddress','$iconi
d','$visible')");
$postid=$DB_site->insert_id();
$postadded=0;
} else {
$DB_site->query("UPDATE post SET pagetext = '". addslashes(htmlspecialchars($last_post[pagetext]))
."

[separator]Добавлено:
Тема: ".addslashes(htmlspecialchars($title))."


".addslashes(htmlspecialchars($message))."[/separator]', dateline = '".time()."' WHERE postid='$last_post[postid]'");
$postadded=1;
$threadid=$last_post[threadid];
$postid=$last_post[postid];
}

indexpost($postid,0);

if ($visible) {
if ($threadinfo[replycount]%10==0) {
$replies=$DB_site->query_first("SELECT COUNT(*)-1 AS replies FROM post WHERE threadid='$threadid'");
$DB_site->query("UPDATE thread SET lastpost='".time()."',replycount='$replies[replies]',lastposter='".addslashes($postusername)."' WHERE threadid='$threadid'");
} else {
if (!($postadded)) {
$DB_site->query("UPDATE thread SET lastpost='".time()."',replycount=replycount+1,lastposter='".addslashes($postusername)."' WHERE threadid='$threadid'");
} else {
$DB_site->query("UPDATE thread SET lastpost='".time()."',lastposter='".addslashes($postusername)."' WHERE threadid='$threadid'");
}
}
}
############# End merge posts hack by Vanish ######################


И еще один ньюанс, нужно через AdminCP создать Custom vB Code с названием: separator и телом: <hr>{param}
В принципе, если Вы не хотите чтобы склеенные сообщения разделялись горизонтальной полосой, то этот ньюанс можно и не учитывать, но в этом случае в коде хака удалите тэги [separator] и [/separator].

Пока вроде все, возможны глюки, пишите сюда и мылом, тогда они будут по возможности фикситься.
З.Ы. Да еще на случай если чего-то с инструкциями напортачил прикрепляю этот файл с изменениями. По крайней мере на локале он у меня работал
_____________________________________________
Best regards to all from Vanish aka Jesus...

Файл: newreply.zip
Был скачан 38 раз(а).

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 07-05-2002 21:31
Нажмите сюда для просмотра профайла Vanish Отправить Персональное сообщение Vanish Найти сообщения от Vanish Добавить Vanish в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Vanish
-= n0b0dy =-
Средний рейтинг: 4.29 | Оценок: 24
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Oct 2001
Место проживания: rus|53
Публикаций: 624
Статус: Vanish в оф-лайне
[сообщение #7571]

Склейка происходит в течении 5 минут. Там еще гифак есть, как оно работало у меня...

__________________
No pity, no mercy, no regret.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 07-05-2002 21:32
Нажмите сюда для просмотра профайла Vanish Отправить Персональное сообщение Vanish Найти сообщения от Vanish Добавить Vanish в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Ausw
Модератор
Средний рейтинг: 3.57 | Оценок: 7
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Sep 2001
Место проживания: BloodyVostok
Публикаций: 565
Статус: Ausw в оф-лайне
[сообщение #7572]

quote:
и еще не забывать не плюсовать количество сообщений.
так в том то и дело, что счетчик сообщений не считается, тема вверх не поднимается. (на RU.Board так по крайней мере, да и на хоботе наверное тоже). хак для ib-2 может кому дать, принцип посмотрите...

__________________
"Gott weiss, ich will kein Engel sein!"

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 07-05-2002 21:34
Нажмите сюда для просмотра профайла Ausw Отправить Персональное сообщение Ausw Посетить домашнию страничку Ausw! Найти сообщения от Ausw Добавить Ausw в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #7575]

В общем принцип такой: Перед помещением сообщения в базу получить последнее сообщение в данной теме, сравнить ID полльзователя который отвечает в теме если ид пользователя совпадает с ид пользователя который поместил последенее сообщение сравнить текщее время со временем последнего сообщения если оно не больше 2 часов то к тексту последнего сообщения добавить текст добавляемого сообщения с приставкой "юзер добавил", обновить запись добавив новый текст. Также стоит проверить если юзер не аноним, помоему у анонима ид=0. В общем это все вольется в 10 строк кода. Итак кто возьмется?

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 07-05-2002 22:40
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #7576]

взглянул щас на код, там еще нужно определится что делать в случае если пользователь прикрепит новый файл и в предыдущем сообщение уже есть файл можно конечно заменить текущий но если у пользователя нет таких намерений? Предлагаю в случае наличия файла добавлять новый ответ. Также следует учесть опции пользователя как подписка на тему, в случае если ее нет и пользователь выбрал эту опцию добавить подписку и при отключенной опции в случае ее наличия не удалять, с подписью думаю следует поступить также. Еще думаю следует обратить внимание на обновление рейтинга.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 07-05-2002 22:50
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Ausw
Модератор
Средний рейтинг: 3.57 | Оценок: 7
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Sep 2001
Место проживания: BloodyVostok
Публикаций: 565
Статус: Ausw в оф-лайне
[сообщение #7577]

polo , мне кажется, ты перебрал в последнем посте с наворотами может проще сделать нечто вроде выдергивание текста в какую нить переменную, и к ней приплюсовывать новое, потом эту переменную обратно вмещать, оставляя все настройки на месте. типа $inpost_OLD = $inpost_OLD . "$inpost\n";

__________________
"Gott weiss, ich will kein Engel sein!"

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 07-05-2002 23:21
Нажмите сюда для просмотра профайла Ausw Отправить Персональное сообщение Ausw Посетить домашнию страничку Ausw! Найти сообщения от Ausw Добавить Ausw в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #7578]

то что ты говоришь так и будет, но с наваротами я совсем не перебрал, это все и без того чтобы что-то добавлять будет делаться кроме голоса на тему, это действительно надо добавить, короче я начал делать, через часик можно будет посмотреть бету.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 07-05-2002 23:29
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
Конечный хак для склейки сообщений [сообщение #7581]

Ð_тот хак склеивает сообщения пользователя если он пишит два и более раз подряд в одну и ту же тему в интервале времени менее двух часов.
Особенности:
Время последнего сообщения не обновляется.
Сообщения склеиваются только в том случае если пользователь не отвечает прикрепляя какой либо файл.
Обновляется поисковой индекс.
Показывается дата и время когда пользователь добавил сообщение которое полностью совместимо с поисовыми настройками форума и пользователей.

Посетите эту тему для загрузки хака и дополнительной информации.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 08-05-2002 02:05
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #7595]

Jesus Я что-то пропустил твой ответ с хаком. Мне что-то показалось что ты там обновляешь счетчики.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 08-05-2002 11:36
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
DragOn
Участник+

Зарегистрирован: Mar 2002
Место проживания: Беларусь
Публикаций: 96
Статус: DragOn в оф-лайне
[сообщение #7679]

Jesus
да, все правильно, только счетчик увеличивается, может исправишь?
polo
а вот твое не пашет
пишет
Parse error: parse error on line 220
вот, что в этой строке:
$timediffÂ_=Â_time()Â_-Â_$laspost[dateline];

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 10-05-2002 23:10
Нажмите сюда для просмотра профайла DragOn Отправить Персональное сообщение DragOn Посетить домашнию страничку DragOn! Найти сообщения от DragOn Добавить DragOn в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #7687]

ок теперь работатет, я в форме ответа его чистил от комментариев видать что-то удалил не то.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 10-05-2002 23:51
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя

Страницы (6): « 1 [2] 3 4 » ... Последняя »


Формат времени GMT. Текущее время 04:13.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.01521492 seconds (52.05% PHP - 47.95% MySQL) with 27 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.