예제 #1
0
파일: lib.php 프로젝트: kai707/ITSA-backup
function feedback_email_teachers($cm, $feedback, $course, $userid)
{
    global $CFG;
    if ($feedback->email_notification == 0) {
        // No need to do anything
        return;
    }
    $user = get_record('user', 'id', $userid);
    if (groupmode($course, $cm) == SEPARATEGROUPS) {
        // Separate groups are being used
        if (!($group = user_group($course->id, $user->id))) {
            // Try to find a group
            $group->id = 0;
            // Not in a group, never mind
        }
        $teachers = get_group_teachers($course->id, $group->id);
        // Works even if not in group
    } else {
        $teachers = get_course_teachers($course->id);
    }
    if ($teachers) {
        $strfeedbacks = get_string('modulenameplural', 'feedback');
        $strfeedback = get_string('modulename', 'feedback');
        $strcompleted = get_string('completed', 'feedback');
        foreach ($teachers as $teacher) {
            unset($info);
            $info->username = fullname($user);
            $info->feedback = format_string($feedback->name, true);
            $info->url = $CFG->wwwroot . '/mod/feedback/show_entries.php?id=' . $cm->id . '&userid=' . $userid;
            $postsubject = $strcompleted . ': ' . $info->username . ' -> ' . $feedback->name;
            $posttext = feedback_email_teachers_text($info, $course);
            $posthtml = $teacher->mailformat == 1 ? feedback_email_teachers_html($info, $course, $cm) : '';
            @email_to_user($teacher, $user, $postsubject, $posttext, $posthtml);
        }
    }
}
    }
}
require_login($course->id);
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
require_capability('mod/certificate:view', $context);
// log update
add_to_log($course->id, "certificate", "view", "view.php?id={$cm->id}", $certificate->id, $cm->id);
// Get teacher name of group
if (groupmode($course, null) == SEPARATEGROUPS) {
    // Separate groups are being used
    if (!($group = user_group($course->id, $USER->id))) {
        // Try to find a group
        $group->id = 0;
        // Not in a group, never mind
    }
    $teachers = get_group_teachers($course->id, $group->id);
    // Works even if not in group
} else {
    $teachers = get_course_teachers($course->id);
}
//Creating pages
$generate = false;
$unenrolment = false;
$type = $certificate->certificatetype;
$certificateid = $certificate->id;
$certrecord = certificate_get_issue($course, $USER, $certificateid);
if ($certificate->printgrade > 1) {
    $modinfo = certificate_mod_grade($course, $certificate->printgrade);
}
//Review certificate
if ($certrecord and !isset($_GET['certificate'])) {
function certificate_email_teachers($certificate)
{
    global $course, $USER, $CFG;
    if ($certificate->emailteachers == 0) {
        // No need to do anything
        return;
    }
    $certrecord = certificate_get_issue($course, $USER, $certificate->id);
    $student = $certrecord->studentname;
    $cm = get_coursemodule_from_instance("certificate", $certificate->id, $course->id);
    if (groupmode($course, $cm) == SEPARATEGROUPS) {
        // Separate groups are being used
        if (!($group = user_group($course->id, $user->id))) {
            // Try to find a group
            $group->id = 0;
            // Not in a group, never mind
        }
        $teachers = get_group_teachers($course->id, $group->id);
        // Works even if not in group
    } else {
        $teachers = get_course_teachers($course->id);
    }
    if ($teachers) {
        $strcertificates = get_string('modulenameplural', 'certificate');
        $strcertificate = get_string('modulename', 'certificate');
        $strawarded = get_string('awarded', 'certificate');
        foreach ($teachers as $teacher) {
            unset($info);
            $info->student = $student;
            $info->course = format_string($course->fullname, true);
            $info->certificate = format_string($certificate->name, true);
            $info->url = $CFG->wwwroot . '/mod/certificate/report.php?id=' . $cm->id;
            $from = $student;
            $postsubject = $strawarded . ': ' . $info->student . ' -> ' . $certificate->name;
            $posttext = certificate_email_teachers_text($info);
            $posthtml = certificate_email_teachers_html($info);
            $posthtml = $teacher->mailformat == 1 ? certificate_email_teachers_html($info) : '';
            @email_to_user($teacher, $from, $postsubject, $posttext, $posthtml);
            // If it fails, oh well, too bad.
            set_field("certificate_issues", "mailed", "1", "certificateid", $certificate->id, "userid", $USER->id);
        }
    }
}
 /**
  * Alerts teachers by email of new or changed assignments that need grading
  *
  * First checks whether the option to email teachers is set for this assignment.
  * Sends an email to ALL teachers in the course (or in the group if using separate groups).
  * Uses the methods email_teachers_text() and email_teachers_html() to construct the content.
  * @param $submission object The submission that has changed
  */
 function email_teachers($submission)
 {
     global $CFG;
     if (empty($this->emailteachers)) {
         // No need to do anything
         return;
     }
     $user = get_record('user', 'id', $submission->userid);
     if (groupmode($this->course, $this->cm) == SEPARATEGROUPS) {
         // Separate groups are being used
         if ($groups = user_group($this->course->id, $user->id)) {
             // Try to find groups
             $teachers = array();
             foreach ($groups as $group) {
                 $teachers = array_merge($teachers, get_group_teachers($this->course->id, $group->id));
             }
         } else {
             $teachers = get_group_teachers($this->course->id, 0);
             // Works even if not in group
         }
     } else {
         $teachers = get_course_teachers($this->course->id);
     }
     if ($teachers) {
         $strwebquestscorms = get_string('modulenameplural', 'webquestscorm');
         $strwebquestscorm = get_string('modulename', 'webquestscorm');
         $strsubmitted = get_string('submitted', 'webquestscorm');
         foreach ($teachers as $teacher) {
             unset($info);
             $info->username = fullname($user);
             $info->webquestscorm = format_string($this->wqname, true);
             $info->url = $CFG->wwwroot . '/mod/webquestscorm/editsubmissions.php?cmid=' . $this->cm->id . '&element=uploadedTasks&subelement=all';
             $postsubject = $strsubmitted . ': ' . $info->username . ' -> ' . $this->wqname;
             $posttext = $this->email_teachers_text($this->course->shortname, $this->wqname, $strwebquestscorms, $info);
             $posthtml = $teacher->mailformat == 1 ? $this->email_teachers_html($this->course->id, $this->course->shortname, $this->wqname, $strwebquestscorms, $this->cm->id, $info) : '';
             @email_to_user($teacher, $user, $postsubject, $posttext, $posthtml);
             // If it fails, oh well, too bad.
         }
     }
 }