Update of /cvsroot/aimmath/moodle/mod/math_assignment
In directory sc8-pr-cvs1:/tmp/cvs-serv1777/mod/math_assignment
Modified Files:
deleteserver.php lib.php saveconfig.php servers.php
version.php
Log Message:
Changed server admin around to provide more features and make it clearer. Also implemented the storing of the Zone Admin password.
Index: deleteserver.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/deleteserver.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** deleteserver.php 9 Sep 2003 18:31:07 -0000 1.1
--- deleteserver.php 23 Sep 2003 17:53:10 -0000 1.2
***************
*** 7,10 ****
--- 7,11 ----
require_variable($id); // server id to delete
+ optional_variable($newserver, 0); // server to replace the deleted one
if (! $site = get_site()) {
***************
*** 17,27 ****
if ($id) { // delete the server
! // delete the record
! if (!delete_records("math_assignment_server", "id", $id)) {
! error(get_string("failed", "math_assignment"), "servers.php");
}
!
! // delete subjects for this server
! if (!delete_records("math_assignment_subject", "server", $id)) {
error(get_string("failed", "math_assignment"), "servers.php");
}
--- 18,33 ----
if ($id) { // delete the server
! if ($newserver && $newserver != $id) {
! // change subjects using this server to use new server
! if (!$db->Execute("UPDATE `{$CFG->prefix}math_assignment_subject` SET `server` = $newserver WHERE `server` = $id"))
! error(get_string("failed", "math_assignment"), "servers.php");
}
! else {
! // delete subjects for this server
! if (!delete_records("math_assignment_subject", "server", $id))
! error(get_string("failed", "math_assignment"), "servers.php");
! }
! // delete the server
! if (!delete_records("math_assignment_server", "id", $id)) {
error(get_string("failed", "math_assignment"), "servers.php");
}
***************
*** 29,33 ****
// take the user back to the server config page
! redirect("servers.php");
?>
--- 35,39 ----
// take the user back to the server config page
! redirect("servers.php", get_string("changessaved"), 1);
?>
Index: lib.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/lib.php,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** lib.php 22 Sep 2003 21:03:55 -0000 1.16
--- lib.php 23 Sep 2003 17:53:10 -0000 1.17
***************
*** 184,208 ****
}
- function math_assignment_list_servers($selected) {
- /// Function which outputs <option> tags for each server in the database
-
- if(! $aim_servers = get_records("math_assignment_server","","","name ASC")) {
- return ($selected == 0); // no servers configured
- }
-
- // write out an <option> tag for each server
- foreach ($aim_servers as $aim_server) {
- if( $aim_server->id == $selected ) {
- echo "<option selected=\"true\">";
- }
- else{
- echo "<option>";
- }
- echo htmlspecialchars("$aim_server->name ($aim_server->address)") . "</option>\n";
- }
-
- return true;
- }
-
function math_assignment_help_button($page, $name, $print=true) {
/// Function which outputs / returns the output required for a help button for this module
--- 184,187 ----
Index: saveconfig.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/saveconfig.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** saveconfig.php 19 Sep 2003 13:41:37 -0000 1.2
--- saveconfig.php 23 Sep 2003 17:53:10 -0000 1.3
***************
*** 43,47 ****
if ($subject->server) {
$subject->course = $course;
! if (!insert_record("math_assignment_subject", $subject))
$result = false;
}
--- 43,47 ----
if ($subject->server) {
$subject->course = $course;
! if (!insert_record("math_assignment_subject", $subject, false))
$result = false;
}
Index: servers.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/servers.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** servers.php 22 Sep 2003 21:03:55 -0000 1.3
--- servers.php 23 Sep 2003 17:53:11 -0000 1.4
***************
*** 3,14 ****
/// This page lets the administrator change the settings for the AiM servers
require_once("../../config.php");
require_once("lib.php");
- optional_variable($server); // server to edit
- optional_variable($name); // server name
- optional_variable($address); // server address
- optional_variable($delete); // delete button
-
if (! $site = get_site()) {
redirect("$CFG->wwwroot/$CFG->admin/index.php");
--- 3,16 ----
/// This page lets the administrator change the settings for the AiM servers
+ /* optional variables:
+ id Server id used when editing a record
+ name Server name used when adding or editing a record
+ address Server address used when adding or editing a record
+ password Zone admin password for the server used when adding or editing a record
+ */
+
require_once("../../config.php");
require_once("lib.php");
if (! $site = get_site()) {
redirect("$CFG->wwwroot/$CFG->admin/index.php");
***************
*** 21,80 ****
$straimserverconfig = get_string("aimserverconfig", "math_assignment");
! if ($server) { // edit server record
! if (strcmp($delete, "Delete") == 0) {
! if ($server != get_string("newitem", "math_assignment")) { // silently ignore trying to delete the 'new' item
! // get server id
! $server = substr($server, 0, strpos($server, "(") - 1);
! if (!$server = get_record("math_assignment_server", "name", $server)) {
! error(get_string("failed","math_assignment"), "servers.php");
! }
! // check that there are no assignments dependent on the server
! $math_assignments = array();
! $subjects = get_records("math_assignment_subject", "server", $server->id);
! foreach ($subjects as $subject) {
! if (record_exists("math_assignment", "subject", $subject->id)) {
! error(get_string("serverinuse","math_assignment"), "servers.php");
}
}
!
! // does the user really want to delete?
! print_header("$site->shortname: $straimserverconfig", "$site->fullname");
! notice_yesno(get_string("deletequery", "math_assignment") . "<br />$server->name ($server->address)", "deleteserver.php?id=$server->id", "servers.php");
print_footer();
exit;
}
}
! else {
!
! if (!$name || !$address) {
error(get_string("invalid", "math_assignment"), "servers.php");
! }
! if (!math_assignment_check_name($name) || !math_assignment_check_name($address)) {
error(get_string("invalid", "math_assignment"), "servers.php");
! }
!
! // get server id
! if ($server == get_string("newitem", "math_assignment")) {
! $newserver->id = 0;
! $newserver->name = $name;
! $newserver->address = $address;
! if (!insert_record("math_assignment_server", $newserver)) {
! error(get_string("failed", "math_assignment"), "servers.php");
! }
! }
! else {
! $server = substr($server, 0, strpos($server, "(") - 1);
! if (!$server = get_record("math_assignment_server", "name", $server)) {
! error(get_string("failed","math_assignment"), "servers.php");
! }
! $server->name = $name;
! $server->address = $address;
! if (!update_record("math_assignment_server", $server)) {
! error(get_string("failed","math_assignment"), "servers.php");
! }
! }
}
}
--- 23,96 ----
$straimserverconfig = get_string("aimserverconfig", "math_assignment");
! if (isset($name) || isset($address) || isset($password)) { // add or edit a record
! optional_variable($name, "");
! optional_variable($address, "");
! optional_variable($password, "");
! $server->name = $name;
! $server->address = $address;
! $server->password = $password;
! if (isset($id)) { // edit record
! $server->id = $id;
! if (!$name && !$address && !$password) { // delete server
! print_header();
! print_heading(get_string("deletequery", "math_assignment"));
! echo "<form name=\"form\" action=\"deleteserver.php\" method=\"post\">\n";
! echo "<input type=\"hidden\" name=\"id\" value=\"$id\" />\n";
! if ($server = get_record("math_assignment_server", "id", $id))
! echo "<p align=\"center\">$server->name ($server->address)</p>";
! if ($depends = get_server_depends($server, false)) {
! // print list of courses using the server
! print_heading(get_string("dependantcourses", "math_assignment"));
! $table->head = array(get_string("course"), get_string("aimsubject", "math_assignment"), get_string("modulenameplural", "math_assignment"));
! $table->width = array("*", "*", "*");
! $table->align = array("LEFT", "LEFT", "CENTER");
! foreach ($depends as $depend) {
! $table->data[] = array("$depend->shortname ($depend->fullname)", $depend->name, count_records("math_assignment", "course", $depend->course));
! }
! print_table($table);
! // allow the user to select which server to set as replacement
! echo "<p align=\"center\"><b>" . get_string("replacementserver", "math_assignment") . " :</b> ";
! $options = array();
! if ($servers = get_records("math_assignment_server", "", "", "name ASC")) {
! foreach ($servers as $server) {
! if ($server->id != $id)
! $options[$server->id] = $server->name;
! }
}
+ choose_from_menu ($options, "newserver", 0, get_string("deleteall", "math_assignment"), "", 0);
+ echo "</p>\n";
}
! echo "<table border=\"0\" align=\"center\" cellspacing=\"0\" cellpadding=\"5\">\n";
! echo "<tr>\n";
! echo "<td align=\"right\"><input type=\"submit\" value=\"" . get_string("delete") . "\" />";
! echo "</td></form>\n";
! echo "<td align=\"left\"><form name=\"cancel\" action=\"servers.php\" action=\"post\">\n";
! echo "<input type=\"submit\" value=\"" . get_string("cancel") . "\" />\n";
! echo "</form></td>\n";
! echo "</tr>\n";
! echo "</table>\n";
print_footer();
exit;
}
+ else {
+ if (!$name || !$address)
+ error(get_string("invalid", "math_assignment"), "servers.php");
+ if (!math_assignment_check_name($name) || !math_assignment_check_name($address))
+ error(get_string("invalid", "math_assignment"), "servers.php");
+ if (!update_record("math_assignment_server", $server))
+ error(get_string("failed", "math_assignment"), "servers.php");
+ }
}
! else { // add new record
! if (!$name || !$address)
error(get_string("invalid", "math_assignment"), "servers.php");
! if (!math_assignment_check_name($name) || !math_assignment_check_name($address))
error(get_string("invalid", "math_assignment"), "servers.php");
! if (!insert_record("math_assignment_server", $server))
! error(get_string("failed", "math_assignment"), "servers.php");
}
+ redirect("servers.php", get_string("changessaved"), 1);
}
***************
*** 87,91 ****
print_header("$site->shortname: $straimserverconfig", "$site->fullname",
! "<a href=\"$CFG->wwwroot/$CFG->admin/index.php\">$stradministration</a> -> <a href=\"$CFG->wwwroot/$CFG->admin/configure.php\">$strconfiguration</a> -> <a href=\"$CFG->wwwroot/$CFG->admin/modules.php\">$strmanagemodules</a> -> <a href=\"$CFG->wwwroot/$CFG->admin/module.php?module=math_assignment\">$strmathassignment</a> -> $straimserverconfig");
/// Print the main part of the page
--- 103,107 ----
print_header("$site->shortname: $straimserverconfig", "$site->fullname",
! "<a href=\"$CFG->wwwroot/$CFG->admin/index.php\">$stradministration</a> -> <a href=\"$CFG->wwwroot/$CFG->admin/configure.php\">$strconfiguration</a> -> <a href=\"$CFG->wwwroot/$CFG->admin/modules.php\">$strmanagemodules</a> -> <a href=\"$CFG->wwwroot/$CFG->admin/module.php?module=math_assignment\">$strmathassignment</a> -> $straimserverconfig", "", "", false); // disable caching of this page as it includes passwords
/// Print the main part of the page
***************
*** 93,175 ****
$strname = get_string("name", "math_assignment");
$straddress = get_string("address", "math_assignment");
?>
! <script language="JavaScript"><!-- //hide
! // function to update edit controls when the selection changes
! function serverChanged() {
! frm = document.mainform;
! server = frm.server.options[frm.server.selectedIndex].text;
! if (server == "<?php print_string("newitem", "math_assignment") ?>") {
! frm.name.value = "";
! frm.address.value = "";
! }
! else {
! frm.name.value = server.slice(0, server.indexOf("(") - 1);
! frm.address.value = server.slice(server.indexOf("(") + 1, server.indexOf(")"));
}
! }
! //end hiding --></script>
! <form name="mainform" method="post" action="<?php echo $ME ?>">
! <center>
! <?php print_heading_with_help($straimserverconfig, "server", "math_assignment"); ?>
! <table cellpadding="5">
! <!-- list of servers -->
<tr valign="top">
! <td align="right"><p><b><?php echo print_string("aimserverplural", "math_assignment"); ?>:</b></p></td>
<td>
! <p><select name="server" size="8" onChange="serverChanged()">
! <?php math_assignment_list_servers(0); ?>
! <option selected="true"><?php print_string("newitem", "math_assignment"); ?></option>
! </select>
! <a href="servers.php"><?php print_string("refresh", "math_assignment"); ?></a></p>
</td>
</tr>
<tr valign="top">
! <td align="right"><p><b><?php echo $strname; ?>:</b></p></td>
<td>
! <input type="text" name="name" size="40" maxlength="255" /> <?php helpbutton ("server_name", $strname, "math_assignment"); ?>
</td>
</tr>
<tr valign="top">
! <td align="right"><p><b><?php echo $straddress; ?>:</b></p></td>
<td>
! <input type="text" name="address" size="40" maxlength="255" /> <?php helpbutton ("server_address", $straddress, "math_assignment"); ?>
</td>
</tr>
<tr valign="top">
! <td align="right"><p><b><?php print_string("actions","math_assignment"); ?>:</b></p></td>
<td>
! <table cellpadding="1">
! <tr valign="top">
! <td align="left">
! <input type="submit" name="save" value="<?php print_string("savechanges"); ?>" />
! </td>
! <td align="left">
! <input type="submit" name="delete" value="<?php print_string("delete"); ?>" />
! </form>
! </td>
! </tr>
! </table>
</td>
</tr>
</table>
-
</center>
<?php
print_footer();
?>
--- 109,200 ----
$strname = get_string("name", "math_assignment");
$straddress = get_string("address", "math_assignment");
+ $strpassword = get_string("zonepassword", "math_assignment");
+ $strdepends = get_string("dependantcourses", "math_assignment");
+ $stredit = get_string("edit");
+ $strdelete = get_string("delete");
?>
! <?php
! print_heading_with_help($straimserverconfig, "server", "math_assignment");
!
! if (isset($id)) {
! if (!$server = get_record("math_assignment_server", "id", $id)) {
! $server->name = "";
! $server->address = "";
! $server->password = "";
}
! }
! else if ($servers = get_records("math_assignment_server", "", "", "name ASC")) {
! $table->head = array($strname, $straddress, $strpassword, $strdepends, $stredit, $strdelete);
! $table->width = array("*", "*", "*", "*", "*", "*");
! $table->align = array("LEFT", "LEFT", "LEFT", "CENTER", "CENTER", "CENTER");
! foreach ($servers as $server) {
! $table->data[] = array($server->name, $server->address, str_repeat("*", strlen($server->password)), get_server_depends($server), "<a href=\"servers.php?id=$server->id\">$stredit</a>", "<a href=\"servers.php?id=$server->id&name=&address=&password=\">$strdelete</a>");
! }
! print_table($table);
! $server->name = "";
! $server->address = "";
! $server->password = "";
! print_heading(get_string("addnewserver", "math_assignment"));
! }
! ?>
! <form name="mainform" method="post" action="servers.php">
! <?php
! if (isset($id))
! echo "<input type=\"hidden\" name=\"id\" value=\"$id\" />\n";
! ?>
! <center>
! <table align="center" border="0" cellpadding="5" cellspacing="0">
<tr valign="top">
! <td align="right"><p><b><?php echo $strname; ?>:</b></p></td>
<td>
! <input type="text" name="name" size="40" maxlength="255" value="<?php echo $server->name; ?>" /> <?php helpbutton ("server_name", $strname, "math_assignment"); ?>
</td>
</tr>
<tr valign="top">
! <td align="right"><p><b><?php echo $straddress; ?>:</b></p></td>
<td>
! <input type="text" name="address" size="40" maxlength="255" value="<?php echo $server->address; ?>" /> <?php helpbutton ("server_address", $straddress, "math_assignment"); ?>
</td>
</tr>
<tr valign="top">
! <td align="right"><p><b><?php echo $strpassword; ?>:</b></p></td>
<td>
! <input type="password" name="password" size="40" maxlength="255" value="<?php echo $server->password; ?>" /> <?php helpbutton ("server_password", $strpassword, "math_assignment"); ?>
</td>
</tr>
<tr valign="top">
! <td align="right"> </p></td>
<td>
! <input type="submit" name="save" value="<?php print_string("savechanges"); ?>" />
</td>
</tr>
</table>
</center>
+ </form>
<?php
print_footer();
+
+ function get_server_depends($server, $justcount=true) {
+ global $CFG;
+
+ if ($justcount)
+ return count_records("math_assignment_subject", "server", $server->id);
+ return get_records_sql("SELECT s.course, c.shortname, c.fullname, s.name FROM {$CFG->prefix}math_assignment_subject s, {$CFG->prefix}course c WHERE c.id = s.course AND s.server = $server->id");
+ }
?>
Index: version.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/version.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** version.php 22 Sep 2003 21:03:55 -0000 1.6
--- version.php 23 Sep 2003 17:53:11 -0000 1.7
***************
*** 6,10 ****
/////////////////////////////////////////////////////////////////////////////////
! $module->version = 2003092222; // The (date) version of this module
$module->cron = 0; // How often should cron check this module (seconds)?
--- 6,10 ----
/////////////////////////////////////////////////////////////////////////////////
! $module->version = 2003092315; // The (date) version of this module
$module->cron = 0; // How often should cron check this module (seconds)?
|