<?PHP // $Id$ // Admin only script to assign course creator rights to users require_once("../config.php"); define("MAX_USERS_PER_PAGE", 30); optional_variable($search, ""); optional_variable($add, ""); optional_variable($remove, ""); if (! $site = get_site()) { redirect("$CFG->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 ( "assigncreators", "administration", "existingcreators", "noexistingcreators", "potentialcreators", "nopotentialcreators", "addcreator", "removecreator", "search", "searchagain", "toomanytoshow", ); foreach ($stringstoload as $stringtoload){ $strstringtoload = "str" . $stringtoload; $$strstringtoload = get_string($stringtoload); } if ($search) { $searchstring = $strsearchagain; } else { $searchstring = $strsearch; } print_header("$site->shortname: $strassigncreators", "$site->fullname", "<a href=\"index.php\">$stradministration</a> -> <a href=\"{$_SERVER['PHP_SELF']}\">$strassigncreators</a>", ""); /// Get all existing creators $creators = get_creators(); /// Add an creator if one is specified if ($add) { $user = @get_record("user", "id", $add) or error("That account (id = $add) doesn't exist"); if ($creators) { foreach ($creators as $aa) { if ($aa->id == $user->id) { error("That user is already a creator ."); } } } $creator->userid = $user->id; $creator->id = insert_record("user_coursecreators", $creator); $creators[] = $user; } /// Remove an creator if one is specified. if ($remove) { $user = @get_record("user", "id", $remove) or error("That account (id = $remove) doesn't exist"); if ($creators) { foreach ($creators as $key => $aa) { if ($aa->id == $user->id) { delete_records("user_coursecreators","userid",$user->id); unset($creators[$key]); } } } } /// Print the lists of existing and potential creators echo "<table cellpadding=2 cellspacing=10 align=center>"; echo "<tr><th width=50%>$strexistingcreators</th><th width=50%>$strpotentialcreators</th></tr>"; echo "<tr><td width=50% nowrap valign=top>"; /// First, show existing creators if (! $creators) { echo "<p align=center>$strnoexistingcreators</a>"; $creatorlist = ""; } else { $creatorarray = array(); foreach ($creators as $creator) { $creatorarray[] = $creator->id; echo "<p align=right>$creator->firstname $creator->lastname, $creator->email "; echo "<a href=\"{$_SERVER['PHP_SELF']}?remove=$creator->id\" title=\"$strremovecreator\"><img src=\"../pix/t/right.gif\" border=0></a>"; echo "</p>"; } $creatorlist = implode(",",$creatorarray); unset($creatorarray); } echo "<td width=50% nowrap valign=top>"; /// Print list of potential creators $usercount = get_users(false, $search, true, $creatorlist); if ($usercount == 0) { echo "<p align=center>$strnopotentialcreators</p>"; } else if ($usercount > MAX_USERS_PER_PAGE) { echo "<p align=center>$strtoomanytoshow</p>"; } else { if ($search) { echo "<p align=center>($strsearchresults : $search)</p>"; } if (!$users = get_users(true, $search, true, $creatorlist)) { error("Could not get users!"); } foreach ($users as $user) { echo "<p align=left><a href=\"{$_SERVER['PHP_SELF']}?add=$user->id\"". "title=\"$straddcreator\"><img src=\"../pix/t/left.gif\"". "border=0></a> $user->firstname $user->lastname, $user->email"; } } if ($search or $usercount > MAX_USERS_PER_PAGE) { echo "<form action={$_SERVER['PHP_SELF']} method=post>"; echo "<input type=text name=search size=20>"; echo "<input type=submit value=\"$searchstring\">"; echo "</form>"; } echo "</tr></table>"; print_footer(); ?>