2 /************************************************************************/
\r
4 /************************************************************************/
\r
5 /* Copyright (c) 2002-2008 by Greg Gay, Joel Kronenberg & Heidi Hazelton*/
\r
6 /* Adaptive Technology Resource Centre / University of Toronto */
\r
7 /* http://atutor.ca */
\r
9 /* This program is free software. You can redistribute it and/or */
\r
10 /* modify it under the terms of the GNU General Public License */
\r
11 /* as published by the Free Software Foundation. */
\r
12 /************************************************************************/
\r
13 // $Id: index_admin.php 7208 2008-03-13 16:07:24Z cindy $
\r
15 define('AT_INCLUDE_PATH', '../../include/');
\r
16 require_once (AT_INCLUDE_PATH.'vitals.inc.php');
\r
17 admin_authenticate(AT_ADMIN_PRIV_PATCHER);
\r
19 if ($_POST['create'] || $_POST['save'])
\r
21 if (isset($_REQUEST["myown_patch_id"])) $patch_id = $_REQUEST["myown_patch_id"];
\r
24 // check missing fields
\r
25 if (!isset($_POST["atutor_patch_id"]) || trim($_POST["atutor_patch_id"]) == "")
\r
26 $missing_fields[] = _AT("atutor_patch_id");
\r
28 if (!isset($_POST["atutor_version_to_apply"]) || trim($_POST["atutor_version_to_apply"]) == "")
\r
29 $missing_fields[] = _AT("atutor_version_to_apply");
\r
31 // only check missing upload file when creating a patch. don't check when save
\r
32 if (is_array($_POST['rb_action']) && $_POST['create'])
\r
34 foreach ($_POST['rb_action'] as $i=>$action)
\r
36 // must upload a file if action is add or overwrite
\r
37 if ($action == "add" && $_FILES['add_upload_file']['name'][$i] == "" && $_POST['add_uploaded_file'] == "")
\r
38 $missing_fields[] = _AT("upload_file") . " for ". _AT("file_name") . " <strong>" . $_POST['add_filename'][$i] . "</strong>";
\r
40 if ($action == "overwrite" && $_FILES['overwrite_upload_file']['name'][$i] == "" && $_POST['overwrite_uploaded_file'] == "")
\r
41 $missing_fields[] = _AT("upload_file") . " for ". _AT("file_name") . " <strong>" . $_POST['overwrite_filename'][$i] . "</strong>";
\r
44 // end of checking missing fields
\r
46 if ($missing_fields)
\r
48 $missing_fields = implode(', ', $missing_fields);
\r
49 $msg->addError(array('EMPTY_FIELDS', $missing_fields));
\r
52 if (!(eregi("^[a-zA-Z0-9_.-]([a-zA-Z0-9_.-])*$", $_POST['atutor_patch_id'])))
\r
53 $msg->addError('LOGIN_CHARS');
\r
56 if (!$msg->containsErrors())
\r
58 $patch_info = array("atutor_patch_id"=>$_POST["atutor_patch_id"],
\r
59 "atutor_version_to_apply"=>$_POST["atutor_version_to_apply"],
\r
60 "description"=>$_POST["description"],
\r
61 "sql_statement"=>$_POST["sql_statement"]);
\r
63 // remove empty dependent patches
\r
64 if (is_array($_POST["dependent_patch"]))
\r
66 foreach ($_POST["dependent_patch"] as $dependent_patch)
\r
67 if (trim($dependent_patch) <> "")
\r
68 $dependent_patches[] = $dependent_patch;
\r
71 if (is_array($dependent_patches))
\r
72 $patch_info["dependent_patches"] = $dependent_patches;
\r
74 if (is_array($_POST['rb_action']))
\r
76 foreach ($_POST['rb_action'] as $i=>$action)
\r
78 if ($action == "add" && $_POST['add_filename'][$i] <> "")
\r
80 if ($_FILES['add_upload_file']['tmp_name'][$i] <> "")
\r
81 $upload_file = $_FILES['add_upload_file']['tmp_name'][$i];
\r
83 $upload_file = stripslashes($_POST['add_uploaded_file'][$i]);
\r
85 $patch_info["files"][] = array("action"=>$action,
\r
86 "file_name"=>$_POST['add_filename'][$i],
\r
87 "directory"=>$_POST['add_dir'][$i],
\r
88 "upload_tmp_name"=>$upload_file);
\r
91 if ($action == "alter" && $_POST['alter_filename'][$i] <> "")
\r
92 $patch_info["files"][] = array("action"=>$action,
\r
93 "file_name"=>$_POST['alter_filename'][$i],
\r
94 "directory"=>$_POST['alter_dir'][$i],
\r
95 "code_from"=>$_POST['alter_code_from'][$i],
\r
96 "code_to"=>$_POST['alter_code_to'][$i]);
\r
98 if ($action == "delete" && $_POST['delete_filename'][$i] <> "")
\r
99 $patch_info["files"][] = array("action"=>$action,
\r
100 "file_name"=>$_POST['delete_filename'][$i],
\r
101 "directory"=>$_POST['delete_dir'][$i]);
\r
103 if ($action == "overwrite" && $_POST['overwrite_filename'][$i] <> "")
\r
105 if ($_FILES['overwrite_upload_file']['tmp_name'][$i] <> "")
\r
106 $upload_file = $_FILES['overwrite_upload_file']['tmp_name'][$i];
\r
108 $upload_file = stripslashes($_POST['overwrite_uploaded_file'][$i]);
\r
110 $patch_info["files"][] = array("action"=>$action,
\r
111 "file_name"=>$_POST['overwrite_filename'][$i],
\r
112 "directory"=>$_POST['overwrite_dir'][$i],
\r
113 "upload_tmp_name"=>$upload_file);
\r
118 require_once("classes/PatchCreator.class.php");
\r
120 $patch_creator =& new PatchCreator($patch_info, $patch_id);
\r
122 if ($_POST['create'])
\r
123 $patch_creator->create_patch();
\r
124 else if ($_POST['save'])
\r
126 $patch_creator->saveInfo();
\r
127 header('Location: myown_patches.php');
\r
133 $msg->printErrors();
\r