модерирование тем в форуме
Текущий рейтинг темы: Нет
beerfuck
Новичок
Всего сообщений: 35 Рейтинг пользователя: 0
Дата регистрации на форуме: 8 дек. 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 9 января 2004 15:16
один из модераторов повертел темами немного на форуме. в итоге попортилась сумма просмотров у этих тем. 8) 8 ответов, 78.1225296442689 просмотров Обсуждение начал ЧЧЧЧЧ 1 ответ, 16.9565217391304 просмотров Обсуждение начал КККК
12 ответов, 111.399209486166 просмотров Обсуждение начал СССС
| | |
Gram
Модератор раздела
Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 9 января 2004 16:53
в forums.cgi поставить перед: if ($numberofitems > $maxthreads) { #if вот это $threadviews = int($threadviews); А вообще это уже обсуждали...
| | |
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
Откуда: Москва Всего сообщений: 2994 Рейтинг пользователя: 79 Дата регистрации на форуме: 29 сен. 2001
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 9 января 2004 18:58
Есть такая ошибка... Надо заменить вот это:<br>$oldthreadviews = $threadviews * ($oldmsgcount/$threadposts);<br> на <br>$oldthreadviews = int ($threadviews * ($oldmsgcount/$threadposts));<br> и вот это: <br>$newthreadviews = $threadviews * ($newmsgcount/$threadposts); <br> на <br>$newthreadviews = int ($threadviews * ($newmsgcount/$threadposts));<br>
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
| | |
Gram
Модератор раздела
Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 9 января 2004 22:13
На всякий случай скажу, что проделывать это надо в postings.cgi в процедуре process_split
| | |
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
Откуда: Москва Всего сообщений: 2994 Рейтинг пользователя: 79 Дата регистрации на форуме: 29 сен. 2001
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 10 января 2004 9:27
Да, полезное замечание...
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
| | |
beerfuck
Новичок
Всего сообщений: 35 Рейтинг пользователя: 0
Дата регистрации на форуме: 8 дек. 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 12 января 2004 14:33
big TNx!
| | |
beerfuck
Новичок
Всего сообщений: 35 Рейтинг пользователя: 0
Дата регистрации на форуме: 8 дек. 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 14 января 2004 9:28
далее обнаружил что при слиянии двух тем опцией "Объединить" из той темы из которой происходит слияние(текущая) пропадает первое сообщение, т.е. то которое и начало эту тему. из второй темы к которой произодиться дополнение - все нормально.
| | |
Gram
Модератор раздела
Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 14 января 2004 11:34
Есть такая проблема. Я давно про этот баг говорил. Уж не помню че мне XXXXPro ответил... У FAF Team вроде была нормальная процедура приклеивания...
| | |
beerfuck
Новичок
Всего сообщений: 35 Рейтинг пользователя: 0
Дата регистрации на форуме: 8 дек. 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 14 января 2004 13:26
где рыть- с ходу ненашел у него 8(
| | |
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
Откуда: Москва Всего сообщений: 2994 Рейтинг пользователя: 79 Дата регистрации на форуме: 29 сен. 2001
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 14 января 2004 15:51
У меня проблема была в том, что где-то в процедуре склеивания \n стояло в начале строки, а не в конце.
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
| | |
beerfuck
Новичок
Всего сообщений: 35 Рейтинг пользователя: 0
Дата регистрации на форуме: 8 дек. 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 14 января 2004 17:26
по быстрому не нашел оного 8(
| | |
Gram
Модератор раздела
Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 14 января 2004 17:59
Замени процедуру sub process_join на вот такую: sub process_join { <br>&getmember("$inmembername"); <br>&moderator; <br>$cleartoedit = "no"; <br>&mischeader("Соединение тем"); <br>if (($membercode eq "ad") && ($inpassword eq $password)) { $cleartoedit = "yes"; } <br>if (($inmembmod eq "yes") && ($inpassword eq $password)) { $cleartoedit = "yes"; } <br>unless ($cleartoedit eq "yes") { $cleartoedit = "no"; } <br>if ($cleartoedit eq "no" && $checked eq "yes") { &error("объединении тем&Вы не имеете прав Модератора или Администратора или ваш пароль введен неверно."); } <br>else { <br>open (TOPIC,"<$ikondir"."forum$forum/$topic.thd"); <br>flock(TOPIC,1); <br>@messages=<TOPIC>; <br>close(TOPIC); <br>$msgcount=@messages; <br>my $file = "$ikondir" . "forum$inforum/$topic.pl"; <br>$file=&stripMETA($file); <br>open (ENT, "<$file"); <br>flock ENT, 1; <br>$in = <ENT>; <br>close (ENT); <br>($topicid, $topictitle, $topicdescription, $threadstate, $threadposts ,$oldthreadviews, $startedby, $startedpostdate, $old_lastposter, $old_lastpostdate,$old_sticky) = split(/\|/,$in); <br>my $file = "$ikondir" . "forum$inforum/$jointopic.pl"; <br>$file=&stripMETA($file); <br>open (ENT, "<$file"); <br>flock ENT, 1; <br>$in = <ENT>; <br>close (ENT); <br>($topicid, $topictitle, $topicdescription, $threadstate, $threadposts ,$threadviews, $startedby, $startedpostdate, $lastpostername, $lastpostdate,$sticky) = split(/\|/,$in); <br>($oldlastpostername, $trash, $trash, $trash, $trash ,$oldlastpostdate, $trash) = split(/\|/, @messages[$msgcount-1]); <br>$threadviews = $threadviews + $oldthreadviews; <br>$threadposts = $threadposts + $msgcount; <br>open (ENT, ">$file"); <br>flock (ENT,2); <br>print ENT ("$topicid|$topictitle|$topicdescription|$threadstate|$threadposts|$threadviews|$startedby|$startedpostdate|$lastpostername|$lastpostdate|$sticky"); <br>close (ENT); <br>open (ENT,"<forum$inforum/$jointopic.thd"); <br>flock (ENT,1); <br>my @old_thd = <ENT>; <br>close (ENT); <br>open (ENT,">forum$inforum/$jointopic.thd"); <br>flock (ENT,2); <br>foreach $string (@old_thd) { <br>chomp $string; <br>print ENT $string."\n"; <br> } <br>foreach $string (@messages) { <br>chomp $string; <br> my @split_line = split (/\|/, $string); <br> $split_line[2] = $topictitle; <br>print ENT join ("|", @split_line)."\n"; <br> } <br>close (ENT); <br>if ($saveoldtopic ne "yes") { <br>unlink("$ikondir" . "forum$inforum/$topic.pl"); <br>unlink("$ikondir" . "forum$inforum/$topic.thd"); <br>unlink("$ikondir" . "forum$inforum/$topic.mal"); <br>require "$ikondir" . "data/boardstats.cgi"; <br>$filetomake = "$ikondir" . "data/boardstats.cgi"; <br>$filetomake = &stripMETA($filetomake); <br>$totalthreads--; <br>open(FILE, ">$filetomake"); <br>flock(FILE, 2); <br>print FILE "\$lastregisteredmember = \"$lastregisteredmember\"\;\n"; <br>print FILE "\$totalmembers = \"$totalmembers\"\;\n"; <br>print FILE "\$totalthreads = \"$totalthreads\"\;\n"; <br>print FILE "\$totalposts = \"$totalposts\"\;\n"; <br>print FILE "\n1\;"; <br>close (FILE); <br> open (ALLF, "<data/allforums.cgi"); <br> flock(ALLF, 1); <br> my @allf = <ALLF>; <br> close (ALLF); <br> foreach (@allf) { <br> chomp; <br> if ((split(/\|/))[0] eq $inforum) { <br>my @f_splitted = split(/\|/); <br> $f_splitted[12]--; <br>$processed_data .= join("|", @f_splitted)."\n"; <br>} else { $processed_data .= $_."\n"; } <br>} <br>if (($processed_data eq "") || ($processed_data !~ m!\|!)) { &error("Missing Data&Data as corrupted on the server. Please go back and try again"); } <br>open(FILE, ">data/allforums.cgi"); <br>flock(FILE, 2); <br>print FILE $processed_data; <br>close(FILE); <br>undef $processed_data; <br>} <br>rebuildLIST(-Forum=>"$inforum"); <br>$output .= qq~ <br><table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center> <br><tr> <br><td> <br><table cellpadding=6 cellspacing=1 border=0 width=100%> <br><tr> <br><td bgcolor=$miscbacktwo valign=middle align=center ><b>Темы успешно объединены</b></td></tr> <br><tr> <br><td bgcolor=$miscbackone valign=middle><br><ul> <br><li><a href="$threadprog?forum=$inforum&topic=$jointopic">Перейти к объединенной теме</a> <br><li><a href="$forumsprog?forum=$inforum">Перейти на форум</a> <br><li><a href="$forumsummaryprog">Перейти к списку форумов</a> <br></ul> <br></tr> <br></td> <br></table></td></tr></table>~; <br>} <br>} У меня работает!
| | |
beerfuck
Новичок
Всего сообщений: 35 Рейтинг пользователя: 0
Дата регистрации на форуме: 8 дек. 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 14 января 2004 18:11
TNX | | |
Время выполнения скрипта: 0.0869. Количество выполненных запросов: 18, время выполнения запросов 0.0465
|