Example #1
0
    //Do the actual exchange of tags and data- employee details
    $content = str_replace("#specialistfname", $SESSION->first_name, $content);
    $content = str_replace("#specialistlname", $SESSION->last_name, $content);
    //Do the actual exchange of tags and data- link to student portal
    $content = str_replace("#studentportal", "http://www.sass.uottawa.ca/access/student-portal/", $content);
    //Do the actual exchange of tags and data- semester values
    $content = str_replace("#semester", $semester['now_long_en'], $content);
    $content = str_replace("#semestre", $semester['now_long_fr'], $content);
    //At the end, replace all incomplete tags with something
    $content = str_replace(array("#accommodationsclassroom", "#accommodationclassroom", "#accommodationslibrary", "#accommodationlibrary", "#accommodationsexams", "#accommodationexams", "#accommodationstranscription", "#accommodationtranscription"), "N/A", $content);
    echo $content;
} elseif ($_GET['page'] === "generate") {
    $letter_details = $_POST;
    // Need to create a new student variable because request does not set the student number attribute
    $studentProfile = new \Ventus\Student\StudentProfile($dbo);
    $email_letter_utility = new \Ventus\Utilities\EmailLetterUtility($studentProfile);
    $email_letter = $email_letter_utility->generateEmailLetter($model, $letter_details);
    //We trigger an email to course professor(s) if this option was checked on the UI
    if ($letter_details['send_email'] === '1') {
        $pdf_utility = new \Ventus\Utilities\PdfUtility();
        $email_letter_utility->triggerEmailLetter($email_letter, $pdf_utility);
        $loggers['audit']->info("EmailLetter triggered for student {$letter_details['student_num']} ?");
    }
} elseif ($_GET['page'] === "fetch-email") {
    $content = $model->getSentTemplate($_POST['email_letter_id']);
    $content = htmlspecialchars_decode($content[0]['content']);
    echo $content;
} elseif ($_GET['page'] === "switch-hidden-status") {
    $model->switchLetterEmailHiddenStatus($_GET['id'], $_GET['hidden']);
    $loggers['audit']->info("Hidden status for letter/email {$_GET['id']} changed to {$_GET['hidden']}");
    if (ctype_digit($_GET['student_num'])) {
Example #2
0
            echo '<br><br>';
            $model->resendEmailConfirmation($u);
            $loggers['audit']->info("Confirmation email resent to requestor for NOE (confirmation ID: {$u['confirmation_key']})");
        }
    }
} elseif ($_GET['page'] === "send-cam-to-profs") {
    $semester = \Ventus\Utilities\Functions::fetchSemester();
    $semester = $semester['now_short'];
    $students = $model->fetchStudentsWhoseProfessorsNeedCam();
    foreach ($students as $s) {
        //Fetch all courses for the current semester
        $courses_this_semester = $student_profile->fetchStudentCoursesForSemesterForCam($s['student_num'], $semester);
        if (!empty($courses_this_semester)) {
            foreach ($courses_this_semester as $cts) {
                $letter_details = array('acc_mode' => $cts['code'] . '-' . (empty($cts['section']) ? 'null' : $cts['section']) . '-' . $cts['session'], 'mode' => 'letter', 'template_id' => CAM_LETTER_ID_FRENCH, 'emp_id' => CAM_LETTER_GENERATOR_EMPLOYEE_ID, 'student_num' => $s['student_num'], 'access_username' => $s['email'], 'year_of_study' => $s['year_of_study']);
                $email_letter_utility = new \Ventus\Utilities\EmailLetterUtility($student_profile);
                $email_letter_generator = new \Ventus\Specialist\EmailLetterGenerator();
                $email_letter = $email_letter_utility->generateEmailLetter($email_letter_generator, $letter_details, $cts);
                $pdf_utility = new \Ventus\Utilities\PdfUtility();
                $email_letter_utility->triggerEmailLetter($email_letter, $pdf_utility);
                $loggers['audit']->info("CAM sent to professor for student {$s['student_num']} -> " . print_r($cts, true));
            }
        }
    }
} elseif ($_GET['page'] === "send-final-exam-reminders") {
    $final_exams_from_registrar = $model->fetchAutoImportedNOE($_GET['session']);
    //For each of those final exams, check if there are any ventus students
    foreach ($final_exams_from_registrar as $f) {
        if ($model->verifyConfirmationExistsForNOE($f['exam_request_id'])) {
            $model->sendFinalExamReminder($f['cid'], $f['course_code'], $f['course_section'], $f['session'], $f['teach_method']);
            $loggers['audit']->info("Final exam reminder sent to professor for NOE (confirmation ID: {$f['cid']})");