Posted 14 октября, 201311 yr comment_46110 Просмотр файла (SOS34) Monthly Top Posters 1.0.0 (SOS34) Monthly Top Posters 1.0.0 - хук отображает топ постеров за месяц в боковом блоке. Добавил Respected Добавлено 14.10.2013 Категория Хуки, Модификации для IP.Board Название по-русски {value} Версия IP.Board Link to comment https://ipbmafia.ru/topic/6002-sos34-monthly-top-posters-100/ Share on other sites Больше вариантов
17 октября, 201311 yr comment_46468 файл может ещё больше и он бесплатный Link to comment https://ipbmafia.ru/topic/6002-sos34-monthly-top-posters-100/?&do=findComment&comment=46468 Share on other sites Больше вариантов
17 октября, 201311 yr Author comment_46470 В этом статистика меняется каждый месяц Link to comment https://ipbmafia.ru/topic/6002-sos34-monthly-top-posters-100/?&do=findComment&comment=46470 Share on other sites Больше вариантов
29 августа, 20159 yr comment_92393 Поставил этот хук, но он учитывает сообщения пользователей даже из тем с отключенным счетчиком. Каким образом сделать так, чтобы количество сообщений в хуке было равно количеству сообщений в профиле? IPB 3.4.6 Link to comment https://ipbmafia.ru/topic/6002-sos34-monthly-top-posters-100/?&do=findComment&comment=92393 Share on other sites Больше вариантов
29 августа, 20159 yr comment_92394 Каким образом сделать так, чтобы количество сообщений в хуке было равно количеству сообщений в профиле? IPB 3.4.6 Покажите мне, где в профиле есть статистика постов по месяцам. Link to comment https://ipbmafia.ru/topic/6002-sos34-monthly-top-posters-100/?&do=findComment&comment=92394 Share on other sites Больше вариантов
29 августа, 20159 yr comment_92395 извините, неправильно выразился. имелась ввиду логика подсчета как профиле, т.е. исключая посты в темах с отключенным счетчиком. P.S. может быть есть другой аналогичный хук, где учтен этот момент? Edited 29 августа, 20159 yr by ss11 Link to comment https://ipbmafia.ru/topic/6002-sos34-monthly-top-posters-100/?&do=findComment&comment=92395 Share on other sites Больше вариантов
29 августа, 20159 yr comment_92397 Есть за все время http://ipbmafia.ru/files/file/1132-sos34-members-stats-on-board-index-sidebar-100/ Если нужен именно этот, то можете открыть xml-файл, найти $where = array( "EXTRACT(MONTH FROM FROM_UNIXTIME(p.post_date)) = {$month}", "EXTRACT(YEAR FROM FROM_UNIXTIME(p.post_date)) = {$year}" ); и ниже добавить $where[] = "f.inc_postcount=1"; Посты из форумов, где отключен счетчик, не будут входить в статистику. Link to comment https://ipbmafia.ru/topic/6002-sos34-monthly-top-posters-100/?&do=findComment&comment=92397 Share on other sites Больше вариантов
29 августа, 20159 yr comment_92398 Спасибо, то что нужно! Link to comment https://ipbmafia.ru/topic/6002-sos34-monthly-top-posters-100/?&do=findComment&comment=92398 Share on other sites Больше вариантов
8 августа, 20168 yr comment_111212 Где скачать? сыль не пашет!( интересует именно за месяц! Link to comment https://ipbmafia.ru/topic/6002-sos34-monthly-top-posters-100/?&do=findComment&comment=111212 Share on other sites Больше вариантов
11 сентября, 20177 yr comment_136180 помогите. Как убрать форматирование в этом хуке? подробно на скриншоте что нужно изменить в коде хука чтоб ники были без форматирования? заранее спасибо. код хука вот Спойлер <?xml version="1.0" encoding="utf-8"?> <hookexport> <hookdata> <config> <hook_name>(SOS34) Monthly Top Posters</hook_name> <hook_desc>Will show top monthly posters on sidebar</hook_desc> <hook_author>Adriano Faria</hook_author> <hook_email>[email protected]</hook_email> <hook_website>http://www.sosinvision.com.br</hook_website> <hook_update_check/> <hook_requirements><![CDATA[a:3:{s:21:"required_applications";a:1:{s:6:"forums";a:3:{s:8:"app_name";s:6:"Forums";s:11:"min_version";i:34006;s:11:"max_version";i:0;}}s:20:"hook_php_version_min";s:0:"";s:20:"hook_php_version_max";s:0:"";}]]></hook_requirements> <hook_version_human>1.0.0</hook_version_human> <hook_version_long>10000</hook_version_long> <hook_extra_data><![CDATA[a:5:{s:7:"display";a:3:{s:8:"language";s:50:"From forums_public_boards: topMonthlyPosters_month";s:9:"templates";s:35:"From skin_boards: topMonthlyPosters";s:8:"settings";s:90:"Setting groups: (SOS34) Monthly Top Posters<br />Settings: EXCLUDE Groups, Number of Users";}s:13:"settingGroups";a:1:{i:0;s:17:"topMonthlyPosters";}s:8:"settings";a:2:{i:0;s:24:"topMonthlyPosters_groups";i:1;s:20:"topMonthlyPosters_nr";}s:8:"language";a:1:{s:20:"forums_public_boards";a:1:{i:0;s:23:"topMonthlyPosters_month";}}s:9:"templates";a:1:{s:11:"skin_boards";a:1:{i:0;s:17:"topMonthlyPosters";}}}]]></hook_extra_data> <hook_key>topMonthlyPosters</hook_key> <hook_global_caches/> </config> </hookdata> <hookfiles> <file> <hook_file_real>topMonthlyPosters.php</hook_file_real> <hook_type>templateHooks</hook_type> <hook_classname>topMonthlyPosters</hook_classname> <hook_data><![CDATA[a:8:{s:12:"dataLocation";s:0:"";s:14:"libApplication";s:0:"";s:15:"classToOverload";s:0:"";s:9:"skinGroup";s:11:"skin_boards";s:12:"skinFunction";s:18:"boardIndexTemplate";s:4:"type";s:7:"foreach";s:2:"id";s:11:"side_blocks";s:8:"position";s:9:"outer.pre";}]]></hook_data> <hooks_source><![CDATA[<?php class topMonthlyPosters { public $registry; public $member; public $cache; public function __construct() { $this->registry = ipsRegistry::instance(); $this->DB = $this->registry->DB(); $this->settings =& $this->registry->fetchSettings(); $this->cache = $this->registry->cache(); $this->caches =& $this->registry->cache()->fetchCaches(); $this->member = $this->registry->member(); $this->memberData =& $this->registry->member()->fetchMemberData(); $this->registry->class_localization->loadLanguageFile( array( 'public_boards', 'forums' ) ); } public function getOutput() { if ( IPSMember::isInGroup( $this->memberData, explode( ',', IPSText::cleanPermString( $this->settings['topMonthlyPosters_groups'] ) ) ) ) { return false; } $month = date('m'); $year = date('Y'); $monthname = gmstrftime( '%B', time() ); $where = array( "EXTRACT(MONTH FROM FROM_UNIXTIME(p.post_date)) = {$month}", "EXTRACT(YEAR FROM FROM_UNIXTIME(p.post_date)) = {$year}" ); $this->DB->build( array( 'select' => 'm.member_id, m.members_display_name, m.member_group_id, m.members_seo_name, COUNT(*) AS posts', 'from' => array( 'members' => 'm' ), 'where' => implode( ' AND ', $where ), 'add_join' => array( 0 => array( 'select' => 'pp.*', 'from' => array( 'profile_portal' => 'pp' ), 'where' => 'pp.pp_member_id=m.member_id', 'type' => 'left' ), 1 => array( 'from' => array( 'posts' => 'p' ), 'where' => 'p.author_id=m.member_id', 'type' => 'left' ), 2 => array( 'from' => array( 'topics' => 't' ), 'where' => 't.tid=p.topic_id', 'type' => 'left' ), 3 => array( 'from' => array( 'forums' => 'f' ), 'where' => 'f.id=t.forum_id', 'type' => 'left' ) ), 'group' => 'p.author_id', 'order' => 'posts DESC', 'limit' => array( 0, $this->settings['topMonthlyPosters_nr'] ), ) ); $q = $this->DB->execute(); if ( $this->DB->getTotalRows( $q ) ) { $top_posters = array(); while( $r = $this->DB->fetch( $q ) ) { $r = IPSMember::buildDisplayData( $r ); $top_posters[ $r['member_id'] ] = $r; } return $this->registry->output->getTemplate( 'boards' )->topMonthlyPosters( $top_posters, $monthname ); } } }]]></hooks_source> </file> </hookfiles> <hookextras_settings> <setting> <conf_is_title>1</conf_is_title> <conf_title_title>(SOS34) Monthly Top Posters</conf_title_title> <conf_title_desc>Settings for this hook</conf_title_desc> <conf_title_noshow>0</conf_title_noshow> <conf_title_keyword>topMonthlyPosters</conf_title_keyword> <conf_title_app>forums</conf_title_app> <conf_title_tab>Hooks</conf_title_tab> </setting> <setting> <conf_id>1505</conf_id> <conf_title>EXCLUDE Groups</conf_title> <conf_description><![CDATA[Select which user groups YOU DON'T WANT to show the sidebar block]]></conf_description> <conf_group>201</conf_group> <conf_type>multi</conf_type> <conf_key>topMonthlyPosters_groups</conf_key> <conf_value/> <conf_default/> <conf_extra>#show_groups#</conf_extra> <conf_evalphp><![CDATA[$key = 'topMonthlyPosters_groups'; if ( $save == 1) { if ( is_array($_POST[ $key ]) ) { $_POST[ $key ] = implode(",",$_POST[ $key ]); } else { $_POST[ $key ] = ""; } } if ( $show == 1 ) { $key .= '[]'; }]]></conf_evalphp> <conf_protected>1</conf_protected> <conf_position>2</conf_position> <conf_start_group/> <conf_add_cache>1</conf_add_cache> <conf_keywords/> <conf_title_keyword>topMonthlyPosters</conf_title_keyword> <conf_is_title>0</conf_is_title> </setting> <setting> <conf_id>1504</conf_id> <conf_title>Number of Users</conf_title> <conf_description/> <conf_group>201</conf_group> <conf_type>input</conf_type> <conf_key>topMonthlyPosters_nr</conf_key> <conf_value/> <conf_default>5</conf_default> <conf_extra/> <conf_evalphp/> <conf_protected>1</conf_protected> <conf_position>1</conf_position> <conf_start_group/> <conf_add_cache>1</conf_add_cache> <conf_keywords/> <conf_title_keyword>topMonthlyPosters</conf_title_keyword> <conf_is_title>0</conf_is_title> </setting> </hookextras_settings> <hookextras_language> <language> <word_app>forums</word_app> <word_pack>public_boards</word_pack> <word_key>topMonthlyPosters_month</word_key> <word_default>Top Poster</word_default> </language> </hookextras_language> <hookextras_modules/> <hookextras_help/> <hookextras_templates> <templates> <template_group>skin_boards</template_group> <template_content><![CDATA[<div class='ipsSideBlock clearfix'> <h3>{$this->lang->words['topMonthlyPosters_month']} ({$monthname})</h3> <div class='_sbcollapsable'> <ul class='ipsList_withminiphoto'> <if test="top_posters:|:is_array( $top_posters ) && count( $top_posters )"> {parse striping="top_posters" classes="row1,row2 altrow"} <foreach loop="top_posters:$top_posters as $r"> <li class='clearfix'> <a href='{parse url="showuser={$r['member_id']}" seotitle="{$r['members_seo_name']}" template="showuser" base="public"}' title='{$this->lang->words['view_profile']}' class='ipsUserPhotoLink left'><img src='{$r['pp_mini_photo']}' alt="{$r['members_display_name']}{$this->lang->words['users_photo']}" class='ipsUserPhoto ipsUserPhoto_mini' /></a> <div class='list_content'> {IPSMember::makeProfileLink(IPSMember::makeNameFormatted( $r['members_display_name'], $r['member_group_id']), $r['member_id'])} <p class='desc ipsType_smaller'> {parse format_number="$r['posts']"} {$this->lang->words['posts']} </p> </div> </li> </foreach> </if> </ul> </div> </div>]]></template_content> <template_name>topMonthlyPosters</template_name> <template_data>$top_posters, $monthname</template_data> <template_updated>1235666400</template_updated> <template_removable>0</template_removable> <template_added_to>1</template_added_to> <template_user_added>1</template_user_added> <template_user_edited>0</template_user_edited> <template_master_key>root</template_master_key> </templates> </hookextras_templates> <hookextras_css/> <hookextras_replacements/> <hookextras_tasks/> <hookextras_database_create/> <hookextras_database_alter/> <hookextras_database_update/> <hookextras_database_insert/> </hookexport> Link to comment https://ipbmafia.ru/topic/6002-sos34-monthly-top-posters-100/?&do=findComment&comment=136180 Share on other sites Больше вариантов
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.