winnie Опубликовано 13 Октября 2004 Жалоба Поделиться Опубликовано 13 Октября 2004 zero_vlz ккой еще пароль? там префиксы таблиц и вы забыли добавить поле inc_postcount к таблице ibf_topics Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 13 Октября 2004 Жалоба Поделиться Опубликовано 13 Октября 2004 По идее под звёздочками должен быть префикс, а не пароль Ссылка на комментарий Поделиться на других сайтах Прочее
zero_vlz Опубликовано 13 Октября 2004 Жалоба Поделиться Опубликовано 13 Октября 2004 winnieВ том то и загвоздка, что я создал поле inc_postcount. При попытке создать его снова, он пишет, что-то про то, что данное поле дублирует существующее. А как созданное исправить, мне кажется, там есть ошибка? Ссылка на комментарий Поделиться на других сайтах Прочее
winnie Опубликовано 13 Октября 2004 Жалоба Поделиться Опубликовано 13 Октября 2004 у вас есть пхп_май_админ?идите туда и сделайте запрос SHOW CREATE TABLE SQL_PREFIX_topicsгде SQL_PREFIX как раз ваш так называемый пароль .. то что выдаст- сюда запстите Ссылка на комментарий Поделиться на других сайтах Прочее
WaRLoCK Опубликовано 21 Октября 2004 Жалоба Поделиться Опубликовано 21 Октября 2004 winnie Не работает у меня он..Сделал все как ты писал ..даже перепроврил нефига не хочет он работать Добавлено в [mergetime]1098329669[/mergetime] Все разобрался... PS: Администарция удалите плиз это сообщение Ссылка на комментарий Поделиться на других сайтах Прочее
Dobermann Опубликовано 1 Ноября 2004 Жалоба Поделиться Опубликовано 1 Ноября 2004 Хм, если допустим в теме есть сообщения, и я удаляю её, то у пользователей счётчик неуменьшается... Делал всё в точности так как написано... 3 раза переделывал... Ссылка на комментарий Поделиться на других сайтах Прочее
winnie Опубликовано 2 Ноября 2004 Жалоба Поделиться Опубликовано 2 Ноября 2004 уменьшается... проверяйте еще раз изменения Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 30 Ноября 2004 Жалоба Поделиться Опубликовано 30 Ноября 2004 А вот еще один вариант от меня . В этот раз асинхронный. Действует следующим образом - при удалении счетчики не обновляются, а только собирается инфа о том, у кого они изменились. А затем, в установленное время, рекомендуется раз в день, спец задание пересчитывает счетчики по указанным пользователям. Собственно вот что нужно добавить:modunctions.php FIND: function post_delete($id) { global $std, $ibforums, $DB; $posts = array(); $attach_tid = array(); $topics = array(); ADD BELOW: $author_id = array(); FIND: //--------------------------------------- // Get Stuff //--------------------------------------- $DB->simple_construct( array( 'select' => 'pid, topic_id', 'from' => 'posts', 'where' => 'pid'.$pid ) ); $DB->simple_exec(); while ( $r = $DB->fetch_row() ) { $posts[ $r['pid'] ] = $r['topic_id']; $topics[ $r['topic_id'] ] = 1; } REPLACE: //--------------------------------------- // Get Stuff //--------------------------------------- $DB->simple_construct( array( 'select' => 'author_id, pid, topic_id', 'from' => 'posts', 'where' => 'pid'.$pid ) ); $DB->simple_exec(); while ( $r = $DB->fetch_row() ) { $posts[ $r['pid'] ] = $r['topic_id']; $topics[ $r['topic_id'] ] = 1; $author_id[$r['author_id']] = 1; } //----------------------------------------- // Recount posts for this members //----------------------------------------- $DB->simple_construct( array( 'select' => '*', 'from' => 'cache_store', 'where' => "cs_key = 'rebuildpostcount' " ) ); $DB->simple_exec(); while ( $r = $DB->fetch_row() ) { if ( $r['cs_array'] ) { $ibforums->cache[ $r['cs_key'] ] = unserialize(stripslashes($r['cs_value'])); } else { $ibforums->cache[ $r['cs_key'] ] = $r['cs_value']; } } foreach ( $author_id as $k => $v ) { $ibforums->cache['rebuildpostcount'][ $k ] = $v; } $std->update_cache( array( 'name' => 'rebuildpostcount', 'array' => 1, 'deletefirst' => 1 ) ); FIND: function topic_delete($id, $nostats=0) { global $std, $ibforums, $DB; $posts = array(); $attach = array(); ADD BELOW: $author_id = array(); FIND: $DB->simple_construct( array( 'select' => 'pid', 'from' => 'posts', 'where' => "topic_id".$tid ) ); $DB->simple_exec(); while ( $r = $DB->fetch_row() ) { $posts[] = $r['pid']; } //----------------------------------------- // Remove the attachments //----------------------------------------- if ( count( $posts ) ) { REPLACE: $DB->simple_construct( array( 'select' => 'pid, author_id', 'from' => 'posts', 'where' => "topic_id".$tid ) ); $DB->simple_exec(); while ( $r = $DB->fetch_row() ) { $posts[] = $r['pid']; $author_id[$r['author_id']] = 1; } //----------------------------------------- // Remove the attachments //----------------------------------------- if ( count( $posts ) ) { //----------------------------------------- // Recount posts for this members //----------------------------------------- $DB->simple_construct( array( 'select' => '*', 'from' => 'cache_store', 'where' => "cs_key = 'rebuildpostcount' " ) ); $DB->simple_exec(); while ( $r = $DB->fetch_row() ) { if ( $r['cs_array'] ) { $ibforums->cache[ $r['cs_key'] ] = unserialize(stripslashes($r['cs_value'])); } else { $ibforums->cache[ $r['cs_key'] ] = $r['cs_value']; } } foreach ( $author_id as $k => $v ) { $ibforums->cache['rebuildpostcount'][ $k ] = $v; } $std->update_cache( array( 'name' => 'rebuildpostcount', 'array' => 1, 'deletefirst' => 1 ) ); //----------------------------------------- // The rest //-----------------------------------------И еще нужно добавить задание из аттача на исполнение раз в день.rebuildpcount.zip Ссылка на комментарий Поделиться на других сайтах Прочее
David Опубликовано 30 Ноября 2004 Жалоба Поделиться Опубликовано 30 Ноября 2004 d1pro А это для какой версии IPB? Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 30 Ноября 2004 Жалоба Поделиться Опубликовано 30 Ноября 2004 David В данный исторический момент я делаю все под 2.0.x Ссылка на комментарий Поделиться на других сайтах Прочее
Speed Опубликовано 12 Декабря 2004 Жалоба Поделиться Опубликовано 12 Декабря 2004 d1pro ТАк это для какой версии?Для 2.0.3 подойдет?И где этот файл modunctions.php я что то ненашел нигде.. Ссылка на комментарий Поделиться на других сайтах Прочее
sockol Опубликовано 12 Декабря 2004 Жалоба Поделиться Опубликовано 12 Декабря 2004 Я прочитал всю тему, честное слово, но не нашел ответа на свой вопрос: можно ли в 1.3 зафиксировать счетчик посто для конкретного юзера? Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 12 Декабря 2004 Жалоба Поделиться Опубликовано 12 Декабря 2004 Speed Подойдет. В /sources/lib/ а задание нужно в /sources/task/ и через админку добавить новое. Ссылка на комментарий Поделиться на других сайтах Прочее
Anthony Опубликовано 31 Декабря 2004 Жалоба Поделиться Опубликовано 31 Декабря 2004 Снял счётчик с одного из форумов.А как теперь сделать так, чтобы в профиле пользователя, в "наибольшая активность в" не учитывался тот самый форум? Ссылка на комментарий Поделиться на других сайтах Прочее
sockol Опубликовано 31 Декабря 2004 Жалоба Поделиться Опубликовано 31 Декабря 2004 Повторюсь:можно ли в 1.3 зафиксировать счетчик для конкретного юзера? Это возможно сделать стандартными средствами? Или нужен какой-нидь мод? Ссылка на комментарий Поделиться на других сайтах Прочее
Tarnum Опубликовано 1 Января 2005 Жалоба Поделиться Опубликовано 1 Января 2005 sockol, нельзя. Ссылка на комментарий Поделиться на других сайтах Прочее
sockol Опубликовано 1 Января 2005 Жалоба Поделиться Опубликовано 1 Января 2005 Tarnum, а есть моды какие-нидь для этого? Ссылка на комментарий Поделиться на других сайтах Прочее
Tarnum Опубликовано 1 Января 2005 Жалоба Поделиться Опубликовано 1 Января 2005 Я тут новенький, не видел. Можно конечно в функциях руками прописать но это ИМХО не правильно.Полноценный хак нужен. А вобще зачем тебе это?Сбрось счетчик через админку. Ссылка на комментарий Поделиться на других сайтах Прочее
sockol Опубликовано 1 Января 2005 Жалоба Поделиться Опубликовано 1 Января 2005 И так после каждого поста сбрасывать счетчик?? А руками я не смогу...я мало что в этом понимаю... Ссылка на комментарий Поделиться на других сайтах Прочее
УПЫРЁНОК Опубликовано 7 Февраля 2005 Жалоба Поделиться Опубликовано 7 Февраля 2005 обидно,но увы не работает спасибо за ответвсё работат, просто там опечатка есть одна вроде как! я ей убрал и всё заработало1 Ссылка на комментарий Поделиться на других сайтах Прочее
seba Опубликовано 8 Февраля 2005 Жалоба Поделиться Опубликовано 8 Февраля 2005 d1pro Насколько мод может загрузить сервер с форумом ну скажем в 50000 постов и около 3000 юзеров? Если честно - стремно запускать в таскменеджере задачу, которая может повалить форум. Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 8 Февраля 2005 Жалоба Поделиться Опубликовано 8 Февраля 2005 seba Не сильно. По личному опыту говорю (42000 постов, 600 юзеров) . Да, он не скажу, что легкий, но во-первых он операции проводит не над всей базой, а только над неким сегментом, а во-вторых запуск раз в сутки, так что это не так страшно... Ссылка на комментарий Поделиться на других сайтах Прочее
seba Опубликовано 9 Февраля 2005 Жалоба Поделиться Опубликовано 9 Февраля 2005 d1pro ОК, попробую, спасибо. Ссылка на комментарий Поделиться на других сайтах Прочее
seba Опубликовано 14 Февраля 2005 Жалоба Поделиться Опубликовано 14 Февраля 2005 d1pro Вроде бы работает, и вроде бы нормально работает. Вопрос: насколько этот мод оптимальнее чем мод от Dean, который есть на invizionise? Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 14 Февраля 2005 Жалоба Поделиться Опубликовано 14 Февраля 2005 seba Вот он боюсь положит всю базу . Ну или на больших форумах тормоза будут на время выполнения. Ведь в админке нагрузка снимается редиректами, а у Дина этого нет. А если юзеров очень много и времени на пересчет > 30 сек выйдет, скрипт отвалится... Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения