FatCat Опубликовано 21 Ноября 2008 Жалоба Поделиться Опубликовано 21 Ноября 2008 Настоятельно рекомендую прежде чем ставить, прикинуть посещаемость форума.Если посещаемость большая, БД будет разрастаться со скоростью лавины. functions.phpНайти: function update_member_session() { global $DB, $ibforums;и заменить на function update_member_session() { global $DB, $std, $ibforums; Найти $db_str = $DB->compile_db_update_string( array( 'member_name' => $this->member['name'], 'member_id' => intval($this->member['id']), 'member_group' => $this->member['mgroup'], 'in_forum' => intval($ibforums->input['f']), 'in_topic' => intval($ibforums->input['t']), 'login_type' => $ibforums->input['Privacy'], 'running_time' => $this->time_now, 'location' => $ibforums->input['act'].",".$ibforums->input['p'].",".$ibforums->input['CODE'] ) );и заменить на// +FatCat: логируем перемещения пользователей: // Сохраняем массив для дальнейшей работы $member_session_array = array( 'member_name' => $this->member['name'], 'member_id' => intval($this->member['id']), 'member_group' => $this->member['mgroup'], 'in_forum' => intval($ibforums->input['f']), 'in_topic' => intval($ibforums->input['t']), 'login_type' => $ibforums->input['Privacy'], 'running_time' => $this->time_now, 'location' => $ibforums->input['act'].",".$ibforums->input['p'].",".$ibforums->input['CODE'] ); $db_str = $DB->compile_db_update_string($member_session_array); // Таблицу сессий оформили, а массивом можем пользоваться дальше. if($this->member['mgroup'] != "4" and ($this->time_now - $this->last_click) > 5) // Админов и редиректы не логируем;) { // Подключаем языковый модуль: $ibforums->lang = $std->load_words($ibforums->lang, 'lang_online', $ibforums->lang_id); // Создаем массив вменяемых WHERE foreach ($ibforums->lang as $k => $v) { if ( preg_match( "/^WHERE_(\w+)$/", $k, $match ) ) { $this->where[ $match[1] ] = $ibforums->lang[$k]; } } unset($match); // Создаем читабильное описание локации: if (isset($member_session_array['location'])) { $line = ""; list($act, $pid) = explode( ",", $member_session_array['location'] ); $fid = $member_session_array['in_forum']; $tid = $member_session_array['in_topic']; if (isset($act)) { $line = isset($this->where[ $act ]) ? $this->where[ $act ] : $ibforums->lang['board_index']; } if ($fid != "" and ($act == 'SF' or $act == 'ST' or $act == 'Post')) { if ( ($tid > 0) and ($act != 'Post') ) { $line .= " <a href='index.php?&act=ST&f=$fid&t=$tid' target='_blank'>>>></a>"; } else { $line .= " <a href='index.php?&act=SF&f=$fid' target='_blank'>>>></a>"; } } } else { $line .= " {$ibforums->lang['board_index']}"; } $db_string = $std->compile_db_string( array ( 'forum_id' => $ibforums->input['f'], 'topic_id' => $ibforums->input['t'], 'post_id' => $ibforums->input['p'], 'member_id' => $this->member['id'], 'member_name' => $this->member['name'], 'ip_address' => $ibforums->input['IP_ADDRESS'], 'ctime' => time(), 'topic_title' => $topic_title, 'action' => $line ) ); $DB->query("INSERT INTO ibf_moderator_logs (" .$db_string['FIELD_NAMES']. ") VALUES (". $db_string['FIELD_VALUES'] .")"); } // -FatCat: логируем перемещения пользователей В итоге имеем:В топике в "история темы (опция администратора)" наблюдаем всех пользователей и их действия в этом топике;В админке в логах модераторов по каждому пользователю видим все дейстия в форуме;Таблица ibf_moderator_logs пухнет как на дрожжах. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
FatCat
Настоятельно рекомендую прежде чем ставить, прикинуть посещаемость форума.
Если посещаемость большая, БД будет разрастаться со скоростью лавины.
functions.php
Найти:
и заменить на
Найти
и заменить на
В итоге имеем:
Ссылка на комментарий
Поделиться на других сайтах
0 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.