コード例 #1
0
    function JQ_SeekQuestion_nojs()
    {
        global $JLMS_DB, $my, $option, $Itemid, $JLMS_CONFIG;
        $ret_str = '';
        $quiz_id = intval(mosGetParam($_REQUEST, 'quiz', 0));
        $inside_lp = intval(mosGetParam($_REQUEST, 'inside_lp', 0));
        $QA = new JLMS_quiz_API($quiz_id, $inside_lp);
        if (!$QA->quiz_valid()) {
            return '';
        }
        $id = intval(mosGetParam($_REQUEST, 'id', 0));
        $quest_num = intval(mosGetParam($_REQUEST, 'quest_num', 0));
        $stu_quiz_id = intval(mosGetParam($_REQUEST, 'stu_quiz_id', 0));
        $seek_quest_id = intval(mosGetParam($_REQUEST, 'seek_quest_id', 0));
        $user_unique_id = strval(mosGetParam($_REQUEST, 'user_unique_id', ''));
        $QA->set('stu_quiz_id', $stu_quiz_id);
        $QA->set('user_unique_id', $user_unique_id);
        $QA->quiz_ProcessStartData();
        // fill in start_valid private variable
        ?>
		<form action='<?php 
        echo ampReplace($JLMS_CONFIG->get('live_site') . "/index.php?option={$option}&Itemid={$Itemid}");
        ?>
' method='post' name='quest_form'>
		<?php 
        if ($QA->start_valid() && $seek_quest_id) {
            $quiz = $QA->quiz_data;
            // temporary for compatibility
            if ($QA->time_is_up()) {
                return JLMS_quiz_ajax_class::JQ_TimeIsUp_nojs($quiz);
            }
            $q_data = $QA->quiz_Get_QuestionList();
            $kol_quests = count($q_data);
            $seek_avail = false;
            $i = 0;
            foreach ($q_data as $qd) {
                if ($qd->c_id == $seek_quest_id) {
                    $seek_avail = true;
                    break;
                }
                $i++;
            }
            if ($seek_avail) {
                // if Seek question from the current quiz
                $quest_num = $i + 1;
                // number of question in the quiz sequence
                global $JLMS_LANGUAGE, $JLMS_CONFIG;
                JLMS_require_lang($JLMS_LANGUAGE, 'quiz.lang', $JLMS_CONFIG->get('default_language'));
                //require(_JOOMLMS_FRONT_HOME . "/languages/".$JLMS_CONFIG->get('default_language').'/quiz.lang.php');
                require _JOOMLMS_FRONT_HOME . '/includes/quiz/quiz_language.php';
                global $jq_language;
                if ($quiz->c_wrong_message) {
                    $jq_language['quiz_answer_incorrect'] = htmlspecialchars(nl2br($quiz->c_wrong_message));
                }
                if ($quiz->c_right_message) {
                    $jq_language['quiz_answer_correct'] = htmlspecialchars(nl2br($quiz->c_right_message));
                }
                $cur_tmpl = 'joomlaquiz_lms_template';
                if ($cur_tmpl) {
                    require_once dirname(__FILE__) . '/templates/' . $cur_tmpl . '/jq_template.php';
                    if (isset($q_data[$i])) {
                        $query = "SELECT a.*, b.lpath_id FROM #__lms_learn_path_step_quiz_results as a, #__lms_learn_path_steps as b WHERE a.stu_quiz_id = '" . $stu_quiz_id . "' AND a.step_id = b.id";
                        $JLMS_DB->setQuery($query);
                        $this_lpath = $JLMS_DB->LoadObject();
                        $toolbar = array();
                        if (isset($this_lpath->stu_quiz_id) && $this_lpath->stu_quiz_id == $stu_quiz_id) {
                            if ($q_data[$i]->c_type == 10) {
                                if (isset($q_data[$j]->c_slide) && $q_data[$j]->c_slide) {
                                    $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => $quest_num, 'quest_score' => $q_data[$i]->c_point, 'img_btn' => 'btn_start.png', 'text_btn' => _JLMS_NEXT_ALT_TITLE, 'link_cont' => '&task=show_lpath_nojs&action=contents_lpath&course_id=' . $id . '&id=' . $this_lpath->lpath_id . '&stu_quiz_id=' . $stu_quiz_id . '&user_unique_id=' . $this_lpath->unique_id . '&step_id=' . $this_lpath->step_id . '&user_start_id=' . $this_lpath->start_id . '&quest_id=' . $seek_quest_id . '&quiz_id=' . $quiz_id . '&stu_quiz_id=' . $stu_quiz_id . '');
                                } else {
                                    $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => $quest_num, 'quest_score' => $q_data[$i]->c_point, 'img_btn' => 'btn_start.png', 'text_btn' => _JLMS_NEXT_ALT_TITLE);
                                }
                            } else {
                                if (isset($q_data[$j]->c_slide) && $q_data[$j]->c_slide) {
                                    $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => $quest_num, 'quest_score' => $q_data[$i]->c_point, 'img_btn' => 'btn_complete.png', 'text_btn' => _JLMS_OK_ALT_TITLE, 'link_cont' => '&task=show_lpath_nojs&action=contents_lpath&course_id=' . $id . '&id=' . $this_lpath->lpath_id . '&stu_quiz_id=' . $stu_quiz_id . '&user_unique_id=' . $this_lpath->unique_id . '&step_id=' . $this_lpath->step_id . '&user_start_id=' . $this_lpath->start_id . '&quest_id=' . $seek_quest_id . '&quiz_id=' . $quiz_id . '&stu_quiz_id=' . $stu_quiz_id . '');
                                } else {
                                    $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => $quest_num, 'quest_score' => $q_data[$i]->c_point, 'img_btn' => 'btn_complete.png', 'text_btn' => _JLMS_OK_ALT_TITLE);
                                }
                            }
                        } else {
                            if ($q_data[$i]->c_type == 10) {
                                if (isset($q_data[$j]->c_slide) && $q_data[$j]->c_slide) {
                                    $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => $quest_num, 'quest_score' => $q_data[$i]->c_point, 'img_btn' => 'btn_start.png', 'text_btn' => _JLMS_NEXT_ALT_TITLE, 'link_cont' => '&task=quiz_action&atask=contents&id=' . $id . '&quiz=' . $quiz_id . '&stu_quiz_id=' . $stu_quiz_id . '&user_unique_id=' . $user_unique_id . '&quest_id=' . $seek_quest_id . '');
                                } else {
                                    $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => $quest_num, 'quest_score' => $q_data[$i]->c_point, 'img_btn' => 'btn_start.png', 'text_btn' => _JLMS_NEXT_ALT_TITLE);
                                }
                            } else {
                                if (isset($q_data[$j]->c_slide) && $q_data[$j]->c_slide) {
                                    $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => $quest_num, 'quest_score' => $q_data[$i]->c_point, 'img_btn' => 'btn_complete.png', 'text_btn' => _JLMS_OK_ALT_TITLE, 'link_cont' => '&task=quiz_action&atask=contents&id=' . $id . '&quiz=' . $quiz_id . '&stu_quiz_id=' . $stu_quiz_id . '&user_unique_id=' . $user_unique_id . '&quest_id=' . $seek_quest_id . '');
                                } else {
                                    $toolbar[] = array('kol_quests' => $kol_quests, 'num_quest' => $quest_num, 'quest_score' => $q_data[$i]->c_point, 'img_btn' => 'btn_complete.png', 'text_btn' => _JLMS_OK_ALT_TITLE);
                                }
                            }
                        }
                        echo JLMS_quiz_ajax_class::JQ_toolbar_nojs($toolbar, $q_data[$i]->c_type, 1);
                        echo JLMS_quiz_ajax_class::JQ_GetQuestData_nojs($q_data[$i], $jq_language, $QA->get('stu_quiz_id', 0));
                    }
                }
                ?>
				<input type='hidden' name='stu_quiz_id' value='<?php 
                echo $stu_quiz_id;
                ?>
'/>
				<input type='hidden' name='user_unique_id' value='<?php 
                echo $user_unique_id;
                ?>
'/>
				
				<input type='hidden' name='atask' value='next'/>
				<input type='hidden' name='quiz' value='<?php 
                echo $quiz_id;
                ?>
'/>
				<input type='hidden' name='task' value='quiz_action'/>
				<input type='hidden' name='id' value='<?php 
                echo $id;
                ?>
'/>
				<input type='hidden' name='option' value='<?php 
                echo $option;
                ?>
'/>
				<?php 
            }
        }
        ?>
		</form>
		
		<?php 
        //		return $ret_str;
    }