/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ var gQzCfg=new Object(); var gQzSortable=new Object(); var IdExoEnCours=''; var AdminReponse=false; var ExoNbEssai=new Object(); var RVGQuizInfo=new Object(); var gTabImage2Map=new Array(); RVGQuizInfo['TabExoTrous']=new Object(); RVGQuizInfo['ImageQzAdmin']=new Object(); function Data2URL(Data) { var ArrVal=[]; $.each( Data, function( IdProp, value ) { ArrVal[ArrVal.length]=IdProp+"="+value; }); return ArrVal.join('&') } function RQZAlert(oRepInfo) { bootstrap_alert(oRepInfo.Text,(oRepInfo.hasOwnProperty('InfoReponse'))?((oRepInfo.InfoReponse.hasOwnProperty('BSAlertClass'))?oRepInfo.InfoReponse.BSAlertClass:''):''); if(oRepInfo.bShowRep){ RespShow(oRepInfo); } if(oRepInfo.QZDesactive) { if(oRepInfo.InfoReponse.hasOwnProperty('NO_OK')) { IcoEvQCM='RESP_QCMG_'+oRepInfo.IdExo; if($('#'+IcoEvQCM)[0]){ $("#"+IcoEvQCM).removeClass('RvgQRespNO RvgQRespOK RvgQRespNO_CHK' ); $("#"+IcoEvQCM).addClass('RvgQResp'+oRepInfo.InfoReponse.NO_OK); } } QZSetDisable(oRepInfo,true); } } function QZSetDisable(oRepInfo,bDisabled) { //console.log(oRepInfo); //id="train" : div container $("#train"+oRepInfo.IdExo+" :input").not(".BtGoodRepHide").prop("disabled", bDisabled); switch(oRepInfo.TypeQcm) { case 'DISPATCH': if(oDispatch.hasOwnProperty(oRepInfo.IdExo))oDispatch[oRepInfo.IdExo].disable(bDisabled); break; } } function RQZbugde(v,bForce) { if(bForce==undefined)bForce=false; if(gQzCfg.Debug || bForce){console.log(v);} } function QzGlobalOptionInit() { gQzCfg.Debug=false; gQzCfg.ModeAdmin=''*1; gQzCfg.ModeAuteur=''*1; gQzCfg.classTblChkR='QZTblChckR'; gQzCfg.AttrTblChkR='QZTblChckR'; gQzCfg.TableCheckAttr=(gQzCfg.ModeAdmin||gQzCfg.ModeAuteur)?'QzTBAttChGR':'QzTBAttCh'; } function QuizzValuesGet(Reference,Type,IdQCM) { var oRep=new Object(); var sRep=""; switch(Type) { case "TABLECHECK": /*if(AdminReponse) {*/ //RQZbugde(gQzTableInputValGet(IdQCM)); //RQZbugde(JSON.stringify(gQzTableInputValGet(IdQCM))); return JSON.stringify(gQzTableInputValGet(IdQCM)); /*}*/ break; case "IMAGE": RQZbugde(Reference); if(AdminReponse) { var CanvasDim=new Object(); $('textarea[name='+Reference+']').each(function() { //OCGAdminSetRightAns RQZbugde(this.id); TbInf=this.id.split('_'); $("#QZImgDiv"+TbInf[2]).find("canvas").each(function() { CanvasDim.ImgWidth= this.offsetWidth; CanvasDim.ImgHeight= this.offsetHeight; }) CanvasDim.area=this.value // On enregistre les dimension de l'image et le canvas // CanvasDim= {ImgWidth:jargeur de l'image;ImgHeight:hauteurde l'image,area :zone polygone (x1,y1,x2,y2 ....xn,yn)} oRep[this.id]=JSON.stringify( CanvasDim); }); return JSON.stringify( oRep); } else { RQZbugde(Reference); $('input[name='+Reference+']').each(function() { oRep[this.id]=this.value; }); RQZbugde(oRep); } return JSON.stringify( oRep); break; case "OUINON": case "VRAIFAUX": case "QCM1CHOIX": case "QCMMCHOIX": $('input[name='+Reference+']').each(function() { oRep[this.id]=this.checked; }); return JSON.stringify( oRep); break; case "TEXT" : case "TEXT_MULTI" : $('input[name='+Reference+']').each(function() { oRep[this.id]=this.value; }); return JSON.stringify( oRep); case "TEXTLONG" : $('textarea[name='+Reference+']').each(function() { oRep[this.id]=this.value; }); return JSON.stringify( oRep); break; case "TABLE" : LstOrder=$('#RvgSortableLst'+IdQCM).sortable('toArray'); for(i=0;i ' ); var JsData=new Object(); JsData.sAction='QUIZZ_LOAD' JsData.times= new Date().getTime(); JsData.IdQz= IdQz; JsData.IdCombi= IdCombi; JsData.IdSession= IdSession; var Tmp=BASE_URL + "/RvgQuizz/BasicRvgQuizz.php?"+Data2URL(JsData); console.log(Tmp); $.ajax({ type: "POST", encoding: "UTF-8", url: BASE_URL + "/RvgQuizz/BasicRvgQuizz.php", //$AdminReponse,$IdExo,$Type,$IdPropositoin,$Value,$ExoNbEssai data: JsData, success: function (responseText) { InfoRep=JSON.parse(responseText); console.log(InfoRep); $('#'+IdDest).html(InfoRep.html); $('#'+IdDest).css({'min-height':''}); RQZbugde(InfoRep.DEBUG); if(InfoRep.JS!=''){eval(InfoRep.JS)} return; }, error: function (resultat, statut, erreur) { var output = ''; for (var property in resultat) { output += "\n##"+property + ': ' + resultat[property]+'; '; } alert("QCMReload error\n" + resultat + "("+output+")\nStatut : " + statut + "\nErreur :" + erreur); } }); return; } function RespHide(Id) { $('#RESP'+Id).toggle(); } function RespShow(oRepInfo) { // Standardo if(IdLastResp!=0) { RespHide(IdLastResp); if(bDivRespTxt) {if($('#RESP'+IdLastResp)[0]){$('#RESP'+IdLastResp)[0].style.display='none';}} } IdLastResp=oRepInfo.IdExo; if($('#RESP_TEXT'+IdLastResp)[0]) { if($('#RESP_TEXT'+IdLastResp).html()!='') { if($('#RESP'+oRepInfo.IdExo)[0]){$('#RESP'+oRepInfo.IdExo)[0].style.display='';} } } //Spécifique RQZbugde(oRepInfo) switch(oRepInfo.TypeQcm) { case "IMAGE" : // Montrer les zones RQZbugde(gTabImage2Map[oRepInfo.IdExo].join(";\n")); eval(gTabImage2Map[oRepInfo.IdExo].join(";\n")); break; case 'OUINON': // Réponse par vrai ou faux case 'VRAIFAUX': // Réponse par vrai ou faux case 'QCM1CHOIX' : // QCM un choix case 'TABLE': // Tableau de réponses case 'QCMMCHOIX' : // QCM plusieurs choix RQZbugde(oRepInfo.InfoReponse.DETAIL[oRepInfo.IdExo]); $.each(oRepInfo.InfoReponse.DETAIL[oRepInfo.IdExo], function(index, PropRes) { RQZbugde(PropRes); if( PropRes['RIGHT']=='1') { if($('#'+PropRes['ELMNT'])[0]) { RQZbugde(PropRes['ELMNT']+" Addclass(RightAnswrClass)"); $("[for="+PropRes['ELMNT']+"]").addClass('RightAnswrClass'); //$('#'+PropRes['ELMNT']).next("label") } } }); break; } } function QuizzAdminSave(bAd,Reference,Type,IdExo) { switch(Type) { case "TABLECHECK": if(bAd) { QCMInfoGet(IdExo); //return JSON.stringify(gQzTableInputValGet(IdQCM)); } break; case "IMAGE": case "OUINON": case "VRAIFAUX": case "QCM1CHOIX": case "QCMMCHOIX": case "TEXT" : case "TEXT_MULTI" : case "TEXTLONG" : case "TABLE" : break; } } function TABLECHECKSetTable(sId,sTable) { var JsData=new Object(); JsData.sAction='TABLECHECKSetTable' JsData.times= new Date().getTime(); JsData.sId= sId;// var regTB = new RegExp(gQzCfg.classTblChkR,"g"); JsData.sTable=sTable.replace(regTB, ""); JsData.IdSession= IdSession; $.ajax({ type: "POST", encoding: "UTF-8", url: BASE_URL + "/RvgQuizz/BasicRvgQuizz.php", data: JsData, success: function (responseText) { RQZbugde(responseText); return; }, error: function (resultat, statut, erreur) { var output = ''; for (var property in resultat) { output += "\n##"+property + ': ' + resultat[property]+'; '; } alert("LangueAjoutetexte error\n" + resultat + "("+output+")\nStatut : " + statut + "\nErreur :" + erreur); } }); } function QCMInfoGet(IdExo) { var JsData=new Object(); JsData.sAction='QCM_INFO_GET' JsData.times= new Date().getTime(); JsData.IdExo= IdExo; JsData.IdSession= IdSession; $.ajax({ type: "POST", encoding: "UTF-8", url: BASE_URL + "/RvgQuizz/BasicRvgQuizz.php", //$AdminReponse,$IdExo,$Type,$IdPropositoin,$Value,$ExoNbEssai data: JsData, success: function (responseText) { RQZbugde(responseText); InfoRep=JSON.parse(responseText); for (var property in InfoRep['PROP']) { sId=InfoRep['PROP'][property]['ID_TEXTE_DESCRIPTION']; //sId=property['ID_TEXTE_DESCRIPTION']; if($('#ID_SpanTxt'+sId)[0]){ TABLECHECKSetTable(sId,encode_utf8($('#ID_SpanTxt'+sId).html())); } } return; }, error: function (resultat, statut, erreur) { var output = ''; for (var property in resultat) { output += "\n##"+property + ': ' + resultat[property]+'; '; } alert("LangueAjoutetexte error\n" + resultat + "("+output+")\nStatut : " + statut + "\nErreur :" + erreur); } }); } function OCGExerciceVerifier(IdExo,Type,Reference,NbEssaiMax) { gQzCfg.Debug=true; var Values=QuizzValuesGet(Reference,Type,IdExo); if(IdExoEnCours!=IdExo){ IdExoEnCours=IdExo; } if(!ExoNbEssai.hasOwnProperty(IdExoEnCours)) ExoNbEssai[IdExoEnCours]=1; else ExoNbEssai[IdExoEnCours]++; if(ExoNbEssai[IdExoEnCours]>NbEssaiMax) { RQZAlert(TextRepGet(IdExo,Type,false,ExoNbEssai[IdExoEnCours],NbEssaiMax,InfoReponse=new Object())); //RQZAlert(oLangTxt['QZSYS_REP_TENTATIVES_MAX']); //RespShow(IdExo); return; } var AllFormValues=new Object(); $("form[name='RQZ_FORM_"+IdExo+"']").each(function (index ) { AllFormValues[$(this).attr('id')]=$(this).serialize(); }); var JsData=new Object(); JsData.IdSession= IdSession; JsData.sAction='QCM_CHECK_ANSWER' JsData.times= new Date().getTime(); JsData.IdExo= IdExo; JsData.AllFormValues=JSON.stringify( AllFormValues); JsData.Type = Type ; JsData.Values = (Values) ; JsData.ExoNbEssai = ExoNbEssai[IdExoEnCours] ; sData='&IdSession='+ IdSession; sData+='&sAction=QCM_CHECK_ANSWER'; sData+='×='+ new Date().getTime(); sData+='&AdminReponse='+((AdminReponse)?'ADMIN':''); sData+='&IdExo='+ IdExo; sData+='&Type='+ Type ; sData+='&Values='+ (Values) ; sData+='&ExoNbEssai='+ExoNbEssai[IdExoEnCours] ; sData+='&AllFormValues='+JSON.stringify( AllFormValues); BgURL=BASE_URL + "/RvgQuizz/BasicRvgQuizz.php?"+sData; RQZbugde(BgURL,true); // Remette le mode non admin AdminReponse=false; $.ajax({ type: "POST", encoding: "UTF-8", url: BASE_URL + "/RvgQuizz/BasicRvgQuizz.php", //$AdminReponse,$IdExo,$Type,$IdPropositoin,$Value,$ExoNbEssai data: JsData, success: function (responseText) { InfoRep=JSON.parse(responseText); console.log("OCGExerciceVerifier"); console.log(responseText); RQZbugde(InfoRep,true); AdminReponse=false; //TbRep=responseText.split('<##>'); for(var IdPropal in InfoRep.RepByProposit) { InfoRep.RepByProposit[IdPropal]['result']; RQZbugde("IdPropal : "+IdPropal); $("#RESP_EVAL"+IdPropal).removeClass('RvgQRespNO RvgQRespOK RvgQRespEMPTY' ); $("#RESP_EVAL"+IdPropal).addClass(InfoRep.RepByProposit[IdPropal]['class']); } if(JsData.AdminReponse) { alert(oLangTxt['QZSYS_REP_SAVED']); } else { switch(InfoRep['NO_OK']) { case "OK" : RQZAlert(TextRepGet(IdExo,Type,true,ExoNbEssai[IdExoEnCours],NbEssaiMax,InfoRep)); break; case "NO_CHK" : RQZAlert({'Text':oLangTxt['QZSYS_REP_SAVED'],'bShowRep':true,QZDesactive:false}); break; default: /*if(ExoNbEssai[IdExoEnCours]>=NbEssaiMax) {*/ //RQZAlert(oLangTxt['QZSYS_REP_EPUISE']); RQZAlert(TextRepGet(IdExo,Type,false,ExoNbEssai[IdExoEnCours],NbEssaiMax,InfoRep)); return; /* } else { RQZAlert(oLangTxt['QZSYS_REP_TENTATIVES'].replace('%NUM_TENTATIVE%',ExoNbEssai[IdExoEnCours]));//ExoNbEssai[IdExoEnCours] }*/ break; } } return; }, error: function (resultat, statut, erreur) { var output = ''; for (var property in resultat) { output += "\n##"+property + ': ' + resultat[property]+'; '; } alert("LangueAjoutetexte error\n" + resultat + "("+output+")\nStatut : " + statut + "\nErreur :" + erreur); } }); } function TextRepGet(IdExo,TypeQcm,bCorrect,iNbEssais,iMaxEssais,InfoReponse) { // oLangTxt objet des textes de réponses TYPE='REP'; // Provisoirement on force au générique; il faudra créer des variantes pour tous les types d'exercices maxTxt=5; maxTxtRefaire=10; iTxtRep=Math.floor(Math.random() * Math.floor(maxTxt+1)) sCorrct=(bCorrect)?'OK':'NO'; bDerEssai=(ExoNbEssai[IdExoEnCours]>=iMaxEssais); RQZbugde("Max:"+iMaxEssais+"-Essai:"+ExoNbEssai[IdExoEnCours]); switch(TYPE) { case "REP": var TxtReponse=''; var TxtRefaire=''; if(bCorrect) { //RespShow(IdExo); return {'Text':oLangTxt['QZSYS_REP_BRAVO'],TypeQcm:TypeQcm,'bShowRep':true,'IdExo':IdExo,QZDesactive:true,InfoReponse:InfoReponse}; } else { iTxtRefaire=Math.floor(Math.random() * (maxTxtRefaire-1))+1 //TxtRefaire=bDerEssai+"-"+iTxtRefaire; if(!bDerEssai) { TxtReponse=oLangTxt['QZSYS_REP_TENTATIVES'].replace('%NUM_TENTATIVE%',ExoNbEssai[IdExoEnCours]+"/"+iMaxEssais); return {'Text':TxtReponse,'bShowRep':false,TypeQcm:TypeQcm,'IdExo':IdExo,QZDesactive:false,InfoReponse:InfoReponse}; //return TxtReponse; } else { return {'Text':oLangTxt['QZSYS_REP_EPUISE'],TypeQcm:TypeQcm,'bShowRep':true,'IdExo':IdExo,QZDesactive:true,InfoReponse:InfoReponse}; //TxtReponse=oLangTxt['QZSYS_REP_EPUISE']; //RespShow(IdExo); //return TxtReponse; } } break; default: break; } } function BtnAudioUploadInit(IdLangue, IdTexte) { $('#' + IdLangue + '-simple-btn').fileapi({ url: BASE_URL + '/BO/filesBasic.php?IdSession=' + IdSession, accept: 'audio/*', data: {'IdLangue': IdLangue, 'IdTEXTE': IdTexte}, onFilePrepare: function (file/**Object*/, options/**Object*/) { options.options.data['IdTEXTE'] = glTextEnCours; //alert(options.options.data['IdTEXTE']+"#"+options.options.data['IdLangue'] );//options.data.IdTEXTE = glTextEnCours; // $('#ddoodd').html((recurseObj("racine",options,0))); }, onSelect: function (evt, ui) { var file = ui.files[0]['name']; var extension = file.substr((file.lastIndexOf('.') + 1)); //$('#ddoodd').html(file['name']); return (extension == 'mp3'); }, onComplete: function (err/**String*/, xhr/**Object*/, file/**Object/, options/**Object*/) { TextTranslateReOpen("audio"); //$('#SysDebug').html(xhr.xhr['responseText']); }, multiple: false, maxSize: 60 * FileAPI.MB, autoUpload: true, elements: { size: '.js-size', active: {show: '.js-upload', hide: '.js-browse'}, progress: '.js-progress' }, filecomplete: function (err/**String*/, xhr/**Object*/, file/**Object/, options/**Object*/) { alert(xhr.responseTex); } }); } function OCG_EntrainementClick(IdEntr) { $('.divEntrain').css("display" , "none"); $('#IdDivEntr_'+IdEntr).css("display" , ""); } function OCG_EntrainementToggle(IdEntr,sPrefix,bHideOther) { if(bHideOther) $('.divEntrain').css("display" , "none"); $('#'+sPrefix+IdEntr).css("display" , ""); } var gNumScene=0; function SceneNumSet(IdSeq,NumScene,ArrTxtScene) { OCG_SeqPushHistory(IdSeq,NumScene) if((ArrTxtScene[NumScene]!=undefined)) gNumScene=ArrTxtScene[NumScene]; else gNumScene=0; SU_Uploader.setData({'language':LangueEnCours,'idTXT':gNumScene,IdSession:IdSession,UpMode:'SequenceMp3' }); $('#uploadBtn').html('Choisir le fichier son : '+ArrTxtSceneVal[NumScene]); } function QCMAddNew(sTypeQCM,IdLivre,Numero,iNbProposition,IdLangue,nomChckTxt,JSEnd) { if(sTypeQCM=='') { alert('Veuillez indiquer le type de QCM'); return; } if(IdLivre=='') { alert('Veuillez indiquer la séquence'); return; } if(Numero=='') { alert('Veuillez indiquer le numéro'); return; } if(iNbProposition=='') { alert('Veuillez indiquer le nombre de propositions'); return; } var TbOptTextes=new Object(); $("input[name='"+nomChckTxt+"']:checked").each(function () { TbOptTextes[this.id]=1; }); RQZbugde(sTypeQCM+","+IdLivre+","+Numero+","+iNbProposition+","+IdLangue+','+JSON.stringify( TbOptTextes)); //return; $.ajax({ type: "POST", encoding: "UTF-8", url: BASE_URL + "/RvgQuizz/BasicRvgQuizz.php", //ValTxt,$IdLangue,$IdType data: {'sAction': 'QCM_ADD', 'times': new Date().getTime(), 'sTypeQCM' : sTypeQCM ,'IdLivre' : IdLivre ,'Numero' : Numero , 'iNbProposition': iNbProposition,'IdLangue' : IdLangue, TbOptTextes : JSON.stringify( TbOptTextes),'IdSession': IdSession}, success: function (responseText) { //RQZbugde("QCM AJOUTE : "+responseText); //TestListePopulate(TypeInfo, IdLangue, ValTxt,IdPhoto); alert("Le Quizz a été ajouté"); eval(JSEnd); //BOTypeInfoListeBasicHTML_Get($TypeInfo,$IdPhoto,$LettreType) return; }, error: function (resultat, statut, erreur) { var output = ''; for (var property in resultat) { output += "\n##"+property + ': ' + resultat[property]+'; '; } alert("LangueAjoutetexte error\n" + resultat + "("+output+")\nStatut : " + statut + "\nErreur :" + erreur); } }); } function QCMDelOld(IdQuizz) { RQZbugde(IdQuizz); if(!confirm(oLangTxt['QZ_ASQ_DEL_QUIZ'])) return; //return; $.ajax({ type: "POST", encoding: "UTF-8", url: BASE_URL + "/RvgQuizz/BasicRvgQuizz.php", //ValTxt,$IdLangue,$IdType data: {'sAction': 'QCM_DEL', 'times': new Date().getTime(), 'IdQuizz' : IdQuizz , 'IdSession': IdSession}, success: function (responseText) { SceneElementHTMLDel("QCM"+oLangTxt['SEPARATEUR_CHAMP']+IdQuizz); alert(oLangTxt['QZ_INF_DEL_QUIZ']); return; }, error: function (resultat, statut, erreur) { var output = ''; for (var property in resultat) { output += "\n##"+property + ': ' + resultat[property]+'; '; } alert("LangueAjoutetexte error\n" + resultat + "("+output+")\nStatut : " + statut + "\nErreur :" + erreur); } }); return; } function QuizzLoad(IdLivre) { RQZbugde(IdLivre); //return; $.ajax({ type: "POST", encoding: "UTF-8", url: BASE_URL + "/RvgQuizz/BasicRvgQuizz.php", //ValTxt,$IdLangue,$IdType data: {'sAction': 'QCM_LOAD_FROM_LIVRE', 'times': new Date().getTime(),'IdLivre' : IdLivre , 'IdSession': IdSession}, success: function (responseText) { $('#DIV_QCMS').html("Qcms :
"+responseText); return; }, error: function (resultat, statut, erreur) { var output = ''; for (var property in resultat) { output += "\n##"+property + ': ' + resultat[property]+'; '; } alert("LangueAjoutetexte error\n" + resultat + "("+output+")\nStatut : " + statut + "\nErreur :" + erreur); } }); } function QuizzXXXXXXXXXXXXXXXXXLoadOne(IdQuizz,QcmShowResult,QcmActive,ContainerBlank) { RQZbugde(IdQuizz); //return; $.ajax({ type: "POST", encoding: "UTF-8", url: BASE_URL + "/RvgQuizz/BasicRvgQuizz.php", //ValTxt,$IdLangue,$IdType data: {'sAction': 'QCM_LOAD_ONE', 'times': new Date().getTime(),'IdQuizz' : IdQuizz , ContainerBlank:ContainerBlank,QcmShowResult:QcmShowResult,QcmActive:QcmActive,'IdSession': IdSession}, success: function (responseText) { //alert(responseText); $('#QCM_DIV_CONT_'+IdQuizz).html(responseText); return; }, error: function (resultat, statut, erreur) { var output = ''; for (var property in resultat) { output += "\n##"+property + ': ' + resultat[property]+'; '; } alert("LangueAjoutetexte error\n" + resultat + "("+output+")\nStatut : " + statut + "\nErreur :" + erreur); } }); return; } function InfoPropQCMUpdate(IdQzProp,Val,Quoi) { var Data=new Object(); Data.IdSession=IdSession; Data.sAction='QUIZZ_PROP_UPDATE_INFO'; Data.times=new Date().getTime(); Data.IdQzProp=IdQzProp; Data.Val=Val; Data.Quoi=Quoi; $.ajax({ type: "POST", encoding: "UTF-8", url: BASE_URL + "/RvgQuizz/BasicRvgQuizz.php", data: Data, success: function (responseText) { RQZbugde(responseText); return; }, error: function (resultat, statut, erreur) { var output = ''; for (var property in resultat) { output += "\n##"+property + ': ' + resultat[property]+'; '; } alert("SceneTextAjoute error\n" + resultat + "("+output+")\nStatut : " + statut + "\nErreur :" + erreur); } }); } function QZImgUpdateLocal(InpId,Val) { $('#'+InpId).attr('data-image-url',Val); } function InfoQCMUpdateXXXX(IdQz,Val,Quoi,JSEnd) { if(JSEnd!=undefined){JSEnd='';} var Data=new Object(); Data.IdSession=IdSession; Data.sAction='QUIZZ_UPDATE_INFO'; Data.times=new Date().getTime(); Data.IdQz=IdQz; Data.Val=Val; Data.Quoi=Quoi; $.ajax({ type: "POST", encoding: "UTF-8", url: BASE_URL + "/RvgQuizz/BasicRvgQuizz.php", data: Data, success: function (responseText) { if(JSEnd!=''){eval(JSEnd);} RQZbugde(responseText); return; }, error: function (resultat, statut, erreur) { var output = ''; for (var property in resultat) { output += "\n##"+property + ': ' + resultat[property]+'; '; } alert("SceneTextAjoute error\n" + resultat + "("+output+")\nStatut : " + statut + "\nErreur :" + erreur); } }); } function RvgQzSortableInit(IdSortable) { return $('#'+IdSortable).sortable(); } function ExerciceSonUpload(IdQuizz) { SU_Uploader.setData({'language':LangueEnCours,'idTXT':IdQuizz,'IdSession':IdSession,UpMode:'QuizzSonMp3' }); $('#uploadBtn').html('Choisir le fichier son : '+IdQuizz); $('#uploadBtn').click(); //SceneNumSet(IdSequence,gNumScene,ArrTxtScene) } function TextSonUpload(IdText) { SU_Uploader.setData({language:LangueEnCours,'idTXT':IdText,'IdSession':IdSession,UpMode:'TextSonMp3' }); console.log(SU_Uploader._opts.allowedExtensions); SU_Uploader._opts.allowedExtensions=["mp3"]; $('#uploadBtn').click(); /* SU_Uploader.setData({'language':LangueEnCours,'idTXT':IdText,'IdSession':IdSession,UpMode:'TextSonMp3',allowedExtensions:['mp3'] }); $('#uploadBtn').html('Choisir le fichier son : '+IdText); $('#uploadBtn').click();*/ //SceneNumSet(IdSequence,gNumScene,ArrTxtScene) } function QCMProDelXXXXXXXXXXXXXX(IdProp,IdQz){ if(!confirm("Voulez-vous supprimer la proposition?")){return;} var Data=new Object(); Data.IdSession=IdSession; Data.sAction='QUIZZ_DEL_PROPOSITION'; Data.times=new Date().getTime(); Data.IdProp=IdProp; $.ajax({ type: "POST", encoding: "UTF-8", url: BASE_URL + "/RvgQuizz/BasicRvgQuizz.php", data: Data, success: function (responseText) { RQZbugde(responseText); QCMReload(IdQz); return; }, error: function (resultat, statut, erreur) { var output = ''; for (var property in resultat) { output += "\n##"+property + ': ' + resultat[property]+'; '; } alert("SceneTextAjoute error\n" + resultat + "("+output+")\nStatut : " + statut + "\nErreur :" + erreur); } }); } function QCMProAddXXXXXXXXXXXXXXXXXX(IdQz,Nb,IdCombi) { var Data=new Object(); Data.IdSession=IdSession; Data.sAction='QUIZZ_ADD_PROPOSITION'; Data.times=new Date().getTime(); Data.IdQz=IdQz; Data.Nb=Nb; $.ajax({ type: "POST", encoding: "UTF-8", url: BASE_URL + "/RvgQuizz/BasicRvgQuizz.php", data: Data, success: function (responseText) { QCMReload(IdQz,IdCombi) RQZbugde(responseText); return; }, error: function (resultat, statut, erreur) { var output = ''; for (var property in resultat) { output += "\n##"+property + ': ' + resultat[property]+'; '; } alert("SceneTextAjoute error\n" + resultat + "("+output+")\nStatut : " + statut + "\nErreur :" + erreur); } }); } /* QCM Image */ function RvGQzImgClick(canvas, evt, id, p, b) { var yDelta = 44;//QZImg1147 IdIpnut = 'RVGQUIZZ_' + id + '_' + p; RQZbugde($('#' + IdIpnut)); if ($('#' + IdIpnut)) { if ($('#' + IdIpnut).is(':disabled')) { return; } } RQZbugde($(canvas).offset()); var posi = getMousePos(canvas, evt); InfRes = {x: posi.x, y: posi.y, res: b}; $('#RVGQUIZZ_' + id + '_' + p).val(JSON.stringify(InfRes)); $('#QCM_IMrk' + p).css({display: '', top: evt.pageY - 8 - yDelta, left: evt.pageX - 8, display:''}); RQZbugde($('#QCM_IMrk' + p).css('top')); /*RQZbugde(canvas);*/ RQZbugde(evt); } function getMousePos(canvas, evt) { var parentOffset = $(canvas).parent().offset(); //or $(this).offset(); if you really just want the current element's offset var relX = evt.pageX - parentOffset.left; var relY = evt.pageY - parentOffset.top; var rect = canvas.getBoundingClientRect(); res={ relX : relX, relY : relY, clientX:evt.clientX, clientY:evt.clientY, x: evt.clientX - rect.left, y: evt.clientY - rect.top }; return res; } function VideoMajInfoInsert(el) { if(el==undefined) { el="VideoInfos"; } if($("#"+el)[0]==null){return;} sel=$('#CmbVideoList')[0]; $("#"+el).html(sel.options[sel.selectedIndex].text); } function QCMMajInfoInsert(el) { if(el==undefined) { el="QCMinsertInfo"; } if($("#"+el)[0]==null){return;} var InfInsert=new Array(); InfInsert[InfInsert.length]="Typ:"+$('#TypeQCM').val(); InfInsert[InfInsert.length]="Num:"+$('#NumeroQCM').val(); InfInsert[InfInsert.length]="Nb:"+$('#NbPropals').val(); InfInsert[InfInsert.length]="Dif:"+$('#DIFFICULTE_FROM').val()+"."+$('#DIFFICULTE_TO').val(); $("#"+el).html(InfInsert.join(' | ')); } function gQzTableActiveSet(IdQZ,IdProp,valInputs,sMode) { var iTb=0; var oVal=new Object(); RQZbugde(valInputs); if(valInputs!='') { try { oVal=JSON.parse(valInputs); } catch (e) { // Oh well, but whatever... } } var sForm=$("form[name='RQZ_FORM_"+IdQZ+"']") sForm.find("table").each(function (index ) { iIdTable=$(this).attr('id'); if(iIdTable==undefined || iIdTable=='' ) { var idInput=''; for(i=1;i<100;i++) { iIdTable="RQZ_"+IdQZ+"_"+IdProp+"_TB_"+i; if($("#"+iIdTable)[0]==null)IdProp { // iIdTable="RQZ_"+IdQZ+"_TB_"+i; $(this).attr('id',iIdTable); break; } } } idInput=iIdTable+"_INPUT"; // Créer l'inputIdProp sInpTb=$('', {style:'display:none;',type: 'text',val: valInputs,id:idInput}); RQZbugde(valInputs); oValAnswer=new Object(); if(valInputs!='') { oValAnswer=JSON.parse(valInputs); } else { oValAnswer=new Object(); } //if(oValAnswer==undefined){oValAnswer=new Object();} sInpTb.css({'width':'100%'}) sForm.append( sInpTb);/**/ table=$(this)[0]; $(this).addClass("QZTableCheck"); for (var i = 0, row; row = table.rows[i]; i++) { //iterate through rows //rows would be accessed using the "row" variable assigned in the for loop for (var j = 0, col; col = row.cells[j]; j++) { col.id=iIdTable+"_"+i+"_"+ j; $(col).addClass($(col).hasClass('RqzTdL')?'':'QZTbActiveTD'); if(oValAnswer.hasOwnProperty($(col).attr('id'))){ $(col).addClass(gQzCfg.classTblChkR); $(col).attr(gQzCfg.TableCheckAttr,1); } //iterate through columns //columns would be accessed using the "col" variable assigned in the for loop } } $(this).find("td").click(function(e){ //function_td if(!$(this).hasClass('RqzTdL')) { QzTableClickTDProcess(IdQZ,$(this),IdProp,idInput,'DEF'); e.stopPropagation(); } }); iTb++; }); } function gQzTableInputValset(IdQZ,IdProp) { return JSON.stringify(gQzTableInputValGet(IdQZ,IdProp)); } function gQzTableInputValGet(IdQZ,IdProp) { var iTb=0; var ValChck=new Object(); var sForm=$("form[name='RQZ_FORM_"+IdQZ+"']") sForm.find("table").each(function (index ) { iIdTable=$(this).attr('id'); if(iIdTable!=undefined && iIdTable!='' ) { var TblVars=new Object(); // Créer l'input table=$(this)[0]; for (var i = 0, row; row = table.rows[i]; i++) { //iterate through rows //rows would be accessed using the "row" variable assigned in the for loop for (var j = 0, col; col = row.cells[j]; j++) { col.id=iIdTable+"_"+i+"_"+ j; if($('#'+col.id)[0]) { if($('#'+col.id).attr(gQzCfg.TableCheckAttr)*1==1) { TblVars[col.id]='1'; } } //iterate through columns //columns would be accessed using the "col" variable assigned in the for loop } } ValChck[iIdTable]=JSON.stringify(TblVars); iTb++; } }); return ValChck; } function QzTableClickTDProcess(IdQZ,sTD,IdProp,idInput,sMode) { if(sTD.attr(gQzCfg.TableCheckAttr)==undefined){sTD.attr(gQzCfg.TableCheckAttr,0);} sTD.attr(gQzCfg.TableCheckAttr,(sTD.attr(gQzCfg.TableCheckAttr)*1==0)?1:0); switch(sMode) { case "" : break; default: //sTD.html((sTD.attr(gQzCfg.TableCheckAttr)*1==1)?"X":''); RQZbugde(sTD.attr(gQzCfg.TableCheckAttr)); if(sTD.attr(gQzCfg.TableCheckAttr)*1==1) { sTD.addClass(gQzCfg.classTblChkR); } else { sTD.removeClass(gQzCfg.classTblChkR); } $('#'+idInput).val(gQzTableInputValset(IdQZ,IdProp)); break; } } function QuizzOnDocLoaded() { RQZbugde('QuizzOnDocLoaded:BEGIN'); $.each(RVGQuizInfo['TabExoTrous'], function(index, value) { ActivateTextATrou(index, value); }); RQZbugde(RVGQuizInfo['TabExoTrous']); $.each(RVGQuizInfo['ImageQzAdmin'], function(index, value) { var IdArea='RVGQUIZZ_'+value['IdQz']+'_'+value['IdProp']; console.log(IdArea); //RVGQuizInfo['ImageQzAdmin'][index]['Obj'] = $('#'+IdArea).canvasAreaDraw(value['url']); console.log(value); console.log(RVGQuizInfo['ImageQzAdmin'][index]); }); RQZbugde('QuizzOnDocLoaded:END'); return; } function ActivateTextATrou(Index,Infos) { $('#'+Infos.id).TextATrous( { OnFillComplete:function(a,b,c){return;/*alert("ElMotTrous :"+a+"-"+b+"-"+c);*/}, DivTrPfx : 'RVGQZHOL_', MsgShowResult :''// jsLangue['SHOWRES'] }); RVGQuizInfo['TabExoTrous'][Index]['hTxtTrou']=$('#'+Infos.id).data("TextATrous"); } function ImageMapColor(idImage,bStroke) { var basic_opts = { mapKey: 'data-key' }; var initial_opts = $.extend( { } ,basic_opts, { staticState: true, fill: true, stroke: bStroke, strokeWidth: 5, strokeColor: 'ff00dda' }); $('#QZImg'+idImage).mapster(initial_opts) .mapster('set',true,'DK'+idImage, { fill: true, fillColor: 'ff00dda' }) } QzGlobalOptionInit(); /******/