. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
| Server IP : 198.54.115.242 / Your IP :
216.73.216.33 [
Web Server : LiteSpeed System : Linux server233.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64 User : imereohc ( 2529) PHP Version : 8.2.30 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /var/softaculous/userspice/ |
Upload File : |
<?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';
*/