~Alx~ Опубликовано 25 Января 2006 Жалоба Поделиться Опубликовано 25 Января 2006 Добрый день! У меня есть план для одной модификации , но я не знаю как ее осуществить в полной мере ! У меня лишь одни наброски (((( Может мне кто-то поможет? Мод подразумевается под 1.3 FinalСмысл:1) В профиле пользователей в Мемберлисте будет показываться сколько тем создал этот юзер 2) В профиле рядом со ссылкой Найти все сообщения этого пользователя сделать ссылку Найти все темы этого пользователя 3) В мемберлисте добавить ф-цию сортировки пользователей по кол-ву тем 4) Если возможно сделать Лучших авторов по количеству тем , на подобие Лучшие 10 авторов 3 пункт у меня сделан:======================Открыть lang/*/lang_profile.php====================== Искать: <?php $lang = array ( Добавить после: 'find_all_topics_start' => "Найти все темы этого пользователя", ============================================Открыть skin/*/skin_profile.php:============================================Искать: <a href='{$info['base_url']}&act=Search&CODE=getalluser&mid={$info['mid']}'>{$ibforums->lang['find_posts']}</a> | Добавить после: <a href='{$info['base_url']}&act=Search&CODE=getalluser3&mid={$info['mid']}'>{$ibforums->lang['find_all_topics_start']}</a> | ======================Открыть /sources/Search.php======================Искать: case 'getalluser': $this->get_all_user(); break; Добавить после: case 'getalluser3': $this->get_all_user3(); break; Искать: function get_new_posts() Добавить выше: function get_all_user3() { global $ibforums, $DB, $std, $HTTP_POST_VARS, $print; //------------------------------------ // Do we have flood control enabled? //------------------------------------ if ($ibforums->member['g_search_flood'] > 0) { $flood_time = time() - $ibforums->member['g_search_flood']; // Get any old search results.. $DB->query("SELECT id FROM ibf_search_results WHERE (member_id='".$ibforums->member['id']."' OR ip_address='".$ibforums->input['IP_ADDRESS']."') AND search_date > '$flood_time'"); if ( $DB->get_num_rows() ) { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'search_flood', 'EXTRA' => $ibforums->member['g_search_flood']) ); } } $ibforums->input['forums'] = 'all'; $ibforums->input['nav'] = 'lv'; $forums = $this->get_searchable_forums(); $mid = intval($ibforums->input['mid']); //------------------------------------ // Do we have any forums to search in? //------------------------------------ if ($forums == "") { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'no_search_forum') ); } if ($mid == "") { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'no_search_results' ) ); } //------------------------------------------------ // Get the topic ID's son store dat shit //------------------------------------------------ $DB->query("SELECT tid FROM ibf_topics WHERE approved <> 0 AND forum_id IN($forums) AND starter_id=$mid"); $max_hits = $DB->get_num_rows(); $topics = ""; while ($row = $DB->fetch_row() ) { $topics .= $row['tid'].","; } $DB->free_result(); $topics = preg_replace( "/,$/", "", $topics ); //------------------------------------------------ // Do we have any results? //------------------------------------------------ if ($topics == "") { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'no_search_results' ) ); } //------------------------------------------------ // If we are still here, store the data into the database... //------------------------------------------------ $unique_id = md5(uniqid(microtime(),1)); $str = $DB->compile_db_insert_string( array ( 'id' => $unique_id, 'search_date'=> time(), 'topic_id' => $topics, 'topic_max' => $max_hits, 'sort_key' => $this->sort_key, 'sort_order' => $this->sort_order, 'member_id' => $ibforums->member['id'], 'ip_address' => $ibforums->input['IP_ADDRESS'], ) ); $DB->query("INSERT INTO ibf_search_results ({$str['FIELD_NAMES']}) VALUES ({$str['FIELD_VALUES']})"); $print->redirect_screen( $ibforums->lang['search_redirect'] , "act=Search&nav=gr&CODE=show&searchid=$unique_id&search_in=posts&result_type=topics" ); exit(); } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 25 Января 2006 Жалоба Поделиться Опубликовано 25 Января 2006 Я Вам уже говорил, в ответ Вы мне нахамили, а сейчас зачем-то на паблик выложили, зная, что я Вам сказал.$DB->query("SELECT tid FROM ibf_topics WHERE approved <> 0 AND forum_id IN($forums) AND starter_id=$mid"); Ну так вот, так делать НЕЛЬЗЯ, хотя это и работает. Слишком уж афигенская нагрузка идёт на сервер, следует отКЭШировать результаты в отдельную таблицу (или отдельные поля в ibf_members), КЭШ соответсвенно обновлять при соответствующих действиях пользователя (например создание темы) или модератора (например удаление сообщения). Что, касается того, что я "зажрался" - я правда перевожу порядка 800Кб информации вручную с одного движка на другой, попутно правля грамматику и мне неясно, почему я должен сделать что-либо для Вам бесплатно, отвлёкшись от своего портала. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
~Alx~ Опубликовано 25 Января 2006 Автор Жалоба Поделиться Опубликовано 25 Января 2006 Destruction Я вам не хамил, я просто высказал свое мнение! За что хочу извиниться публично, так сказать! И еще вы тут много слов сказали но ничего на деле не показали... Раз вы так хорошо в этом понимаете, то почему вы просто не дадите то на что это скорректировать надо и все! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 26 Января 2006 Жалоба Поделиться Опубликовано 26 Января 2006 Эту фишку написал "kG-bRoOkLyN" по моей просьбе. Как раз сорсы в первом посте здесь. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
~Alx~ Опубликовано 26 Января 2006 Автор Жалоба Поделиться Опубликовано 26 Января 2006 Jax Я рад за тебя и за него! Но давайте по теме говорить! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 26 Января 2006 Жалоба Поделиться Опубликовано 26 Января 2006 Никто за Вас делать кажется не собирается. Ну чтож, если, что я впринципе всегда готов помочь советом - пишите, будут проблемы - спрашивайте, я подскажу. И главное - КЭШируйте результат ! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
~Alx~ Опубликовано 27 Января 2006 Автор Жалоба Поделиться Опубликовано 27 Января 2006 Destruction Спасибо! Неужели никто больше не хочет помочь??? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
~Alx~ Опубликовано 6 Февраля 2006 Автор Жалоба Поделиться Опубликовано 6 Февраля 2006 Тема все еще актуальна! Никто не придумал ничего? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.