Вход Регистрация
Файл: modules/community/includes/top.php
Строк: 37
<?php

/**
 * This file is part of JohnCMS Content Management System.
 *
 * @copyright JohnCMS Community
 * @license   https://opensource.org/licenses/GPL-3.0 GPL-3.0
 * @link      https://johncms.com JohnCMS Project
 */

declare(strict_types=1);

use 
JohncmsUsersUser;

defined('_IN_JOHNCMS') || die('Error: restricted access');

$url '/community/top/';

$tabs = [
    
'forum' => [
        
'name'   => __('Forum'),
        
'url'    => $url,
        
'active' => false,
    ],
    
'guest' => [
        
'name'   => __('Guestbook'),
        
'url'    => $url 'guest/',
        
'active' => false,
    ],
    
'comm'  => [
        
'name'   => __('Comments'),
        
'url'    => $url 'comm/',
        
'active' => false,
    ],
];

if (
$config['karma']) {
    
$tabs['karma'] = [
        
'name'   => __('Karma'),
        
'url'    => $url 'karma/',
        
'active' => false,
    ];
}


switch (
$mod) {
    case 
'guest':
        
// Топ Гостевой
        
$users = (new User())->where('postguest''>'0)->orderBy('postguest''desc')->limit(9)->get();
        
$title __('Most active in Guestbook');
        
$active 'guest';
        break;

    case 
'comm':
        
// Топ комментариев
        
$users = (new User())->where('komm''>'0)->orderBy('komm''desc')->limit(9)->get();
        
$title __('Most commentators');
        
$active 'comm';
        break;

    case 
'karma':
        
// Топ Кармы
        
if ($config['karma']) {
            
$users = (new User())->selectRaw('*, (`karma_plus` - `karma_minus`) as `karma`')->whereRaw('(`karma_plus` - `karma_minus`) > 0')->orderBy('karma''desc')->limit(9)->get();
            
$title __('Best Karma');
            
$active 'karma';
        }
        break;

    default:
        
// Топ Форума
        
$users = (new User())->where('postforum''>'0)->orderBy('postforum''desc')->limit(9)->get();
        
$title __('Most active in Forum');
        
$active 'forum';
}

$tabs[$active]['active'] = true;

$nav_chain->add($title);

$data = [
    
'total'      => $users->count(),
    
'active_tab' => $active,
    
'tabs'       => $tabs,
    
'list'       => $users,
];

echo 
$view->render(
    
'users::top',
    [
        
'title'      => $title,
        
'page_title' => $title,
        
'data'       => $data,
    ]
);
Онлайн: 1
Реклама