Sebastyan
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Raw Rider Цитата: Заметил я всё-таки косяк - после удаления поста в не поднятой теме на главной стр. в колонке обновлений(lastpost) появляется ссылка на эту же тему, где было произведено удаление, а дата и автор с самой верхней поднятой темы | Как я понял, после удаления сообщения, имя и дата для запиха в allforums.cgi (а оттуда и на гл.страницу) берутся так же как и прежде: из первой строки list.cgi ($linetokeep = @alltopics[0]). И введение блокированных тем здесь не учитывается. Предлагаю взять из lastpost.cgi номер последней темы и уже по нему вытащить имя/дату из list.cgi из строки с тем же номером темы: В файле postings.cgi: в sub deletepost, после: Код: print FILE $processed_data; close(FILE); undef $processed_data; ### Get the new last forum poster, and post date. | вставить: Код: $filetoopen = "$ikondir" . "forum$inforum/lastpost.cgi"; open(FILE,"$filetoopen"); flock(FILE,2); @lastpost = <FILE>; close(FILE); foreach $lpst (@lastpost) { chomp $lpst; ($trash, $threadnumber, $trash) = split(/\|/,$lpst); chomp $threadnumber; } | чуть ниже находим: Код: $linetokeep = @alltopics[0]; chomp $linetokeep; ($trash, $trash, $trash, $trash, $trash, $trash, $trash, $trash, $lastforumposter, $lastforumpostdate) = split(/\|/,$linetokeep); chomp $forumlastposter; chomp $forumlastpostdate; | и меняем на код: Код: foreach $linetokeep (@alltopics) { chomp $linetokeep; ($firstthreadnumber, $trash, $trash, $trash, $trash, $trash, $trash, $trash, $flposter, $flpdate) = split(/\|/,$linetokeep); chomp $firstthreadnumber; if ($firstthreadnumber eq $threadnumber) { $lastforumposter = $flposter; $lastforumpostdate = $flpdate; } } | Попробовал - работает P.S. Во время тестирования обнаружил баг c обновлением информации уже в разделе форума (list.cgi). Иногда (пока не систематизировал алгоритм проявления ош-ки) добавляя сообщение в тему вижу, что в теме строкой ниже корректные автор/дата последнего сообщения подменяются другими. IMHO траблы в ikon.lib, в sub rebuildLIST. Буду искать |