Version19.212

This commit is contained in:
acanas 2020-05-05 21:49:00 +02:00
parent 6be20ecad1
commit 3f893eb023
57 changed files with 606 additions and 520 deletions

View File

@ -190,7 +190,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActSeeMai ] = { 855,-1,TabUnk,ActSeeNtf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Mai_SeeMailDomains ,NULL},
[ActEdiMai ] = { 856,-1,TabUnk,ActSeeNtf ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Mai_EditMailDomains ,NULL},
[ActNewMai ] = { 857,-1,TabUnk,ActSeeNtf ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Mai_RecFormNewMailDomain ,Mai_ContEditAfterChgMai ,NULL},
[ActNewMai ] = { 857,-1,TabUnk,ActSeeNtf ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Mai_ReceiveFormNewMailDomain ,Mai_ContEditAfterChgMai ,NULL},
[ActRemMai ] = { 860,-1,TabUnk,ActSeeNtf ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Mai_RemoveMailDomain ,Mai_ContEditAfterChgMai ,NULL},
[ActRenMaiSho ] = { 858,-1,TabUnk,ActSeeNtf ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Mai_RenameMailDomainShort ,Mai_ContEditAfterChgMai ,NULL},
[ActRenMaiFul ] = { 859,-1,TabUnk,ActSeeNtf ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Mai_RenameMailDomainFull ,Mai_ContEditAfterChgMai ,NULL},
@ -208,14 +208,14 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActPrnSysInf ] = {1819,-1,TabUnk,ActSeeSysInf , 0, 0, 0, 0, 0, 0,0x3C7,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,SysCfg_PrintConfiguration ,NULL},
[ActEdiCty ] = { 863,-1,TabUnk,ActSeeCty , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Cty_EditCountries ,NULL},
[ActNewCty ] = { 864,-1,TabUnk,ActSeeCty , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Cty_RecFormNewCountry ,Cty_ContEditAfterChgCty ,NULL},
[ActNewCty ] = { 864,-1,TabUnk,ActSeeCty , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Cty_ReceiveFormNewCountry ,Cty_ContEditAfterChgCty ,NULL},
[ActRemCty ] = { 893,-1,TabUnk,ActSeeCty , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Cty_RemoveCountry ,Cty_ContEditAfterChgCty ,NULL},
[ActRenCty ] = { 866,-1,TabUnk,ActSeeCty , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Cty_RenameCountry ,Cty_ContEditAfterChgCty ,NULL},
[ActChgCtyWWW ] = {1157,-1,TabUnk,ActSeeCty , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Cty_ChangeCtyWWW ,Cty_ContEditAfterChgCty ,NULL},
[ActSeeBan ] = {1137,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x3FF,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Ban_SeeBanners ,NULL},
[ActEdiBan ] = {1138,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Ban_EditBanners ,NULL},
[ActNewBan ] = {1139,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_RecFormNewBanner ,Ban_ContEditAfterChgBan ,NULL},
[ActNewBan ] = {1139,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_ReceiveFormNewBanner ,Ban_ContEditAfterChgBan ,NULL},
[ActRemBan ] = {1140,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_RemoveBanner ,Ban_ContEditAfterChgBan ,NULL},
[ActShoBan ] = {1212,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_ShowBanner ,Ban_ContEditAfterChgBan ,NULL},
[ActHidBan ] = {1213,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_HideBanner ,Ban_ContEditAfterChgBan ,NULL},
@ -226,14 +226,14 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActClkBan ] = {1145,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x3C7,Act_CONT_NORM,Act_DOWNLD_FILE,Ban_ClickOnBanner ,NULL ,NULL},
[ActEdiLnk ] = { 749,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Lnk_EditLinks ,NULL},
[ActNewLnk ] = { 750,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Lnk_RecFormNewLink ,Lnk_ContEditAfterChgLnk ,NULL},
[ActNewLnk ] = { 750,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Lnk_ReceiveFormNewLink ,Lnk_ContEditAfterChgLnk ,NULL},
[ActRemLnk ] = { 897,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Lnk_RemoveLink ,Lnk_ContEditAfterChgLnk ,NULL},
[ActRenLnkSho ] = { 753,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Lnk_RenameLinkShort ,Lnk_ContEditAfterChgLnk ,NULL},
[ActRenLnkFul ] = { 751,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Lnk_RenameLinkFull ,Lnk_ContEditAfterChgLnk ,NULL},
[ActChgLnkWWW ] = { 752,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Lnk_ChangeLinkWWW ,Lnk_ContEditAfterChgLnk ,NULL},
[ActEdiPlg ] = { 778,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Plg_EditPlugins ,NULL},
[ActNewPlg ] = { 779,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_RecFormNewPlg ,Plg_ContEditAfterChgPlg ,NULL},
[ActNewPlg ] = { 779,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ReceiveFormNewPlg ,Plg_ContEditAfterChgPlg ,NULL},
[ActRemPlg ] = { 889,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_RemovePlugin ,Plg_ContEditAfterChgPlg ,NULL},
[ActRenPlg ] = { 782,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_RenamePlugin ,Plg_ContEditAfterChgPlg ,NULL},
[ActChgPlgDes ] = { 888,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ChangePlgDescription ,Plg_ContEditAfterChgPlg ,NULL},
@ -256,8 +256,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActChgCtyMapAtt ] = {1158,-1,TabUnk,ActSeeCtyInf , 0, 0, 0, 0, 0,0x200, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,CtyCfg_ChangeCtyMapAttr ,NULL},
[ActEdiIns ] = { 697,-1,TabUnk,ActSeeIns , 0, 0, 0, 0, 0,0x3C6, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Ins_EditInstitutions ,NULL},
[ActReqIns ] = {1210,-1,TabUnk,ActSeeIns , 0, 0, 0, 0, 0,0x3C6, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ins_RecFormReqIns ,Ins_ContEditAfterChgIns ,NULL},
[ActNewIns ] = { 698,-1,TabUnk,ActSeeIns , 0, 0, 0, 0, 0,0x200, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ins_RecFormNewIns ,Ins_ContEditAfterChgIns ,NULL},
[ActReqIns ] = {1210,-1,TabUnk,ActSeeIns , 0, 0, 0, 0, 0,0x3C6, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ins_ReceiveFormReqIns ,Ins_ContEditAfterChgIns ,NULL},
[ActNewIns ] = { 698,-1,TabUnk,ActSeeIns , 0, 0, 0, 0, 0,0x200, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ins_ReceiveFormNewIns ,Ins_ContEditAfterChgIns ,NULL},
[ActRemIns ] = { 759,-1,TabUnk,ActSeeIns , 0, 0, 0, 0, 0,0x3C6, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ins_RemoveInstitution ,Ins_ContEditAfterChgIns ,NULL},
[ActRenInsSho ] = { 702,-1,TabUnk,ActSeeIns , 0, 0, 0, 0, 0,0x3C6, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ins_RenameInsShort ,Ins_ContEditAfterChgIns ,NULL},
[ActRenInsFul ] = { 701,-1,TabUnk,ActSeeIns , 0, 0, 0, 0, 0,0x3C6, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ins_RenameInsFull ,Ins_ContEditAfterChgIns ,NULL},
@ -283,8 +283,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActRemInsLog ] = {1341,-1,TabUnk,ActSeeInsInf , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,InsCfg_RemoveLogo ,InsCfg_ShowConfiguration ,NULL},
[ActEdiCtr ] = { 681,-1,TabUnk,ActSeeCtr , 0, 0, 0, 0,0x3C6, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Ctr_EditCentres ,NULL},
[ActReqCtr ] = {1208,-1,TabUnk,ActSeeCtr , 0, 0, 0, 0,0x3C6, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ctr_RecFormReqCtr ,Ctr_ContEditAfterChgCtr ,NULL},
[ActNewCtr ] = { 685,-1,TabUnk,ActSeeCtr , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ctr_RecFormNewCtr ,Ctr_ContEditAfterChgCtr ,NULL},
[ActReqCtr ] = {1208,-1,TabUnk,ActSeeCtr , 0, 0, 0, 0,0x3C6, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ctr_ReceiveFormReqCtr ,Ctr_ContEditAfterChgCtr ,NULL},
[ActNewCtr ] = { 685,-1,TabUnk,ActSeeCtr , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ctr_ReceiveFormNewCtr ,Ctr_ContEditAfterChgCtr ,NULL},
[ActRemCtr ] = { 686,-1,TabUnk,ActSeeCtr , 0, 0, 0, 0,0x3C6, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ctr_RemoveCentre ,Ctr_ContEditAfterChgCtr ,NULL},
[ActChgCtrPlc ] = { 706,-1,TabUnk,ActSeeCtr , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ctr_ChangeCtrPlc ,Ctr_ContEditAfterChgCtr ,NULL},
[ActRenCtrSho ] = { 682,-1,TabUnk,ActSeeCtr , 0, 0, 0, 0,0x3C6, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ctr_RenameCentreShort ,Ctr_ContEditAfterChgCtr ,NULL},
@ -293,13 +293,13 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActChgCtrSta ] = {1209,-1,TabUnk,ActSeeCtr , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Ctr_ChangeCtrStatus ,Ctr_ContEditAfterChgCtr ,NULL},
[ActEdiPlc ] = { 704,-1,TabUnk,ActSeePlc , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Plc_EditPlaces ,NULL},
[ActNewPlc ] = { 705,-1,TabUnk,ActSeePlc , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Plc_RecFormNewPlace ,Plc_ContEditAfterChgPlc ,NULL},
[ActNewPlc ] = { 705,-1,TabUnk,ActSeePlc , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Plc_ReceiveFormNewPlace ,Plc_ContEditAfterChgPlc ,NULL},
[ActRemPlc ] = { 776,-1,TabUnk,ActSeePlc , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Plc_RemovePlace ,Plc_ContEditAfterChgPlc ,NULL},
[ActRenPlcSho ] = { 894,-1,TabUnk,ActSeePlc , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Plc_RenamePlaceShort ,Plc_ContEditAfterChgPlc ,NULL},
[ActRenPlcFul ] = { 895,-1,TabUnk,ActSeePlc , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Plc_RenamePlaceFull ,Plc_ContEditAfterChgPlc ,NULL},
[ActEdiDpt ] = { 677,-1,TabUnk,ActSeeDpt , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Dpt_EditDepartments ,NULL},
[ActNewDpt ] = { 687,-1,TabUnk,ActSeeDpt , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dpt_RecFormNewDpt ,Dpt_ContEditAfterChgDpt ,NULL},
[ActNewDpt ] = { 687,-1,TabUnk,ActSeeDpt , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dpt_ReceiveFormNewDpt ,Dpt_ContEditAfterChgDpt ,NULL},
[ActRemDpt ] = { 690,-1,TabUnk,ActSeeDpt , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dpt_RemoveDepartment ,Dpt_ContEditAfterChgDpt ,NULL},
[ActChgDptIns ] = { 721,-1,TabUnk,ActSeeDpt , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dpt_ChangeDepartIns ,Dpt_ContEditAfterChgDpt ,NULL},
[ActRenDptSho ] = { 688,-1,TabUnk,ActSeeDpt , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dpt_RenameDepartShort ,Dpt_ContEditAfterChgDpt ,NULL},
@ -307,7 +307,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActChgDptWWW ] = { 691,-1,TabUnk,ActSeeDpt , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dpt_ChangeDptWWW ,Dpt_ContEditAfterChgDpt ,NULL},
[ActEdiHld ] = { 713,-1,TabUnk,ActSeeHld , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Hld_EditHolidays ,NULL},
[ActNewHld ] = { 714,-1,TabUnk,ActSeeHld , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Hld_RecFormNewHoliday ,Hld_ContEditAfterChgHld ,NULL},
[ActNewHld ] = { 714,-1,TabUnk,ActSeeHld , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Hld_ReceiveFormNewHoliday ,Hld_ContEditAfterChgHld ,NULL},
[ActRemHld ] = { 716,-1,TabUnk,ActSeeHld , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Hld_RemoveHoliday ,Hld_ContEditAfterChgHld ,NULL},
[ActChgHldPlc ] = { 896,-1,TabUnk,ActSeeHld , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Hld_ChangeHolidayPlace ,Hld_ContEditAfterChgHld ,NULL},
[ActChgHldTyp ] = { 715,-1,TabUnk,ActSeeHld , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Hld_ChangeHolidayType ,Hld_ContEditAfterChgHld ,NULL},
@ -341,13 +341,13 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActSeeDegTyp ] = {1013,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,DT_SeeDegreeTypesInDegTab ,NULL},
[ActEdiDegTyp ] = { 573,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x200, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,DT_EditDegreeTypes ,NULL},
[ActNewDegTyp ] = { 537,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x200, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,DT_RecFormNewDegreeType ,DT_ContEditAfterChgDegTyp ,NULL},
[ActNewDegTyp ] = { 537,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x200, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,DT_ReceiveFormNewDegreeType ,DT_ContEditAfterChgDegTyp ,NULL},
[ActRemDegTyp ] = { 545,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x200, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,DT_RemoveDegreeType ,DT_ContEditAfterChgDegTyp ,NULL},
[ActRenDegTyp ] = { 538,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x200, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,DT_RenameDegreeType ,DT_ContEditAfterChgDegTyp ,NULL},
[ActEdiDeg ] = { 536,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Deg_EditDegrees ,NULL},
[ActReqDeg ] = {1206,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Deg_RecFormReqDeg ,Deg_ContEditAfterChgDeg ,NULL},
[ActNewDeg ] = { 540,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Deg_RecFormNewDeg ,Deg_ContEditAfterChgDeg ,NULL},
[ActReqDeg ] = {1206,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Deg_ReceiveFormReqDeg ,Deg_ContEditAfterChgDeg ,NULL},
[ActNewDeg ] = { 540,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Deg_ReceiveFormNewDeg ,Deg_ContEditAfterChgDeg ,NULL},
[ActRemDeg ] = { 542,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Deg_RemoveDegree ,Deg_ContEditAfterChgDeg ,NULL},
[ActRenDegSho ] = { 546,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Deg_RenameDegreeShort ,Deg_ContEditAfterChgDeg ,NULL},
[ActRenDegFul ] = { 547,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Deg_RenameDegreeFull ,Deg_ContEditAfterChgDeg ,NULL},
@ -356,14 +356,14 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActChgDegSta ] = {1207,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Deg_ChangeDegStatus ,Deg_ContEditAfterChgDeg ,NULL},
[ActEdiBld ] = {1839,-1,TabUnk,ActSeeBld , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Bld_EditBuildings ,NULL},
[ActNewBld ] = {1840,-1,TabUnk,ActSeeBld , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Bld_RecFormNewBuilding ,Bld_ContEditAfterChgBuilding ,NULL},
[ActNewBld ] = {1840,-1,TabUnk,ActSeeBld , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Bld_ReceiveFormNewBuilding ,Bld_ContEditAfterChgBuilding ,NULL},
[ActRemBld ] = {1841,-1,TabUnk,ActSeeBld , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Bld_RemoveBuilding ,Bld_ContEditAfterChgBuilding ,NULL},
[ActRenBldSho ] = {1842,-1,TabUnk,ActSeeBld , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Bld_RenameBuildingShort ,Bld_ContEditAfterChgBuilding ,NULL},
[ActRenBldFul ] = {1843,-1,TabUnk,ActSeeBld , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Bld_RenameBuildingFull ,Bld_ContEditAfterChgBuilding ,NULL},
[ActRenBldLoc ] = {1844,-1,TabUnk,ActSeeBld , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Bld_ChangeBuildingLocation ,Bld_ContEditAfterChgBuilding ,NULL},
[ActEdiRoo ] = {1745,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Roo_EditRooms ,NULL},
[ActNewRoo ] = {1746,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_RecFormNewRoom ,Roo_ContEditAfterChgRoom ,NULL},
[ActNewRoo ] = {1746,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_ReceiveFormNewRoom ,Roo_ContEditAfterChgRoom ,NULL},
[ActRemRoo ] = {1747,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_RemoveRoom ,Roo_ContEditAfterChgRoom ,NULL},
[ActChgRooBld ] = {1845,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_ChangeBuilding ,Roo_ContEditAfterChgRoom ,NULL},
[ActChgRooFlo ] = {1846,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_ChangeFloor ,Roo_ContEditAfterChgRoom ,NULL},
@ -388,8 +388,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActRemDegLog ] = {1343,-1,TabUnk,ActSeeDegInf , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,Deg_RemoveLogo ,DegCfg_ShowConfiguration ,NULL},
[ActEdiCrs ] = { 555,-1,TabUnk,ActSeeCrs , 0, 0,0x3C6, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Crs_EditCourses ,NULL},
[ActReqCrs ] = {1053,-1,TabUnk,ActSeeCrs , 0, 0,0x3C6, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Crs_RecFormReqCrs ,Crs_ContEditAfterChgCrs ,NULL},
[ActNewCrs ] = { 556,-1,TabUnk,ActSeeCrs , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Crs_RecFormNewCrs ,Crs_ContEditAfterChgCrs ,NULL},
[ActReqCrs ] = {1053,-1,TabUnk,ActSeeCrs , 0, 0,0x3C6, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Crs_ReceiveFormReqCrs ,Crs_ContEditAfterChgCrs ,NULL},
[ActNewCrs ] = { 556,-1,TabUnk,ActSeeCrs , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Crs_ReceiveFormNewCrs ,Crs_ContEditAfterChgCrs ,NULL},
[ActRemCrs ] = { 560,-1,TabUnk,ActSeeCrs , 0, 0,0x3C6, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Crs_RemoveCourse ,Crs_ContEditAfterChgCrs ,NULL},
[ActChgInsCrsCod ] = {1025,-1,TabUnk,ActSeeCrs , 0, 0,0x3C6, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Crs_ChangeInsCrsCod ,Crs_ContEditAfterChgCrs ,NULL},
[ActChgCrsYea ] = { 561,-1,TabUnk,ActSeeCrs , 0, 0,0x3C6, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Crs_ChangeCrsYear ,Crs_ContEditAfterChgCrs ,NULL},
@ -419,8 +419,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActFrmNewPrgItm ] = {1822,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_RequestCreateItem ,NULL},
[ActFrmChgPrgItm ] = {1823,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_RequestChangeItem ,NULL},
[ActNewPrgItm ] = {1825,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_RecFormNewItem ,NULL},
[ActChgPrgItm ] = {1826,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_RecFormChgItem ,NULL},
[ActNewPrgItm ] = {1825,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_ReceiveFormNewItem ,NULL},
[ActChgPrgItm ] = {1826,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_ReceiveFormChgItem ,NULL},
[ActReqRemPrgItm ] = {1827,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_ReqRemItem ,NULL},
[ActRemPrgItm ] = {1828,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_RemoveItem ,NULL},
[ActHidPrgItm ] = {1829,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_HideItem ,NULL},
@ -567,8 +567,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActFrmNewAsg ] = { 812,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_RequestCreatOrEditAsg ,NULL},
[ActEdiOneAsg ] = { 814,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_RequestCreatOrEditAsg ,NULL},
[ActPrnOneAsg ] = {1637,-1,TabUnk,ActSeeAsg ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Asg_PrintOneAssignment ,NULL},
[ActNewAsg ] = { 803,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_RecFormAssignment ,NULL},
[ActChgAsg ] = { 815,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_RecFormAssignment ,NULL},
[ActNewAsg ] = { 803,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_ReceiveFormAssignment ,NULL},
[ActChgAsg ] = { 815,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_ReceiveFormAssignment ,NULL},
[ActReqRemAsg ] = { 813,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_ReqRemAssignment ,NULL},
[ActRemAsg ] = { 806,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_RemoveAssignment ,NULL},
[ActHidAsg ] = { 964,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_HideAssignment ,NULL},
@ -585,8 +585,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActFrmNewPrj ] = {1675,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RequestCreatePrj ,NULL},
[ActEdiOnePrj ] = {1676,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RequestEditPrj ,NULL},
[ActPrnOnePrj ] = {1677,-1,TabUnk,ActSeePrj ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Prj_PrintOneProject ,NULL},
[ActNewPrj ] = {1678,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RecFormProject ,NULL},
[ActChgPrj ] = {1679,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RecFormProject ,NULL},
[ActNewPrj ] = {1678,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReceiveFormProject ,NULL},
[ActChgPrj ] = {1679,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReceiveFormProject ,NULL},
[ActReqRemPrj ] = {1680,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqRemProject ,NULL},
[ActRemPrj ] = {1681,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RemoveProject ,NULL},
[ActHidPrj ] = {1682,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_HideProject ,NULL},
@ -677,12 +677,15 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActSeeExa ] = {1849,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_SeeOneExam ,NULL},
[ActReqNewExaEvt ] = {1852,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_RequestCreatOrEditEvent ,NULL},
[ActEdiOneExaEvt ] = {1902,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_RequestCreatOrEditEvent ,NULL},
[ActNewExaEvt ] = {1853,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_ReceiveFormEvent ,NULL},
[ActChgExaEvt ] = {1903,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_ReceiveFormEvent ,NULL},
[ActReqRemExaEvt ] = {1850,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_RequestRemoveEvent ,NULL},
[ActRemExaEvt ] = {1851,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_RemoveEvent ,NULL},
[ActHidExaEvt ] = {1900,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_HideEvent ,NULL},
[ActShoExaEvt ] = {1901,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_UnhideEvent ,NULL},
[ActReqNewExaEvt ] = {1852,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_RequestNewEvent ,NULL},
[ActNewExaEvt ] = {1853,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_CreateNewEventTch ,NULL},
[ActResExaEvt ] = {1854,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,ExaEvt_GetEventBeingPlayed ,ExaEvt_ResumeEvent ,NULL},
[ActBckExaEvt ] = {1855,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_2ND_TAB,ExaEvt_GetEventBeingPlayed ,ExaEvt_BackEvent ,NULL},
[ActPlyPauExaEvt ] = {1856,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_2ND_TAB,ExaEvt_GetEventBeingPlayed ,ExaEvt_PlayPauseEvent ,NULL},
@ -713,15 +716,15 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActFrmNewExa ] = {1877,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_RequestCreatOrEditExam ,NULL},
[ActEdiOneExa ] = {1878,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_RequestCreatOrEditExam ,NULL},
[ActNewExa ] = {1879,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_RecFormExam ,NULL},
[ActChgExa ] = {1880,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_RecFormExam ,NULL},
[ActNewExa ] = {1879,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_ReceiveFormExam ,NULL},
[ActChgExa ] = {1880,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_ReceiveFormExam ,NULL},
[ActReqRemExa ] = {1881,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_AskRemExam ,NULL},
[ActRemExa ] = {1882,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_RemoveExam ,NULL},
[ActHidExa ] = {1883,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_HideExam ,NULL},
[ActShoExa ] = {1884,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_UnhideExam ,NULL},
[ActFrmNewExaSet ] = {1892,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDates ,ExaSet_RequestCreatOrEditSet ,NULL},
[ActNewExaSet ] = {1898,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_RecFormSet ,NULL},
[ActNewExaSet ] = {1898,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_ReceiveFormSet ,NULL},
[ActReqRemExaSet ] = {1893,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_RequestRemoveSet ,NULL},
[ActRemExaSet ] = {1894,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_RemoveSet ,NULL},
[ActUp_ExaSet ] = {1895,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_MoveUpSet ,NULL},
@ -771,8 +774,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActFrmNewGam ] = {1652,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_RequestCreatOrEditGame ,NULL},
[ActEdiOneGam ] = {1653,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_RequestCreatOrEditGame ,NULL},
[ActNewGam ] = {1654,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_RecFormGame ,NULL},
[ActChgGam ] = {1655,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_RecFormGame ,NULL},
[ActNewGam ] = {1654,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_ReceiveFormGame ,NULL},
[ActChgGam ] = {1655,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_ReceiveFormGame ,NULL},
[ActReqRemGam ] = {1656,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_AskRemGame ,NULL},
[ActRemGam ] = {1657,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_RemoveGame ,NULL},
[ActHidGam ] = {1660,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_HideGame ,NULL},
@ -789,8 +792,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActAnsSvy ] = { 983,-1,TabUnk,ActSeeAllSvy ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReceiveSurveyAnswers ,NULL},
[ActFrmNewSvy ] = { 973,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RequestCreatOrEditSvy ,NULL},
[ActEdiOneSvy ] = { 974,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RequestCreatOrEditSvy ,NULL},
[ActNewSvy ] = { 968,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RecFormSurvey ,NULL},
[ActChgSvy ] = { 975,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RecFormSurvey ,NULL},
[ActNewSvy ] = { 968,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReceiveFormSurvey ,NULL},
[ActChgSvy ] = { 975,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReceiveFormSurvey ,NULL},
[ActReqRemSvy ] = { 976,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_AskRemSurvey ,NULL},
[ActRemSvy ] = { 969,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RemoveSurvey ,NULL},
[ActReqRstSvy ] = { 984,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_AskResetSurvey ,NULL},
@ -1308,7 +1311,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActReqEdiGrp ] = { 108,-1,TabUnk,ActReqSelGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Grp_ReqEditGroups ,NULL},
[ActNewGrpTyp ] = { 174,-1,TabUnk,ActReqSelGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Grp_RecFormNewGrpTyp ,NULL},
[ActNewGrpTyp ] = { 174,-1,TabUnk,ActReqSelGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Grp_ReceiveFormNewGrpTyp ,NULL},
[ActReqRemGrpTyp ] = { 236,-1,TabUnk,ActReqSelGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Grp_ReqRemGroupType ,NULL},
[ActRemGrpTyp ] = { 237,-1,TabUnk,ActReqSelGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Grp_RemoveGroupType ,NULL},
[ActRenGrpTyp ] = { 304,-1,TabUnk,ActReqSelGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Grp_RenameGroupType ,NULL},
@ -1316,7 +1319,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActChgMulGrpTyp ] = { 302,-1,TabUnk,ActReqSelGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Grp_ChangeMultiGrpTyp ,NULL},
[ActChgTimGrpTyp ] = {1061,-1,TabUnk,ActReqSelGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Grp_ChangeOpenTimeGrpTyp ,NULL},
[ActNewGrp ] = { 122,-1,TabUnk,ActReqSelGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Grp_RecFormNewGrp ,NULL},
[ActNewGrp ] = { 122,-1,TabUnk,ActReqSelGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Grp_ReceiveFormNewGrp ,NULL},
[ActReqRemGrp ] = { 107,-1,TabUnk,ActReqSelGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Grp_ReqRemGroup ,NULL},
[ActRemGrp ] = { 175,-1,TabUnk,ActReqSelGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Grp_RemoveGroup ,NULL},
[ActOpeGrp ] = { 322,-1,TabUnk,ActReqSelGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Grp_OpenGroup ,NULL},
@ -1377,8 +1380,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActPrnLstUsrAtt ] = {1075,-1,TabUnk,ActSeeAtt ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Att_PrintUsrsAttendanceCrs ,NULL},
[ActFrmNewAtt ] = {1063,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_RequestCreatOrEditAttEvent ,NULL},
[ActEdiOneAtt ] = {1064,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_RequestCreatOrEditAttEvent ,NULL},
[ActNewAtt ] = {1065,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_RecFormAttEvent ,NULL},
[ActChgAtt ] = {1066,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_RecFormAttEvent ,NULL},
[ActNewAtt ] = {1065,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_ReceiveFormAttEvent ,NULL},
[ActChgAtt ] = {1066,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_ReceiveFormAttEvent ,NULL},
[ActReqRemAtt ] = {1067,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_AskRemAttEvent ,NULL},
[ActRemAtt ] = {1068,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_GetAndRemAttEvent ,NULL},
[ActHidAtt ] = {1069,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_HideAttEvent ,NULL},
@ -1741,8 +1744,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActFrmNewEvtMyAgd ] = {1603,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_RequestCreatOrEditEvent ,NULL},
[ActEdiOneEvtMyAgd ] = {1604,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_RequestCreatOrEditEvent ,NULL},
[ActNewEvtMyAgd ] = {1605,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_RecFormEvent ,NULL},
[ActChgEvtMyAgd ] = {1606,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_RecFormEvent ,NULL},
[ActNewEvtMyAgd ] = {1605,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_ReceiveFormEvent ,NULL},
[ActChgEvtMyAgd ] = {1606,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_ReceiveFormEvent ,NULL},
[ActReqRemEvtMyAgd ] = {1607,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_AskRemEvent ,NULL},
[ActRemEvtMyAgd ] = {1608,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_RemoveEvent ,NULL},
[ActHidEvtMyAgd ] = {1612,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_HideEvent ,NULL},
@ -3714,6 +3717,8 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
ActChgNumQstExaSet, // #1899
ActHidExaEvt, // #1900
ActShoExaEvt, // #1901
ActEdiOneExaEvt, // #1902
ActChgExaEvt, // #1903
};
/*****************************************************************************/

