Esempio n. 1
0
function JLMS_showSpecRegPage($option, $course_id)
{
    global $my, $JLMS_DB, $JLMS_CONFIG, $Itemid;
    if ($JLMS_CONFIG->get('course_spec_reg', 0) && $JLMS_CONFIG->get('current_usertype') == 2) {
        $pathway = array();
        $pathway[] = array('name' => _JLMS_PATHWAY_HOME, 'link' => sefRelToAbs("index.php?option={$option}&Itemid={$Itemid}"), 'is_home' => true);
        JLMSAppendPathWay($pathway);
        JLMS_ShowHeading($JLMS_CONFIG->get('jlms_heading'));
        $query = "SELECT tip_message FROM #__lms_page_tips WHERE tip_task = 'pre_enrollment'";
        $JLMS_DB->SetQuery($query);
        $tip = $JLMS_DB->LoadResult();
        JLMS_TMPL::RenderPageTip($tip);
        $JLMS_ACL =& JLMSFactory::getACL();
        $sr_role = intval($JLMS_ACL->GetRole(1));
        $query = "SELECT role_id, id, course_question, is_optional, default_answer FROM #__lms_spec_reg_questions WHERE course_id = {$course_id} AND (role_id = 0 OR role_id = {$sr_role}) ORDER BY role_id DESC, ordering";
        $JLMS_DB->SetQuery($query);
        $sr_quests = $JLMS_DB->LoadObjectList();
        if (!empty($sr_quests)) {
            if ($JLMS_CONFIG->get('use_secure_enrollment', false) && $JLMS_CONFIG->get('secure_url') && !$JLMS_CONFIG->get('under_ssl', false)) {
                JLMSRedirect($JLMS_CONFIG->get('secure_url') . "/index.php?option=com_joomla_lms&Itemid={$Itemid}&task=spec_reg&id={$course_id}");
            }
            require_once _JOOMLMS_FRONT_HOME . '/includes/classes/lms.cb_join.php';
            $all_cb_f = JLMSCBJoin::get_Assocarray();
            foreach ($all_cb_f as $cbf) {
                $tstr = '#' . $cbf . '#';
                $ijk = 0;
                while ($ijk < count($sr_quests)) {
                    $tmp = $sr_quests[$ijk]->default_answer;
                    $first_pos = strpos($tmp, $tstr);
                    if ($first_pos !== false) {
                        $c = JLMSCBJoin::getASSOC($cbf);
                        $sr_quests[$ijk]->default_answer = str_replace($tstr, $c, $tmp);
                    }
                    $ijk++;
                }
            }
            $sr_role = $sr_quests[0]->role_id;
            $sr_ids = array();
            $prepared_questions = array();
            foreach ($sr_quests as $srq) {
                if ($srq->role_id == $sr_role) {
                    $sr_ids[] = $srq->id;
                    $srq->is_answered = 0;
                    $prepared_questions[] = $srq;
                }
            }
            if (!empty($sr_ids)) {
                $sr_idss = implode(',', $sr_ids);
                $query = "SELECT * FROM #__lms_spec_reg_answers WHERE course_id = {$course_id} AND user_id = {$my->id} AND role_id = {$sr_role} AND quest_id IN ({$sr_idss})";
                $JLMS_DB->SetQuery($query);
                $sr_answs = $JLMS_DB->LoadObjectList();
                foreach ($sr_answs as $sra) {
                    $i = 0;
                    while ($i < count($prepared_questions)) {
                        if ($prepared_questions[$i]->id == $sra->quest_id && $prepared_questions[$i]->role_id == $sra->role_id) {
                            $prepared_questions[$i]->default_answer = $sra->user_answer;
                            if ($sra->user_answer) {
                                $prepared_questions[$i]->is_answered = 1;
                            }
                        }
                        $i++;
                    }
                }
            }
            joomla_lms_html::showSR_page($option, $course_id, $prepared_questions);
        } else {
            JLMSRedirect(sefRelToAbs("index.php?option={$option}&Itemid={$Itemid}"));
        }
    } else {
        JLMSRedirect(sefRelToAbs("index.php?option={$option}&Itemid={$Itemid}"));
    }
}