wwwroot/$CFG->admin/index.php"); } require_login(); if (!isadmin()) { error("You must be an administrator to use this page."); } $primaryadmin = get_admin(); /// If you want any administrator to have the ability to assign admin /// rights, then comment out the following if statement if ($primaryadmin->id != $USER->id) { error("You must be the primary administrator to use this page."); } /// assign all of the configurable language strings $stringstoload = array ( "assignadmins", "administration", "existingadmins", "noexistingadmins", "potentialadmins", "nopotentialadmins", "addadmin", "removeadmin", "search", "searchagain", "toomanytoshow", "searchresults" ); foreach ($stringstoload as $stringtoload){ $strstringtoload = "str" . $stringtoload; $$strstringtoload = get_string($stringtoload); } if ($search) { $searchstring = $strsearchagain; } else { $searchstring = $strsearch; } print_header("$site->shortname: $strassignadmins", "$site->fullname", "$stradministration -> $strassignadmins", ""); /// Get all existing admins $admins = get_admins(); /// Add an admin if one is specified if ($add) { $user = @get_record("user", "id", $_REQUEST['add']) or error("That account (id = {$_REQUEST['add']}) doesn't exist"); if ($admins) { foreach ($admins as $aa) { if ($aa->id == $user->id) { error("That user is already an admin."); } } } $admin->userid = $user->id; $admin->id = insert_record("user_admins", $admin); $admins[] = $user; } /// Remove an admin if one is specified. if ($remove) { $user = @get_record("user", "id", $_REQUEST['remove']) or error("That account (id = {$_REQUEST['remove']}) doesn't exist"); if ($admins) { foreach ($admins as $key => $aa) { if ($aa->id == $user->id) { /// make sure that we don't delete the primary admin /// account, so that there is always at least on admin if ($aa->id == $primaryadmin->id) { error("That user is the primary admin, and shouldn't be removed."); } else { remove_admin($user->id); unset($admins[$key]); } } } } } /// Print the lists of existing and potential admins echo ""; echo ""; echo "
$strexistingadmins$strpotentialadmins
"; /// First, show existing admins if (! $admins) { echo "

$strnoexistingadmins"; $adminlist = ""; } else { $adminarray = array(); foreach ($admins as $admin) { $adminarray[] = $admin->id; echo "

$admin->firstname $admin->lastname, $admin->email    "; if ($primaryadmin->id == $admin->id){ print_spacer(10, 9, false); } else { echo "id\" title=\"$strremoveadmin\">"; } echo "

"; } $adminlist = implode(",",$adminarray); unset($adminarray); } echo "
"; /// Print list of potential admins $usercount = get_users(false, $search, true, $adminlist); if ($usercount == 0) { echo "

$strnopotentialadmins

"; } else if ($usercount > MAX_USERS_PER_PAGE) { echo "

$strtoomanytoshow

"; } else { if ($search) { echo "

($strsearchresults : $search)

"; } if (!$users = get_users(true, $search, true, $adminlist)) { error("Could not get users!"); } foreach ($users as $user) { echo "

id\"". "title=\"$straddadmin\">  $user->firstname $user->lastname, $user->email"; } } if ($search or $usercount > MAX_USERS_PER_PAGE) { echo "

"; echo ""; echo ""; echo "
"; } echo "
"; print_footer(); ?>