Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions

Reply
 
Thread Tools Display Modes
  #1  
Old 03-21-2009, 09:20 PM
neverstop neverstop is offline
 
Join Date: Jan 2007
Posts: 170
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Adding a counter for template conditionals

Hi,

I have a simple script that lists the users with the highest reputation. I want to add the avatars of the top three results. I figure the best way was to use a template conditional like <if condition="count > 3">no avatar</else>avatar</if>.

So can I accomplish this in this script:

PHP Code:
<?php
/* --------------------------------------------------
  [vB 3.6.8] Module CMPS Add Top Posters   1.3
  Zachariah - http://www.szone.us

   Tested on:
   - vBulletin 3.6.8
   - vBadvanced CMPS v3.0 RC2
-------------------------------------------------- */

$count $mod_options['portal_topposter_count'];
$exclude_gid $mod_options['portal_topposter_exgid'];
$exclude_uid $mod_options['portal_topposter_exuid'];

// ### TOP STATS ############## TOP POSTERS ##########################
$top_stats = array();
$top_posters $db->query("
    SELECT userid, usergroupid, username, lastpostid, reputation, avatarrevision 
    FROM " 
TABLE_PREFIX "user
    WHERE reputation != 0
iif(!empty($exclude_gid), "AND usergroupid NOT IN ($exclude_gid)") . "
iif(!empty($exclude_uid), "AND userid NOT IN ($exclude_uid)") . "
    ORDER BY reputation DESC
    LIMIT 
$count
    "
);

while(
$top_poster $db->fetch_array($top_posters)){
      eval(
'$top_stats[\'adv_portal_topposters_bit\'] .= "' fetch_template('adv_portal_topposters_bit') . '";');
    }

$db->free_result($top_posters);

eval(
'$home[$mods[\'modid\']][\'content\'] = "' fetch_template('adv_portal_topposters') . '";');

unset(
$top_poster,$top_posters,$top_stats,$count,$exclude_gid$exclude_uid$mod_options);
Cheers, and thanks in advance
Reply With Quote
  #2  
Old 03-23-2009, 01:49 AM
neverstop neverstop is offline
 
Join Date: Jan 2007
Posts: 170
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

up.
Reply With Quote
  #3  
Old 03-23-2009, 03:10 AM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You probably need to grab more than the avatarvision in order to output the avatar.... unless you have the avatars in the file system - do you? Where are you wanting to put this condition?