View File

@ -64,7 +64,7 @@ typedef enum
typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
#define Act_MAX_ACTION_COD 1901
#define Act_MAX_ACTION_COD 1903
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 13
@ -644,137 +644,141 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
#define ActSeeOneTstResOth (ActChgCrsTT1stDay + 122)
#define ActSeeExa (ActChgCrsTT1stDay + 123)
#define ActReqRemExaEvt (ActChgCrsTT1stDay + 124)
#define ActRemExaEvt (ActChgCrsTT1stDay + 125)
#define ActHidExaEvt (ActChgCrsTT1stDay + 126)
#define ActShoExaEvt (ActChgCrsTT1stDay + 127)
#define ActReqNewExaEvt (ActChgCrsTT1stDay + 128)
#define ActNewExaEvt (ActChgCrsTT1stDay + 129)
#define ActResExaEvt (ActChgCrsTT1stDay + 130)
#define ActBckExaEvt (ActChgCrsTT1stDay + 131)
#define ActPlyPauExaEvt (ActChgCrsTT1stDay + 132)
#define ActFwdExaEvt (ActChgCrsTT1stDay + 133)
#define ActChgNumColExaEvt (ActChgCrsTT1stDay + 134)
#define ActChgVisResExaEvtQst (ActChgCrsTT1stDay + 135)
#define ActExaEvtCntDwn (ActChgCrsTT1stDay + 136)
#define ActRefExaEvtTch (ActChgCrsTT1stDay + 137)
#define ActJoiExaEvt (ActChgCrsTT1stDay + 138)
#define ActSeeExaEvtAnsQstStd (ActChgCrsTT1stDay + 139)
#define ActRemExaEvtAnsQstStd (ActChgCrsTT1stDay + 140)
#define ActAnsExaEvtQstStd (ActChgCrsTT1stDay + 141)
#define ActRefExaEvtStd (ActChgCrsTT1stDay + 142)
#define ActSeeMyExaEvtResCrs (ActChgCrsTT1stDay + 143)
#define ActSeeMyExaEvtResExa (ActChgCrsTT1stDay + 144)
#define ActSeeMyExaEvtResEvt (ActChgCrsTT1stDay + 145)
#define ActSeeOneExaEvtResMe (ActChgCrsTT1stDay + 146)
#define ActReqNewExaEvt (ActChgCrsTT1stDay + 124)
#define ActEdiOneExaEvt (ActChgCrsTT1stDay + 125)
#define ActNewExaEvt (ActChgCrsTT1stDay + 126)
#define ActChgExaEvt (ActChgCrsTT1stDay + 127)
#define ActReqRemExaEvt (ActChgCrsTT1stDay + 128)
#define ActRemExaEvt (ActChgCrsTT1stDay + 129)
#define ActHidExaEvt (ActChgCrsTT1stDay + 130)
#define ActShoExaEvt (ActChgCrsTT1stDay + 131)
#define ActReqSeeAllExaEvtRes (ActChgCrsTT1stDay + 147)
#define ActSeeAllExaEvtResCrs (ActChgCrsTT1stDay + 148)
#define ActSeeAllExaEvtResExa (ActChgCrsTT1stDay + 149)
#define ActSeeAllExaEvtResEvt (ActChgCrsTT1stDay + 150)
#define ActSeeOneExaEvtResOth (ActChgCrsTT1stDay + 151)
#define ActResExaEvt (ActChgCrsTT1stDay + 132)
#define ActBckExaEvt (ActChgCrsTT1stDay + 133)
#define ActPlyPauExaEvt (ActChgCrsTT1stDay + 134)
#define ActFwdExaEvt (ActChgCrsTT1stDay + 135)
#define ActChgNumColExaEvt (ActChgCrsTT1stDay + 136)
#define ActChgVisResExaEvtQst (ActChgCrsTT1stDay + 137)
#define ActExaEvtCntDwn (ActChgCrsTT1stDay + 138)
#define ActRefExaEvtTch (ActChgCrsTT1stDay + 139)
#define ActJoiExaEvt (ActChgCrsTT1stDay + 140)
#define ActSeeExaEvtAnsQstStd (ActChgCrsTT1stDay + 141)
#define ActRemExaEvtAnsQstStd (ActChgCrsTT1stDay + 142)
#define ActAnsExaEvtQstStd (ActChgCrsTT1stDay + 143)
#define ActRefExaEvtStd (ActChgCrsTT1stDay + 144)
#define ActChgVisResExaEvtUsr (ActChgCrsTT1stDay + 152)
#define ActSeeMyExaEvtResCrs (ActChgCrsTT1stDay + 145)
#define ActSeeMyExaEvtResExa (ActChgCrsTT1stDay + 146)
#define ActSeeMyExaEvtResEvt (ActChgCrsTT1stDay + 147)
#define ActSeeOneExaEvtResMe (ActChgCrsTT1stDay + 148)
#define ActFrmNewExa (ActChgCrsTT1stDay + 153)
#define ActEdiOneExa (ActChgCrsTT1stDay + 154)
#define ActNewExa (ActChgCrsTT1stDay + 155)
#define ActChgExa (ActChgCrsTT1stDay + 156)
#define ActReqRemExa (ActChgCrsTT1stDay + 157)
#define ActRemExa (ActChgCrsTT1stDay + 158)
#define ActHidExa (ActChgCrsTT1stDay + 159)
#define ActShoExa (ActChgCrsTT1stDay + 160)
#define ActFrmNewExaSet (ActChgCrsTT1stDay + 161)
#define ActNewExaSet (ActChgCrsTT1stDay + 162)
#define ActReqRemExaSet (ActChgCrsTT1stDay + 163)
#define ActRemExaSet (ActChgCrsTT1stDay + 164)
#define ActUp_ExaSet (ActChgCrsTT1stDay + 165)
#define ActDwnExaSet (ActChgCrsTT1stDay + 166)
#define ActChgTitExaSet (ActChgCrsTT1stDay + 167)
#define ActChgNumQstExaSet (ActChgCrsTT1stDay + 168)
#define ActReqSeeAllExaEvtRes (ActChgCrsTT1stDay + 149)
#define ActSeeAllExaEvtResCrs (ActChgCrsTT1stDay + 150)
#define ActSeeAllExaEvtResExa (ActChgCrsTT1stDay + 151)
#define ActSeeAllExaEvtResEvt (ActChgCrsTT1stDay + 152)
#define ActSeeOneExaEvtResOth (ActChgCrsTT1stDay + 153)
#define ActReqAddQstExaSet (ActChgCrsTT1stDay + 169)
#define ActLstTstQstForSet (ActChgCrsTT1stDay + 170)
#define ActAddQstToExa (ActChgCrsTT1stDay + 171)
#define ActReqRemSetQst (ActChgCrsTT1stDay + 172)
#define ActRemExaQst (ActChgCrsTT1stDay + 173)
#define ActChgVisResExaEvtUsr (ActChgCrsTT1stDay + 154)
#define ActSeeGam (ActChgCrsTT1stDay + 174)
#define ActReqRemMch (ActChgCrsTT1stDay + 175)
#define ActRemMch (ActChgCrsTT1stDay + 176)
#define ActReqNewMch (ActChgCrsTT1stDay + 177)
#define ActNewMch (ActChgCrsTT1stDay + 178)
#define ActResMch (ActChgCrsTT1stDay + 179)
#define ActBckMch (ActChgCrsTT1stDay + 180)
#define ActPlyPauMch (ActChgCrsTT1stDay + 181)
#define ActFwdMch (ActChgCrsTT1stDay + 182)
#define ActChgNumColMch (ActChgCrsTT1stDay + 183)
#define ActChgVisResMchQst (ActChgCrsTT1stDay + 184)
#define ActMchCntDwn (ActChgCrsTT1stDay + 185)
#define ActRefMchTch (ActChgCrsTT1stDay + 186)
#define ActFrmNewExa (ActChgCrsTT1stDay + 155)
#define ActEdiOneExa (ActChgCrsTT1stDay + 156)
#define ActNewExa (ActChgCrsTT1stDay + 157)
#define ActChgExa (ActChgCrsTT1stDay + 158)
#define ActReqRemExa (ActChgCrsTT1stDay + 159)
#define ActRemExa (ActChgCrsTT1stDay + 160)
#define ActHidExa (ActChgCrsTT1stDay + 161)
#define ActShoExa (ActChgCrsTT1stDay + 162)
#define ActFrmNewExaSet (ActChgCrsTT1stDay + 163)
#define ActNewExaSet (ActChgCrsTT1stDay + 164)
#define ActReqRemExaSet (ActChgCrsTT1stDay + 165)
#define ActRemExaSet (ActChgCrsTT1stDay + 166)
#define ActUp_ExaSet (ActChgCrsTT1stDay + 167)
#define ActDwnExaSet (ActChgCrsTT1stDay + 168)
#define ActChgTitExaSet (ActChgCrsTT1stDay + 169)
#define ActChgNumQstExaSet (ActChgCrsTT1stDay + 170)
#define ActJoiMch (ActChgCrsTT1stDay + 187)
#define ActSeeMchAnsQstStd (ActChgCrsTT1stDay + 188)
#define ActRemMchAnsQstStd (ActChgCrsTT1stDay + 189)
#define ActAnsMchQstStd (ActChgCrsTT1stDay + 190)
#define ActRefMchStd (ActChgCrsTT1stDay + 191)
#define ActReqAddQstExaSet (ActChgCrsTT1stDay + 171)
#define ActLstTstQstForSet (ActChgCrsTT1stDay + 172)
#define ActAddQstToExa (ActChgCrsTT1stDay + 173)
#define ActReqRemSetQst (ActChgCrsTT1stDay + 174)
#define ActRemExaQst (ActChgCrsTT1stDay + 175)
#define ActSeeMyMchResCrs (ActChgCrsTT1stDay + 192)
#define ActSeeMyMchResGam (ActChgCrsTT1stDay + 193)
#define ActSeeMyMchResMch (ActChgCrsTT1stDay + 194)
#define ActSeeOneMchResMe (ActChgCrsTT1stDay + 195)
#define ActSeeGam (ActChgCrsTT1stDay + 176)
#define ActReqRemMch (ActChgCrsTT1stDay + 177)
#define ActRemMch (ActChgCrsTT1stDay + 178)
#define ActReqNewMch (ActChgCrsTT1stDay + 179)
#define ActNewMch (ActChgCrsTT1stDay + 180)
#define ActResMch (ActChgCrsTT1stDay + 181)
#define ActBckMch (ActChgCrsTT1stDay + 182)
#define ActPlyPauMch (ActChgCrsTT1stDay + 183)
#define ActFwdMch (ActChgCrsTT1stDay + 184)
#define ActChgNumColMch (ActChgCrsTT1stDay + 185)
#define ActChgVisResMchQst (ActChgCrsTT1stDay + 186)
#define ActMchCntDwn (ActChgCrsTT1stDay + 187)
#define ActRefMchTch (ActChgCrsTT1stDay + 188)
#define ActReqSeeAllMchRes (ActChgCrsTT1stDay + 196)
#define ActSeeAllMchResCrs (ActChgCrsTT1stDay + 197)
#define ActSeeAllMchResGam (ActChgCrsTT1stDay + 198)
#define ActSeeAllMchResMch (ActChgCrsTT1stDay + 199)
#define ActSeeOneMchResOth (ActChgCrsTT1stDay + 200)
#define ActJoiMch (ActChgCrsTT1stDay + 189)
#define ActSeeMchAnsQstStd (ActChgCrsTT1stDay + 190)
#define ActRemMchAnsQstStd (ActChgCrsTT1stDay + 191)
#define ActAnsMchQstStd (ActChgCrsTT1stDay + 192)
#define ActRefMchStd (ActChgCrsTT1stDay + 193)
#define ActChgVisResMchUsr (ActChgCrsTT1stDay + 201)
#define ActSeeMyMchResCrs (ActChgCrsTT1stDay + 194)
#define ActSeeMyMchResGam (ActChgCrsTT1stDay + 195)
#define ActSeeMyMchResMch (ActChgCrsTT1stDay + 196)
#define ActSeeOneMchResMe (ActChgCrsTT1stDay + 197)
#define ActFrmNewGam (ActChgCrsTT1stDay + 202)
#define ActEdiOneGam (ActChgCrsTT1stDay + 203)
#define ActNewGam (ActChgCrsTT1stDay + 204)
#define ActChgGam (ActChgCrsTT1stDay + 205)
#define ActReqRemGam (ActChgCrsTT1stDay + 206)
#define ActRemGam (ActChgCrsTT1stDay + 207)
#define ActHidGam (ActChgCrsTT1stDay + 208)
#define ActShoGam (ActChgCrsTT1stDay + 209)
#define ActAddOneGamQst (ActChgCrsTT1stDay + 210)
#define ActGamLstTstQst (ActChgCrsTT1stDay + 211)
#define ActAddTstQstToGam (ActChgCrsTT1stDay + 212)
#define ActReqRemGamQst (ActChgCrsTT1stDay + 213)
#define ActRemGamQst (ActChgCrsTT1stDay + 214)
#define ActUp_GamQst (ActChgCrsTT1stDay + 215)
#define ActDwnGamQst (ActChgCrsTT1stDay + 216)
#define ActReqSeeAllMchRes (ActChgCrsTT1stDay + 198)
#define ActSeeAllMchResCrs (ActChgCrsTT1stDay + 199)
#define ActSeeAllMchResGam (ActChgCrsTT1stDay + 200)
#define ActSeeAllMchResMch (ActChgCrsTT1stDay + 201)
#define ActSeeOneMchResOth (ActChgCrsTT1stDay + 202)
#define ActSeeSvy (ActChgCrsTT1stDay + 217)
#define ActAnsSvy (ActChgCrsTT1stDay + 218)
#define ActFrmNewSvy (ActChgCrsTT1stDay + 219)
#define ActEdiOneSvy (ActChgCrsTT1stDay + 220)
#define ActNewSvy (ActChgCrsTT1stDay + 221)
#define ActChgSvy (ActChgCrsTT1stDay + 222)
#define ActReqRemSvy (ActChgCrsTT1stDay + 223)
#define ActRemSvy (ActChgCrsTT1stDay + 224)
#define ActReqRstSvy (ActChgCrsTT1stDay + 225)
#define ActRstSvy (ActChgCrsTT1stDay + 226)
#define ActHidSvy (ActChgCrsTT1stDay + 227)
#define ActShoSvy (ActChgCrsTT1stDay + 228)
#define ActEdiOneSvyQst (ActChgCrsTT1stDay + 229)
#define ActRcvSvyQst (ActChgCrsTT1stDay + 230)
#define ActReqRemSvyQst (ActChgCrsTT1stDay + 231)
#define ActRemSvyQst (ActChgCrsTT1stDay + 232)
#define ActChgVisResMchUsr (ActChgCrsTT1stDay + 203)
#define ActSeeOneExaAnn (ActChgCrsTT1stDay + 233)
#define ActSeeDatExaAnn (ActChgCrsTT1stDay + 234)
#define ActEdiExaAnn (ActChgCrsTT1stDay + 235)
#define ActRcvExaAnn (ActChgCrsTT1stDay + 236)
#define ActPrnExaAnn (ActChgCrsTT1stDay + 237)
#define ActReqRemExaAnn (ActChgCrsTT1stDay + 238)
#define ActRemExaAnn (ActChgCrsTT1stDay + 239)
#define ActHidExaAnn (ActChgCrsTT1stDay + 240)
#define ActShoExaAnn (ActChgCrsTT1stDay + 241)
#define ActFrmNewGam (ActChgCrsTT1stDay + 204)
#define ActEdiOneGam (ActChgCrsTT1stDay + 205)
#define ActNewGam (ActChgCrsTT1stDay + 206)
#define ActChgGam (ActChgCrsTT1stDay + 207)
#define ActReqRemGam (ActChgCrsTT1stDay + 208)
#define ActRemGam (ActChgCrsTT1stDay + 209)
#define ActHidGam (ActChgCrsTT1stDay + 210)
#define ActShoGam (ActChgCrsTT1stDay + 211)
#define ActAddOneGamQst (ActChgCrsTT1stDay + 212)
#define ActGamLstTstQst (ActChgCrsTT1stDay + 213)
#define ActAddTstQstToGam (ActChgCrsTT1stDay + 214)
#define ActReqRemGamQst (ActChgCrsTT1stDay + 215)
#define ActRemGamQst (ActChgCrsTT1stDay + 216)
#define ActUp_GamQst (ActChgCrsTT1stDay + 217)
#define ActDwnGamQst (ActChgCrsTT1stDay + 218)
#define ActSeeSvy (ActChgCrsTT1stDay + 219)
#define ActAnsSvy (ActChgCrsTT1stDay + 220)
#define ActFrmNewSvy (ActChgCrsTT1stDay + 221)
#define ActEdiOneSvy (ActChgCrsTT1stDay + 222)
#define ActNewSvy (ActChgCrsTT1stDay + 223)
#define ActChgSvy (ActChgCrsTT1stDay + 224)
#define ActReqRemSvy (ActChgCrsTT1stDay + 225)
#define ActRemSvy (ActChgCrsTT1stDay + 226)
#define ActReqRstSvy (ActChgCrsTT1stDay + 227)
#define ActRstSvy (ActChgCrsTT1stDay + 228)
#define ActHidSvy (ActChgCrsTT1stDay + 229)
#define ActShoSvy (ActChgCrsTT1stDay + 230)
#define ActEdiOneSvyQst (ActChgCrsTT1stDay + 231)
#define ActRcvSvyQst (ActChgCrsTT1stDay + 232)
#define ActReqRemSvyQst (ActChgCrsTT1stDay + 233)
#define ActRemSvyQst (ActChgCrsTT1stDay + 234)
#define ActSeeOneExaAnn (ActChgCrsTT1stDay + 235)
#define ActSeeDatExaAnn (ActChgCrsTT1stDay + 236)
#define ActEdiExaAnn (ActChgCrsTT1stDay + 237)
#define ActRcvExaAnn (ActChgCrsTT1stDay + 238)
#define ActPrnExaAnn (ActChgCrsTT1stDay + 239)
#define ActReqRemExaAnn (ActChgCrsTT1stDay + 240)
#define ActRemExaAnn (ActChgCrsTT1stDay + 241)
#define ActHidExaAnn (ActChgCrsTT1stDay + 242)
#define ActShoExaAnn (ActChgCrsTT1stDay + 243)
/*****************************************************************************/
/******************************** Files tab **********************************/

