function submitForm() { global $course_id, $course_code, $webDir, $langModifDone; // handle uploaded files $fileData = array(); foreach (CourseXMLConfig::$binaryFields as $bkey) { if (in_array($bkey, CourseXMLConfig::$multipleFields) || in_array($bkey, CourseXMLConfig::$arrayFields)) { if (isset($_FILES[$bkey]) && isset($_FILES[$bkey]['tmp_name']) && isset($_FILES[$bkey]['type']) && is_array($_FILES[$bkey]['tmp_name'])) { for ($i = 0; $i < count($_FILES[$bkey]['tmp_name']); $i++) { if (is_uploaded_file($_FILES[$bkey]['tmp_name'][$i]) && isValidImage($_FILES[$bkey]['type'][$i])) { // convert to resized jpg if possible $uploaded = $_FILES[$bkey]['tmp_name'][$i]; $copied = $_FILES[$bkey]['tmp_name'][$i] . '.new'; $type = $_FILES[$bkey]['type'][$i]; if (copy_resized_image($uploaded, $type, IMAGESIZE_LARGE, IMAGESIZE_LARGE, $copied)) { $fileData[$bkey][$i] = base64_encode(file_get_contents($copied)); $fileData[$bkey . '_mime'][$i] = 'image/jpeg'; // copy_resized_image always outputs jpg } else { // erase possible previous image or failed conversion $fileData[$bkey][$i] = ''; $fileData[$bkey . '_mime'][$i] = ''; } } else { // add to array as empty, in order to keep correspondence $fileData[$bkey][$i] = ''; $fileData[$bkey . '_mime'][$i] = ''; } } } } else { if (isset($_FILES[$bkey]) && is_uploaded_file($_FILES[$bkey]['tmp_name']) && isValidImage($_FILES[$bkey]['type'])) { // convert to resized jpg if possible $uploaded = $_FILES[$bkey]['tmp_name']; $copied = $_FILES[$bkey]['tmp_name'] . '.new'; $type = $_FILES[$bkey]['type']; if (copy_resized_image($uploaded, $type, IMAGESIZE_LARGE, IMAGESIZE_LARGE, $copied)) { $fileData[$bkey] = base64_encode(file_get_contents($copied)); $fileData[$bkey . '_mime'] = 'image/jpeg'; // copy_resized_image always outputs jpg // unset old photo because array_merge_recursive below will keep the old one unset($_POST[$bkey]); unset($_POST[$bkey . '_mime']); } else { // erase possible previous image or failed conversion $fileData[$bkey] = ''; $fileData[$bkey . '_mime'] = ''; } } } } $skeleton = $webDir . '/modules/course_metadata/skeleton.xml'; $extraData = CourseXMLElement::getAutogenData($course_id); // manually merge instructor photo, to achieve multiplicity sync foreach ($fileData['course_instructor_photo'] as $key => $value) { if (!empty($value)) { $_POST['course_instructor_photo'][$key] = $value; } } unset($fileData['course_instructor_photo']); foreach ($fileData['course_instructor_photo_mime'] as $key => $value) { if (!empty($value)) { $_POST['course_instructor_photo_mime'][$key] = $value; } } unset($fileData['course_instructor_photo_mime']); $data = array_merge($_POST, $extraData, $fileData); // course-based adaptation $dnum = Database::get()->querySingle("select count(id) as count from document where course_id = ?d", $course_id)->count; $vnum = Database::get()->querySingle("select count(id) as count from video where course_id = ?d", $course_id)->count; $vlnum = Database::get()->querySingle("select count(id) as count from videolink where course_id = ?d", $course_id)->count; if ($dnum + $vnum + $vlnum < 1) { $data['course_confirmVideolectures'] = 'false'; } $xml = simplexml_load_file($skeleton, 'CourseXMLElement'); $xml->adapt($data); $xml->populate($data); CourseXMLElement::save($course_id, $course_code, $xml); return "<div class='alert alert-success'>$langModifDone</div>"; }
/** * adds a picture to the question * * @author - Olivier Brouckaert * @param - string $Picture - temporary path of the picture to upload * @return - boolean - true if uploaded, otherwise false */ function uploadPicture($picture, $type) { global $picturePath; if ($this->id) { $filename_final = $picturePath . '/quiz-' . $this->id; if (!copy_resized_image($picture, $type, 760, 512, $filename_final)) { return false; } else { return true; } } return false; }
$departments = $_POST['department']; } } $email_public = valid_access($email_public); $phone_public = valid_access($phone_public); $am_public = valid_access($am_public); // upload user picture if (isset($_FILES['userimage']) && is_uploaded_file($_FILES['userimage']['tmp_name'])) { validateUploadedFile($_FILES['userimage']['name'], 1); $type = $_FILES['userimage']['type']; $image_file = $_FILES['userimage']['tmp_name']; if (!copy_resized_image($image_file, $type, IMAGESIZE_LARGE, IMAGESIZE_LARGE, $image_path . '_' . IMAGESIZE_LARGE . '.jpg')) { Session::Messages($langInvalidPicture); redirect_to_home_page("main/profile/profile.php"); } if (!copy_resized_image($image_file, $type, IMAGESIZE_SMALL, IMAGESIZE_SMALL, $image_path . '_' . IMAGESIZE_SMALL . '.jpg')) { Session::Messages($langInvalidPicture); redirect_to_home_page("main/profile/profile.php"); } Database::get()->query("UPDATE user SET has_icon = 1 WHERE id = ?d", $_SESSION['uid']); Log::record(0, 0, LOG_PROFILE, array('uid' => intval($_SESSION['uid']), 'addimage' => 1, 'imagetype' => $type)); } // check if email is valid if (get_config('email_required') | get_config('email_verification_required') and !email_seems_valid($email_form)) { Session::Messages($langEmailWrong); redirect_to_home_page("main/profile/profile.php"); } // check if there are empty fields if (!$all_ok) { Session::Messages($langFieldsMissing); redirect_to_home_page("main/profile/profile.php");