$59 GRAYBYTE WORDPRESS FILE MANAGER $95

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/var/softaculous/userspice/

HOME
Current File : /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';
 */


Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
5 Apr 2026 1.55 AM
root / root
0755
images
--
3 Mar 2026 2.55 AM
root / root
0755
php53
--
3 Mar 2026 2.55 AM
root / root
0755
php56
--
3 Mar 2026 2.55 AM
root / root
0755
php71
--
3 Mar 2026 2.55 AM
root / root
0755
php81
--
3 Mar 2026 2.55 AM
root / root
0755
php82
--
3 Mar 2026 2.55 AM
root / root
0755
_clone.php
2.939 KB
30 Jul 2025 9.56 AM
root / root
0644
_edit.php
3.467 KB
14 Apr 2025 12.43 PM
root / root
0644
_edit.xml
0.437 KB
14 Apr 2025 12.43 PM
root / root
0644
extend.php
8.334 KB
2 Mar 2026 12.51 PM
root / root
0644
fileindex.php
0.093 KB
10 Jul 2024 12.02 PM
root / root
0644
gen_totp_key.php
1.206 KB
30 Jul 2025 9.56 AM
root / root
0644
import.php
3.026 KB
2 Mar 2026 12.51 PM
root / root
0644
info.xml
2.396 KB
2 Mar 2026 10.50 AM
root / root
0644
init.php
2.964 KB
2 Mar 2026 10.50 AM
root / root
0644
install.js
0.899 KB
23 Dec 2021 11.54 AM
root / root
0644
install.php
5.832 KB
2 Mar 2026 12.51 PM
root / root
0644
install.xml
2.036 KB
2 Feb 2026 12.20 PM
root / root
0644
md5
2.972 KB
2 Mar 2026 12.51 PM
root / root
0644
notes.txt
1.133 KB
30 Jul 2025 9.56 AM
root / root
0644
totp_key.php
1.473 KB
30 Jul 2025 9.56 AM
root / root
0644
totp_requirements.php
2.33 KB
25 Aug 2025 11.12 AM
root / root
0644
update_pass.php
0.505 KB
14 Apr 2025 12.43 PM
root / root
0644
user_manager_columns.php
5.996 KB
2 Feb 2026 12.20 PM
root / root
0644
userspice.sql
52.006 KB
2 Mar 2026 10.50 AM
root / root
0644
userspice.zip
5.83 MB
2 Mar 2026 10.50 AM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF