Version19.232

This commit is contained in:
acanas 2020-05-16 14:01:51 +02:00
parent 4ba50fa2b3
commit 6bd23ad1df
6 changed files with 444 additions and 398 deletions

View File

@ -547,11 +547,12 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActSeeAss ] = { 15, 0,TabAss,ActSeeAss ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"info" },
[ActSeeAsg ] = { 801, 1,TabAss,ActSeeAsg ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_SeeAssignments ,"edit" },
[ActSeePrj ] = {1674, 2,TabAss,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_SeeProjects ,"file-invoice" },
[ActReqTst ] = { 103, 3,TabAss,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_RequestTest ,"check" },
[ActSeeAllExa ] = {1848, 4,TabAss,ActSeeAllExa ,0x200,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_SeeAllExams ,"file-signature" },
[ActSeeAllGam ] = {1649, 4,TabAss,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_SeeAllGames ,"gamepad" },
[ActSeeAllSvy ] = { 966, 5,TabAss,ActSeeAllSvy ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_SeeAllSurveys ,"poll" },
[ActSeeAllExaAnn ] = { 85, 6,TabAss,ActSeeAllExaAnn ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaAnn_ListExamAnnsSee,"bullhorn" },
[ActSeeAllExaAnn ] = { 85, 3,TabAss,ActSeeAllExaAnn ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaAnn_ListExamAnnsSee ,"bullhorn" },
[ActEdiTstQst ] = { 104, 4,TabAss,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDates ,Tst_RequestEditTests ,"tasks" },
[ActReqTst ] = { 103, 5,TabAss,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_RequestTest ,"check" },
[ActSeeAllExa ] = {1848, 6,TabAss,ActSeeAllExa ,0x200,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_SeeAllExams ,"file-signature" },
[ActSeeAllGam ] = {1649, 7,TabAss,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_SeeAllGames ,"gamepad" },
[ActSeeAllSvy ] = { 966, 8,TabAss,ActSeeAllSvy ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_SeeAllSurveys ,"poll" },
// Actions not in menu:
[ActEdiAss ] = { 69,-1,TabUnk,ActSeeAss ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_FormsToSelSendInfo ,NULL},
@ -648,22 +649,21 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActChgDatAssPrj ] = {1733,-1,TabUnk,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ChgFileMetadata ,NULL},
[ActDowAssPrj ] = {1734,-1,TabUnk,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
[ActEdiOneTstQst ] = { 105,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ShowFormEditOneQst ,NULL},
[ActReqImpTstQst ] = {1007,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,TsI_ShowFormImportQstsFromXML ,NULL},
[ActImpTstQst ] = {1008,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,TsI_ImportQstsFromXML ,NULL},
[ActLstTstQst ] = { 132,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ListQuestionsToEdit ,NULL},
[ActRcvTstQst ] = { 126,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,Tst_ReceiveQst ,NULL},
[ActReqRemSevTstQst ] = {1835,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_RequestRemoveSelectedQsts ,NULL},
[ActRemSevTstQst ] = {1836,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_RemoveSelectedQsts ,NULL},
[ActReqRemOneTstQst ] = {1523,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_RequestRemoveOneQst ,NULL},
[ActRemOneTstQst ] = { 133,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_RemoveOneQst ,NULL},
[ActChgShfTstQst ] = { 455,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ChangeShuffleQst ,NULL},
[ActSeeTst ] = { 29,-1,TabUnk,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ShowNewTest ,NULL},
[ActReqAssTst ] = {1837,-1,TabUnk,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ReceiveTestDraft ,NULL},
[ActAssTst ] = { 98,-1,TabUnk,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_AssessTest ,NULL},
[ActEdiTstQst ] = { 104,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDates ,Tst_RequestEditTests ,NULL},
[ActEdiOneTstQst ] = { 105,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ShowFormEditOneQst ,NULL},
[ActReqImpTstQst ] = {1007,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,TsI_ShowFormImportQstsFromXML ,NULL},
[ActImpTstQst ] = {1008,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,TsI_ImportQstsFromXML ,NULL},
[ActLstTstQst ] = { 132,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ListQuestionsToEdit ,NULL},
[ActRcvTstQst ] = { 126,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,Tst_ReceiveQst ,NULL},
[ActReqRemSevTstQst ] = {1835,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_RequestRemoveSelectedQsts ,NULL},
[ActRemSevTstQst ] = {1836,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_RemoveSelectedQsts ,NULL},
[ActReqRemOneTstQst ] = {1523,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_RequestRemoveOneQst ,NULL},
[ActRemOneTstQst ] = { 133,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_RemoveOneQst ,NULL},
[ActChgShfTstQst ] = { 455,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ChangeShuffleQst ,NULL},
[ActCfgTst ] = { 451,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ShowFormConfig ,NULL},
[ActEnableTag ] = { 453,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_EnableTag ,NULL},
[ActDisableTag ] = { 452,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_DisableTag ,NULL},

View File

@ -515,121 +515,122 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
#define ActSeeAss (ActChgCrsTT1stDay + 1)
#define ActSeeAsg (ActChgCrsTT1stDay + 2)
#define ActSeePrj (ActChgCrsTT1stDay + 3)
#define ActReqTst (ActChgCrsTT1stDay + 4)
#define ActSeeAllExa (ActChgCrsTT1stDay + 5)
#define ActSeeAllGam (ActChgCrsTT1stDay + 6)
#define ActSeeAllSvy (ActChgCrsTT1stDay + 7)
#define ActSeeAllExaAnn (ActChgCrsTT1stDay + 8)
#define ActSeeAllExaAnn (ActChgCrsTT1stDay + 4)
#define ActEdiTstQst (ActChgCrsTT1stDay + 5)
#define ActReqTst (ActChgCrsTT1stDay + 6)
#define ActSeeAllExa (ActChgCrsTT1stDay + 7)
#define ActSeeAllGam (ActChgCrsTT1stDay + 8)
#define ActSeeAllSvy (ActChgCrsTT1stDay + 9)
// Secondary actions
#define ActEdiAss (ActChgCrsTT1stDay + 9)
#define ActChgFrcReaAss (ActChgCrsTT1stDay + 10)
#define ActChgHavReaAss (ActChgCrsTT1stDay + 11)
#define ActSelInfSrcAss (ActChgCrsTT1stDay + 12)
#define ActRcvURLAss (ActChgCrsTT1stDay + 13)
#define ActRcvPagAss (ActChgCrsTT1stDay + 14)
#define ActEditorAss (ActChgCrsTT1stDay + 15)
#define ActPlaTxtEdiAss (ActChgCrsTT1stDay + 16)
#define ActRchTxtEdiAss (ActChgCrsTT1stDay + 17)
#define ActRcvPlaTxtAss (ActChgCrsTT1stDay + 18)
#define ActRcvRchTxtAss (ActChgCrsTT1stDay + 19)
#define ActEdiAss (ActChgCrsTT1stDay + 10)
#define ActChgFrcReaAss (ActChgCrsTT1stDay + 11)
#define ActChgHavReaAss (ActChgCrsTT1stDay + 12)
#define ActSelInfSrcAss (ActChgCrsTT1stDay + 13)
#define ActRcvURLAss (ActChgCrsTT1stDay + 14)
#define ActRcvPagAss (ActChgCrsTT1stDay + 15)
#define ActEditorAss (ActChgCrsTT1stDay + 16)
#define ActPlaTxtEdiAss (ActChgCrsTT1stDay + 17)
#define ActRchTxtEdiAss (ActChgCrsTT1stDay + 18)
#define ActRcvPlaTxtAss (ActChgCrsTT1stDay + 19)
#define ActRcvRchTxtAss (ActChgCrsTT1stDay + 20)
#define ActFrmNewAsg (ActChgCrsTT1stDay + 20)
#define ActEdiOneAsg (ActChgCrsTT1stDay + 21)
#define ActPrnOneAsg (ActChgCrsTT1stDay + 22)
#define ActNewAsg (ActChgCrsTT1stDay + 23)
#define ActChgAsg (ActChgCrsTT1stDay + 24)
#define ActReqRemAsg (ActChgCrsTT1stDay + 25)
#define ActRemAsg (ActChgCrsTT1stDay + 26)
#define ActHidAsg (ActChgCrsTT1stDay + 27)
#define ActShoAsg (ActChgCrsTT1stDay + 28)
#define ActFrmNewAsg (ActChgCrsTT1stDay + 21)
#define ActEdiOneAsg (ActChgCrsTT1stDay + 22)
#define ActPrnOneAsg (ActChgCrsTT1stDay + 23)
#define ActNewAsg (ActChgCrsTT1stDay + 24)
#define ActChgAsg (ActChgCrsTT1stDay + 25)
#define ActReqRemAsg (ActChgCrsTT1stDay + 26)
#define ActRemAsg (ActChgCrsTT1stDay + 27)
#define ActHidAsg (ActChgCrsTT1stDay + 28)
#define ActShoAsg (ActChgCrsTT1stDay + 29)
#define ActReqUsrPrj (ActChgCrsTT1stDay + 29)
#define ActSeeTblAllPrj (ActChgCrsTT1stDay + 30)
#define ActCfgPrj (ActChgCrsTT1stDay + 31)
#define ActRcvCfgPrj (ActChgCrsTT1stDay + 32)
#define ActReqLckAllPrj (ActChgCrsTT1stDay + 33)
#define ActReqUnlAllPrj (ActChgCrsTT1stDay + 34)
#define ActLckAllPrj (ActChgCrsTT1stDay + 35)
#define ActUnlAllPrj (ActChgCrsTT1stDay + 36)
#define ActFrmNewPrj (ActChgCrsTT1stDay + 37)
#define ActEdiOnePrj (ActChgCrsTT1stDay + 38)
#define ActPrnOnePrj (ActChgCrsTT1stDay + 39)
#define ActNewPrj (ActChgCrsTT1stDay + 40)
#define ActChgPrj (ActChgCrsTT1stDay + 41)
#define ActReqRemPrj (ActChgCrsTT1stDay + 42)
#define ActRemPrj (ActChgCrsTT1stDay + 43)
#define ActHidPrj (ActChgCrsTT1stDay + 44)
#define ActShoPrj (ActChgCrsTT1stDay + 45)
#define ActLckPrj (ActChgCrsTT1stDay + 46)
#define ActUnlPrj (ActChgCrsTT1stDay + 47)
#define ActReqAddStdPrj (ActChgCrsTT1stDay + 48)
#define ActReqAddTutPrj (ActChgCrsTT1stDay + 49)
#define ActReqAddEvlPrj (ActChgCrsTT1stDay + 50)
#define ActAddStdPrj (ActChgCrsTT1stDay + 51)
#define ActAddTutPrj (ActChgCrsTT1stDay + 52)
#define ActAddEvlPrj (ActChgCrsTT1stDay + 53)
#define ActReqRemStdPrj (ActChgCrsTT1stDay + 54)
#define ActReqRemTutPrj (ActChgCrsTT1stDay + 55)
#define ActReqRemEvlPrj (ActChgCrsTT1stDay + 56)
#define ActRemStdPrj (ActChgCrsTT1stDay + 57)
#define ActRemTutPrj (ActChgCrsTT1stDay + 58)
#define ActRemEvlPrj (ActChgCrsTT1stDay + 59)
#define ActReqUsrPrj (ActChgCrsTT1stDay + 30)
#define ActSeeTblAllPrj (ActChgCrsTT1stDay + 31)
#define ActCfgPrj (ActChgCrsTT1stDay + 32)
#define ActRcvCfgPrj (ActChgCrsTT1stDay + 33)
#define ActReqLckAllPrj (ActChgCrsTT1stDay + 34)
#define ActReqUnlAllPrj (ActChgCrsTT1stDay + 35)
#define ActLckAllPrj (ActChgCrsTT1stDay + 36)
#define ActUnlAllPrj (ActChgCrsTT1stDay + 37)
#define ActFrmNewPrj (ActChgCrsTT1stDay + 38)
#define ActEdiOnePrj (ActChgCrsTT1stDay + 39)
#define ActPrnOnePrj (ActChgCrsTT1stDay + 40)
#define ActNewPrj (ActChgCrsTT1stDay + 41)
#define ActChgPrj (ActChgCrsTT1stDay + 42)
#define ActReqRemPrj (ActChgCrsTT1stDay + 43)
#define ActRemPrj (ActChgCrsTT1stDay + 44)
#define ActHidPrj (ActChgCrsTT1stDay + 45)
#define ActShoPrj (ActChgCrsTT1stDay + 46)
#define ActLckPrj (ActChgCrsTT1stDay + 47)
#define ActUnlPrj (ActChgCrsTT1stDay + 48)
#define ActReqAddStdPrj (ActChgCrsTT1stDay + 49)
#define ActReqAddTutPrj (ActChgCrsTT1stDay + 50)
#define ActReqAddEvlPrj (ActChgCrsTT1stDay + 51)
#define ActAddStdPrj (ActChgCrsTT1stDay + 52)
#define ActAddTutPrj (ActChgCrsTT1stDay + 53)
#define ActAddEvlPrj (ActChgCrsTT1stDay + 54)
#define ActReqRemStdPrj (ActChgCrsTT1stDay + 55)
#define ActReqRemTutPrj (ActChgCrsTT1stDay + 56)
#define ActReqRemEvlPrj (ActChgCrsTT1stDay + 57)
#define ActRemStdPrj (ActChgCrsTT1stDay + 58)
#define ActRemTutPrj (ActChgCrsTT1stDay + 59)
#define ActRemEvlPrj (ActChgCrsTT1stDay + 60)
#define ActAdmDocPrj (ActChgCrsTT1stDay + 60)
#define ActReqRemFilDocPrj (ActChgCrsTT1stDay + 61)
#define ActRemFilDocPrj (ActChgCrsTT1stDay + 62)
#define ActRemFolDocPrj (ActChgCrsTT1stDay + 63)
#define ActCopDocPrj (ActChgCrsTT1stDay + 64)
#define ActPasDocPrj (ActChgCrsTT1stDay + 65)
#define ActRemTreDocPrj (ActChgCrsTT1stDay + 66)
#define ActFrmCreDocPrj (ActChgCrsTT1stDay + 67)
#define ActCreFolDocPrj (ActChgCrsTT1stDay + 68)
#define ActCreLnkDocPrj (ActChgCrsTT1stDay + 69)
#define ActRenFolDocPrj (ActChgCrsTT1stDay + 70)
#define ActRcvFilDocPrjDZ (ActChgCrsTT1stDay + 71)
#define ActRcvFilDocPrjCla (ActChgCrsTT1stDay + 72)
#define ActExpDocPrj (ActChgCrsTT1stDay + 73)
#define ActConDocPrj (ActChgCrsTT1stDay + 74)
#define ActZIPDocPrj (ActChgCrsTT1stDay + 75)
#define ActReqDatDocPrj (ActChgCrsTT1stDay + 76)
#define ActChgDatDocPrj (ActChgCrsTT1stDay + 77)
#define ActDowDocPrj (ActChgCrsTT1stDay + 78)
#define ActAdmDocPrj (ActChgCrsTT1stDay + 61)
#define ActReqRemFilDocPrj (ActChgCrsTT1stDay + 62)
#define ActRemFilDocPrj (ActChgCrsTT1stDay + 63)
#define ActRemFolDocPrj (ActChgCrsTT1stDay + 64)
#define ActCopDocPrj (ActChgCrsTT1stDay + 65)
#define ActPasDocPrj (ActChgCrsTT1stDay + 66)
#define ActRemTreDocPrj (ActChgCrsTT1stDay + 67)
#define ActFrmCreDocPrj (ActChgCrsTT1stDay + 68)
#define ActCreFolDocPrj (ActChgCrsTT1stDay + 69)
#define ActCreLnkDocPrj (ActChgCrsTT1stDay + 70)
#define ActRenFolDocPrj (ActChgCrsTT1stDay + 71)
#define ActRcvFilDocPrjDZ (ActChgCrsTT1stDay + 72)
#define ActRcvFilDocPrjCla (ActChgCrsTT1stDay + 73)
#define ActExpDocPrj (ActChgCrsTT1stDay + 74)
#define ActConDocPrj (ActChgCrsTT1stDay + 75)
#define ActZIPDocPrj (ActChgCrsTT1stDay + 76)
#define ActReqDatDocPrj (ActChgCrsTT1stDay + 77)
#define ActChgDatDocPrj (ActChgCrsTT1stDay + 78)
#define ActDowDocPrj (ActChgCrsTT1stDay + 79)
#define ActAdmAssPrj (ActChgCrsTT1stDay + 79)
#define ActReqRemFilAssPrj (ActChgCrsTT1stDay + 80)
#define ActRemFilAssPrj (ActChgCrsTT1stDay + 81)
#define ActRemFolAssPrj (ActChgCrsTT1stDay + 82)
#define ActCopAssPrj (ActChgCrsTT1stDay + 83)
#define ActPasAssPrj (ActChgCrsTT1stDay + 84)
#define ActRemTreAssPrj (ActChgCrsTT1stDay + 85)
#define ActFrmCreAssPrj (ActChgCrsTT1stDay + 86)
#define ActCreFolAssPrj (ActChgCrsTT1stDay + 87)
#define ActCreLnkAssPrj (ActChgCrsTT1stDay + 88)
#define ActRenFolAssPrj (ActChgCrsTT1stDay + 89)
#define ActRcvFilAssPrjDZ (ActChgCrsTT1stDay + 90)
#define ActRcvFilAssPrjCla (ActChgCrsTT1stDay + 91)
#define ActExpAssPrj (ActChgCrsTT1stDay + 92)
#define ActConAssPrj (ActChgCrsTT1stDay + 93)
#define ActZIPAssPrj (ActChgCrsTT1stDay + 94)
#define ActReqDatAssPrj (ActChgCrsTT1stDay + 95)
#define ActChgDatAssPrj (ActChgCrsTT1stDay + 96)
#define ActDowAssPrj (ActChgCrsTT1stDay + 97)
#define ActAdmAssPrj (ActChgCrsTT1stDay + 80)
#define ActReqRemFilAssPrj (ActChgCrsTT1stDay + 81)
#define ActRemFilAssPrj (ActChgCrsTT1stDay + 82)
#define ActRemFolAssPrj (ActChgCrsTT1stDay + 83)
#define ActCopAssPrj (ActChgCrsTT1stDay + 84)
#define ActPasAssPrj (ActChgCrsTT1stDay + 85)
#define ActRemTreAssPrj (ActChgCrsTT1stDay + 86)
#define ActFrmCreAssPrj (ActChgCrsTT1stDay + 87)
#define ActCreFolAssPrj (ActChgCrsTT1stDay + 88)
#define ActCreLnkAssPrj (ActChgCrsTT1stDay + 89)
#define ActRenFolAssPrj (ActChgCrsTT1stDay + 90)
#define ActRcvFilAssPrjDZ (ActChgCrsTT1stDay + 91)
#define ActRcvFilAssPrjCla (ActChgCrsTT1stDay + 92)
#define ActExpAssPrj (ActChgCrsTT1stDay + 93)
#define ActConAssPrj (ActChgCrsTT1stDay + 94)
#define ActZIPAssPrj (ActChgCrsTT1stDay + 95)
#define ActReqDatAssPrj (ActChgCrsTT1stDay + 96)
#define ActChgDatAssPrj (ActChgCrsTT1stDay + 97)
#define ActDowAssPrj (ActChgCrsTT1stDay + 98)
#define ActSeeTst (ActChgCrsTT1stDay + 98)
#define ActReqAssTst (ActChgCrsTT1stDay + 99)
#define ActAssTst (ActChgCrsTT1stDay + 100)
#define ActEdiTstQst (ActChgCrsTT1stDay + 101)
#define ActEdiOneTstQst (ActChgCrsTT1stDay + 102)
#define ActReqImpTstQst (ActChgCrsTT1stDay + 103)
#define ActImpTstQst (ActChgCrsTT1stDay + 104)
#define ActLstTstQst (ActChgCrsTT1stDay + 105)
#define ActRcvTstQst (ActChgCrsTT1stDay + 106)
#define ActReqRemSevTstQst (ActChgCrsTT1stDay + 107)
#define ActRemSevTstQst (ActChgCrsTT1stDay + 108)
#define ActReqRemOneTstQst (ActChgCrsTT1stDay + 109)
#define ActRemOneTstQst (ActChgCrsTT1stDay + 110)
#define ActChgShfTstQst (ActChgCrsTT1stDay + 111)
#define ActEdiOneTstQst (ActChgCrsTT1stDay + 99)
#define ActReqImpTstQst (ActChgCrsTT1stDay + 100)
#define ActImpTstQst (ActChgCrsTT1stDay + 101)
#define ActLstTstQst (ActChgCrsTT1stDay + 102)
#define ActRcvTstQst (ActChgCrsTT1stDay + 103)
#define ActReqRemSevTstQst (ActChgCrsTT1stDay + 104)
#define ActRemSevTstQst (ActChgCrsTT1stDay + 105)
#define ActReqRemOneTstQst (ActChgCrsTT1stDay + 106)
#define ActRemOneTstQst (ActChgCrsTT1stDay + 107)
#define ActChgShfTstQst (ActChgCrsTT1stDay + 108)
#define ActSeeTst (ActChgCrsTT1stDay + 109)
#define ActReqAssTst (ActChgCrsTT1stDay + 110)
#define ActAssTst (ActChgCrsTT1stDay + 111)
#define ActCfgTst (ActChgCrsTT1stDay + 112)
#define ActEnableTag (ActChgCrsTT1stDay + 113)
#define ActDisableTag (ActChgCrsTT1stDay + 114)

View File

@ -548,10 +548,14 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 19.231 (2020-05-16)"
#define Log_PLATFORM_VERSION "SWAD 19.232 (2020-05-16)"
#define CSS_FILE "swad19.230.1.css"
#define JS_FILE "swad19.230.3.js"
/*
TODO: Comprobar si el directorio público que devuelve Ses_GetPublicDirFromCache sigue existiendo.
// Si no existe, hay que crear un nuevo directorio y meterlo en cache
Version 19.232: May 16, 2020 New option to edit questions separated from tests. (301000 lines)
Version 19.231: May 16, 2020 Fixed bugs and code refactoring in exam results. (300956 lines)
Version 19.230.3: May 15, 2020 Update maths in exam prints when user answers. (301037 lines)
Version 19.230.2: May 15, 2020 Changes in layout of exam prints.

View File

@ -115,11 +115,12 @@ static const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_
[ 0] = ActSeeAss,
[ 1] = ActSeeAsg,
[ 2] = ActSeePrj,
[ 3] = ActReqTst,
[ 4] = ActSeeAllExa,
[ 5] = ActSeeAllGam,
[ 6] = ActSeeAllSvy,
[ 7] = ActSeeAllExaAnn,
[ 3] = ActSeeAllExaAnn,
[ 4] = ActEdiTstQst,
[ 5] = ActReqTst,
[ 6] = ActSeeAllExa,
[ 7] = ActSeeAllGam,
[ 8] = ActSeeAllSvy,
},
[TabFil] = {
[ 0] = ActSeeAdmDocIns,

View File

@ -20056,91 +20056,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Projetos"
#endif
,
// 3: ActReqTst
#if L==1 // ca
"Tests"
#elif L==2 // de
"Tests"
#elif L==3 // en
"Tests"
#elif L==4 // es
"Test"
#elif L==5 // fr
"Tests"
#elif L==6 // gn
"Test" // Okoteve traducción
#elif L==7 // it
"Test"
#elif L==8 // pl
"Testów"
#elif L==9 // pt
"Testes"
#endif
,
// 4: ActSeeAllExa
#if L==1 // ca
"Exàmens"
#elif L==2 // de
"Prüfungen"
#elif L==3 // en
"Exams"
#elif L==4 // es
"Exámenes"
#elif L==5 // fr
"Examens"
#elif L==6 // gn
"Exámenes" // Okoteve traducción
#elif L==7 // it
"Esami"
#elif L==8 // pl
"Egzaminy"
#elif L==9 // pt
"Exames"
#endif
,
// 5: ActSeeAllGam
#if L==1 // ca
"Jocs"
#elif L==2 // de
"Spiele"
#elif L==3 // en
"Games"
#elif L==4 // es
"Juegos"
#elif L==5 // fr
"Jeux"
#elif L==6 // gn
"Juegos" // Okoteve traducción
#elif L==7 // it
"Giochi"
#elif L==8 // pl
"Gry"
#elif L==9 // pt
"Jogos"
#endif
,
// 6: ActSeeAllSvy
#if L==1 // ca
"Enquestes"
#elif L==2 // de
"Umfragen"
#elif L==3 // en
"Surveys"
#elif L==4 // es
"Encuestas"
#elif L==5 // fr
"Sondages"
#elif L==6 // gn
"Encuestas" // Okoteve traducción
#elif L==7 // it
"Sondaggi"
#elif L==8 // pl
"Ankiety"
#elif L==9 // pt
"Inquéritos"
#endif
,
// 7: ActSeeAllExaAnn
// 3: ActSeeAllExaAnn
#if L==1 // ca
"Convocatòries"
#elif L==2 // de
@ -20161,7 +20077,111 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Chamadas"
#endif
,
NULL, // 8
// 4: ActEdiTstQst
#if L==1 // ca
"Preguntes"
#elif L==2 // de
"Fragen"
#elif L==3 // en
"Questions"
#elif L==4 // es
"Preguntas"
#elif L==5 // fr
"Questions"
#elif L==6 // gn
"Preguntas" // Okoteve traducción
#elif L==7 // it
"Domande"
#elif L==8 // pl
"Pytań"
#elif L==9 // pt
"Perguntas"
#endif
,
// 5: ActReqTst
#if L==1 // ca
"Tests"
#elif L==2 // de
"Tests"
#elif L==3 // en
"Tests"
#elif L==4 // es
"Test"
#elif L==5 // fr
"Tests"
#elif L==6 // gn
"Test" // Okoteve traducción
#elif L==7 // it
"Test"
#elif L==8 // pl
"Testów"
#elif L==9 // pt
"Testes"
#endif
,
// 6: ActSeeAllExa
#if L==1 // ca
"Exàmens"
#elif L==2 // de
"Prüfungen"
#elif L==3 // en
"Exams"
#elif L==4 // es
"Exámenes"
#elif L==5 // fr
"Examens"
#elif L==6 // gn
"Exámenes" // Okoteve traducción
#elif L==7 // it
"Esami"
#elif L==8 // pl
"Egzaminy"
#elif L==9 // pt
"Exames"
#endif
,
// 7: ActSeeAllGam
#if L==1 // ca
"Jocs"
#elif L==2 // de
"Spiele"
#elif L==3 // en
"Games"
#elif L==4 // es
"Juegos"
#elif L==5 // fr
"Jeux"
#elif L==6 // gn
"Juegos" // Okoteve traducción
#elif L==7 // it
"Giochi"
#elif L==8 // pl
"Gry"
#elif L==9 // pt
"Jogos"
#endif
,
// 8: ActSeeAllSvy
#if L==1 // ca
"Enquestes"
#elif L==2 // de
"Umfragen"
#elif L==3 // en
"Surveys"
#elif L==4 // es
"Encuestas"
#elif L==5 // fr
"Sondages"
#elif L==6 // gn
"Encuestas" // Okoteve traducción
#elif L==7 // it
"Sondaggi"
#elif L==8 // pl
"Ankiety"
#elif L==9 // pt
"Inquéritos"
#endif
,
NULL, // 9
NULL, // 10
NULL, // 11
@ -21955,70 +21975,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Projetos (projetos de fim de grau, tese…)"
#endif
,
// 3: ActReqTst
#if L==1 // ca
"Tests sobre els continguts d'aquesta assignatura"
#elif L==2 // de
"Tests"
#elif L==3 // en
"Tests on the contents of this course"
#elif L==4 // es
"Test sobre los contenidos de esta asignatura"
#elif L==5 // fr
"Tests sur le contenu de cette matière"
#elif L==6 // gn
"Test sobre los contenidos de esta asignatura"// Okoteve traducción
#elif L==7 // it
"Test sui contenuti del corso"
#elif L==8 // pl
"Testów"
#elif L==9 // pt
"Testes"
#endif
,
// 4: ActSeeAllGam
#if L==1 // ca
"Jocs (comandament a distància)"
#elif L==2 // de
"Spiele (Fernbedienung)"
#elif L==3 // en
"Games (remote control)"
#elif L==4 // es
"Juegos (mando a distancia)"
#elif L==5 // fr
"Jeux (télécommande)"
#elif L==6 // gn
"Juegos (mando a distancia)" // Okoteve traducción
#elif L==7 // it
"Giochi (telecomando)"
#elif L==8 // pl
"Gry (pilot zdalnego sterowania)"
#elif L==9 // pt
"Jogos (controlo remoto)"
#endif
,
// 5: ActSeeAllSvy
#if L==1 // ca
"Enquestes anònimes"
#elif L==2 // de
"Umfragen"
#elif L==3 // en
"Surveys"
#elif L==4 // es
"Encuestas anónimas"
#elif L==5 // fr
"Sondages"
#elif L==6 // gn
"Encuestas anónimas" // Okoteve traducción
#elif L==7 // it
"Sondaggi"
#elif L==8 // pl
"Ankiety"
#elif L==9 // pt
"Inquéritos"
#endif
,
// 6: ActSeeAllExaAnn
// 3: ActSeeAllExaAnn
#if L==1 // ca
"Llistat de convocatòries d'exàmens d'aquesta assignatura"
#elif L==2 // de
@ -22039,7 +21996,90 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Chamadas para exames"
#endif
,
NULL, // 7
// 4: ActEdiTstQst
#if L==1 // ca
"Banc de preguntes per test, exàmens i jocs"
#elif L==2 // de
"Fragenbank für Tests, Prüfungen und Spiele"
#elif L==3 // en
"Bank of questions for tests, exams and games"
#elif L==4 // es
"Banco de preguntas para test, exámenes y juegos"
#elif L==5 // fr
"Banque de questions pour tests, examens et jeux"
#elif L==6 // gn
"Banco de preguntas para test, exámenes y juegos" // Okoteve traducción
#elif L==7 // it
"Banca di domande per test, esami e giochi"
#elif L==8 // pl
"Zbiór pytań do testów, egzaminów i gier"
#elif L==9 // pt
"Banco de perguntas para testes, exames e jogos"
#endif
,
// 5: ActReqTst
#if L==1 // ca
"Tests sobre els continguts d'aquesta assignatura"
#elif L==2 // de
"Tests"
#elif L==3 // en
"Tests on the contents of this course"
#elif L==4 // es
"Test sobre los contenidos de esta asignatura"
#elif L==5 // fr
"Tests sur le contenu de cette matière"
#elif L==6 // gn
"Test sobre los contenidos de esta asignatura"// Okoteve traducción
#elif L==7 // it
"Test sui contenuti del corso"
#elif L==8 // pl
"Testów"
#elif L==9 // pt
"Testes"
#endif
,
// 6: ActSeeAllGam
#if L==1 // ca
"Jocs (comandament a distància)"
#elif L==2 // de
"Spiele (Fernbedienung)"
#elif L==3 // en
"Games (remote control)"
#elif L==4 // es
"Juegos (mando a distancia)"
#elif L==5 // fr
"Jeux (télécommande)"
#elif L==6 // gn
"Juegos (mando a distancia)" // Okoteve traducción
#elif L==7 // it
"Giochi (telecomando)"
#elif L==8 // pl
"Gry (pilot zdalnego sterowania)"
#elif L==9 // pt
"Jogos (controlo remoto)"
#endif
,
// 7: ActSeeAllSvy
#if L==1 // ca
"Enquestes anònimes"
#elif L==2 // de
"Umfragen"
#elif L==3 // en
"Surveys"
#elif L==4 // es
"Encuestas anónimas"
#elif L==5 // fr
"Sondages"
#elif L==6 // gn
"Encuestas anónimas" // Okoteve traducción
#elif L==7 // it
"Sondaggi"
#elif L==8 // pl
"Ankiety"
#elif L==9 // pt
"Inquéritos"
#endif
,
NULL, // 8
NULL, // 9
NULL, // 10

View File

@ -7502,9 +7502,9 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Show the assessment system"
"See assessment system"
#elif L==4 // es
""
"Ver sistema de evaluación"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
@ -7523,9 +7523,9 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Show assignments"
"See assignments"
#elif L==4 // es
""
"Ver actividades"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
@ -7544,9 +7544,51 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Show projects"
"See projects"
#elif L==4 // es
""
"Ver proyectos"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
"" // Okoteve traducción
#elif L==7 // it
"" // Bisogno di traduzione
#elif L==8 // pl
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActSeeAllExaAnn] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"See exam announcements"
#elif L==4 // es
"Ver convocatorias de examen"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
"" // Okoteve traducción
#elif L==7 // it
"" // Bisogno di traduzione
#elif L==8 // pl
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActEdiTstQst] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Request the edition of test questions"
#elif L==4 // es
"Solicitar la edición de preguntas de test"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
@ -7565,9 +7607,9 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Request a test of self-assesment"
"Request a test"
#elif L==4 // es
""
"Solicitar un test"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
@ -7628,30 +7670,9 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"List all surveys in pages"
"See surveys"
#elif L==4 // es
""
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
"" // Okoteve traducción
#elif L==7 // it
"" // Bisogno di traduzione
#elif L==8 // pl
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActSeeAllExaAnn] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Show the exam announcements"
#elif L==4 // es
""
"Ver encuestas"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
@ -7672,7 +7693,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
#elif L==3 // en
"Edit the assessment system"
#elif L==4 // es
""
"Editar el sistema de evaluación"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
@ -9531,90 +9552,6 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActSeeTst] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"See a test"
#elif L==4 // es
"Ver un test"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
"" // Okoteve traducción
#elif L==7 // it
"" // Bisogno di traduzione
#elif L==8 // pl
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActReqAssTst] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Request assessment of a test"
#elif L==4 // es
"Solicitar evaluación de un test"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
"" // Okoteve traducción
#elif L==7 // it
"" // Bisogno di traduzione
#elif L==8 // pl
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActAssTst] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Assess a test"
#elif L==4 // es
"Evaluar un test"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
"" // Okoteve traducción
#elif L==7 // it
"" // Bisogno di traduzione
#elif L==8 // pl
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActEdiTstQst] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Request the edition of test questions"
#elif L==4 // es
"Solicitar la edición de preguntas de test"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
"" // Okoteve traducción
#elif L==7 // it
"" // Bisogno di traduzione
#elif L==8 // pl
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActEdiOneTstQst] =
@ -9825,6 +9762,69 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActSeeTst] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"See a test"
#elif L==4 // es
"Ver un test"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
"" // Okoteve traducción
#elif L==7 // it
"" // Bisogno di traduzione
#elif L==8 // pl
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActReqAssTst] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Request assessment of a test"
#elif L==4 // es
"Solicitar evaluación de un test"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
"" // Okoteve traducción
#elif L==7 // it
"" // Bisogno di traduzione
#elif L==8 // pl
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActAssTst] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Assess a test"
#elif L==4 // es
"Evaluar un test"
#elif L==5 // fr
"" // Besoin de traduction
#elif L==6 // gn
"" // Okoteve traducción
#elif L==7 // it
"" // Bisogno di traduzione
#elif L==8 // pl
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActCfgTst] =