Регистрация    Забыли пароль?        Правила форума    FAQ (читать перед созданием новой темы)
Имя   Пароль  запомнить
  
Просмотр темы
Вернуться на сайт: PHP-Fusion SF Russian Support Site

Форум поддержки PHP-Fusion SF | PHP-Fusion SF - Моды/Плагины | Моды/Mods
# 1 Тема: склеивание постов на форуме.
mishqa35
SF Team

Avatar пользователя

.jQ*

SF Support Team

Немогу без SF

Сообщений: 732
Откуда: Череповец
Зарегистрирован: 08 Ноября 2007, 20:35:30
Сказали спасибо 129 раз
Статус: offline
ICQ статус 6698669
Опубликовано 29 Июня 2008, 21:53:15
интересует как реализовать склейвание постов на форуме...


--------------------
Fusion и jQuery
^ наверх ^ 6698669 http://sf-fusion.ru
# 2  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 30 Июня 2008, 00:14:51
склеиватся должны как? когда пост идет друг за другом или через опции модератора?))


--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 3  
mishqa35
SF Team

Avatar пользователя

.jQ*

SF Support Team

Немогу без SF

Сообщений: 732
Откуда: Череповец
Зарегистрирован: 08 Ноября 2007, 20:35:30
Сказали спасибо 129 раз
Статус: offline
ICQ статус 6698669
Опубликовано 30 Июня 2008, 00:19:15
если он добавлен через 60 сек например. как бы сразу после 1


--------------------
Fusion и jQuery
^ наверх ^ 6698669 http://sf-fusion.ru
# 4  
attachMENT
Пользователь

Avatar пользователя

Чайник php

Любитель Fusion

Сообщений: 403
Откуда: Кировоград, Украина
Зарегистрирован: 10 Апреля 2008, 21:49:04
Сказали спасибо 65 раз
Статус: offline
ICQ статус 371333485
Опубликовано 30 Июня 2008, 11:33:51
эт типа как на DLE? так мож глянуть как тама и как-то переделать...


--------------------
''
''
^ наверх ^ 371333485 http://kyrsova.hmarka.net/
# 5  
Virtus-pro
Пользователь

Avatar пользователя

Вебмастер

Немогу без SF

Сообщений: 646
Откуда: Россия
Зарегистрирован: 18 Мая 2008, 06:48:50
Сказали спасибо 65 раз
Статус: offline
Опубликовано 30 Июня 2008, 12:14:13
Мне то же интересно как такое сделать, ато некоторые умные люди пишут все не в одно сообщение а в целых пять. ВОт например на юкозе склеиваются..Надо чтобы они склеивались и изер не смог делать два поста подрят


--------------------
www.amxserv.net -Все для вашего CS сервера
------------------------------------------------------------------------------
''
''
^ наверх ^ http://www.amxserv.net
# 6  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 04 Июля 2008, 17:15:29
mishqa35, так такое реализовано в том форуме что я тебе дал...там вроде все просто=)


--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 7  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 04 Июля 2008, 17:28:36
вот код который склеивает посты:


if (!$flood) {
$sig = isset($_POST['disable_sig']) ? "0" : "1";
$smileys = isset($_POST['disable_smileys']) ? "0" : "1";
$subject = $tdata['thread_subject'];
$result = dbquery("UPDATE ".$db_prefix."forums SET forum_lastpost='".time()."', forum_lastuser='".$userdata['user_id']."' WHERE forum_id='$forum_id'");
$result = dbquery("UPDATE ".$db_prefix."threads SET thread_lastpost='".time()."', thread_lastuser='".$userdata['user_id']."' WHERE thread_id='$thread_id'");
$result = dbquery("SELECT MAX(post_datestamp) AS last_post FROM ".$db_prefix."posts WHERE post_author='".$userdata['user_id']."' AND thread_id='$thread_id'");
$post = dbarray(dbquery("SELECT * FROM ".$db_prefix."posts WHERE post_datestamp='".$data['last_post']."'"));
if ($settings_forum['split_post'] == 1 && dbrows($result) > 0) {
$data = dbarray($result);
if ((time() - $data['last_post']) < $settings_forum['split_time']) {
$message = $post['post_message']."<br><br><br>--------------------<br>Добавлено: ".$userdata['user_name'].", ".showdate("forumdate", time())."<br>".stripinput(censorwords($_POST['message']));
$result = dbquery("UPDATE ".$db_prefix."posts SET post_message='$message' WHERE post_datestamp='".$data['last_post']."'");
}
else {
$result = dbquery("INSERT INTO ".$db_prefix."posts (forum_id, thread_id, post_subject, post_message, post_showsig, post_smileys, post_author, post_datestamp, post_ip, post_edituser, post_edittime) VALUES ('$forum_id', '$thread_id', '$subject', '$message', '$sig', '$smileys', '".$userdata['user_id']."', '".time()."', '".USER_IP."', '0', '0')");
$newpost_id = mysql_insert_id();
}

} else {
$result = dbquery("INSERT INTO ".$db_prefix."posts (forum_id, thread_id, post_subject, post_message, post_showsig, post_smileys, post_author, post_datestamp, post_ip, post_edituser, post_edittime) VALUES ('$forum_id', '$thread_id', '$subject', '$message', '$sig', '$smileys', '".$userdata['user_id']."', '".time()."', '".USER_IP."', '0', '0')");
$newpost_id = mysql_insert_id();
}

if ($post_counter['post_counter'] == 1) {
$result = dbquery("UPDATE ".$db_prefix."users SET user_posts=user_posts+1 WHERE user_id='".$userdata['user_id']."'");
}
fallback("viewthread.php?forum_id=$forum_id&thread_id=$thread_id&pid=$newpost_id#post_$newpost_id");
if ($settings3['allow_multi'] == "1"){
$atotal = $settings3['files_num'];
} else {
$atotal = "1";
}
for($i=0;$i<$atotal;$i++){
$attach = $_FILES['attach'. $i];
if ($attach['name'] != "" && !empty($attach['name']) && is_uploaded_file($attach['tmp_name'])) {
$attachname = substr($attach['name'], 0, strrpos($attach['name'], "."));
$attachext = strtolower(strrchr($attach['name'],"."));
if (preg_match("/^[-0-9A-Z_\[\]]+$/i", $attachname) && $attach['size'] <= $settings['attachmax']) {
$attachtypes = explode(",", $settings['attachtypes']);
if (in_array($attachext, $attachtypes)) {
$attachname = attach_exists(strtolower($attach['name']));
move_uploaded_file($attach['tmp_name'], FORUM."attachments/".$attachname);
chmod(FORUM."attachments/".$attachname,0644);
if (in_array($attachext, $imagetypes) && (!@getimagesize(FORUM."attachments/".$attachname) || !@verify_image(FORUM."attachments/".$attachname))) {
unlink(FORUM."attachments/".$attachname);
$error = 1;
}
if (!$error) $result = dbquery("INSERT INTO ".$db_prefix."forum_attachments (thread_id, post_id, attach_name, attach_ext, attach_size) VALUES ('$thread_id', '$newpost_id', '$attachname', '$attachext', '".$attach['size']."')");
} else {
@unlink($attach['tmp_name']);
$error = 1;
}
} else {
@unlink($attach['tmp_name']);
$error = 2;
}
}
}
}


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

