コード例 #1
0
<?php

error_reporting(0);
$f_resultid = (int) readGetVar('resultid');
if ($f_resultid > 0) {
    $i_pdf = getAdvancedReportPDF($f_resultid);
    if ($i_pdf) {
        $i_pdf->Output('test-results-' . $f_resultid . '.pdf', 'I');
    }
}
error_reporting(7);
function getTestResultSubjectsData($resultid)
{
    global $g_db, $G_SESSION, $srv_settings;
    $arrResult = array();
    $i_rSet1 = $g_db->Execute("SELECT questionid, result_answer_points, result_answer_iscorrect FROM " . $srv_settings['table_prefix'] . "results_answers WHERE resultid=" . $resultid);
    if (!$i_rSet1) {
        showDBError('getTestResultSubjectsData', 1);
    } else {
        while (!$i_rSet1->EOF) {
            $arrQuestion = getRecordItems($srv_settings['table_prefix'] . 'questions', array('subjectid', 'question_points'), 'questionid=' . $i_rSet1->fields['questionid']);
            if (!isset($arrResult[$arrQuestion['subjectid']])) {
                $arrResult[$arrQuestion['subjectid']]['got_answers'] = 0;
                $arrResult[$arrQuestion['subjectid']]['total_answers'] = 0;
                $arrResult[$arrQuestion['subjectid']]['got_points'] = 0;
                $arrResult[$arrQuestion['subjectid']]['total_points'] = 0;
            }
            $arrResult[$arrQuestion['subjectid']]['got_answers'] += $i_rSet1->fields['result_answer_iscorrect'] == IGT_ANSWER_IS_CORRECT ? 1 : 0;
            $arrResult[$arrQuestion['subjectid']]['total_answers'] += 1;
            $arrResult[$arrQuestion['subjectid']]['got_points'] += $i_rSet1->fields['result_answer_points'];
            $arrResult[$arrQuestion['subjectid']]['total_points'] += $arrQuestion['question_points'];
コード例 #2
0
function processTemplate($i_parameters = array())
{
    global $g_db, $srv_settings, $DOCUMENT_PAGES;
    $arrResult = array();
    $i_template_body = isset($i_parameters['template_body']) ? $i_parameters['template_body'] : '';
    $i_content_type = isset($i_parameters['content_type']) ? $i_parameters['content_type'] : '';
    $i_id = isset($i_parameters['id']) ? $i_parameters['id'] : '';
    $i_username = isset($i_parameters['username']) ? $i_parameters['username'] : '';
    $i_password = isset($i_parameters['password']) ? $i_parameters['password'] : '';
    $i_checkword = isset($i_parameters['checkword']) ? $i_parameters['checkword'] : '';
    $i_email = isset($i_parameters['email']) ? $i_parameters['email'] : '';
    $i_title = isset($i_parameters['title']) ? $i_parameters['title'] : '';
    $i_firstname = isset($i_parameters['firstname']) ? $i_parameters['firstname'] : '';
    $i_lastname = isset($i_parameters['lastname']) ? $i_parameters['lastname'] : '';
    $i_middlename = isset($i_parameters['middlename']) ? $i_parameters['middlename'] : '';
    $i_address = isset($i_parameters['address']) ? $i_parameters['address'] : '';
    $i_city = isset($i_parameters['city']) ? $i_parameters['city'] : '';
    $i_state = isset($i_parameters['state']) ? $i_parameters['state'] : '';
    $i_zip = isset($i_parameters['zip']) ? $i_parameters['zip'] : '';
    $i_country = isset($i_parameters['country']) ? $i_parameters['country'] : '';
    $i_phone = isset($i_parameters['phone']) ? $i_parameters['phone'] : '';
    $i_fax = isset($i_parameters['fax']) ? $i_parameters['fax'] : '';
    $i_mobile = isset($i_parameters['mobile']) ? $i_parameters['mobile'] : '';
    $i_pager = isset($i_parameters['pager']) ? $i_parameters['pager'] : '';
    $i_ipphone = isset($i_parameters['ipphone']) ? $i_parameters['ipphone'] : '';
    $i_webpage = isset($i_parameters['webpage']) ? $i_parameters['webpage'] : '';
    $i_icq = isset($i_parameters['icq']) ? $i_parameters['icq'] : '';
    $i_msn = isset($i_parameters['msn']) ? $i_parameters['msn'] : '';
    $i_aol = isset($i_parameters['aol']) ? $i_parameters['aol'] : '';
    $i_gender = isset($i_parameters['gender']) ? $i_parameters['gender'] : '';
    $i_birthday = isset($i_parameters['birthday']) ? $i_parameters['birthday'] : '';
    $i_husbandwife = isset($i_parameters['husbandwife']) ? $i_parameters['husbandwife'] : '';
    $i_children = isset($i_parameters['children']) ? $i_parameters['children'] : '';
    $i_trainer = isset($i_parameters['trainer']) ? $i_parameters['trainer'] : '';
    $i_photo = isset($i_parameters['photo']) ? $i_parameters['photo'] : '';
    $i_company = isset($i_parameters['company']) ? $i_parameters['company'] : '';
    $i_cposition = isset($i_parameters['cposition']) ? $i_parameters['cposition'] : '';
    $i_department = isset($i_parameters['department']) ? $i_parameters['department'] : '';
    $i_coffice = isset($i_parameters['coffice']) ? $i_parameters['coffice'] : '';
    $i_caddress = isset($i_parameters['caddress']) ? $i_parameters['caddress'] : '';
    $i_ccity = isset($i_parameters['ccity']) ? $i_parameters['ccity'] : '';
    $i_cstate = isset($i_parameters['cstate']) ? $i_parameters['cstate'] : '';
    $i_czip = isset($i_parameters['czip']) ? $i_parameters['czip'] : '';
    $i_ccountry = isset($i_parameters['ccountry']) ? $i_parameters['ccountry'] : '';
    $i_cphone = isset($i_parameters['cphone']) ? $i_parameters['cphone'] : '';
    $i_cfax = isset($i_parameters['cfax']) ? $i_parameters['cfax'] : '';
    $i_cmobile = isset($i_parameters['cmobile']) ? $i_parameters['cmobile'] : '';
    $i_cpager = isset($i_parameters['cpager']) ? $i_parameters['cpager'] : '';
    $i_cipphone = isset($i_parameters['cipphone']) ? $i_parameters['cipphone'] : '';
    $i_cwebpage = isset($i_parameters['cwebpage']) ? $i_parameters['cwebpage'] : '';
    $i_cphoto = isset($i_parameters['cphoto']) ? $i_parameters['cphoto'] : '';
    $i_ufield1 = isset($i_parameters['ufield1']) ? $i_parameters['ufield1'] : '';
    $i_ufield2 = isset($i_parameters['ufield2']) ? $i_parameters['ufield2'] : '';
    $i_ufield3 = isset($i_parameters['ufield3']) ? $i_parameters['ufield3'] : '';
    $i_ufield4 = isset($i_parameters['ufield4']) ? $i_parameters['ufield4'] : '';
    $i_ufield5 = isset($i_parameters['ufield5']) ? $i_parameters['ufield5'] : '';
    $i_ufield6 = isset($i_parameters['ufield6']) ? $i_parameters['ufield6'] : '';
    $i_ufield7 = isset($i_parameters['ufield7']) ? $i_parameters['ufield7'] : '';
    $i_ufield8 = isset($i_parameters['ufield8']) ? $i_parameters['ufield8'] : '';
    $i_ufield9 = isset($i_parameters['ufield9']) ? $i_parameters['ufield9'] : '';
    $i_ufield10 = isset($i_parameters['ufield10']) ? $i_parameters['ufield10'] : '';
    $i_test_name = isset($i_parameters['test_name']) ? $i_parameters['test_name'] : '';
    $i_result_id = isset($i_parameters['result_id']) ? $i_parameters['result_id'] : '';
    $i_result_date = isset($i_parameters['result_date']) ? $i_parameters['result_date'] : '';
    $i_result_time_spent = isset($i_parameters['result_time_spent']) ? $i_parameters['result_time_spent'] : '';
    $i_result_time_exceeded = isset($i_parameters['result_time_exceeded']) ? $i_parameters['result_time_exceeded'] : '';
    $i_result_points_scored = isset($i_parameters['result_points_scored']) ? $i_parameters['result_points_scored'] : '';
    $i_result_points_possible = isset($i_parameters['result_points_possible']) ? $i_parameters['result_points_possible'] : '';
    $i_result_percents = isset($i_parameters['result_percents']) ? $i_parameters['result_percents'] : '';
    $i_result_grade = isset($i_parameters['result_grade']) ? $i_parameters['result_grade'] : '';
    $i_result_grade_feedback = isset($i_parameters['result_grade_feedback']) ? $i_parameters['result_grade_feedback'] : '';
    $i_result_subjects = isset($i_parameters['result_subjects']) ? $i_parameters['result_subjects'] : array();
    $i_result_detailed_1 = isset($i_parameters['result_detailed_1']) ? $i_parameters['result_detailed_1'] : '';
    $i_result_detailed_2 = isset($i_parameters['result_detailed_2']) ? $i_parameters['result_detailed_2'] : '';
    $i_result_detailed_3 = isset($i_parameters['result_detailed_3']) ? $i_parameters['result_detailed_3'] : '';
    $i_result_detailed_4 = isset($i_parameters['result_detailed_4']) ? $i_parameters['result_detailed_4'] : '';
    $i_result_detailed_5 = isset($i_parameters['result_detailed_5']) ? $i_parameters['result_detailed_5'] : '';
    $i_result_detailed_6 = isset($i_parameters['result_detailed_6']) ? $i_parameters['result_detailed_6'] : '';
    $i_custom_tag_1 = isset($i_parameters['custom_tag_1']) ? $i_parameters['custom_tag_1'] : '';
    $i_custom_tag_2 = isset($i_parameters['custom_tag_2']) ? $i_parameters['custom_tag_2'] : '';
    $i_custom_tag_3 = isset($i_parameters['custom_tag_3']) ? $i_parameters['custom_tag_3'] : '';
    $i_custom_tag_4 = isset($i_parameters['custom_tag_4']) ? $i_parameters['custom_tag_4'] : '';
    $i_custom_tag_5 = isset($i_parameters['custom_tag_5']) ? $i_parameters['custom_tag_5'] : '';
    $i_result_subjects_detailed = '';
    if (strpos($i_template_body, ETEMPLATE_TAG_RESULT_SUBJECTS_DETAILED) !== false) {
        foreach ($i_result_subjects as $nSubjectID => $arrSubjectInfo) {
            $strSubjectName = getRecordItem($srv_settings['table_prefix'] . 'subjects', 'subject_name', 'subjectid=' . $nSubjectID);
            $rScore = $arrSubjectInfo['total_points'] != 0 ? $arrSubjectInfo['got_points'] / $arrSubjectInfo['total_points'] * 100 : 100;
            $i_result_subjects_detailed .= $strSubjectName . ' - ' . $arrSubjectInfo['got_points'] . '/' . $arrSubjectInfo['total_points'] . ', ' . sprintf("%.1f", $rScore) . '%<br />';
        }
    }
    $nPos1 = 0;
    $nPos2 = 0;
    while ($nPos1 !== false && $nPos2 !== false) {
        $nPos1 = strpos($i_template_body, IGT_TAG_RESULT_SUBJECT_NAME);
        $nPos2 = strpos($i_template_body, IGT_TAG_RESULT_SUBJECT_NAME_CLOSE);
        if ($nPos1 !== false && $nPos2 !== false) {
            $nStartPos = $nPos1 + strlen(IGT_TAG_RESULT_SUBJECT_NAME);
            $nSubjectID = (int) trim(substr($i_template_body, $nStartPos, $nPos2 - $nStartPos));
            if ($nSubjectID > 0) {
                $strSubjectName = getRecordItem($srv_settings['table_prefix'] . 'subjects', 'subject_name', 'subjectid=' . $nSubjectID);
                $i_template_body = substr_replace($i_template_body, $strSubjectName, $nPos1, $nPos2 + strlen(IGT_TAG_RESULT_SUBJECT_NAME_CLOSE) - $nPos1);
            }
        }
    }
    $nPos1 = 0;
    $nPos2 = 0;
    while ($nPos1 !== false && $nPos2 !== false) {
        $nPos1 = strpos($i_template_body, IGT_TAG_RESULT_SUBJECT_POINTS_SCORED);
        $nPos2 = strpos($i_template_body, IGT_TAG_RESULT_SUBJECT_POINTS_SCORED_CLOSE);
        if ($nPos1 !== false && $nPos2 !== false) {
            $nStartPos = $nPos1 + strlen(IGT_TAG_RESULT_SUBJECT_POINTS_SCORED);
            $nSubjectID = (int) trim(substr($i_template_body, $nStartPos, $nPos2 - $nStartPos));
            if ($nSubjectID > 0) {
                $i_template_body = substr_replace($i_template_body, $i_result_subjects[$nSubjectID]['got_points'], $nPos1, $nPos2 + strlen(IGT_TAG_RESULT_SUBJECT_POINTS_SCORED_CLOSE) - $nPos1);
            }
        }
    }
    $nPos1 = 0;
    $nPos2 = 0;
    while ($nPos1 !== false && $nPos2 !== false) {
        $nPos1 = strpos($i_template_body, IGT_TAG_RESULT_SUBJECT_POINTS_POSSIBLE);
        $nPos2 = strpos($i_template_body, IGT_TAG_RESULT_SUBJECT_POINTS_POSSIBLE_CLOSE);
        if ($nPos1 !== false && $nPos2 !== false) {
            $nStartPos = $nPos1 + strlen(IGT_TAG_RESULT_SUBJECT_POINTS_POSSIBLE);
            $nSubjectID = (int) trim(substr($i_template_body, $nStartPos, $nPos2 - $nStartPos));
            if ($nSubjectID > 0) {
                $i_template_body = substr_replace($i_template_body, $i_result_subjects[$nSubjectID]['total_points'], $nPos1, $nPos2 + strlen(IGT_TAG_RESULT_SUBJECT_POINTS_POSSIBLE_CLOSE) - $nPos1);
            }
        }
    }
    $nPos1 = 0;
    $nPos2 = 0;
    while ($nPos1 !== false && $nPos2 !== false) {
        $nPos1 = strpos($i_template_body, IGT_TAG_RESULT_SUBJECT_SCORE);
        $nPos2 = strpos($i_template_body, IGT_TAG_RESULT_SUBJECT_SCORE_CLOSE);
        if ($nPos1 !== false && $nPos2 !== false) {
            $nStartPos = $nPos1 + strlen(IGT_TAG_RESULT_SUBJECT_SCORE);
            $nSubjectID = (int) trim(substr($i_template_body, $nStartPos, $nPos2 - $nStartPos));
            if ($nSubjectID > 0) {
                $rScore = $i_result_subjects[$nSubjectID]['total_points'] != 0 ? $i_result_subjects[$nSubjectID]['got_points'] / $i_result_subjects[$nSubjectID]['total_points'] * 100 : 100;
                $i_template_body = substr_replace($i_template_body, sprintf("%.1f", $rScore), $nPos1, $nPos2 + strlen(IGT_TAG_RESULT_SUBJECT_SCORE_CLOSE) - $nPos1);
            }
        }
    }
    $nPos1 = 0;
    $nPos2 = 0;
    while ($nPos1 !== false && $nPos2 !== false) {
        $nPos1 = strpos($i_template_body, IGT_TAG_RESULT_SUBJECT_GRADE);
        $nPos2 = strpos($i_template_body, IGT_TAG_RESULT_SUBJECT_GRADE_CLOSE);
        if ($nPos1 !== false && $nPos2 !== false) {
            $nStartPos = $nPos1 + strlen(IGT_TAG_RESULT_SUBJECT_GRADE);
            $arrValues = explode(SYSTEM_ARRAY_ITEM_SEPARATOR, trim(substr($i_template_body, $nStartPos, $nPos2 - $nStartPos)));
            $nSubjectID = (int) trim($arrValues[0]);
            $nGScaleID = (int) trim($arrValues[1]);
            if ($nSubjectID > 0) {
                $rScore = $i_result_subjects[$nSubjectID]['total_points'] != 0 ? $i_result_subjects[$nSubjectID]['got_points'] / $i_result_subjects[$nSubjectID]['total_points'] * 100 : 100;
                $arrGrade = calcResultGrade($nGScaleID, $rScore);
                $i_template_body = substr_replace($i_template_body, $arrGrade['name'], $nPos1, $nPos2 + strlen(IGT_TAG_RESULT_SUBJECT_GRADE_CLOSE) - $nPos1);
            }
        }
    }
    $nPos1 = 0;
    $nPos2 = 0;
    while ($nPos1 !== false && $nPos2 !== false) {
        $nPos1 = strpos($i_template_body, IGT_TAG_RESULT_SUBJECT_GRADE_FEEDBACK);
        $nPos2 = strpos($i_template_body, IGT_TAG_RESULT_SUBJECT_GRADE_FEEDBACK_CLOSE);
        if ($nPos1 !== false && $nPos2 !== false) {
            $nStartPos = $nPos1 + strlen(IGT_TAG_RESULT_SUBJECT_GRADE_FEEDBACK);
            $arrValues = explode(SYSTEM_ARRAY_ITEM_SEPARATOR, trim(substr($i_template_body, $nStartPos, $nPos2 - $nStartPos)));
            $nSubjectID = (int) trim($arrValues[0]);
            $nGScaleID = (int) trim($arrValues[1]);
            if ($nSubjectID > 0) {
                $rScore = $i_result_subjects[$nSubjectID]['total_points'] != 0 ? $i_result_subjects[$nSubjectID]['got_points'] / $i_result_subjects[$nSubjectID]['total_points'] * 100 : 100;
                $arrGrade = calcResultGrade($nGScaleID, $rScore);
                $i_template_body = substr_replace($i_template_body, $arrGrade['feedback'], $nPos1, $nPos2 + strlen(IGT_TAG_RESULT_SUBJECT_GRADE_FEEDBACK_CLOSE) - $nPos1);
            }
        }
    }
    if ($i_content_type == 'text/plain') {
        $i_result_grade_feedback = strip_tags(convertTextAreaHTML(false, str_replace("\r", '', str_replace("\n", '', $i_result_grade_feedback))));
        $i_result_subjects_detailed = strip_tags(convertTextAreaHTML(false, str_replace("\r", '', str_replace("\n", '', $i_result_subjects_detailed))));
    }
    if ($i_template_body) {
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_GRADE_FEEDBACK, $i_result_grade_feedback, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_IGIVETEST_URL, $srv_settings['url_root_full'], $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_id, $i_id, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USERNAME, $i_username, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_PASSWORD, $i_password, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CHECKWORD, $i_checkword, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_TITLE, $i_title, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_FIRST_NAME, $i_firstname, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_LAST_NAME, $i_lastname, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_MIDDLE_NAME, $i_middlename, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_email, $i_email, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_ADDRESS, $i_address, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CITY, $i_city, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_STATE, $i_state, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_ZIP, $i_zip, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_COUNTRY, $i_country, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_PHONE, $i_phone, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_FAX, $i_fax, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_MOBILE, $i_mobile, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_PAGER, $i_pager, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_IPPHONE, $i_ipphone, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_WEBPAGE, $i_webpage, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_ICQ, $i_icq, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_MSN, $i_msn, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_AOL, $i_aol, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_GENDER, $i_gender, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_BIRTHDAY, $i_birthday, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_HUSBANDWIFE, $i_husbandwife, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CHILDREN, $i_children, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_TRAINER, $i_trainer, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_PHOTO, $i_photo, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_COMPANY, $i_company, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CPOSITION, $i_cposition, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_DEPARTMENT, $i_department, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_COFFICE, $i_coffice, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CADDRESS, $i_caddress, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CCITY, $i_ccity, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CSTATE, $i_cstate, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CZIP, $i_czip, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CCOUNTRY, $i_ccountry, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CPHONE, $i_cphone, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CFAX, $i_cfax, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CMOBILE, $i_cmobile, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CPAGER, $i_cpager, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CIPPHONE, $i_cipphone, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CWEBPAGE, $i_cwebpage, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_CPHOTO, $i_cphoto, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_USERFIELD1, $i_ufield1, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_USERFIELD2, $i_ufield2, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_USERFIELD3, $i_ufield3, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_USERFIELD4, $i_ufield4, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_USERFIELD5, $i_ufield5, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_USERFIELD6, $i_ufield6, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_USERFIELD7, $i_ufield7, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_USERFIELD8, $i_ufield8, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_USERFIELD9, $i_ufield9, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_USER_USERFIELD10, $i_ufield10, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_TEST_NAME, $i_test_name, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_ID, $i_result_id, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_DATE, $i_result_date, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_TIME_SPENT, $i_result_time_spent, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_TIME_EXCEEDED, $i_result_time_exceeded, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_POINTS_SCORED, $i_result_points_scored, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_POINTS_POSSIBLE, $i_result_points_possible, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_PERCENTS, $i_result_percents, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_GRADE, $i_result_grade, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_SUBJECTS_DETAILED, $i_result_subjects_detailed, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_DETAILED_1, $i_result_detailed_1, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_DETAILED_2, $i_result_detailed_2, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_DETAILED_3, $i_result_detailed_3, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_DETAILED_4, $i_result_detailed_4, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_DETAILED_5, $i_result_detailed_5, $i_template_body);
        $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_DETAILED_6, $i_result_detailed_6, $i_template_body);
        $i_template_body = str_replace(IGT_TAG_CUSTOM_1, $i_custom_tag_1, $i_template_body);
        $i_template_body = str_replace(IGT_TAG_CUSTOM_2, $i_custom_tag_2, $i_template_body);
        $i_template_body = str_replace(IGT_TAG_CUSTOM_3, $i_custom_tag_3, $i_template_body);
        $i_template_body = str_replace(IGT_TAG_CUSTOM_4, $i_custom_tag_4, $i_template_body);
        $i_template_body = str_replace(IGT_TAG_CUSTOM_5, $i_custom_tag_5, $i_template_body);
        $arrResult['attachments'] = array();
        if (strpos($i_template_body, ETEMPLATE_TAG_RESULT_ATTACHMENT_REPORT_PDF) !== false) {
            if (isset($i_parameters['result_id'])) {
                include $DOCUMENT_PAGES . 'getfile-1.inc.php';
                $i_pdf = getAdvancedReportPDF($i_parameters['result_id']);
                if (!empty($i_pdf)) {
                    $i_pdfreport_binary = $i_pdf->Output('report.pdf', 'S');
                }
            }
            if (!empty($i_pdfreport_binary)) {
                array_push($arrResult['attachments'], array('format' => 'string', 'content' => $i_pdfreport_binary, 'filename' => 'report.pdf', 'encoding' => 'base64', 'type' => 'application/pdf'));
            }
            $i_template_body = str_replace(ETEMPLATE_TAG_RESULT_ATTACHMENT_REPORT_PDF, '', $i_template_body);
        }
    }
    $arrResult['body'] = $i_template_body;
    return $arrResult;
}