Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать SSDForums
Скачать SSDForums 1.0.1 Скачать SSDForums 1.0.1
Скачать SSDForums 1.0.1 SP1 Скачать SSDForums 1.0.1 SP1
Скачать SSDForums 1.0.1 SP2 Скачать SSDForums 1.0.1 SP2
SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro
SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro
Jewelry Сase Team
Скачать Ruby Chat 0.1.1 Скачать Ruby Chat 0.1.1
Меню
Главная
Форум
Магазин цифровых товаров

Новости
Подписка на новости
Темы новостей
Добавить новость

Каталог файлов
Карта файлового архива
Публикации

Опросы
Анкета пользователя
Чат

BestMaker
Викторина
Архив новостей
Карманный оракул
Поиск по сайту с помощью Яндекс
Поиск по сайту с помощью Google
Фото дня
Для души
Погода на 3 дня
IndexCat
IndexTop
Map_Pages
Поиск по сайту









Подписка на новости
Ваше имя:
Ваш E-Mail:*
Секретный код:
Секретный код
Повторить:*
Интересное в сети

Sape — это система купли-продажи ссылок
с главных и внутренних страниц сайтов
Форум -> О форуме на Понедельниках -> Блок SSDForum
Блок SSDForum
Михаил Дата: 18.10.2007, в 06:51 | Сообщение №1
Михаил
Пользователь
Пользователь №: 118
Сообщений: 35

Серж, ты я видел что-то тестирвал/исправлял в блоке чтобы при удалении сообщений темы не терялись в блоке.
Нашёл в чём причина? Поделись..
Serg_pnz Дата: 18.10.2007, в 08:22 | Сообщение №2
Serg_pnz
Администратор
Пользователь №: 1
Сообщений: 2242

Михаил, нашел причину, обязательно поделюсь. Вот сдам проект и займусь релизом.

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
Михаил Дата: 20.10.2007, в 13:35 | Сообщение №3
Михаил
Пользователь
Пользователь №: 118
Сообщений: 35

Может кому пригодится... Исправил я этот глюк. Надо было просто в forums_topic апдэйтить дату последнего сообщения.
Теперь функция удаления выглядит так:

Код
1
function deletepost($id) {
global $prefix, $db, $user, $userinfo, $module_name;
   getusrinfo($user);
   list($userinfo['user_moder']) = $db->sql_fetchrow($db->sql_query("SELECT user_moder FROM ".$prefix."_forums_users WHERE user_id = '$user[0]'"));

   if ($userinfo['user_moder'] == "0") {
      Header("Location: index.php?error=403");
      exit;
   }

   list($tid) = $db->sql_fetchrow($db->sql_query("SELECT tid FROM ".$prefix."_forums_posts WHERE id='$id'"));
   list($cid) = $db->sql_fetchrow($db->sql_query("SELECT cid FROM ".$prefix."_forums_topics WHERE id='$tid'"));
   list($max) = $db->sql_fetchrow($db->sql_query("SELECT max(id) as id FROM ".$prefix."_forums_posts WHERE tid = ".$tid));
   list($mid) = $db->sql_fetchrow($db->sql_query("SELECT id FROM ".$prefix."_forums_posts WHERE tid='$tid' ORDER BY id ASC"));
   list($countid) = $db->sql_fetchrow($db->sql_query("SELECT Count(id) FROM ".$prefix."_forums_posts WHERE tid='$tid'"));

   if ($mid == $id) {
      $db->sql_query("UPDATE ".$prefix."_forums_users SET user_messages=user_messages-$countid WHERE user_id='$userinfo[0]'");
      $db->sql_query("UPDATE ".$prefix."_forums_topics SET totalposts=totalposts-1 WHERE id='$tid'");
      $db->sql_query("UPDATE ".$prefix."_forums_cats SET totaltopics=totaltopics-1, totalposts=totalposts-$countid+1 WHERE id='$cid'");
      $db->sql_query("DELETE FROM ".$prefix."_forums_topics WHERE id='$tid'");
      $db->sql_query("DELETE FROM ".$prefix."_forums_posts WHERE tid='$tid'");
      Header("Location: index.php?name=$module_name");
   } else {
      $db->sql_query("UPDATE ".$prefix."_forums_users SET user_messages=user_messages-1 WHERE user_id='$userinfo[0]'");
      $db->sql_query("UPDATE ".$prefix."_forums_topics SET totalposts=totalposts-1 WHERE id='$tid'");
      $db->sql_query("UPDATE ".$prefix."_forums_cats SET totalposts=totalposts-1 WHERE id='$cid'");
      $db->sql_query("DELETE FROM ".$prefix."_forums_posts WHERE id='$id'");
      if($max == $_GET['id']) {
         $newmax = $db->sql_fetchrow($db->sql_query("SELECT max(id) as id FROM ".$prefix."_forums_posts WHERE tid = ".$tid));
         $newname = $db->sql_fetchrow($db->sql_query("SELECT name, date FROM ".$prefix."_forums_posts WHERE id = ".$newmax['id']));
         $db->sql_query("UPDATE ".$prefix."_forums_topics SET lastposter_name = '".$newname['name']."', date='".$newname['date']."' WHERE id = ".$tid);
      }
      Header("Location: index.php?name=$module_name&op=showtopic&id=$tid");
   }
}
RockKenny Дата: 21.10.2007, в 13:50 | Сообщение №4
RockKenny
Активный участник
Пользователь №: 171
Сообщений: 232

где эта функция? в index.php?
XaMMeR Дата: 21.10.2007, в 13:57 | Сообщение №5
XaMMeR
Модератор
Пользователь №: 196
Сообщений: 75

Михаил, когда выкладываешь код, помечай чего именно правил.
Михаил Дата: 22.10.2007, в 08:31 | Сообщение №6
Михаил
Пользователь
Пользователь №: 118
Сообщений: 35

На сколько я помню исправлено:
Код
1
$newname = $db->sql_fetchrow($db->sql_query("SELECT name, date FROM ".$prefix."_forums_posts WHERE id = ".$newmax['id']));
         $db->sql_query("UPDATE ".$prefix."_forums_topics SET lastposter_name = '".$newname['name']."', date='".$newname['date']."' WHERE id = ".$tid);


Добавлен апдэйт даты.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно Михаил 22.10.2007 г. в 08:32:22

Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!


Реклама
Главная | Форум | Новости | Подписка на новости | Темы новостей | Добавить новость | Каталог файлов | Карта файлового архива | Публикации | Опросы | Анкета пользователя | Чат | BestMaker | Викторина | Архив новостей | Карманный оракул | Поиск по сайту с помощью Яндекс | Поиск по сайту с помощью Google | Фото дня | Для души | Погода на 3 дня | IndexCat | IndexTop | Map_Pages | Весь Оракул

Rambler's Top100

Генерация страницы: 0.261 сек. и 17 запросов к базе данных за 0.020 сек.
Web site engine code is Copyright © 2006 by SLAED CMS. All rights reserved.