также надо добавить в БД 2 поля с настроками для склеивания, это вкл\выкл склеивание, и интервал в течении которого посты склеиваются....запросы думаю надо оптимизировать слегка...

в таблице forum_settings доавить две таблицы...
`split_post` tinyint(1) unsigned NOT NULL default '0',
`split_time` smallint(2) NOT NULL



вроде должно работать, т.к. у меня работает...


зы: ета замена стандартной функции ответа в viewthread.php...там надо просто заменить код и все....


[Изменил(а) pozitiv, 04 Июля 2008, 17:39:37]

--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 8  
mishqa35
SF Team

Avatar пользователя

.jQ*

SF Support Team

Немогу без SF

Сообщений: 732
Откуда: Череповец
Зарегистрирован: 08 Ноября 2007, 20:35:30
Сказали спасибо 129 раз
Статус: offline
ICQ статус 6698669
Опубликовано 04 Июля 2008, 18:02:52
pozitiv, я решил взять чистый последний сф и уже на него клепать а не твой переклепывать, в твоем главная ошибка это в повторных конектах к дб.. я лично так щитаю да и по коду кое где видно..

зы. еще спросить хотел про отключение счетчика.
изменения идут токо в viewthread.php? или еще в viewforum.php...


--------------------
Fusion и jQuery
^ наверх ^ 6698669 http://sf-fusion.ru
# 9  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 04 Июля 2008, 18:58:50
помоему только в viewthread.php


--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 10  
mishqa35
SF Team

Avatar пользователя

.jQ*

SF Support Team

Немогу без SF

Сообщений: 732
Откуда: Череповец
Зарегистрирован: 08 Ноября 2007, 20:35:30
Сказали спасибо 129 раз
Статус: offline
ICQ статус 6698669
Опубликовано 04 Июля 2008, 19:34:06
еще заметил когда на создаеш форум и отключаеш счетчик, после создаеш в токачто создавшем форуме сообщение оно + а вот ответы нет, поидее надо добавить и в viewforum.php чтото))


--------------------
Fusion и jQuery
^ наверх ^ 6698669 http://sf-fusion.ru
# 11  
mishqa35
SF Team

Avatar пользователя

.jQ*

SF Support Team

Немогу без SF

Сообщений: 732
Откуда: Череповец
Зарегистрирован: 08 Ноября 2007, 20:35:30
Сказали спасибо 129 раз
Статус: offline
ICQ статус 6698669
Опубликовано 13 Июля 2008, 14:49:20
в какие файлы добавлять разабрался и все наладил но возник вапрос про ответ на ити склееные сообщения.. типо так..

по коду из сообщения # 7(немного подправлено но суть одна)
тут идет 1 сообщение
<br><br>
Добавлено: .... тут идет прикоееное или приклееные.

вот когда пажимаеш ответить то в поле вставляются и теги <br><br>


--------------------
Fusion и jQuery
^ наверх ^ 6698669 http://sf-fusion.ru
Перейти на форум:


105,966,691 уникальных посетителей
сейчас: 04 Декабря 2024, 21:55:07
Генерация страницы: 0.29 сек.

Original size:42 кб.
GZipped size: 9 кб.
Compression:79%