$action)
{
// must upload a file if action is add or overwrite
if ($action == "add" && $_FILES['add_upload_file']['name'][$i] == "" && $_POST['add_uploaded_file'] == "")
$missing_fields[] = _AT("upload_file") . " for ". _AT("file_name") . " " . $_POST['add_filename'][$i] . "";
if ($action == "overwrite" && $_FILES['overwrite_upload_file']['name'][$i] == "" && $_POST['overwrite_uploaded_file'] == "")
$missing_fields[] = _AT("upload_file") . " for ". _AT("file_name") . " " . $_POST['overwrite_filename'][$i] . "";
}
}
// end of checking missing fields
if ($missing_fields)
{
$missing_fields = implode(', ', $missing_fields);
$msg->addError(array('EMPTY_FIELDS', $missing_fields));
}
// main process
if (!$msg->containsErrors())
{
$patch_info = array("system_patch_id"=>$_POST["system_patch_id"],
"transformable_version_to_apply"=>$_POST["transformable_version_to_apply"],
"description"=>$_POST["description"],
"sql_statement"=>$_POST["sql_statement"]);
// remove empty dependent patches
if (is_array($_POST["dependent_patch"]))
{
foreach ($_POST["dependent_patch"] as $dependent_patch)
if (trim($dependent_patch) <> "")
$dependent_patches[] = $dependent_patch;
}
if (is_array($dependent_patches))
$patch_info["dependent_patches"] = $dependent_patches;
if (is_array($_POST['rb_action']))
{
foreach ($_POST['rb_action'] as $i=>$action)
{
if ($action == "add" && $_POST['add_filename'][$i] <> "")
{
if ($_FILES['add_upload_file']['tmp_name'][$i] <> "")
$upload_file = $_FILES['add_upload_file']['tmp_name'][$i];
else
$upload_file = $_POST['add_uploaded_file'][$i];
$patch_info["files"][] = array("action"=>$action,
"file_name"=>$_POST['add_filename'][$i],
"directory"=>$_POST['add_dir'][$i],
"upload_tmp_name"=>$upload_file);
}
if ($action == "alter" && $_POST['alter_filename'][$i] <> "")
$patch_info["files"][] = array("action"=>$action,
"file_name"=>$_POST['alter_filename'][$i],
"directory"=>$_POST['alter_dir'][$i],
"code_from"=>$_POST['alter_code_from'][$i],
"code_to"=>$_POST['alter_code_to'][$i]);
if ($action == "delete" && $_POST['delete_filename'][$i] <> "")
$patch_info["files"][] = array("action"=>$action,
"file_name"=>$_POST['delete_filename'][$i],
"directory"=>$_POST['delete_dir'][$i]);
if ($action == "overwrite" && $_POST['overwrite_filename'][$i] <> "")
{
if ($_FILES['overwrite_upload_file']['tmp_name'][$i] <> "")
$upload_file = $_FILES['overwrite_upload_file']['tmp_name'][$i];
else
$upload_file = $_POST['overwrite_uploaded_file'][$i];
$patch_info["files"][] = array("action"=>$action,
"file_name"=>$_POST['overwrite_filename'][$i],
"directory"=>$_POST['overwrite_dir'][$i],
"upload_tmp_name"=>$upload_file);
}
}
}
require_once("classes/PatchCreator.class.php");
$patch_creator = new PatchCreator($patch_info, $patch_id);
if ($_POST['create'])
$patch_creator->create_patch();
else if ($_POST['save'])
{
$patch_creator->saveInfo();
header('Location: myown_patches.php');
}
}
}
$msg->printErrors();
?>