From b43f5e74c35cf6500a20f91eeea8f07c5277ce5e Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Fri, 20 Jul 2012 16:19:46 +0200 Subject: [PATCH] Removing customselect js library, + cleaning code see #1151 --- main/css/base.css | 29 ++- main/exercice/question_create.php | 68 ++---- .../inc/lib/javascript/jquery.customselect.js | 205 ------------------ 3 files changed, 42 insertions(+), 260 deletions(-) delete mode 100644 main/inc/lib/javascript/jquery.customselect.js diff --git a/main/css/base.css b/main/css/base.css index 04fba5b4c9..4addc6aeda 100644 --- a/main/css/base.css +++ b/main/css/base.css @@ -4249,7 +4249,32 @@ li.annoucement{ padding: 9px 0; } - .nav-list img { margin-right: 6px; -} \ No newline at end of file +} + +select#question_type_hidden option { + padding: 10px 0px 10px 40px; + background-repeat:no-repeat; +} + +select#question_type_hidden option[value="1"] {background-image: url(../img/icons/32/mcua.gif);} +select#question_type_hidden option[value="2"] {background-image: url(../img/icons/32/mcma.gif);} +select#question_type_hidden option[value="3"] {background-image: url(../img/icons/32/fill_in_blanks.gif);} +select#question_type_hidden option[value="4"] {background-image: url(../img/icons/32/matching.gif);} +select#question_type_hidden option[value="5"] {background-image: url(../img/icons/32/open_answer.gif);} +select#question_type_hidden option[value="6"] {background-image: url(../img/icons/32/hotspot.gif);} + +select#question_type_hidden option[value="7"] {background-image: url(../img/icons/32/mcma.gif);} +select#question_type_hidden option[value="8"] {background-image: url(../img/icons/32/mcma.gif);} + +select#question_type_hidden option[value="9"] {background-image: url(../img/icons/32/mcmac.gif);} +select#question_type_hidden option[value="10"] {background-image: url(../img/icons/32/mcuao.gif);} +select#question_type_hidden option[value="11"] {background-image: url(../img/icons/32/mcmao.gif);} +select#question_type_hidden option[value="12"] {background-image: url(../img/icons/32/mcmaco.gif);} +select#question_type_hidden option[value="13"] {background-image: url(../img/icons/32/audio_question.png);} +select#question_type_hidden option[value="14"] {background-image: url(../img/icons/32/mcmagl.gif);} + + + + diff --git a/main/exercice/question_create.php b/main/exercice/question_create.php index 3c35a81b33..44dbbcd3e8 100644 --- a/main/exercice/question_create.php +++ b/main/exercice/question_create.php @@ -34,10 +34,12 @@ $form = new FormValidator('add_question','post',api_get_self().'?'.api_get_cidre // form title $form->addElement('header','',get_lang('AddQuestionToExercise')); -// the question types (jquery form element) -$form->addElement('hidden', 'question_type_hidden', get_lang('QuestionType'), array('id'=>'question_type_hidden')); -$form->addElement('static','',''); -$form->addElement('static','select_question_type', get_lang('QuestionType'),'
'); +$question_list = Question::get_question_type_list(); +$question_list_options = array(); +foreach ($question_list as $key=> $value) { + $question_list_options[$key] = addslashes(get_lang($value[1])); +} +$form->addElement('select', 'question_type_hidden', get_lang('QuestionType'), $question_list_options, array('id' => 'question_type_hidden')); //session id $session_id = api_get_session_id(); @@ -61,25 +63,20 @@ $form->addElement('checkbox', 'is_content', null, get_lang('DefaultContent'), ar $form->addElement('style_submit_button', 'SubmitCreateQuestion', get_lang('CreateQuestion'), 'class="add"'); // setting the rules -// $form->addRule('question_type', '
'.get_lang('ThisFieldIsRequired'), 'required'); $form->addRule('exercice', get_lang('ThisFieldIsRequired'), 'required'); $form->addRule('exercice', get_lang('YouHaveToSelectATest'), 'numeric'); + $form->registerRule('validquestiontype', 'callback', 'check_question_type'); $form->addRule('question_type_hidden', get_lang('InvalidQuestionType'), 'validquestiontype'); if ($form->validate()) { $values = $form->exportValues(); - $question_list = Question::get_question_type_list(); - foreach ($question_list as $question_type_id => $question_type_class_and_name) { - if (get_lang($question_type_class_and_name[1]) == $values['question_type_hidden']) { - $answer_type = $question_type_id; - } - } - + $answer_type = $values['question_type_hidden']; + // check feedback_type from current exercise for type of question delineation $exercise_id = intval($values['exercice']); $sql = "SELECT feedback_type FROM $tbl_exercices WHERE c_id = $course_id AND id = '$exercise_id'"; - $rs_feedback_type = Database::query($sql,__FILE__,__LINE__); + $rs_feedback_type = Database::query($sql); $row_feedback_type = Database::fetch_row($rs_feedback_type); $feedback_type = $row_feedback_type[0]; @@ -88,8 +85,7 @@ if ($form->validate()) { ($feedback_type == 1 && ($answer_type != HOT_SPOT_DELINEATION && $answer_type != UNIQUE_ANSWER))) { header('Location: question_create.php?'.api_get_cidreq().'&error=true'); exit; - } - + } header('Location: admin.php?exerciseId='.$values['exercice'].'&newQuestion=yes&isContent='.$values['is_content'].'&answerType='.$answer_type); exit; } else { @@ -106,49 +102,15 @@ if ($form->validate()) { // footer Display::display_footer(); } -?> - -$value) { - $valid_question_types[] = get_lang($value[1]); - //$valid_question_types[] = trim($value[1]); - } + foreach ($question_list as $key => $value) { + $valid_question_types[] = $key; + } if (in_array($parameter, $valid_question_types)) { return true; } else { return false; } -} +} \ No newline at end of file diff --git a/main/inc/lib/javascript/jquery.customselect.js b/main/inc/lib/javascript/jquery.customselect.js deleted file mode 100644 index 2541fb3769..0000000000 --- a/main/inc/lib/javascript/jquery.customselect.js +++ /dev/null @@ -1,205 +0,0 @@ - -//select表示select本身,view表示跳出的�?�項 -;(function($){ - - $.fn.extend({ - - //計算文字Byte數,並回傳 - getByteLength: function(strIN){ - var i, cnt=0; - - for (i=0; i= 4) cnt+=2; - else cnt++; - } - - return cnt; - } - - }); - - $.fn.extend({ - - //檢查文字的Byte數,超�?�limit指定的個數的話,就回傳true 和 未超�?�之�?的文字index - getIndexByByte: function(strIN,limit){ - var i, cnt=0; - - for (i=0; i= 4) cnt+=2; - else cnt++; - - if(cnt>limit) - { - return [true,i]; - } - } - - return false; - } - - }); - - $.fn.extend({ - - finalselect: function(options) { - - var settings = - { - id:null, - animalSpeed:100, - selectWidth:"190px", - selectImage:"image/select.png", - selectText:"My friend", - zIndex: 0, - viewHeight:"100px", - viewWidth:"300px", - viewMouseoverColor:"#cfdfff",//#dcdcdc - viewTop:"28px",//top,bottom - viewLeft:" -1px"//left,right - }; - - - if (typeof(options)!='undefined') - { - //將整批options的值assign給settings - jQuery.extend(settings, options); - } - - var tmp='
' - tmp+='
'; - tmp+='
'+settings.selectText+'
'; - - - - var _handler = function() { - // 從這裡開始 - $(this).html(tmp); - bindArrowClick(); - bindSelectMouseover(); - bindSelectMouseleave(); - - }; - - - - var bindArrowClick=function(){ - var tmp=$('#'+settings.id+'-Text'); - $("#"+settings.id+'-Text').bind("click", function(e){ - var obj=$('#'+settings.id+'-selectshow'); - if(obj.css('display')=='none') - { - // obj.slide(); - obj.slideDown(settings.animalSpeed,function(){ - obj.show(); - obj.css('overflow','auto'); - obj.css('overflow-x','hidden'); - }); - } - else - { - obj.slideUp(settings.animalSpeed,function(){ - obj.hide(); - }); - } - - }); - }; - - var bindItemMouseover=function(){ - - var inx=0; - while($(".selectitem",$("#"+settings.id+"-selectshow")).get(inx)!=null) - { - var item=$(".selectitem",$("#"+settings.id+"-selectshow")).get(inx); - - $(item).bind("mouseover", function(e){ - $(this).css('background-color',settings.viewMouseoverColor); - }); - - $(item).bind("mouseout", function(e){ - $(this).css('background-color','#fff'); - }); - - $(item).bind("click", function(e){ - - var tmpstr=$(".thistext",$(this)).html(); - var arr=$().getIndexByByte(tmpstr,30); - if(arr[0]==true) - tmpstr=tmpstr.substring(0,arr[1])+'...'; - - $(".textshow",$("#"+settings.id+"-Text")).html(tmpstr); - document.getElementById(settings.id+'-selectshow').style.display="none"; - - $(".valueshow",$("#"+settings.id+"-Text")).html($(".selectvalue",$(this)).html()); - - }); - - inx++; - } - - } - - var bindSelectMouseover=function(){ - $('#'+settings.id+'-Text').bind("mouseover",function(){ - if($.browser.msie==false) - $('#'+settings.id+'-Text').css("background-position","0 -21px"); - }); - } - - var bindSelectMouseleave=function(){ - $('#'+settings.id+'-Text').bind("mouseout",function(){ - if($.browser.msie==false) - $('#'+settings.id+'-Text').css("background-position","0 0px"); - }); - } - - this.setViewTop = function(top){ - $('#'+settings.id+'-selectshow').css('top',top+'px'); - } - - this.setViewLeft = function(left){ - $('#'+settings.id+'-selectshow').css('left',left+'px'); - } - - this.getLength = function(){ - return $('.selectitem',$('#'+settings.id+'-selectshow')).length; - } - - - //add item到select裡�?� - //在傳itemtext時,用包起�?顯示的 "文字" - //例如:哇哈哈,這樣select�?�擇後,就會顯示 "哇哈哈" - this.addItem = function(itemtext,itemvalue){ - - var itemhtml='
'+itemtext - +'
'+itemvalue+'
'; - - $("#"+settings.id+'-selectshow').html($("#"+settings.id+'-selectshow').html()+itemhtml); - - bindItemMouseover(); - }; - - this.removeItem = function(index){ - if($('.selectitem',$('#'+settings.id+'-selectshow')).length>index) - $($('.selectitem',$('#'+settings.id+'-selectshow')).get(index)).remove(); - if($('.selectborder',$('#'+settings.id+'-selectshow')).length>index) - $($('.selectborder',$('#'+settings.id+'-selectshow')).get(index)).remove(); - } - - - - this.getValue = function(){ - return $('.valueshow',$('#'+settings.id+'-Text')).html(); - } - - this.getText = function(){ - return $('.textshow',$('#'+settings.id+'-Text')).html(); - } - - - return this.each(_handler); - } - - }); - -})(jQuery); \ No newline at end of file