View File

@ -1701,7 +1701,7 @@ void Agd_RequestCreatOrEditEvent (void)
/********************* Receive form to create a new event ********************/
/*****************************************************************************/
void Agd_RecFormEvent (void)
void Agd_ReceiveFormEvent (void)
{
extern const char *Txt_You_must_specify_the_title_of_the_event;
extern const char *Txt_Created_new_event_X;

View File

@ -123,7 +123,7 @@ void Agd_UnhideEvent (void);
void Agd_MakeEventPrivate (void);
void Agd_MakeEventPublic (void);
void Agd_RecFormEvent (void);
void Agd_ReceiveFormEvent (void);
void Agd_RemoveUsrEvents (long UsrCod);
unsigned Agd_GetNumEventsFromUsr (long UsrCod);

View File

@ -1382,7 +1382,7 @@ static void Asg_ShowLstGrpsToEditAssignment (long AsgCod)
/****************** Receive form to create a new assignment ******************/
/*****************************************************************************/
void Asg_RecFormAssignment (void)
void Asg_ReceiveFormAssignment (void)
{
extern const char *Txt_Already_existed_an_assignment_with_the_title_X;
extern const char *Txt_Already_existed_an_assignment_with_the_folder_X;

View File

@ -95,7 +95,7 @@ void Asg_ReqRemAssignment (void);
void Asg_RemoveAssignment (void);
void Asg_HideAssignment (void);
void Asg_ShowAssignment (void);
void Asg_RecFormAssignment (void);
void Asg_ReceiveFormAssignment (void);
bool Asg_CheckIfAsgIsAssociatedToGrp (long AsgCod,long GrpCod);
void Asg_RemoveGroup (long GrpCod);
void Asg_RemoveGroupsOfType (long GrpTypCod);

View File

@ -1295,7 +1295,7 @@ static void Att_ShowLstGrpsToEditAttEvent (long AttCod)
/*************** Receive form to create a new attendance event ***************/
/*****************************************************************************/
void Att_RecFormAttEvent (void)
void Att_ReceiveFormAttEvent (void)
{
extern const char *Txt_Already_existed_an_event_with_the_title_X;
extern const char *Txt_You_must_specify_the_title_of_the_event;

View File

@ -97,7 +97,7 @@ void Att_RemoveAttEventFromDB (long AttCod);
void Att_HideAttEvent (void);
void Att_ShowAttEvent (void);
void Att_RecFormAttEvent (void);
void Att_ReceiveFormAttEvent (void);
void Att_CreateAttEvent (struct Att_Event *Event,const char *Description);
void Att_UpdateAttEvent (struct Att_Event *Event,const char *Description);
bool Att_CheckIfAttEventIsAssociatedToGrps (long AttCod);

View File

@ -1012,7 +1012,7 @@ static void Ban_PutHeadBanners (void)
/******************* Receive form to create a new banner *********************/
/*****************************************************************************/
void Ban_RecFormNewBanner (void)
void Ban_ReceiveFormNewBanner (void)
{
extern const char *Txt_The_banner_X_already_exists;
extern const char *Txt_You_must_specify_the_image_of_the_new_banner;

View File

@ -71,7 +71,7 @@ void Ban_RenameBannerFull (void);
void Ban_ChangeBannerImg (void);
void Ban_ChangeBannerWWW (void);
void Ban_ContEditAfterChgBan (void);
void Ban_RecFormNewBanner (void);
void Ban_ReceiveFormNewBanner (void);
void Ban_WriteMenuWithBanners (void);
void Ban_ClickOnBanner (void);

View File

@ -888,7 +888,7 @@ static void Bld_PutHeadBuildings (void)
/***************** Receive form to create a new building *********************/
/*****************************************************************************/
void Bld_RecFormNewBuilding (void)
void Bld_ReceiveFormNewBuilding (void)
{
extern const char *Txt_The_building_X_already_exists;
extern const char *Txt_Created_new_building_X;

View File

@ -99,6 +99,6 @@ void Bld_RenameBuildingFull (void);
void Bld_ChangeBuildingLocation (void);
void Bld_ContEditAfterChgBuilding (void);
void Bld_RecFormNewBuilding (void);
void Bld_ReceiveFormNewBuilding (void);
#endif

View File

@ -95,7 +95,7 @@ static void Ctr_PutParamGoToCtr (void *CtrCod);
static void Ctr_PutFormToCreateCentre (const struct Plc_Places *Places);
static void Ctr_PutHeadCentresForSeeing (bool OrderSelectable);
static void Ctr_PutHeadCentresForEdition (void);
static void Ctr_RecFormRequestOrCreateCtr (unsigned Status);
static void Ctr_ReceiveFormRequestOrCreateCtr (unsigned Status);
static void Ctr_CreateCentre (unsigned Status);
static unsigned Ctr_GetNumCtrsInCty (long CtyCod);
@ -1812,33 +1812,33 @@ static void Ctr_PutHeadCentresForEdition (void)
/****************** Receive form to request a new centre *********************/
/*****************************************************************************/
void Ctr_RecFormReqCtr (void)
void Ctr_ReceiveFormReqCtr (void)
{
/***** Centre constructor *****/
Ctr_EditingCentreConstructor ();
/***** Receive form to request a new centre *****/
Ctr_RecFormRequestOrCreateCtr ((unsigned) Ctr_STATUS_BIT_PENDING);
Ctr_ReceiveFormRequestOrCreateCtr ((unsigned) Ctr_STATUS_BIT_PENDING);
}
/*****************************************************************************/
/******************* Receive form to create a new centre *********************/
/*****************************************************************************/
void Ctr_RecFormNewCtr (void)
void Ctr_ReceiveFormNewCtr (void)
{
/***** Centre constructor *****/
Ctr_EditingCentreConstructor ();
/***** Receive form to create a new centre *****/
Ctr_RecFormRequestOrCreateCtr (0);
Ctr_ReceiveFormRequestOrCreateCtr (0);
}
/*****************************************************************************/
/************* Receive form to request or create a new centre ****************/
/*****************************************************************************/
static void Ctr_RecFormRequestOrCreateCtr (unsigned Status)
static void Ctr_ReceiveFormRequestOrCreateCtr (unsigned Status)
{
extern const char *Txt_The_centre_X_already_exists;
extern const char *Txt_Created_new_centre_X;

View File

@ -129,8 +129,8 @@ void Ctr_UpdateCtrWWWDB (long CtrCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1]);
void Ctr_ChangeCtrStatus (void);
void Ctr_ContEditAfterChgCtr (void);
void Ctr_RecFormReqCtr (void);
void Ctr_RecFormNewCtr (void);
void Ctr_ReceiveFormReqCtr (void);
void Ctr_ReceiveFormNewCtr (void);
unsigned Ctr_GetCachedNumCtrsInSys (void);

View File

@ -544,12 +544,12 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 19.211 (2020-05-05)"
#define Log_PLATFORM_VERSION "SWAD 19.212 (2020-05-05)"
#define CSS_FILE "swad19.193.1.css"
#define JS_FILE "swad19.193.1.js"
/*
Version 19.211: May 05, 2020 Exam events can be hidden. (301215 lines)
Version 19.212: May 05, 2020 Icon to edit exam event. (301319 lines)
Version 19.211: May 05, 2020 Exam events can be hidden/unhidden. (301215 lines)
1 change necessary in database:
ALTER TABLE exa_events ADD COLUMN Hidden ENUM('N','Y') NOT NULL DEFAULT 'N' AFTER ExaCod;

View File

@ -1747,7 +1747,7 @@ static void Cty_PutHeadCountriesForEdition (void)
/******************* Receive form to create a new country ********************/
/*****************************************************************************/
void Cty_RecFormNewCountry (void)
void Cty_ReceiveFormNewCountry (void)
{
extern const char *Txt_You_must_specify_the_numerical_code_of_the_new_country;
extern const char *Txt_The_numerical_code_X_already_exists;

View File

@ -110,7 +110,7 @@ void Cty_RemoveCountry (void);
void Cty_RenameCountry (void);
void Cty_ChangeCtyWWW (void);
void Cty_ContEditAfterChgCty (void);
void Cty_RecFormNewCountry (void);
void Cty_ReceiveFormNewCountry (void);
unsigned Cty_GetCachedNumCtysInSys (void);

View File

@ -95,7 +95,7 @@ static Crs_Status_t Crs_GetStatusBitsFromStatusTxt (Crs_StatusTxt_t StatusTxt);
static void Crs_PutFormToCreateCourse (void);
static void Crs_PutHeadCoursesForSeeing (void);
static void Crs_PutHeadCoursesForEdition (void);
static void Crs_RecFormRequestOrCreateCrs (unsigned Status);
static void Crs_ReceiveFormRequestOrCreateCrs (unsigned Status);
static void Crs_GetParamsNewCourse (struct Course *Crs);
static void Crs_CreateCourse (unsigned Status);
@ -1577,33 +1577,33 @@ static void Crs_PutHeadCoursesForEdition (void)
/****************** Receive form to request a new course *********************/
/*****************************************************************************/
void Crs_RecFormReqCrs (void)
void Crs_ReceiveFormReqCrs (void)
{
/***** Course constructor *****/
Crs_EditingCourseConstructor ();
/***** Receive form to request a new course *****/
Crs_RecFormRequestOrCreateCrs ((unsigned) Crs_STATUS_BIT_PENDING);
Crs_ReceiveFormRequestOrCreateCrs ((unsigned) Crs_STATUS_BIT_PENDING);
}
/*****************************************************************************/
/******************* Receive form to create a new course *********************/
/*****************************************************************************/
void Crs_RecFormNewCrs (void)
void Crs_ReceiveFormNewCrs (void)
{
/***** Course constructor *****/
Crs_EditingCourseConstructor ();
/***** Receive form to create a new course *****/
Crs_RecFormRequestOrCreateCrs (0);
Crs_ReceiveFormRequestOrCreateCrs (0);
}
/*****************************************************************************/
/************* Receive form to request or create a new course ****************/
/*****************************************************************************/
static void Crs_RecFormRequestOrCreateCrs (unsigned Status)
static void Crs_ReceiveFormRequestOrCreateCrs (unsigned Status)
{
extern const char *Txt_The_course_X_already_exists;
extern const char *Txt_Created_new_course_X;

View File

@ -127,8 +127,8 @@ void Crs_WriteSelectorMyCoursesInBreadcrumb (void);
void Crs_EditCourses (void);
void Crs_RecFormReqCrs (void);
void Crs_RecFormNewCrs (void);
void Crs_ReceiveFormReqCrs (void);
void Crs_ReceiveFormNewCrs (void);
void Crs_RemoveCourse (void);
bool Crs_GetDataOfCourseByCod (struct Course *Crs);

View File

@ -1067,7 +1067,7 @@ mysql> DESCRIBE exa_events;
"UsrCod INT NOT NULL,"
"StartTime DATETIME NOT NULL,"
"EndTime DATETIME NOT NULL,"
"Title VARCHAR(2047) NOT NULL," // Gam_MAX_BYTES_TITLE
"Title VARCHAR(2047) NOT NULL," // ExaEvt_MAX_BYTES_TITLE
"QstInd INT NOT NULL DEFAULT 0,"
"QstCod INT NOT NULL DEFAULT -1,"
"Showing ENUM('start','stem','answers','results','end') NOT NULL DEFAULT 'start',"

View File

@ -91,7 +91,7 @@ static void Deg_ListOneDegreeForSeeing (struct Degree *Deg,unsigned NumDeg);
static void Deg_EditDegreesInternal (void);
static void Deg_PutIconsEditingDegrees (__attribute__((unused)) void *Args);
static void Deg_RecFormRequestOrCreateDeg (unsigned Status);
static void Deg_ReceiveFormRequestOrCreateDeg (unsigned Status);
static void Deg_PutParamOtherDegCod (long DegCod);
static void Deg_GetDataOfDegreeFromRow (struct Degree *Deg,MYSQL_ROW row);
@ -1170,33 +1170,33 @@ void Deg_FreeListDegs (struct ListDegrees *Degs)
/****************** Receive form to request a new degree *********************/
/*****************************************************************************/
void Deg_RecFormReqDeg (void)
void Deg_ReceiveFormReqDeg (void)
{
/***** Degree constructor *****/
Deg_EditingDegreeConstructor ();
/***** Receive form to request a new degree *****/
Deg_RecFormRequestOrCreateDeg ((unsigned) Deg_STATUS_BIT_PENDING);
Deg_ReceiveFormRequestOrCreateDeg ((unsigned) Deg_STATUS_BIT_PENDING);
}
/*****************************************************************************/
/******************* Receive form to create a new degree *********************/
/*****************************************************************************/
void Deg_RecFormNewDeg (void)
void Deg_ReceiveFormNewDeg (void)
{
/***** Degree constructor *****/
Deg_EditingDegreeConstructor ();
/***** Receive form to create a new degree *****/
Deg_RecFormRequestOrCreateDeg (0);
Deg_ReceiveFormRequestOrCreateDeg (0);
}
/*****************************************************************************/
/******************* Receive form to create a new degree *********************/
/*****************************************************************************/
static void Deg_RecFormRequestOrCreateDeg (unsigned Status)
static void Deg_ReceiveFormRequestOrCreateDeg (unsigned Status)
{
extern const char *Txt_The_degree_X_already_exists;
extern const char *Txt_Created_new_degree_X;

View File

@ -107,8 +107,8 @@ void Deg_GetListAllDegsWithStds (struct ListDegrees *Degs);
void Deg_GetListDegsInCurrentCtr (void);
void Deg_FreeListDegs (struct ListDegrees *Degs);
void Deg_RecFormReqDeg (void);
void Deg_RecFormNewDeg (void);
void Deg_ReceiveFormReqDeg (void);
void Deg_ReceiveFormNewDeg (void);
void Deg_RemoveDegree (void);
void Deg_PutParamDegCod (long DegCod);

View File

@ -749,7 +749,7 @@ void DT_FreeListDegreeTypes (void)
/***************** Receive form to create a new degree type ******************/
/*****************************************************************************/
void DT_RecFormNewDegreeType (void)
void DT_ReceiveFormNewDegreeType (void)
{
extern const char *Txt_The_type_of_degree_X_already_exists;
extern const char *Txt_Created_new_type_of_degree_X;

View File

@ -71,7 +71,7 @@ bool DT_CheckIfICanCreateDegreeTypes (void);
void DT_GetListDegreeTypes (Hie_Level_t Scope,DT_Order_t Order);
void DT_FreeListDegreeTypes (void);
void DT_RecFormNewDegreeType (void);
void DT_ReceiveFormNewDegreeType (void);
void DT_RemoveDegreeType (void);

View File

@ -1018,7 +1018,7 @@ static void Dpt_PutHeadDepartments (void)
/***************** Receive form to create a new department *******************/
/*****************************************************************************/
void Dpt_RecFormNewDpt (void)
void Dpt_ReceiveFormNewDpt (void)
{
extern const char *Txt_The_department_X_already_exists;
extern const char *Txt_Created_new_department_X;

View File

@ -77,7 +77,7 @@ void Dpt_RenameDepartFull (void);
void Dpt_ChangeDptWWW (void);
void Dpt_ContEditAfterChgDpt (void);
void Dpt_RecFormNewDpt (void);
void Dpt_ReceiveFormNewDpt (void);
unsigned Dpt_GetTotalNumberOfDepartments (void);
void Dpt_FlushCacheNumDptsInIns (void);
unsigned Dpt_GetNumDptsInIns (long InsCod);

View File

@ -38,6 +38,7 @@
#include "swad_exam.h"
#include "swad_exam_event.h"
#include "swad_exam_result.h"
#include "swad_exam_type.h"
#include "swad_figure.h"
#include "swad_form.h"
#include "swad_global.h"
@ -486,12 +487,12 @@ void Exa_SeeOneExam (void)
{
struct Exa_Exams Exams;
struct Exa_Exam Exam;
struct ExaEvt_Event Event;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam *****/
Exa_ResetExam (&Exam);
ExaEvt_ResetEvent (&Event);
/***** Get parameters *****/
Exa_GetParams (&Exams);
@ -504,8 +505,8 @@ void Exa_SeeOneExam (void)
Exams.ExaCod = Exam.ExaCod;
/***** Show exam *****/
Exa_ShowOnlyOneExam (&Exams,&Exam,
false); // Do not put form to start new event
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
false); // Do not put form for event
}
/*****************************************************************************/
@ -514,15 +515,17 @@ void Exa_SeeOneExam (void)
void Exa_ShowOnlyOneExam (struct Exa_Exams *Exams,
struct Exa_Exam *Exam,
bool PutFormNewMatch)
struct ExaEvt_Event *Event,
bool PutFormEvent)
{
Exa_ShowOnlyOneExamBegin (Exams,Exam,PutFormNewMatch);
Exa_ShowOnlyOneExamBegin (Exams,Exam,Event,PutFormEvent);
Exa_ShowOnlyOneExamEnd ();
}
void Exa_ShowOnlyOneExamBegin (struct Exa_Exams *Exams,
struct Exa_Exam *Exam,
bool PutFormNewMatch)
struct ExaEvt_Event *Event,
bool PutFormEvent)
{
extern const char *Hlp_ASSESSMENT_Exams;
extern const char *Txt_Exam;
@ -539,7 +542,7 @@ void Exa_ShowOnlyOneExamBegin (struct Exa_Exams *Exams,
true); // Show only this exam
/***** List events *****/
ExaEvt_ListEvents (Exams,Exam,PutFormNewMatch);
ExaEvt_ListEvents (Exams,Exam,Event,PutFormEvent);
}
void Exa_ShowOnlyOneExamEnd (void)
@ -764,11 +767,11 @@ static void Exa_PutIconsToRemEditOneExam (struct Exa_Exams *Exams,
{
Exams->ExaCod = Exam->ExaCod;
/***** Put icon to remove exam *****/
/***** Icon to remove exam *****/
Ico_PutContextualIconToRemove (ActReqRemExa,
Exa_PutParams,Exams);
/***** Put icon to unhide/hide exam *****/
/***** Icon to unhide/hide exam *****/
if (Exam->Hidden)
Ico_PutContextualIconToUnhide (ActShoExa,Anchor,
Exa_PutParams,Exams);
@ -776,7 +779,7 @@ static void Exa_PutIconsToRemEditOneExam (struct Exa_Exams *Exams,
Ico_PutContextualIconToHide (ActHidExa,Anchor,
Exa_PutParams,Exams);
/***** Put icon to edit exam *****/
/***** Icon to edit exam *****/
Ico_PutContextualIconToEdit (ActEdiOneExa,NULL,
Exa_PutParams,Exams);
}
@ -1276,8 +1279,6 @@ void Exa_AskRemExam (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam *****/
Exa_ResetExam (&Exam);
/***** Get parameters *****/
@ -1318,8 +1319,6 @@ void Exa_RemoveExam (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam *****/
Exa_ResetExam (&Exam);
/***** Get exam code *****/
@ -1400,8 +1399,6 @@ void Exa_HideExam (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam *****/
Exa_ResetExam (&Exam);
/***** Get parameters *****/
@ -1438,8 +1435,6 @@ void Exa_UnhideExam (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam *****/
Exa_ResetExam (&Exam);
/***** Get parameters *****/
@ -1512,8 +1507,6 @@ void Exa_RequestCreatOrEditExam (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -1639,7 +1632,7 @@ static void ExaSet_PutFormNewSet (struct Exa_Exams *Exams,
/**************** Receive form to create a new set of questions **************/
/*****************************************************************************/
void ExaSet_RecFormSet (void)
void ExaSet_ReceiveFormSet (void)
{
struct Exa_Exams Exams;
struct Exa_Exam Exam;
@ -1652,8 +1645,6 @@ void ExaSet_RecFormSet (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -1747,8 +1738,6 @@ void ExaSet_ChangeSetTitle (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -1803,8 +1792,6 @@ void ExaSet_ChangeNumQstsToExam (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -1957,7 +1944,7 @@ static void Exa_PutFormEditionExam (struct Exa_Exams *Exams,
/********************** Receive form to create a new exam ********************/
/*****************************************************************************/
void Exa_RecFormExam (void)
void Exa_ReceiveFormExam (void)
{
struct Exa_Exams Exams;
struct Exa_Exam Exam;
@ -1971,8 +1958,6 @@ void Exa_RecFormExam (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -2254,8 +2239,6 @@ void ExaSet_RequestCreatOrEditSet (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -2301,8 +2284,6 @@ void ExaSet_ReqSelectQstsToAddToSet (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -2353,8 +2334,6 @@ void ExaSet_ListQstsToAddToSet (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -3141,8 +3120,6 @@ void ExaSet_AddQstsToSet (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -3253,8 +3230,6 @@ void ExaSet_RequestRemoveSet (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -3302,8 +3277,6 @@ void ExaSet_RemoveSet (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -3374,8 +3347,6 @@ void ExaSet_MoveUpSet (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -3436,8 +3407,6 @@ void ExaSet_MoveDownSet (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -3500,8 +3469,6 @@ void ExaSet_RequestRemoveQstFromSet (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);
@ -3559,8 +3526,6 @@ void ExaSet_RemoveQstFromSet (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and set *****/
Exa_ResetExam (&Exam);
ExaSet_ResetSet (&Set);

View File

@ -28,88 +28,15 @@
/********************************* Headers ***********************************/
/*****************************************************************************/
#include "swad_date.h"
#include "swad_scope.h"
// #include "swad_date.h"
// #include "swad_exam_event.h"
#include "swad_exam_type.h"
// #include "swad_scope.h"
/*****************************************************************************/
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Exa_MAX_CHARS_TITLE (128 - 1) // 127
#define Exa_MAX_BYTES_TITLE ((Exa_MAX_CHARS_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define ExaSet_MAX_CHARS_TITLE (128 - 1) // 127
#define ExaSet_MAX_BYTES_TITLE ((ExaSet_MAX_CHARS_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Exa_NUM_ORDERS 3
typedef enum
{
Exa_ORDER_BY_START_DATE = 0,
Exa_ORDER_BY_END_DATE = 1,
Exa_ORDER_BY_TITLE = 2,
} Exa_Order_t;
#define Exa_ORDER_DEFAULT Exa_ORDER_BY_START_DATE
#define Exa_NUM_ANS_TYPES 2
typedef enum
{
Exa_ANS_UNIQUE_CHOICE = 0,
Exa_ANS_MULTIPLE_CHOICE = 1,
} Exa_AnswerType_t;
#define Exa_ANSWER_TYPE_DEFAULT Exa_ANS_UNIQUE_CHOICE
struct Exa_ExamSelected
{
long ExaCod; // Exam code
bool Selected; // Is this exam selected when seeing match results?
};
/* Exams context */
struct Exa_Exams
{
bool LstIsRead; // Is the list already read from database...
// ...or it needs to be read?
unsigned Num; // Total number of exams
unsigned NumSelected; // Number of exams selected
struct Exa_ExamSelected *Lst;// List of exams
Exa_Order_t SelectedOrder;
unsigned CurrentPage;
char *ListQuestions;
char *ExaCodsSelected; // String with selected exam codes separated by separator multiple
long ExaCod; // Selected/current exam code
long SetCod; // Selected/current set code
long EvtCod; // Selected/current match code
unsigned SetInd; // Current set index
long QstCod; // Current question code
};
struct Exa_Exam
{
long ExaCod; // Exam code
long CrsCod; // Course code
long UsrCod; // Author code
double MaxGrade; // Score range [0...max.score]
// will be converted to
// grade range [0...max.grade]
unsigned Visibility; // Visibility of results
char Title[Exa_MAX_BYTES_TITLE + 1];
time_t TimeUTC[Dat_NUM_START_END_TIME];
bool Hidden; // Exam is hidden
unsigned NumSets; // Number of sets in the exam
unsigned NumQsts; // Number of questions in the exam
unsigned NumEvts; // Number of events in the exam
unsigned NumUnfinishedEvts; // Number of unfinished events in the exam
};
struct ExaSet_Set
{
long ExaCod; // Exam code
long SetCod; // Set code
unsigned SetInd; // Set index (position in the exam)
unsigned NumQstsToExam; // Number of questions in this set taht will appear in the exam
char Title[ExaSet_MAX_BYTES_TITLE + 1]; // Title of the set
};
/*****************************************************************************/
/***************************** Public prototypes *****************************/
/*****************************************************************************/
@ -121,10 +48,12 @@ void Exa_SeeAllExams (void);
void Exa_SeeOneExam (void);
void Exa_ShowOnlyOneExam (struct Exa_Exams *Exams,
struct Exa_Exam *Exam,
bool PutFormNewMatch);
struct ExaEvt_Event *Event,
bool PutFormEvent);
void Exa_ShowOnlyOneExamBegin (struct Exa_Exams *Exams,
struct Exa_Exam *Exam,
bool PutFormNewMatch);
struct ExaEvt_Event *Event,
bool PutFormEvent);
void Exa_ShowOnlyOneExamEnd (void);
void Exa_SetCurrentExaCod (long ExaCod);
@ -150,11 +79,11 @@ void Exa_UnhideExam (void);
void Exa_RequestCreatOrEditExam (void);
void ExaSet_RecFormSet (void);
void ExaSet_ReceiveFormSet (void);
void ExaSet_ChangeSetTitle (void);
void ExaSet_ChangeNumQstsToExam (void);
void Exa_RecFormExam (void);
void Exa_ReceiveFormExam (void);
bool Mch_CheckIfMatchIsAssociatedToGrp (long EvtCod,long GrpCod);
unsigned ExaSet_GetNumSetsExam (long ExaCod);

View File

@ -37,6 +37,7 @@
#include "swad_exam.h"
#include "swad_exam_event.h"
#include "swad_exam_result.h"
#include "swad_exam_type.h"
#include "swad_form.h"
#include "swad_global.h"
#include "swad_HTML.h"
@ -108,6 +109,7 @@ static void ExaEvt_PutIconToCreateNewEvent (struct Exa_Exams *Exams);
static void ExaEvt_ListOneOrMoreEvents (struct Exa_Exams *Exams,
const struct Exa_Exam *Exam,
long EvtCodToBeEdited,
unsigned NumEvents,
MYSQL_RES *mysql_res);
static void ExaEvt_ListOneOrMoreEventsHeading (bool ICanEditEvents);
@ -285,14 +287,16 @@ void ExaEvt_ResetEvent (struct ExaEvt_Event *Event)
void ExaEvt_ListEvents (struct Exa_Exams *Exams,
struct Exa_Exam *Exam,
bool PutFormNewEvent)
struct ExaEvt_Event *Event,
bool PutFormEvent)
{
extern const char *Hlp_ASSESSMENT_Exams_events;
extern const char *Txt_Events;
char *SubQuery;
MYSQL_RES *mysql_res;
unsigned NumEvents;
struct ExaEvt_Event Event;
long EvtCodToBeEdited;
bool PutFormNewEvent;
/***** Get data of events from database *****/
/* Fill subquery for exam */
@ -355,8 +359,12 @@ void ExaEvt_ListEvents (struct Exa_Exams *Exams,
}
if (NumEvents)
{
/***** Show the table with the events *****/
ExaEvt_ListOneOrMoreEvents (Exams,Exam,NumEvents,mysql_res);
EvtCodToBeEdited = PutFormEvent && Event->EvtCod > 0 ? Event->EvtCod :
-1L;
ExaEvt_ListOneOrMoreEvents (Exams,Exam,EvtCodToBeEdited,NumEvents,mysql_res);
}
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
@ -367,18 +375,19 @@ void ExaEvt_ListEvents (struct Exa_Exams *Exams,
case Rol_NET:
case Rol_TCH:
case Rol_SYS_ADM:
PutFormNewEvent = PutFormEvent && Event->EvtCod <= 0;
if (PutFormNewEvent)
{
/* Reset event */
ExaEvt_ResetEvent (&Event);
Event.ExaCod = Exam->ExaCod;
Event.TimeUTC[Dat_START_TIME] = Gbl.StartExecutionTimeUTC; // Now
Event.TimeUTC[Dat_END_TIME ] = Gbl.StartExecutionTimeUTC + (1 * 60 * 60); // Now + 1 hour
Str_Copy (Event.Title,Exam->Title,
Exa_MAX_BYTES_TITLE);
ExaEvt_ResetEvent (Event);
Event->ExaCod = Exam->ExaCod;
Event->TimeUTC[Dat_START_TIME] = Gbl.StartExecutionTimeUTC; // Now
Event->TimeUTC[Dat_END_TIME ] = Gbl.StartExecutionTimeUTC + (1 * 60 * 60); // Now + 1 hour
Str_Copy (Event->Title,Exam->Title,
ExaEvt_MAX_BYTES_TITLE);
/* Put form to create new event */
ExaEvt_PutFormNewEvent (&Event); // Form to fill in data and start playing a new exam event
ExaEvt_PutFormNewEvent (Event); // Form to fill in data and start playing a new exam event
}
else
ExaEvt_PutButtonNewEvent (Exams,Exam->ExaCod); // Button to create a new exam event
@ -472,6 +481,7 @@ static void ExaEvt_PutIconToCreateNewEvent (struct Exa_Exams *Exams)
static void ExaEvt_ListOneOrMoreEvents (struct Exa_Exams *Exams,
const struct Exa_Exam *Exam,
long EvtCodToBeEdited,
unsigned NumEvents,
MYSQL_RES *mysql_res)
{
@ -534,9 +544,19 @@ static void ExaEvt_ListOneOrMoreEvents (struct Exa_Exams *Exams,
/* Event result visible? */
ExaEvt_ListOneOrMoreEventsResult (Exams,&Event);
/***** End row for this exam event ****/
/***** End row for this event ****/
HTM_TR_End ();
/***** For to edit this event ****/
if (Event.EvtCod == EvtCodToBeEdited)
{
HTM_TR_Begin (NULL);
HTM_TD_Begin ("colspan=\"8\" class=\"CT COLOR%u\"",Gbl.RowEvenOdd);
Ale_ShowAlert (Ale_INFO,"Form to edit this event."); // TODO: Replace by form
HTM_TD_End ();
HTM_TR_End ();
}
/***** Free anchor string *****/
free (Anchor);
}
@ -622,18 +642,19 @@ static void ExaEvt_ListOneOrMoreEventsIcons (struct Exa_Exams *Exams,
const struct ExaEvt_Event *Event,
const char *Anchor)
{
/***** Begin cell *****/
HTM_TD_Begin ("class=\"BT%u\"",Gbl.RowEvenOdd);
Exams->ExaCod = Event->ExaCod;
Exams->EvtCod = Event->EvtCod;
/* Icon to remove the exam event */
/***** Icon to remove the exam event *****/
Frm_StartForm (ActReqRemExaEvt);
ExaEvt_PutParamsEdit (Exams);
Ico_PutIconRemove ();
Frm_EndForm ();
/* Icon to hide/unhide the exam event */
/***** Icon to hide/unhide the exam event *****/
if (Event->Hidden)
Ico_PutContextualIconToUnhide (ActShoExaEvt,Anchor,
ExaEvt_PutParamsEdit,Exams);
@ -641,8 +662,11 @@ static void ExaEvt_ListOneOrMoreEventsIcons (struct Exa_Exams *Exams,
Ico_PutContextualIconToHide (ActHidExaEvt,Anchor,
ExaEvt_PutParamsEdit,Exams);
/* Icon to edit the exam event */
/***** Icon to edit the exam event *****/
Ico_PutContextualIconToEdit (ActEdiOneExaEvt,NULL,
ExaEvt_PutParamsEdit,Exams);
/***** End cell *****/
HTM_TD_End ();
}
@ -941,8 +965,6 @@ void ExaEvt_ToggleVisibilResultsEvtUsr (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and event *****/
Exa_ResetExam (&Exam);
ExaEvt_ResetEvent (&Event);
@ -964,8 +986,8 @@ void ExaEvt_ToggleVisibilResultsEvtUsr (void)
Event.EvtCod);
/***** Show current exam *****/
Exa_ShowOnlyOneExam (&Exams,&Exam,
false); // Do not put form to start new exam event
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
false); // Do not put form for event
}
/*****************************************************************************/
@ -990,8 +1012,8 @@ static void ExaEvt_GetEventDataFromRow (MYSQL_RES *mysql_res,
row[ 5] UNIX_TIMESTAMP(EndTime)
row[ 6] Title
*/
/***** Get exam event data *****/
/* Code of the exam event (row[0]) */
/***** Get event data *****/
/* Code of the event (row[0]) */
if ((Event->EvtCod = Str_ConvertStrCodToLongCod (row[0])) <= 0)
Lay_ShowErrorAndExit ("Wrong code of exam event.");
@ -999,10 +1021,10 @@ static void ExaEvt_GetEventDataFromRow (MYSQL_RES *mysql_res,
if ((Event->ExaCod = Str_ConvertStrCodToLongCod (row[1])) <= 0)
Lay_ShowErrorAndExit ("Wrong code of exam.");
/* Get whether the exam is hidden (row[2]) */
/* Get whether the event is hidden (row[2]) */
Event->Hidden = (row[2][0] == 'Y');
/* Get exam event teacher (row[3]) */
/* Get event teacher (row[3]) */
Event->UsrCod = Str_ConvertStrCodToLongCod (row[3]);
/* Get start/end times (row[4], row[5] hold start/end UTC times) */
@ -1011,14 +1033,14 @@ static void ExaEvt_GetEventDataFromRow (MYSQL_RES *mysql_res,
StartEndTime++)
Event->TimeUTC[StartEndTime] = Dat_GetUNIXTimeFromStr (row[4 + StartEndTime]);
/* Get the title of the exam (row[6]) */
/* Get the title of the event (row[6]) */
if (row[6])
Str_Copy (Event->Title,row[6],
Exa_MAX_BYTES_TITLE);
ExaEvt_MAX_BYTES_TITLE);
else
Event->Title[0] = '\0';
/***** Get current exam event status *****/
/***** Get current event status *****/
/*
row[ 7] QstInd
row[ 8] QstCod
@ -1090,8 +1112,6 @@ void ExaEvt_RequestRemoveEvent (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and event *****/
Exa_ResetExam (&Exam);
ExaEvt_ResetEvent (&Event);
@ -1108,8 +1128,8 @@ void ExaEvt_RequestRemoveEvent (void)
Event.Title);
/***** Show current exam *****/
Exa_ShowOnlyOneExam (&Exams,&Exam,
false); // Do not put form to start new exam event
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
false); // Do not put form for event
}
/*****************************************************************************/
@ -1125,8 +1145,6 @@ void ExaEvt_RemoveEvent (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and event *****/
Exa_ResetExam (&Exam);
ExaEvt_ResetEvent (&Event);
@ -1145,8 +1163,8 @@ void ExaEvt_RemoveEvent (void)
Event.Title);
/***** Show current exam *****/
Exa_ShowOnlyOneExam (&Exams,&Exam,
false); // Do not put form to start new exam event
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
false); // Do not put form for event
}
/*****************************************************************************/
@ -1297,8 +1315,6 @@ void ExaEvt_HideEvent (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and event *****/
Exa_ResetExam (&Exam);
ExaEvt_ResetEvent (&Event);
@ -1317,8 +1333,8 @@ void ExaEvt_HideEvent (void)
Event.EvtCod,Event.ExaCod);
/***** Show current exam *****/
Exa_ShowOnlyOneExam (&Exams,&Exam,
false); // Do not put form to start new exam event
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
false); // Do not put form for event
}
/*****************************************************************************/
@ -1333,8 +1349,6 @@ void ExaEvt_UnhideEvent (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and event *****/
Exa_ResetExam (&Exam);
ExaEvt_ResetEvent (&Event);
@ -1353,8 +1367,8 @@ void ExaEvt_UnhideEvent (void)
Event.EvtCod,Event.ExaCod);
/***** Show current exam *****/
Exa_ShowOnlyOneExam (&Exams,&Exam,
false); // Do not put form to start new exam event
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
false); // Do not put form for event
}
/*****************************************************************************/
@ -1411,6 +1425,8 @@ void ExaEvt_GetAndCheckParameters (struct Exa_Exams *Exams,
/***** Get exam data and event from database *****/
Exa_GetDataOfExamByCod (Exam);
if (Exam->CrsCod != Gbl.Hierarchy.Crs.CrsCod)
Lay_WrongExamExit ();
Exams->ExaCod = Exam->ExaCod;
ExaEvt_GetDataOfEventByCod (Event);
@ -1469,7 +1485,7 @@ static void ExaEvt_PutFormNewEvent (const struct ExaEvt_Event *Event)
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_TEXT ("Title",Exa_MAX_CHARS_TITLE,Event->Title,
HTM_INPUT_TEXT ("Title",ExaEvt_MAX_CHARS_TITLE,Event->Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" size=\"45\" required=\"required\"");
HTM_TD_End ();
@ -1574,40 +1590,59 @@ void ExaEvt_PutButtonNewEvent (struct Exa_Exams *Exams,long ExaCod)
}
/*****************************************************************************/
/************* Request the creation of a new event as a teacher **************/
/******************* Request the creation of a new event *********************/
/*****************************************************************************/
void ExaEvt_RequestNewEvent (void)
void ExaEvt_RequestCreatOrEditEvent (void)
{
struct Exa_Exams Exams;
struct Exa_Exam Exam;
struct ExaEvt_Event Event;
bool ItsANewEvent;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam *****/
Exa_ResetExam (&Exam);
ExaEvt_ResetEvent (&Event);
/***** Get parameters *****/
Exa_GetParams (&Exams);
if (Exams.ExaCod <= 0)
Lay_WrongExamExit ();
Exam.ExaCod = Exams.ExaCod;
Grp_GetParamWhichGroups ();
Event.EvtCod = ExaEvt_GetParamEvtCod ();
ItsANewEvent = (Event.EvtCod <= 0);
/***** Get exam data from database *****/
Exa_GetDataOfExamByCod (&Exam);
if (Exam.CrsCod != Gbl.Hierarchy.Crs.CrsCod)
Lay_WrongExamExit ();
Exams.ExaCod = Exam.ExaCod;
/***** Get event data *****/
if (ItsANewEvent)
/* Initialize to empty event */
ExaEvt_ResetEvent (&Event);
else
{
/* Get event data from database */
ExaEvt_GetDataOfEventByCod (&Event);
if (Exam.ExaCod != Event.ExaCod)
Lay_WrongExamExit ();
Exams.EvtCod = Event.EvtCod;
}
/***** Show exam *****/
Exa_ShowOnlyOneExam (&Exams,&Exam,
true); // Put form to start new event
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
true); // Put form for event
}
/*****************************************************************************/
/******************* Create a new exam event (by a teacher) ******************/
/*****************************************************************************/
void ExaEvt_CreateNewEventTch (void)
void ExaEvt_ReceiveFormEvent (void)
{
extern const char *Txt_Created_new_event_X;
struct Exa_Exams Exams;
@ -1616,8 +1651,6 @@ void ExaEvt_CreateNewEventTch (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and event *****/
Exa_ResetExam (&Exam);
ExaEvt_ResetEvent (&Event);
@ -1628,7 +1661,7 @@ void ExaEvt_CreateNewEventTch (void)
Lay_WrongExamExit ();
/* Get event title */
Par_GetParToText ("Title",Event.Title,Exa_MAX_BYTES_TITLE);
Par_GetParToText ("Title",Event.Title,ExaEvt_MAX_BYTES_TITLE);
/* Get start/end date-times */
Event.TimeUTC[Dat_START_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC");
@ -1640,6 +1673,8 @@ void ExaEvt_CreateNewEventTch (void)
/***** Get exam data from database *****/
Exam.ExaCod = Exams.ExaCod;
Exa_GetDataOfExamByCod (&Exam);
if (Exam.CrsCod != Gbl.Hierarchy.Crs.CrsCod)
Lay_WrongExamExit ();
Event.ExaCod = Exams.ExaCod = Exam.ExaCod;
/***** Create a new exam event *****/
@ -1653,8 +1688,8 @@ void ExaEvt_CreateNewEventTch (void)
Event.Title);
/***** Show current exam *****/
Exa_ShowOnlyOneExam (&Exams,&Exam,
false); // Do not put form to start new exam event
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
false); // Do not put form for event
}
/*****************************************************************************/

View File

@ -27,7 +27,7 @@
/********************************* Headers ***********************************/
/*****************************************************************************/
#include "swad_scope.h"
#include "swad_exam_type.h"
#include "swad_test.h"
/*****************************************************************************/
@ -38,42 +38,6 @@
#define ExaEvt_AFTER_LAST_QUESTION ((unsigned)((1UL << 31) - 1)) // 2^31 - 1, don't change this number because it is used in database to indicate that a event is finished
#define ExaEvt_NUM_SHOWING 5
typedef enum
{
ExaEvt_START, // Start: don't show anything
ExaEvt_STEM, // Showing only the question stem
ExaEvt_ANSWERS, // Showing the question stem and the answers
ExaEvt_RESULTS, // Showing the results
ExaEvt_END, // End: don't show anything
} ExaEvt_Showing_t;
#define ExaEvt_SHOWING_DEFAULT ExaEvt_START
struct ExaEvt_Event
{
long EvtCod;
long ExaCod;
long UsrCod;
time_t TimeUTC[Dat_NUM_START_END_TIME];
char Title[Exa_MAX_BYTES_TITLE + 1];
bool Hidden;
struct
{
unsigned QstInd; // 0 means that the exam has not started. First question has index 1.
long QstCod;
time_t QstStartTimeUTC;
ExaEvt_Showing_t Showing; // What is shown on teacher's screen
long Countdown; // > 0 ==> countdown in progress
// = 0 ==> countdown over ==> go to next step
// < 0 ==> no countdown at this time
unsigned NumCols; // Number of columns for answers on teacher's screen
bool ShowQstResults; // Show global results of current question while playing
bool ShowUsrResults; // Show exam with results of all questions for the student
bool Happening; // Is being played now?
unsigned NumParticipants;
} Status; // Status related to event playing
};
struct ExaEvt_UsrAnswer
{
int NumOpt; // < 0 ==> no answer selected
@ -90,7 +54,8 @@ void ExaEvt_ResetEvent (struct ExaEvt_Event *Event);
void ExaEvt_ListEvents (struct Exa_Exams *Exams,
struct Exa_Exam *Exam,
bool PutFormNewEvent);
struct ExaEvt_Event *Event,
bool PutFormEvent);
void ExaEvt_GetDataOfEventByCod (struct ExaEvt_Event *Event);
void ExaEvt_ToggleVisibilResultsEvtUsr (void);
@ -112,8 +77,8 @@ void ExaEvt_GetAndCheckParameters (struct Exa_Exams *Exams,
long ExaEvt_GetParamEvtCod (void);
void ExaEvt_PutButtonNewEvent (struct Exa_Exams *Exams,long ExaCod);
void ExaEvt_RequestNewEvent (void);
void ExaEvt_CreateNewEventTch (void);
void ExaEvt_RequestCreatOrEditEvent (void);
void ExaEvt_ReceiveFormEvent (void);
void ExaEvt_ResumeEvent (void);
void ExaEvt_GetIndexes (long EvtCod,unsigned QstInd,
unsigned Indexes[Tst_MAX_OPTIONS_PER_QUESTION]);

View File

@ -38,6 +38,7 @@
#include "swad_exam.h"
#include "swad_exam_event.h"
#include "swad_exam_result.h"
#include "swad_exam_type.h"
#include "swad_form.h"
#include "swad_global.h"
#include "swad_HTML.h"
@ -156,12 +157,12 @@ void ExaRes_ShowMyExaResultsInExa (void)
extern const char *Txt_Results_of_game_X;
struct Exa_Exams Exams;
struct Exa_Exam Exam;
struct ExaEvt_Event Event;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam *****/
Exa_ResetExam (&Exam);
ExaEvt_ResetEvent (&Event);
/***** Get parameters *****/
Exa_GetParams (&Exams);
@ -174,7 +175,7 @@ void ExaRes_ShowMyExaResultsInExa (void)
Exams.ExaCod = Exam.ExaCod;
/***** Exam begin *****/
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Event,
false); // Do not put form to start new event
/***** List my events results in exam *****/
@ -212,8 +213,6 @@ void ExaRes_ShowMyExaResultsInEvt (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and event *****/
Exa_ResetExam (&Exam);
ExaEvt_ResetEvent (&Event);
@ -229,7 +228,7 @@ void ExaRes_ShowMyExaResultsInEvt (void)
ExaEvt_GetDataOfEventByCod (&Event);
/***** Exam begin *****/
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Event,
false); // Do not put form to start new event
/***** List my events results in event *****/
@ -364,12 +363,12 @@ void ExaRes_ShowAllExaResultsInExa (void)
extern const char *Txt_Results_of_game_X;
struct Exa_Exams Exams;
struct Exa_Exam Exam;
struct ExaEvt_Event Event;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam *****/
Exa_ResetExam (&Exam);
ExaEvt_ResetEvent (&Event);
/***** Get parameters *****/
Exa_GetParams (&Exams);
@ -380,7 +379,7 @@ void ExaRes_ShowAllExaResultsInExa (void)
Exams.ExaCod = Exam.ExaCod;
/***** Exam begin *****/
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Event,
false); // Do not put form to start new event
/***** List events results in exam *****/
@ -459,8 +458,6 @@ void ExaRes_ShowAllExaResultsInEvt (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and event *****/
Exa_ResetExam (&Exam);
ExaEvt_ResetEvent (&Event);
@ -478,7 +475,7 @@ void ExaRes_ShowAllExaResultsInEvt (void)
ExaEvt_GetDataOfEventByCod (&Event);
/***** Exam begin *****/
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Event,
false); // Do not put form to start new event
/***** List events results in event *****/
@ -1103,8 +1100,6 @@ void ExaRes_ShowOneExaResult (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
/***** Reset exam and event *****/
Exa_ResetExam (&Exam);
ExaEvt_ResetEvent (&Event);

147
swad_exam_type.h Normal file
View File

@ -0,0 +1,147 @@
// swad_exam_type.h: definition of types for exams
#ifndef _SWAD_EXA_TYP
#define _SWAD_EXA_TYP
/*
SWAD (Shared Workspace At a Distance),
is a web platform developed at the University of Granada (Spain),
and used to support university teaching.
This file is part of SWAD core.
Copyright (C) 1999-2020 Antonio Cañas Vargas
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General 3 License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*****************************************************************************/
/********************************* Headers ***********************************/
/*****************************************************************************/
#include <stdbool.h> // For boolean type
#include "swad_date.h"
#include "swad_hierarchy.h"
#include "swad_string.h"
/*****************************************************************************/
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Exa_MAX_CHARS_TITLE (128 - 1) // 127
#define Exa_MAX_BYTES_TITLE ((Exa_MAX_CHARS_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define ExaSet_MAX_CHARS_TITLE (128 - 1) // 127
#define ExaSet_MAX_BYTES_TITLE ((ExaSet_MAX_CHARS_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define ExaEvt_MAX_CHARS_TITLE (128 - 1) // 127
#define ExaEvt_MAX_BYTES_TITLE ((ExaEvt_MAX_CHARS_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Exa_NUM_ORDERS 3
typedef enum
{
Exa_ORDER_BY_START_DATE = 0,
Exa_ORDER_BY_END_DATE = 1,
Exa_ORDER_BY_TITLE = 2,
} Exa_Order_t;
#define Exa_ORDER_DEFAULT Exa_ORDER_BY_START_DATE
struct Exa_ExamSelected
{
long ExaCod; // Exam code
bool Selected; // Is this exam selected when seeing match results?
};
/* Exams context */
struct Exa_Exams
{
bool LstIsRead; // Is the list already read from database...
// ...or it needs to be read?
unsigned Num; // Total number of exams
unsigned NumSelected; // Number of exams selected
struct Exa_ExamSelected *Lst;// List of exams
Exa_Order_t SelectedOrder;
unsigned CurrentPage;
char *ListQuestions;
char *ExaCodsSelected; // String with selected exam codes separated by separator multiple
long ExaCod; // Selected/current exam code
long SetCod; // Selected/current set code
long EvtCod; // Selected/current match code
unsigned SetInd; // Current set index
long QstCod; // Current question code
};
struct Exa_Exam
{
long ExaCod; // Exam code
long CrsCod; // Course code
long UsrCod; // Author code
double MaxGrade; // Score range [0...max.score]
// will be converted to
// grade range [0...max.grade]
unsigned Visibility; // Visibility of results
char Title[Exa_MAX_BYTES_TITLE + 1];
time_t TimeUTC[Dat_NUM_START_END_TIME];
bool Hidden; // Exam is hidden
unsigned NumSets; // Number of sets in the exam
unsigned NumQsts; // Number of questions in the exam
unsigned NumEvts; // Number of events in the exam
unsigned NumUnfinishedEvts; // Number of unfinished events in the exam
};
struct ExaSet_Set
{
long ExaCod; // Exam code
long SetCod; // Set code
unsigned SetInd; // Set index (position in the exam)
unsigned NumQstsToExam; // Number of questions in this set taht will appear in the exam
char Title[ExaSet_MAX_BYTES_TITLE + 1]; // Title of the set
};
#define ExaEvt_NUM_SHOWING 5
typedef enum
{
ExaEvt_START, // Start: don't show anything
ExaEvt_STEM, // Showing only the question stem
ExaEvt_ANSWERS, // Showing the question stem and the answers
ExaEvt_RESULTS, // Showing the results
ExaEvt_END, // End: don't show anything
} ExaEvt_Showing_t;
#define ExaEvt_SHOWING_DEFAULT ExaEvt_START
struct ExaEvt_Event
{
long EvtCod;
long ExaCod;
long UsrCod;
time_t TimeUTC[Dat_NUM_START_END_TIME];
char Title[ExaEvt_MAX_BYTES_TITLE + 1];
bool Hidden;
struct
{
unsigned QstInd; // 0 means that the exam has not started. First question has index 1.
long QstCod;
time_t QstStartTimeUTC;
ExaEvt_Showing_t Showing; // What is shown on teacher's screen
long Countdown; // > 0 ==> countdown in progress
// = 0 ==> countdown over ==> go to next step
// < 0 ==> no countdown at this time
unsigned NumCols; // Number of columns for answers on teacher's screen
bool ShowQstResults; // Show global results of current question while playing
bool ShowUsrResults; // Show exam with results of all questions for the student
bool Happening; // Is being played now?
unsigned NumParticipants;
} Status; // Status related to event playing
};
#endif

View File

@ -1486,7 +1486,7 @@ static void Gam_PutFormsEditionGame (struct Gam_Games *Games,
/********************** Receive form to create a new game ********************/
/*****************************************************************************/
void Gam_RecFormGame (void)
void Gam_ReceiveFormGame (void)
{
struct Gam_Games Games;
struct Gam_Game Game;

View File

@ -133,7 +133,7 @@ void Gam_UnhideGame (void);
void Gam_RequestCreatOrEditGame (void);
void Gam_RecFormGame (void);
void Gam_ReceiveFormGame (void);
bool Mch_CheckIfMatchIsAssociatedToGrp (long MchCod,long GrpCod);
unsigned Gam_GetNumQstsGame (long GamCod);

View File

@ -3703,7 +3703,7 @@ void Grp_GetNamesGrpsStdBelongsTo (long GrpTypCod,long UsrCod,char *GroupNames)
/****************** Receive form to create a new group type ******************/
/*****************************************************************************/
void Grp_RecFormNewGrpTyp (void)
void Grp_ReceiveFormNewGrpTyp (void)
{
extern const char *Txt_The_type_of_group_X_already_exists;
extern const char *Txt_Created_new_type_of_group_X;
@ -3776,7 +3776,7 @@ static bool Grp_CheckIfOpenTimeInTheFuture (time_t OpenTimeUTC)
/******************** Receive form to create a new group *********************/
/*****************************************************************************/
void Grp_RecFormNewGrp (void)
void Grp_ReceiveFormNewGrp (void)
{
extern const char *Txt_The_group_X_already_exists;
extern const char *Txt_Created_new_group_X;

View File

@ -205,8 +205,8 @@ bool Grp_GetIfAvailableGrpTyp (long GrpTypCod);
void Grp_GetLstCodGrpsWithFileZonesIBelong (struct ListCodGrps *LstGrps);
void Grp_GetNamesGrpsStdBelongsTo (long GrpTypCod,long UsrCod,char *GrpNames);
void Grp_RecFormNewGrpTyp (void);
void Grp_RecFormNewGrp (void);
void Grp_ReceiveFormNewGrpTyp (void);
void Grp_ReceiveFormNewGrp (void);
void Grp_ReqRemGroupType (void);
void Grp_ReqRemGroup (void);
void Grp_RemoveGroupType (void);

View File

@ -1107,7 +1107,7 @@ static void Hld_PutHeadHolidays (void)
/******************* Receive form to create a new holiday ********************/
/*****************************************************************************/
void Hld_RecFormNewHoliday (void)
void Hld_ReceiveFormNewHoliday (void)
{
extern const char *Txt_Created_new_holiday_X;
extern const char *Txt_You_must_specify_the_name_of_the_new_holiday;

View File

@ -99,6 +99,6 @@ void Hld_ChangeStartDate (void);
void Hld_ChangeEndDate (void);
void Hld_RenameHoliday (void);
void Hld_ContEditAfterChgHld (void);
void Hld_RecFormNewHoliday (void);
void Hld_ReceiveFormNewHoliday (void);
#endif

View File

@ -100,7 +100,7 @@ static void Ins_PutParamGoToIns (void *InsCod);
static void Ins_PutFormToCreateInstitution (void);
static void Ins_PutHeadInstitutionsForEdition (void);
static void Ins_RecFormRequestOrCreateIns (unsigned Status);
static void Ins_ReceiveFormRequestOrCreateIns (unsigned Status);
static void Ins_CreateInstitution (unsigned Status);
static void Ins_EditingInstitutionConstructor ();
@ -1831,33 +1831,33 @@ static void Ins_PutHeadInstitutionsForEdition (void)
/*************** Receive form to request a new institution *******************/
/*****************************************************************************/
void Ins_RecFormReqIns (void)
void Ins_ReceiveFormReqIns (void)
{
/***** Institution constructor *****/
Ins_EditingInstitutionConstructor ();
/***** Receive form to request a new institution *****/
Ins_RecFormRequestOrCreateIns ((unsigned) Ins_STATUS_BIT_PENDING);
Ins_ReceiveFormRequestOrCreateIns ((unsigned) Ins_STATUS_BIT_PENDING);
}
/*****************************************************************************/
/***************** Receive form to create a new institution ******************/
/*****************************************************************************/
void Ins_RecFormNewIns (void)
void Ins_ReceiveFormNewIns (void)
{
/***** Institution constructor *****/
Ins_EditingInstitutionConstructor ();
/***** Receive form to create a new institution *****/
Ins_RecFormRequestOrCreateIns (0);
Ins_ReceiveFormRequestOrCreateIns (0);
}
/*****************************************************************************/
/*********** Receive form to request or create a new institution *************/
/*****************************************************************************/
static void Ins_RecFormRequestOrCreateIns (unsigned Status)
static void Ins_ReceiveFormRequestOrCreateIns (unsigned Status)
{
extern const char *Txt_The_institution_X_already_exists;
extern const char *Txt_Created_new_institution_X;

View File

@ -126,8 +126,8 @@ void Ins_UpdateInsWWWDB (long InsCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1]);
void Ins_ChangeInsStatus (void);
void Ins_ContEditAfterChgIns (void);
void Ins_RecFormReqIns (void);
void Ins_RecFormNewIns (void);
void Ins_ReceiveFormReqIns (void);
void Ins_ReceiveFormNewIns (void);
unsigned Ins_GetCachedNumInssInSys (void);

View File

@ -797,7 +797,7 @@ static void Lnk_PutHeadLinks (void)
/******************* Receive form to create a new link ***********************/
/*****************************************************************************/
void Lnk_RecFormNewLink (void)
void Lnk_ReceiveFormNewLink (void)
{
extern const char *Txt_The_link_X_already_exists;
extern const char *Txt_You_must_specify_the_URL_of_the_new_link;

View File

@ -65,6 +65,6 @@ void Lnk_RenameLinkShort (void);
void Lnk_RenameLinkFull (void);
void Lnk_ChangeLinkWWW (void);
void Lnk_ContEditAfterChgLnk (void);
void Lnk_RecFormNewLink (void);
void Lnk_ReceiveFormNewLink (void);
#endif

View File

@ -813,7 +813,7 @@ static void Mai_PutHeadMailDomains (void)
/******************* Receive form to create a new mail ***********************/
/*****************************************************************************/
void Mai_RecFormNewMailDomain (void)
void Mai_ReceiveFormNewMailDomain (void)
{
extern const char *Txt_The_email_domain_X_already_exists;
extern const char *Txt_Created_new_email_domain_X;

View File

@ -70,7 +70,7 @@ void Mai_RemoveMailDomain (void);
void Mai_RenameMailDomainShort (void);
void Mai_RenameMailDomainFull (void);
void Mai_ContEditAfterChgMai (void);
void Mai_RecFormNewMailDomain (void);
void Mai_ReceiveFormNewMailDomain (void);
void Mai_ReqUsrsToListEmails (void);
void Mai_GetSelectedUsrsAndListEmails (void);

View File

@ -889,7 +889,7 @@ static void Plc_PutHeadPlaces (void)
/******************* Receive form to create a new place **********************/
/*****************************************************************************/
void Plc_RecFormNewPlace (void)
void Plc_ReceiveFormNewPlace (void)
{
extern const char *Txt_The_place_X_already_exists;
extern const char *Txt_Created_new_place_X;

View File

@ -81,6 +81,6 @@ void Plc_RenamePlaceShort (void);
void Plc_RenamePlaceFull (void);
void Plc_ContEditAfterChgPlc (void);
void Plc_RecFormNewPlace (void);
void Plc_ReceiveFormNewPlace (void);
#endif

View File

@ -973,7 +973,7 @@ static void Plg_PutHeadPlugins (void)
/****************** Receive form to create a new plugin **********************/
/*****************************************************************************/
void Plg_RecFormNewPlg (void)
void Plg_ReceiveFormNewPlg (void)
{
extern const char *Txt_The_plugin_X_already_exists;
extern const char *Txt_Created_new_plugin_X;

View File

@ -76,6 +76,6 @@ void Plg_ChangePlgURL (void);
void Plg_ChangePlgIP (void);
void Plg_ContEditAfterChgPlg (void);
void Plg_RecFormNewPlg (void);
void Plg_ReceiveFormNewPlg (void);
#endif

View File

@ -1949,7 +1949,7 @@ static void Prg_ShowFormItem (const struct ProgramItem *Item,
/***************** Receive form to create a new program item *****************/
/*****************************************************************************/
void Prg_RecFormNewItem (void)
void Prg_ReceiveFormNewItem (void)
{
struct ProgramItem ParentItem; // Parent item
struct ProgramItem NewItem; // Item data received from form
@ -2003,7 +2003,7 @@ void Prg_RecFormNewItem (void)
/************* Receive form to change an existing program item ***************/
/*****************************************************************************/
void Prg_RecFormChgItem (void)
void Prg_ReceiveFormChgItem (void)
{
struct ProgramItem OldItem; // Current program item data in database
struct ProgramItem NewItem; // Item data received from form

View File

@ -41,8 +41,8 @@ void Prg_ShowCourseProgram (void);
void Prg_RequestCreateItem (void);
void Prg_RequestChangeItem (void);
void Prg_RecFormNewItem (void);
void Prg_RecFormChgItem (void);
void Prg_ReceiveFormNewItem (void);
void Prg_ReceiveFormChgItem (void);
void Prg_ReqRemItem (void);
void Prg_RemoveItem (void);
@ -54,7 +54,6 @@ void Prg_MoveDownItem (void);
void Prg_MoveLeftItem (void);
void Prg_MoveRightItem (void);
void Prg_RecFormItem (void);
void Prg_RemoveCrsItems (long CrsCod);
unsigned Prg_GetNumCoursesWithItems (Hie_Level_t Scope);

View File

@ -3865,7 +3865,7 @@ void Prj_FreeMemProject (struct Prj_Project *Prj)
/******************** Receive form to create a new project *******************/
/*****************************************************************************/
void Prj_RecFormProject (void)
void Prj_ReceiveFormProject (void)
{
extern const char *Txt_You_must_specify_the_title_of_the_project;
extern const char *Txt_Created_new_project_X;

View File

@ -226,7 +226,7 @@ void Prj_RemoveProject (void);
void Prj_HideProject (void);
void Prj_UnhideProject (void);
void Prj_RecFormProject (void);
void Prj_ReceiveFormProject (void);
void Prj_ShowFormConfig (void);
void Prj_ReceiveConfigPrj (void);

View File

@ -1390,7 +1390,7 @@ static void Roo_PutHeadRooms (void)
/******************* Receive form to create a new room ***********************/
/*****************************************************************************/
void Roo_RecFormNewRoom (void)
void Roo_ReceiveFormNewRoom (void)
{
extern const char *Txt_The_room_X_already_exists;
extern const char *Txt_Created_new_room_X;

View File

@ -141,6 +141,6 @@ void Roo_RenameRoomFull (void);
void Roo_ChangeCapacity (void);
void Roo_ContEditAfterChgRoom (void);
void Roo_RecFormNewRoom (void);
void Roo_ReceiveFormNewRoom (void);
#endif

View File

@ -2185,7 +2185,7 @@ static void Svy_ShowLstGrpsToEditSurvey (long SvyCod)
/********************* Receive form to create a new survey *******************/
/*****************************************************************************/
void Svy_RecFormSurvey (void)
void Svy_ReceiveFormSurvey (void)
{
extern const char *Txt_Already_existed_a_survey_with_the_title_X;
extern const char *Txt_You_must_specify_the_title_of_the_survey;

View File

@ -107,7 +107,7 @@ void Svy_AskResetSurvey (void);
void Svy_ResetSurvey (void);
void Svy_HideSurvey (void);
void Svy_UnhideSurvey (void);
void Svy_RecFormSurvey (void);
void Svy_ReceiveFormSurvey (void);
bool Svy_CheckIfSvyIsAssociatedToGrp (long SvyCod,long GrpCod);
void Svy_RemoveGroup (long GrpCod);
void Svy_RemoveGroupsOfType (long GrpTypCod);

View File

@ -10077,6 +10077,90 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActReqNewExaEvt] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Request new exam event"
#elif L==4 // es
"Solicitar nuevo evento 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
,
[ActEdiOneExaEvt] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Edit exam event"
#elif L==4 // es
"Editar evento 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
,
[ActNewExaEvt] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Create new exam event"
#elif L==4 // es
"Crear nuevo evento 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
,
[ActChgExaEvt] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Change exam event"
#elif L==4 // es
"Cambiar evento 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
,
[ActReqRemExaEvt] =
@ -10161,48 +10245,6 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
#endif
,
[ActReqNewExaEvt] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Request new exam event"
#elif L==4 // es
"Solicitar nuevo evento 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
,
[ActNewExaEvt] =
#if L==1 // ca
"" // Necessita traducció
#elif L==2 // de
"" // Need Übersetzung
#elif L==3 // en
"Create new exam event"
#elif L==4 // es
"Crear nuevo evento 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
,
[ActResExaEvt] =