Changeset 1928


Ignore:
Timestamp:
06/10/10 00:46:20 (3 years ago)
Author:
shibuya246
Message:

[Branch 1.4] new query for getting user stats reduced to 1 db call instead of 8

Location:
branches/1.4/content/plugins/users
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/1.4/content/plugins/users/languages/users_language.php

    r1720 r1928  
    7070/* Admin Stats */ 
    7171$lang["users_admin_stats_total_users"] = "Total users"; 
    72 $lang["users_admin_stats_admins"] = "Admins"; 
    73 $lang["users_admin_stats_supermods"] = "Super Mods"; 
    74 $lang["users_admin_stats_moderators"] = "Moderators"; 
     72$lang["users_admin_stats_admin"] = "Admins"; 
     73$lang["users_admin_stats_supermod"] = "Super Mods"; 
     74$lang["users_admin_stats_moderator"] = "Moderators"; 
    7575$lang["users_admin_stats_approved_users"] = "Approved"; 
    76 $lang["users_admin_stats_pending_users"] = "Pending"; 
    77 $lang["users_admin_stats_undermod_users"] = "Under moderation"; 
    78 $lang["users_admin_stats_banned_users"] = "Banned"; 
    79 $lang["users_admin_stats_killspammed_users"] = "Killspammed"; 
     76$lang["users_admin_stats_pending"] = "Pending"; 
     77$lang["users_admin_stats_undermod"] = "Under moderation"; 
     78$lang["users_admin_stats_banned"] = "Banned"; 
     79$lang["users_admin_stats_killspammed"] = "Killspammed"; 
    8080 
    8181/* UserFunctions CLASS: */ 
  • branches/1.4/content/plugins/users/users.php

    r1744 r1928  
    432432     */ 
    433433    public function admin_theme_main_stats($h, $vars) 
    434     { 
    435         require_once(LIBS . 'UserInfo.php'); 
     434    {         
    436435        $ui = new UserInfo(); 
    437          
    438         echo "<li>&nbsp;</li>"; 
    439                 if (isset($vars) && (!empty($vars))) {       
    440                         foreach ($vars as $key => $value) { 
    441                                 echo "<li class='title'>" . $key . "</li>"; 
    442                                 foreach ($value as $stat_type) {                     
    443                                         if (isset($value) && !empty($value)) { 
    444                                                 $users = $ui->stats($h, $stat_type); 
    445                                                 if (!$users) { $users = 0; } 
    446                                                 $lang_name = 'users_admin_stats_' . $stat_type; 
    447                                                 echo "<li>" . $h->lang[$lang_name] . ": " . $users . "</li>"; 
     436        $stats = $ui->stats($h); 
     437 
     438        //var_dump($stats); 
     439 
     440        echo "<li>&nbsp;</li>"; 
     441        if ($stats) { 
     442            foreach ($stats as $stat) { 
     443                //var_dump($stat); 
     444                $users[$stat[0]] = $stat[1]; 
     445            } 
     446        } 
     447  
     448        if (isset($vars) && (!empty($vars))) { 
     449                foreach ($vars as $key => $value) { 
     450                        echo "<li class='title'>" . $key . "</li>"; 
     451                        foreach ($value as $stat_type) { 
     452                                if (isset($value) && !empty($value)) { 
     453 
     454                                        switch ($stat_type) { 
     455                                            case 'total_users': 
     456                                                $user_count = array_sum($users);                                                 
     457                                                break; 
     458                                            case 'approved_users': 
     459                                                $user_count = 0; 
     460                                                $array = array('admin', 'supermod', 'moderator', 'member'); 
     461                                                foreach ($array as $item) { 
     462                                                    if (isset($users[$item])) {$user_count .+ $users[$item];} 
     463                                                } 
     464                                                break; 
     465                                            default: 
     466                                                if (isset($users[$stat_type])) { $user_count = $users[$stat_type]; } else { $user_count = 0; } 
     467                                                break; 
    448468                                        } 
     469                                         
     470                                        $lang_name = 'users_admin_stats_' . $stat_type; 
     471                                        echo "<li>" . $h->lang[$lang_name] . ": " . $user_count . "</li>"; 
    449472                                } 
    450473                        } 
    451474                } 
     475        } 
    452476    } 
    453477     
Note: See TracChangeset for help on using the changeset viewer.