예제 #1
0
파일: profile.php 프로젝트: hughnguy/php
    require_once 'views/profile.php';
    require_once FS_PHP . '/footer-external.php';
} else {
    if ($_GET['page'] === "new-disability") {
        $count_pending_follow_ups = $dashboard->fetchCountPendingFollowUps($SESSION->student_num);
        $all_disabilities = $model->listDisabilitiesAvailableToEveryone();
        $l10n->addResource(__DIR__ . '/l10n/header.json');
        $l10n->addResource(__DIR__ . '/l10n/profile-add-disability.json');
        $l10n->localizeArray($all_disabilities, 'disability_label');
        require_once FS_PHP . '/header-external.php';
        require_once 'views/profile-add-disability.php';
        require_once FS_PHP . '/footer-external.php';
    } else {
        if ($_GET['page'] === "add-disability") {
            $allowedFileTypes = unserialize(FILE_TYPES_ALLOWED_FOR_NOTES_DISABILITIES);
            $student_disability_id = $model->addStudentDisability($_POST);
            $loggers['audit']->info('Disability added');
            $files = $_FILES['disability_file'];
            for ($i = 0, $numFiles = sizeof($files['error']); $i < $numFiles; ++$i) {
                // Only add non-empty, valid files
                if ($files['error'][$i] === UPLOAD_ERR_OK && in_array($files['type'][$i], $allowedFileTypes, true)) {
                    $handle = fopen($files['tmp_name'][$i], 'rb');
                    if (!$handle) {
                        throw new \RuntimeException('File upload failed.');
                    }
                    $content = fread($handle, $files['size'][$i]);
                    if (!$content) {
                        throw new \RuntimeException('Unable to read uploaded file.');
                    }
                    fclose($handle);
                    $file = array('name' => $files['name'][$i], 'size' => $files['size'][$i], 'type' => $files['type'][$i], 'document_type' => 'medical certificate', 'student_disability_id' => $student_disability_id);