'id_user', 'order' => 'ASC'); break; case 'down': $selectUserIDDown = $selected; $order = array('field' => 'id_user', 'order' => 'DESC'); break; } break; case 'name': switch ($sort) { case 'up': $selectNameUp = $selected; $order = array('field' => 'fullname', 'order' => 'ASC'); break; case 'down': $selectNameDown = $selected; $order = array('field' => 'fullname', 'order' => 'DESC'); break; } break; case 'email': switch ($sort) { case 'up': $selectLastContactUp = $selected; $order = array('field' => 'email', 'order' => 'ASC'); break; case 'down': $selectEmailDown = $selected; $order = array('field' => 'email', 'order' => 'DESC'); break; } break; case 'last_contact': switch ($sort) { case 'up': $selectLastContactUp = $selected; $order = array('field' => 'last_connect', 'order' => 'ASC'); break; case 'down': $selectLastContactDown = $selected; $order = array('field' => 'last_connect', 'order' => 'DESC'); break; } break; case 'last_contact': switch ($sort) { case 'up': $selectLastContactUp = $selected; $order = array('field' => 'last_connect', 'order' => 'ASC'); break; case 'down': $selectLastContactDown = $selected; $order = array('field' => 'last_connect', 'order' => 'DESC'); break; } break; case 'profile': switch ($sort) { case 'up': $selectProfileUp = $selected; $order = array('field' => 'is_admin', 'order' => 'ASC'); break; case 'down': $selectProfileDown = $selected; $order = array('field' => 'is_admin', 'order' => 'DESC'); break; } break; default: $selectUserIDUp = $selected; $selectUserIDDown = ''; $selectNameUp = ''; $selectNameDown = ''; $selectEmailUp = ''; $selectEmailDown = ''; $selectLastContactUp = ''; $selectLastContactDown = ''; $selectProfileUp = ''; $selectProfileDown = ''; $order = array('field' => 'id_user', 'order' => 'ASC'); break; } $users = false; if ($searchUsers) { $sql = "SELECT id_user, fullname, firstname, lastname, middlename, email, last_connect, is_admin, comments FROM tusuario WHERE fullname LIKE '%" . $stringSearchSQL . "%' OR id_user LIKE '%" . $stringSearchSQL . "%' OR firstname LIKE '%" . $stringSearchSQL . "%' OR lastname LIKE '%" . $stringSearchSQL . "%' OR middlename LIKE '%" . $stringSearchSQL . "%' OR email LIKE '%" . $stringSearchSQL . "%' ORDER BY " . $order['field'] . " " . $order['order'] . " LIMIT " . $config['block_size'] . " OFFSET " . get_parameter ('offset',0); $users = process_sql($sql); if($users !== false) { //Check ACLs $users_id = array(); foreach($users as $key => $user){ if (!check_acl ($config["id_user"], get_user_groups ($user["id_user"]), "UM") && $config["id_user"] != $user["id_user"]) { unset($users[$key]); } else { $users_id[] = $user["id_user"]; } } if(!$users_id) { $user_condition = ""; } else { // Condition with the visible agents $user_condition = " AND id_user IN (\"".implode('","',$users_id)."\")"; } $sql = "SELECT COUNT(id_user) AS count FROM tusuario WHERE (fullname LIKE '%" . $stringSearchSQL . "%' OR firstname LIKE '%" . $stringSearchSQL . "%' OR lastname LIKE '%" . $stringSearchSQL . "%' OR middlename LIKE '%" . $stringSearchSQL . "%' OR email LIKE '%" . $stringSearchSQL . "%')".$user_condition; $totalUsers = get_db_row_sql($sql); $totalUsers = $totalUsers['count']; } } if (!$users) { echo "
" . __("Zero results found") . "
\n"; } else { $table->cellpadding = 4; $table->cellspacing = 4; $table->width = "98%"; $table->class = "databox"; $table->align = array (); $table->align[4] = "center"; $table->head = array (); $table->head[0] = __('User ID') . ' ' . '' . print_image("images/sort_up.png", true, array("style" => $selectUserIDUp)) . '' . '' . print_image("images/sort_down.png", true, array("style"=> $selectUserIDDown)) . ''; $table->head[1] = __('Name') . ' ' . '' . print_image("images/sort_up.png", true, array("style" => $selectNameUp)) . '' . '' . print_image("images/sort_down.png", true, array("style" => $selectNameDown)) . ''; $table->head[2] = __('Email') . ' ' . '' . print_image("images/sort_up.png", true, array("style" => $selectEmailUp)) . '' . '' . print_image("images/sort_down.png", true, array("style" => $selectEmailDown)) . ''; $table->head[3] = __('Last contact') . ' ' . '' . print_image("images/sort_up.png", true, array("style" => $selectLastContactUp)) . '' . '' . print_image("images/sort_down.png", true, array("style" => $selectLastContactDown)) . ''; $table->head[4] = __('Profile') . ' ' . '' . print_image("images/sort_up.png", true, array("style" => $selectProfileUp)) . '' . '' . print_image("images/sort_down.png", true, array("style" => $selectProfileDown)) . ''; $table->head[5] = __('Description'); $table->data = array (); foreach ($users as $user) { $userIDCell = "" . $user['id_user'] . ""; if ($user["is_admin"]) { $profileCell = print_image ("images/user_suit.png", true, array ("alt" => __('Admin'), "title" => __('Administrator'))).' '; } else { $profileCell = print_image ("images/user_green.png", true, array ("alt" => __('User'), "title" => __('Standard User'))).' '; } $profileCell .= ''; $result = get_db_all_rows_field_filter ("tusuario_perfil", "id_usuario", $user['id_user']); if ($result !== false) { foreach ($result as $row) { $profileCell .= get_profile_name ($row["id_perfil"]); $profileCell .= " / "; $profileCell .= get_group_name ($row["id_grupo"]); $profileCell .= "
"; } } else { $profileCell .= __('The user doesn\'t have any assigned profile/group'); } $profileCell .= "
"; array_push($table->data, array( $userIDCell, $user['fullname'], "" . $user['email'] . "", ui_print_timestamp ($user["last_connect"], true), $profileCell, $user['comments'])); } echo "
";ui_pagination ($totalUsers); print_table ($table); unset($table); ui_pagination ($totalUsers); } ?>