function student_files_upload_any_student_files_form_validate
Search API
6.x student_files.module | student_files_upload_any_student_files_form_validate($form, &$form_state) |
Validate function.
File
- modules/
student_files/ student_files.module, line 176 - This is the student_files module, which will facilitate uploading (securely) files to be associated with student accounts.
Code
function student_files_upload_any_student_files_form_validate($form, &$form_state) {
$values = $form_state ["values"];
$db = get_global_database_handler();
// Re-order the _FILES array to make it easier to work with
$student_files = fp_re_array_files($_FILES ["student_files"]);
$form_state ["student_files"] = $student_files;
// Make sure if "manual" is selected, that the CWID entered actually exists.
if ($values ["student_method"] == "manual") {
$n = @trim($db->get_student_name($values ["manual_cwid"]));
if (!$n) {
// Student not found! Or at least their name wasn't found.
form_error("student_method", t("Sorry, the CWID you entered could not be found."));
return;
}
}
// if a filename method selected, make sure a CWID is detectable and valid. Maybe save it to form_state for the _submit function.
// If more than one file, check all the files...
if ($values ["student_method"] == "filename") {
$is_empty = TRUE;
foreach ($form_state ["student_files"] as $c => $file) {
if (trim($file ["name"] == "")) {
continue;
}
$is_empty = FALSE;
$temp = explode("_", $file ["name"]);
$test_cwid = trim($temp [0]);
$n = @trim($db->get_student_name($test_cwid));
if (!$n) {
// Student not found! Or at least their name wasn't found.
form_error("student_files", t("Sorry, the file named %file either does not begin with a CWID, or the CWID does not match
a current student. Please try again.", array("%file" => $file ["name"])));
return;
}
else {
// This IS a valid student. Save the CWID with the form_state to make our lives easier later.
$form_state ["student_files"][$c]["cwid"] = $test_cwid;
// Also save the filename where we have stripped off the CWID
$form_state ["student_files"][$c]["name"] = str_replace($test_cwid . "_", "", $file ["name"]);
}
}
if ($is_empty) {
form_error("student_files", t("No files were selected. Please try again."));
return;
}
} // if student_method = filename
}