晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 sh-3ll

HOME


sh-3ll 1.0
DIR:/proc/thread-self/root/proc/self/root/var/softaculous/userspice/
Upload File :
Current File : //proc/thread-self/root/proc/self/root/var/softaculous/userspice/user_manager_columns.php
<?php
/**
 * User Manager Columns Configuration
 *
 * This file allows you to customize the columns and query used in the admin users table.
 * You can add, remove, or modify columns as needed for your application.
 * Most of the time, you just want to show something extra from the users table, so you can
 * do that by adding to the $user_manager_columns array and updating the switch statement if
 * you want to do something special
 */

// Define the column headers for the table
$user_manager_columns = [
    'id' => 'ID',
    'force_pr' => '', // Lock icon column
    'username' => 'Username',
    'name' => 'Name',
    'email' => 'Email',
    'last_login' => 'Last Sign In',
    'perms' => 'Permissions',
    'status' => 'Status',
];

// Define column data handlers
// This function takes a user object and column name and returns the HTML for that cell
// Only define special cases here - standard columns will be handled by the default case
$user_manager_column_data = function($user, $column) use ($act, $uCount, $maxUsers) {
    switch($column) {
        case 'id':
            return '<span class="hideMe">' . sprintf('%08d', $user->id) . '</span>
                <a class="nounderline text-dark" href="admin.php?view=user&id=' . $user->id . '">' . $user->id . '</a>';

        case 'force_pr':
            if ($user->force_pr == 1) {
                return '<a class="nounderline text-danger" href="admin.php?view=user&id=' . $user->id . '"><i class="fa fa-lock"></i></a>';
            }
            return '';

        case 'name':
            return '<a class="nounderline text-dark" href="admin.php?view=user&id=' . $user->id . '">' . $user->fname . ' ' . $user->lname . '</a>';

        case 'last_login':
            if ($user->last_login != "0000-00-00 00:00:00") {
                return $user->last_login;
            } else {
                return '<i>Never</i>';
            }

        case 'perms':
            if ($uCount < $maxUsers) {
                return $user->perms;
            }
            return null; // Don't show this column

        case 'status':
            $html = '';
            if($user->permissions == 0) {
                $html .= '<i class="fa fa-fw fa-lock text-danger" data-bs-toggle="tooltip" title="The users\'s account locked (banned)"></i>';
            } else {
                $html .= '<i class="fa fa-fw fa-unlock" data-bs-toggle="tooltip" title="The users\'s account unlocked (active)"></i>';
            }

            if ($act == 1 && $user->email_verified == 1) {
                $html .= ' <i class="fa fa-envelope" data-bs-toggle="tooltip" title="User email is verified"></i>';
            }
            return $html;

        default:
            // For standard columns, just return the value if it exists, otherwise blank
            return isset($user->$column) ? $user->$column : '';
    }
};

// Define the query function based on the search mode
$user_manager_get_data = function($settings, $db, $uCount, $maxUsers) {
    if($settings->uman_search == 0) {
        $showAllUsers = Input::get('showAllUsers');

        if ($showAllUsers == 1) {
            if ($uCount < $maxUsers) {
                $userData = $db->query("SELECT
                    u.*,
                    group_concat(p.name SEPARATOR ', ') AS perms
                    FROM users AS u
                    JOIN user_permission_matches AS upm ON u.id = upm.user_id
                    LEFT OUTER JOIN permissions AS p ON p.id = upm.permission_id
                    GROUP BY u.id
                ")->results();
            } else {
                $userData = fetchAllUsers('permissions DESC,id', false, true);
            }
        } else {
            if ($uCount < $maxUsers) {
                $userData = $db->query("SELECT
                    u.*,
                    group_concat(p.name SEPARATOR ', ') AS perms
                    FROM users AS u
                    JOIN user_permission_matches AS upm ON u.id = upm.user_id
                    LEFT OUTER JOIN permissions AS p ON p.id = upm.permission_id
                    WHERE u.active = 1
                    GROUP BY u.id
                ")->results();
            } else {
                $userData = fetchAllUsers('permissions DESC,id', false, false);
            }
        }
    } else {
        // Search using the search form
        if(!empty($_POST['search'])) {
            $search = Input::get('searchTerm');
            $userData = $db->query("SELECT
                u.*,
                group_concat(p.name SEPARATOR ', ') AS perms
                FROM users AS u
                JOIN user_permission_matches AS upm ON u.id = upm.user_id
                LEFT OUTER JOIN permissions AS p ON p.id = upm.permission_id
                WHERE fname LIKE ? OR lname LIKE ? OR username LIKE ? OR email LIKE ?
                GROUP BY u.id
            ", ["%$search%", "%$search%", "%$search%", "%$search%"])->results();
        } else {
            $userData = new stdClass();
        }
    }

    return $userData;
};

/**
 * CUSTOMIZATION EXAMPLES:
 *
 * 1. To add a simple column from the users table (e.g., phone):
 *
 * $user_manager_columns['phone'] = 'Phone Number';
 *
 * That's it! The default case will automatically display $user->phone if it exists.
 *
 *
 * 2. To add a column with custom formatting:
 *
 * $user_manager_columns['created_date'] = 'Member Since';
 *
 * Then in the switch statement in $user_manager_column_data, add:
 *
 * case 'created_date':
 *     return date('M j, Y', strtotime($user->join_date));
 *
 *
 * 3. To remove a column:
 *
 * Just remove it from the $user_manager_columns array.
 *
 *
 * 4. To modify the query to include additional data from other tables:
 *
 * Modify the SELECT statements in $user_manager_get_data to include your fields.
 * For example, to join with a profile table:
 *
 * SELECT u.*, up.bio, group_concat(p.name SEPARATOR ', ') AS perms
 * FROM users AS u
 * LEFT JOIN user_profiles AS up ON u.id = up.user_id
 * JOIN user_permission_matches AS upm ON u.id = upm.user_id
 * ...
 *
 * Then add to the columns array:
 * $user_manager_columns['bio'] = 'Biography';
 */