Template:
HTML Code:
<if condition="$count > 3">
whatever
</if>
Php:
PHP Code:
if ($count 3
{
whatever 

Reply With Quote
  #4  
Old 08-11-2009, 03:07 AM
neverstop neverstop is offline
 
Join Date: Jan 2007
Posts: 170
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Revisting an old thread here, and I will try and reword it better as my needs have changed slightly.

Basically I have some code outputs a list of users based on the column 'credits' in the 'user' table, ie:
PHP Code:
    ORDER BY credits DESC
    LIMIT 5 
I want to add numbers to the list of usernames:

1. exampleuserA
2. exampleuserB
3. exampleuserC


So I can add some sort of variable to my template like $user[count]. I want to be able to user conditionals like <if condition="$user[count] == 1 <span class="bigusername">exampleuserA</span></if>

I hope it makes more sense now.

PHP Code:
<?php
/* --------------------------------------------------
  [vB 3.7.3] Module CMPS Add Top Posters   1.3
  DarkFaCe- http://www.vbadvanced-turkiye.com

   Tested on:
   - vBulletin 3.7.x
   - vBadvanced CMPS v3.0.1
-------------------------------------------------- */

$count $mod_options['portal_topposter_count'];
$exclude_gid $mod_options['portal_topposter_exgid'];
$exclude_uid $mod_options['portal_topposter_exuid'];

// ### TOP STATS ############## TOP POSTERS ##########################
$top_stats = array();
$top_posters $db->query("
    SELECT user.userid, user.usergroupid,  usergroup.opentag, user.username, usergroup.closetag, user.lastpostid, user.credits
    FROM " 
TABLE_PREFIX "user, usergroup 
    WHERE user.usergroupid=usergroup.usergroupid 
    " 
iif(!empty($exclude_gid), "AND usergroupid NOT IN ($exclude_gid)") . "
iif(!empty($exclude_uid), "AND userid NOT IN ($exclude_uid)") . "
    ORDER BY credits DESC
    LIMIT 5
    "
);

while(
$top_poster $db->fetch_array($top_posters)){
      eval(
'$top_stats[\'adv_portal_topcredits_bit\'] .= "' fetch_template('adv_portal_topcredits_bit') . '";');
    }

$db->free_result($top_posters);

eval(
'$home[$mods[\'modid\']][\'content\'] = "' fetch_template('adv_portal_topcredits') . '";');

unset(
$top_poster,$top_posters,$top_stats,$count,$exclude_gid$exclude_uid$mod_options);
Reply With Quote
  #5  
Old 08-11-2009, 03:25 AM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm not sure of exactly what you want, but maybe this is kinda it:
PHP Code:
$count 0;
while(
$top_poster $db->fetch_array($top_posters)){
$count++;
      eval(
'$top_stats[\'adv_portal_topcredits_bit\'] .= "' fetch_template('adv_portal_topcredits_bit') . '";');
    } 
Then you can use $count in your template.
Reply With Quote
  #6  
Old 08-11-2009, 03:38 AM
neverstop neverstop is offline
 
Join Date: Jan 2007
Posts: 170
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

lynne it works perfectly, ty so much once again. if IB isnt paying you they should be and if they are you deserve a raise!
Reply With Quote
  #7  
Old 09-14-2010, 11:15 PM
neverstop neverstop is offline
 
Join Date: Jan 2007
Posts: 170
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi lynne,

revisting this thread once again.

I have a different script but I ma trying to accomplish the same thing. What am I doing wrong here:

Code:
<?php
// ############# HASANN AND BLACKTHORN TOP REPUTATION MODULE ############ //
//                         BLACKTHORN CODING                              //
//                 vBA CMPS Module - vBulletin 4.0.X                      //
//                    All rights reserved 2010 ?                          //
//                   http://www.metalturkiye.com                          //
//                   http://www.vBulletin-TR.com                          //
// ############# HASANN AND BLACKTHORN TOP REPUTATION MODULE ############ //
// ------------------------------------------------------------------------------
// Code written by Hasann. vB4 Convert and edited and updated by BlackThorn(c) 2009
// Copy and/or re-use of this code (or part of it) without authors approval in writing is forbidden.
// BT - Top Reputation Display Module Core Codes Starting

$limit = $mod_options['portal_top_reputation_count'];

// BT - Top Reputation SQL Query start.


$top_reputations = $db->query("
SELECT userid, username, posts, credits, usergroupid, 
IF(displaygroupid=0, usergroupid, displaygroupid) AS displaygroupid
FROM " . TABLE_PREFIX . "user AS user
WHERE credits > 0 
ORDER BY credits DESC 
LIMIT 0, $limit
");

// BT - Top Reputation Module SQL Query the end.

$bgclass = "alt2";
$count = 0;
while($top_reputation = $db->fetch_array($top_reputations)){
$count++;
$bgclass = exec_switch_bg(); 
$top_reputation[musername] = fetch_musername($top_reputation);

// BT - Top Reputation Module Template Registers

$templater = vB_Template::create('adv_portal_top_reputations_bit');
$templater->register('bgclass',$bgclass);
$templater->register('mod_options',$mod_options);
$templater->register('top_reputation',$top_reputation);
$blackthorn_top_reputation_bit .= trim($templater->render()).' ';
}
$db->free_result($top_reputations);

// BT - Top Reputation Module Template Registers and HOOK(s)

$templater = vB_Template::create('adv_portal_top_reputations');
$templater->register('mod_options',$mod_options);
$templater->register('top_reputations',$top_reputations);
$templater->register('blackthorn_top_reputation_bit',$blackthorn_top_reputation_bit);
$home["$mods[modid]"]['content'] = $templater->render();

// BT - Top Reputation module module core codes and UNSET.

unset($top_reputation, $top_reputations, $blackthorn_top_reputation_bit, $limit, $mod_options);
?>
Reply With Quote
  #8  
Old 09-23-2010, 02:12 AM
neverstop neverstop is offline
 
Join Date: Jan 2007
Posts: 170
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Bump. anybody help a brother out here?
Reply With Quote
  #9  
Old 09-27-2010, 09:18 PM
neverstop neverstop is offline
 
Join Date: Jan 2007
Posts: 170
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Another bump.

Someone has to know how I can do this, it seems so simple on the surface. I cant figure out why it works in the first script I posted but in the 2nd very similar script it doesnt.

Can someone please have a look for me?
Reply With Quote
  #10  
Old 09-27-2010, 09:34 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, for one thing the second script is for vB 4.0 (but maybe you know that?).

It might help if you said more about what it's doing and what's going wrong.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 09:38 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05444 seconds
  • Memory Usage 2,285KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_code
  • (1)bbcode_html
  • (5)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete