mirror of https://github.com/acanas/swad-core.git
Version19.212
This commit is contained in:
parent
6be20ecad1
commit
3f893eb023
|
@ -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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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_RecFormNewIns ,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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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_RecFormNewCtr ,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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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_RecFormNewDeg ,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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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_RecFormNewCrs ,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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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_RecFormChgItem ,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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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_RecFormAssignment ,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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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_RecFormProject ,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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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_RecFormExam ,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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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_RecFormGame ,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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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_RecFormSurvey ,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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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_RecFormAttEvent ,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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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},
|
[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_RecFormEvent ,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},
|
[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},
|
[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},
|
[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
|
ActChgNumQstExaSet, // #1899
|
||||||
ActHidExaEvt, // #1900
|
ActHidExaEvt, // #1900
|
||||||
ActShoExaEvt, // #1901
|
ActShoExaEvt, // #1901
|
||||||
|
ActEdiOneExaEvt, // #1902
|
||||||
|
ActChgExaEvt, // #1903
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
242
swad_action.h
242
swad_action.h
|
@ -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
|
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
|
#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 ActSeeOneTstResOth (ActChgCrsTT1stDay + 122)
|
||||||
|
|
||||||
#define ActSeeExa (ActChgCrsTT1stDay + 123)
|
#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 ActReqNewExaEvt (ActChgCrsTT1stDay + 124)
|
||||||
#define ActSeeMyExaEvtResExa (ActChgCrsTT1stDay + 144)
|
#define ActEdiOneExaEvt (ActChgCrsTT1stDay + 125)
|
||||||
#define ActSeeMyExaEvtResEvt (ActChgCrsTT1stDay + 145)
|
#define ActNewExaEvt (ActChgCrsTT1stDay + 126)
|
||||||
#define ActSeeOneExaEvtResMe (ActChgCrsTT1stDay + 146)
|
#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 ActResExaEvt (ActChgCrsTT1stDay + 132)
|
||||||
#define ActSeeAllExaEvtResCrs (ActChgCrsTT1stDay + 148)
|
#define ActBckExaEvt (ActChgCrsTT1stDay + 133)
|
||||||
#define ActSeeAllExaEvtResExa (ActChgCrsTT1stDay + 149)
|
#define ActPlyPauExaEvt (ActChgCrsTT1stDay + 134)
|
||||||
#define ActSeeAllExaEvtResEvt (ActChgCrsTT1stDay + 150)
|
#define ActFwdExaEvt (ActChgCrsTT1stDay + 135)
|
||||||
#define ActSeeOneExaEvtResOth (ActChgCrsTT1stDay + 151)
|
#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 ActReqSeeAllExaEvtRes (ActChgCrsTT1stDay + 149)
|
||||||
#define ActEdiOneExa (ActChgCrsTT1stDay + 154)
|
#define ActSeeAllExaEvtResCrs (ActChgCrsTT1stDay + 150)
|
||||||
#define ActNewExa (ActChgCrsTT1stDay + 155)
|
#define ActSeeAllExaEvtResExa (ActChgCrsTT1stDay + 151)
|
||||||
#define ActChgExa (ActChgCrsTT1stDay + 156)
|
#define ActSeeAllExaEvtResEvt (ActChgCrsTT1stDay + 152)
|
||||||
#define ActReqRemExa (ActChgCrsTT1stDay + 157)
|
#define ActSeeOneExaEvtResOth (ActChgCrsTT1stDay + 153)
|
||||||
#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 ActReqAddQstExaSet (ActChgCrsTT1stDay + 169)
|
#define ActChgVisResExaEvtUsr (ActChgCrsTT1stDay + 154)
|
||||||
#define ActLstTstQstForSet (ActChgCrsTT1stDay + 170)
|
|
||||||
#define ActAddQstToExa (ActChgCrsTT1stDay + 171)
|
|
||||||
#define ActReqRemSetQst (ActChgCrsTT1stDay + 172)
|
|
||||||
#define ActRemExaQst (ActChgCrsTT1stDay + 173)
|
|
||||||
|
|
||||||
#define ActSeeGam (ActChgCrsTT1stDay + 174)
|
#define ActFrmNewExa (ActChgCrsTT1stDay + 155)
|
||||||
#define ActReqRemMch (ActChgCrsTT1stDay + 175)
|
#define ActEdiOneExa (ActChgCrsTT1stDay + 156)
|
||||||
#define ActRemMch (ActChgCrsTT1stDay + 176)
|
#define ActNewExa (ActChgCrsTT1stDay + 157)
|
||||||
#define ActReqNewMch (ActChgCrsTT1stDay + 177)
|
#define ActChgExa (ActChgCrsTT1stDay + 158)
|
||||||
#define ActNewMch (ActChgCrsTT1stDay + 178)
|
#define ActReqRemExa (ActChgCrsTT1stDay + 159)
|
||||||
#define ActResMch (ActChgCrsTT1stDay + 179)
|
#define ActRemExa (ActChgCrsTT1stDay + 160)
|
||||||
#define ActBckMch (ActChgCrsTT1stDay + 180)
|
#define ActHidExa (ActChgCrsTT1stDay + 161)
|
||||||
#define ActPlyPauMch (ActChgCrsTT1stDay + 181)
|
#define ActShoExa (ActChgCrsTT1stDay + 162)
|
||||||
#define ActFwdMch (ActChgCrsTT1stDay + 182)
|
#define ActFrmNewExaSet (ActChgCrsTT1stDay + 163)
|
||||||
#define ActChgNumColMch (ActChgCrsTT1stDay + 183)
|
#define ActNewExaSet (ActChgCrsTT1stDay + 164)
|
||||||
#define ActChgVisResMchQst (ActChgCrsTT1stDay + 184)
|
#define ActReqRemExaSet (ActChgCrsTT1stDay + 165)
|
||||||
#define ActMchCntDwn (ActChgCrsTT1stDay + 185)
|
#define ActRemExaSet (ActChgCrsTT1stDay + 166)
|
||||||
#define ActRefMchTch (ActChgCrsTT1stDay + 186)
|
#define ActUp_ExaSet (ActChgCrsTT1stDay + 167)
|
||||||
|
#define ActDwnExaSet (ActChgCrsTT1stDay + 168)
|
||||||
|
#define ActChgTitExaSet (ActChgCrsTT1stDay + 169)
|
||||||
|
#define ActChgNumQstExaSet (ActChgCrsTT1stDay + 170)
|
||||||
|
|
||||||
#define ActJoiMch (ActChgCrsTT1stDay + 187)
|
#define ActReqAddQstExaSet (ActChgCrsTT1stDay + 171)
|
||||||
#define ActSeeMchAnsQstStd (ActChgCrsTT1stDay + 188)
|
#define ActLstTstQstForSet (ActChgCrsTT1stDay + 172)
|
||||||
#define ActRemMchAnsQstStd (ActChgCrsTT1stDay + 189)
|
#define ActAddQstToExa (ActChgCrsTT1stDay + 173)
|
||||||
#define ActAnsMchQstStd (ActChgCrsTT1stDay + 190)
|
#define ActReqRemSetQst (ActChgCrsTT1stDay + 174)
|
||||||
#define ActRefMchStd (ActChgCrsTT1stDay + 191)
|
#define ActRemExaQst (ActChgCrsTT1stDay + 175)
|
||||||
|
|
||||||
#define ActSeeMyMchResCrs (ActChgCrsTT1stDay + 192)
|
#define ActSeeGam (ActChgCrsTT1stDay + 176)
|
||||||
#define ActSeeMyMchResGam (ActChgCrsTT1stDay + 193)
|
#define ActReqRemMch (ActChgCrsTT1stDay + 177)
|
||||||
#define ActSeeMyMchResMch (ActChgCrsTT1stDay + 194)
|
#define ActRemMch (ActChgCrsTT1stDay + 178)
|
||||||
#define ActSeeOneMchResMe (ActChgCrsTT1stDay + 195)
|
#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 ActJoiMch (ActChgCrsTT1stDay + 189)
|
||||||
#define ActSeeAllMchResCrs (ActChgCrsTT1stDay + 197)
|
#define ActSeeMchAnsQstStd (ActChgCrsTT1stDay + 190)
|
||||||
#define ActSeeAllMchResGam (ActChgCrsTT1stDay + 198)
|
#define ActRemMchAnsQstStd (ActChgCrsTT1stDay + 191)
|
||||||
#define ActSeeAllMchResMch (ActChgCrsTT1stDay + 199)
|
#define ActAnsMchQstStd (ActChgCrsTT1stDay + 192)
|
||||||
#define ActSeeOneMchResOth (ActChgCrsTT1stDay + 200)
|
#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 ActReqSeeAllMchRes (ActChgCrsTT1stDay + 198)
|
||||||
#define ActEdiOneGam (ActChgCrsTT1stDay + 203)
|
#define ActSeeAllMchResCrs (ActChgCrsTT1stDay + 199)
|
||||||
#define ActNewGam (ActChgCrsTT1stDay + 204)
|
#define ActSeeAllMchResGam (ActChgCrsTT1stDay + 200)
|
||||||
#define ActChgGam (ActChgCrsTT1stDay + 205)
|
#define ActSeeAllMchResMch (ActChgCrsTT1stDay + 201)
|
||||||
#define ActReqRemGam (ActChgCrsTT1stDay + 206)
|
#define ActSeeOneMchResOth (ActChgCrsTT1stDay + 202)
|
||||||
#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 ActSeeSvy (ActChgCrsTT1stDay + 217)
|
#define ActChgVisResMchUsr (ActChgCrsTT1stDay + 203)
|
||||||
#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 ActSeeOneExaAnn (ActChgCrsTT1stDay + 233)
|
#define ActFrmNewGam (ActChgCrsTT1stDay + 204)
|
||||||
#define ActSeeDatExaAnn (ActChgCrsTT1stDay + 234)
|
#define ActEdiOneGam (ActChgCrsTT1stDay + 205)
|
||||||
#define ActEdiExaAnn (ActChgCrsTT1stDay + 235)
|
#define ActNewGam (ActChgCrsTT1stDay + 206)
|
||||||
#define ActRcvExaAnn (ActChgCrsTT1stDay + 236)
|
#define ActChgGam (ActChgCrsTT1stDay + 207)
|
||||||
#define ActPrnExaAnn (ActChgCrsTT1stDay + 237)
|
#define ActReqRemGam (ActChgCrsTT1stDay + 208)
|
||||||
#define ActReqRemExaAnn (ActChgCrsTT1stDay + 238)
|
#define ActRemGam (ActChgCrsTT1stDay + 209)
|
||||||
#define ActRemExaAnn (ActChgCrsTT1stDay + 239)
|
#define ActHidGam (ActChgCrsTT1stDay + 210)
|
||||||
#define ActHidExaAnn (ActChgCrsTT1stDay + 240)
|
#define ActShoGam (ActChgCrsTT1stDay + 211)
|
||||||
#define ActShoExaAnn (ActChgCrsTT1stDay + 241)
|
#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 **********************************/
|
/******************************** Files tab **********************************/
|
||||||
|
|
|
@ -1701,7 +1701,7 @@ void Agd_RequestCreatOrEditEvent (void)
|
||||||
/********************* Receive form to create a new event ********************/
|
/********************* 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_You_must_specify_the_title_of_the_event;
|
||||||
extern const char *Txt_Created_new_event_X;
|
extern const char *Txt_Created_new_event_X;
|
||||||
|
|
|
@ -123,7 +123,7 @@ void Agd_UnhideEvent (void);
|
||||||
void Agd_MakeEventPrivate (void);
|
void Agd_MakeEventPrivate (void);
|
||||||
void Agd_MakeEventPublic (void);
|
void Agd_MakeEventPublic (void);
|
||||||
|
|
||||||
void Agd_RecFormEvent (void);
|
void Agd_ReceiveFormEvent (void);
|
||||||
|
|
||||||
void Agd_RemoveUsrEvents (long UsrCod);
|
void Agd_RemoveUsrEvents (long UsrCod);
|
||||||
unsigned Agd_GetNumEventsFromUsr (long UsrCod);
|
unsigned Agd_GetNumEventsFromUsr (long UsrCod);
|
||||||
|
|
|
@ -1382,7 +1382,7 @@ static void Asg_ShowLstGrpsToEditAssignment (long AsgCod)
|
||||||
/****************** Receive form to create a new assignment ******************/
|
/****************** 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_title_X;
|
||||||
extern const char *Txt_Already_existed_an_assignment_with_the_folder_X;
|
extern const char *Txt_Already_existed_an_assignment_with_the_folder_X;
|
||||||
|
|
|
@ -95,7 +95,7 @@ void Asg_ReqRemAssignment (void);
|
||||||
void Asg_RemoveAssignment (void);
|
void Asg_RemoveAssignment (void);
|
||||||
void Asg_HideAssignment (void);
|
void Asg_HideAssignment (void);
|
||||||
void Asg_ShowAssignment (void);
|
void Asg_ShowAssignment (void);
|
||||||
void Asg_RecFormAssignment (void);
|
void Asg_ReceiveFormAssignment (void);
|
||||||
bool Asg_CheckIfAsgIsAssociatedToGrp (long AsgCod,long GrpCod);
|
bool Asg_CheckIfAsgIsAssociatedToGrp (long AsgCod,long GrpCod);
|
||||||
void Asg_RemoveGroup (long GrpCod);
|
void Asg_RemoveGroup (long GrpCod);
|
||||||
void Asg_RemoveGroupsOfType (long GrpTypCod);
|
void Asg_RemoveGroupsOfType (long GrpTypCod);
|
||||||
|
|
|
@ -1295,7 +1295,7 @@ static void Att_ShowLstGrpsToEditAttEvent (long AttCod)
|
||||||
/*************** Receive form to create a new attendance event ***************/
|
/*************** 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_Already_existed_an_event_with_the_title_X;
|
||||||
extern const char *Txt_You_must_specify_the_title_of_the_event;
|
extern const char *Txt_You_must_specify_the_title_of_the_event;
|
||||||
|
|
|
@ -97,7 +97,7 @@ void Att_RemoveAttEventFromDB (long AttCod);
|
||||||
|
|
||||||
void Att_HideAttEvent (void);
|
void Att_HideAttEvent (void);
|
||||||
void Att_ShowAttEvent (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_CreateAttEvent (struct Att_Event *Event,const char *Description);
|
||||||
void Att_UpdateAttEvent (struct Att_Event *Event,const char *Description);
|
void Att_UpdateAttEvent (struct Att_Event *Event,const char *Description);
|
||||||
bool Att_CheckIfAttEventIsAssociatedToGrps (long AttCod);
|
bool Att_CheckIfAttEventIsAssociatedToGrps (long AttCod);
|
||||||
|
|
|
@ -1012,7 +1012,7 @@ static void Ban_PutHeadBanners (void)
|
||||||
/******************* Receive form to create a new banner *********************/
|
/******************* 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_The_banner_X_already_exists;
|
||||||
extern const char *Txt_You_must_specify_the_image_of_the_new_banner;
|
extern const char *Txt_You_must_specify_the_image_of_the_new_banner;
|
||||||
|
|
|
@ -71,7 +71,7 @@ void Ban_RenameBannerFull (void);
|
||||||
void Ban_ChangeBannerImg (void);
|
void Ban_ChangeBannerImg (void);
|
||||||
void Ban_ChangeBannerWWW (void);
|
void Ban_ChangeBannerWWW (void);
|
||||||
void Ban_ContEditAfterChgBan (void);
|
void Ban_ContEditAfterChgBan (void);
|
||||||
void Ban_RecFormNewBanner (void);
|
void Ban_ReceiveFormNewBanner (void);
|
||||||
void Ban_WriteMenuWithBanners (void);
|
void Ban_WriteMenuWithBanners (void);
|
||||||
|
|
||||||
void Ban_ClickOnBanner (void);
|
void Ban_ClickOnBanner (void);
|
||||||
|
|
|
@ -888,7 +888,7 @@ static void Bld_PutHeadBuildings (void)
|
||||||
/***************** Receive form to create a new building *********************/
|
/***************** 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_The_building_X_already_exists;
|
||||||
extern const char *Txt_Created_new_building_X;
|
extern const char *Txt_Created_new_building_X;
|
||||||
|
|
|
@ -99,6 +99,6 @@ void Bld_RenameBuildingFull (void);
|
||||||
void Bld_ChangeBuildingLocation (void);
|
void Bld_ChangeBuildingLocation (void);
|
||||||
void Bld_ContEditAfterChgBuilding (void);
|
void Bld_ContEditAfterChgBuilding (void);
|
||||||
|
|
||||||
void Bld_RecFormNewBuilding (void);
|
void Bld_ReceiveFormNewBuilding (void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -95,7 +95,7 @@ static void Ctr_PutParamGoToCtr (void *CtrCod);
|
||||||
static void Ctr_PutFormToCreateCentre (const struct Plc_Places *Places);
|
static void Ctr_PutFormToCreateCentre (const struct Plc_Places *Places);
|
||||||
static void Ctr_PutHeadCentresForSeeing (bool OrderSelectable);
|
static void Ctr_PutHeadCentresForSeeing (bool OrderSelectable);
|
||||||
static void Ctr_PutHeadCentresForEdition (void);
|
static void Ctr_PutHeadCentresForEdition (void);
|
||||||
static void Ctr_RecFormRequestOrCreateCtr (unsigned Status);
|
static void Ctr_ReceiveFormRequestOrCreateCtr (unsigned Status);
|
||||||
static void Ctr_CreateCentre (unsigned Status);
|
static void Ctr_CreateCentre (unsigned Status);
|
||||||
|
|
||||||
static unsigned Ctr_GetNumCtrsInCty (long CtyCod);
|
static unsigned Ctr_GetNumCtrsInCty (long CtyCod);
|
||||||
|
@ -1812,33 +1812,33 @@ static void Ctr_PutHeadCentresForEdition (void)
|
||||||
/****************** Receive form to request a new centre *********************/
|
/****************** Receive form to request a new centre *********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Ctr_RecFormReqCtr (void)
|
void Ctr_ReceiveFormReqCtr (void)
|
||||||
{
|
{
|
||||||
/***** Centre constructor *****/
|
/***** Centre constructor *****/
|
||||||
Ctr_EditingCentreConstructor ();
|
Ctr_EditingCentreConstructor ();
|
||||||
|
|
||||||
/***** Receive form to request a new centre *****/
|
/***** 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 *********************/
|
/******************* Receive form to create a new centre *********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Ctr_RecFormNewCtr (void)
|
void Ctr_ReceiveFormNewCtr (void)
|
||||||
{
|
{
|
||||||
/***** Centre constructor *****/
|
/***** Centre constructor *****/
|
||||||
Ctr_EditingCentreConstructor ();
|
Ctr_EditingCentreConstructor ();
|
||||||
|
|
||||||
/***** Receive form to create a new centre *****/
|
/***** Receive form to create a new centre *****/
|
||||||
Ctr_RecFormRequestOrCreateCtr (0);
|
Ctr_ReceiveFormRequestOrCreateCtr (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************* Receive form to request or create a new centre ****************/
|
/************* 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_The_centre_X_already_exists;
|
||||||
extern const char *Txt_Created_new_centre_X;
|
extern const char *Txt_Created_new_centre_X;
|
||||||
|
|
|
@ -129,8 +129,8 @@ void Ctr_UpdateCtrWWWDB (long CtrCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1]);
|
||||||
void Ctr_ChangeCtrStatus (void);
|
void Ctr_ChangeCtrStatus (void);
|
||||||
void Ctr_ContEditAfterChgCtr (void);
|
void Ctr_ContEditAfterChgCtr (void);
|
||||||
|
|
||||||
void Ctr_RecFormReqCtr (void);
|
void Ctr_ReceiveFormReqCtr (void);
|
||||||
void Ctr_RecFormNewCtr (void);
|
void Ctr_ReceiveFormNewCtr (void);
|
||||||
|
|
||||||
unsigned Ctr_GetCachedNumCtrsInSys (void);
|
unsigned Ctr_GetCachedNumCtrsInSys (void);
|
||||||
|
|
||||||
|
|
|
@ -544,12 +544,12 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
||||||
En OpenSWAD:
|
En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
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 CSS_FILE "swad19.193.1.css"
|
||||||
#define JS_FILE "swad19.193.1.js"
|
#define JS_FILE "swad19.193.1.js"
|
||||||
/*
|
/*
|
||||||
|
Version 19.212: May 05, 2020 Icon to edit exam event. (301319 lines)
|
||||||
Version 19.211: May 05, 2020 Exam events can be hidden. (301215 lines)
|
Version 19.211: May 05, 2020 Exam events can be hidden/unhidden. (301215 lines)
|
||||||
1 change necessary in database:
|
1 change necessary in database:
|
||||||
ALTER TABLE exa_events ADD COLUMN Hidden ENUM('N','Y') NOT NULL DEFAULT 'N' AFTER ExaCod;
|
ALTER TABLE exa_events ADD COLUMN Hidden ENUM('N','Y') NOT NULL DEFAULT 'N' AFTER ExaCod;
|
||||||
|
|
||||||
|
|
|
@ -1747,7 +1747,7 @@ static void Cty_PutHeadCountriesForEdition (void)
|
||||||
/******************* Receive form to create a new country ********************/
|
/******************* 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_You_must_specify_the_numerical_code_of_the_new_country;
|
||||||
extern const char *Txt_The_numerical_code_X_already_exists;
|
extern const char *Txt_The_numerical_code_X_already_exists;
|
||||||
|
|
|
@ -110,7 +110,7 @@ void Cty_RemoveCountry (void);
|
||||||
void Cty_RenameCountry (void);
|
void Cty_RenameCountry (void);
|
||||||
void Cty_ChangeCtyWWW (void);
|
void Cty_ChangeCtyWWW (void);
|
||||||
void Cty_ContEditAfterChgCty (void);
|
void Cty_ContEditAfterChgCty (void);
|
||||||
void Cty_RecFormNewCountry (void);
|
void Cty_ReceiveFormNewCountry (void);
|
||||||
|
|
||||||
unsigned Cty_GetCachedNumCtysInSys (void);
|
unsigned Cty_GetCachedNumCtysInSys (void);
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ static Crs_Status_t Crs_GetStatusBitsFromStatusTxt (Crs_StatusTxt_t StatusTxt);
|
||||||
static void Crs_PutFormToCreateCourse (void);
|
static void Crs_PutFormToCreateCourse (void);
|
||||||
static void Crs_PutHeadCoursesForSeeing (void);
|
static void Crs_PutHeadCoursesForSeeing (void);
|
||||||
static void Crs_PutHeadCoursesForEdition (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_GetParamsNewCourse (struct Course *Crs);
|
||||||
|
|
||||||
static void Crs_CreateCourse (unsigned Status);
|
static void Crs_CreateCourse (unsigned Status);
|
||||||
|
@ -1577,33 +1577,33 @@ static void Crs_PutHeadCoursesForEdition (void)
|
||||||
/****************** Receive form to request a new course *********************/
|
/****************** Receive form to request a new course *********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Crs_RecFormReqCrs (void)
|
void Crs_ReceiveFormReqCrs (void)
|
||||||
{
|
{
|
||||||
/***** Course constructor *****/
|
/***** Course constructor *****/
|
||||||
Crs_EditingCourseConstructor ();
|
Crs_EditingCourseConstructor ();
|
||||||
|
|
||||||
/***** Receive form to request a new course *****/
|
/***** 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 *********************/
|
/******************* Receive form to create a new course *********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Crs_RecFormNewCrs (void)
|
void Crs_ReceiveFormNewCrs (void)
|
||||||
{
|
{
|
||||||
/***** Course constructor *****/
|
/***** Course constructor *****/
|
||||||
Crs_EditingCourseConstructor ();
|
Crs_EditingCourseConstructor ();
|
||||||
|
|
||||||
/***** Receive form to create a new course *****/
|
/***** Receive form to create a new course *****/
|
||||||
Crs_RecFormRequestOrCreateCrs (0);
|
Crs_ReceiveFormRequestOrCreateCrs (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************* Receive form to request or create a new course ****************/
|
/************* 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_The_course_X_already_exists;
|
||||||
extern const char *Txt_Created_new_course_X;
|
extern const char *Txt_Created_new_course_X;
|
||||||
|
|
|
@ -127,8 +127,8 @@ void Crs_WriteSelectorMyCoursesInBreadcrumb (void);
|
||||||
|
|
||||||
void Crs_EditCourses (void);
|
void Crs_EditCourses (void);
|
||||||
|
|
||||||
void Crs_RecFormReqCrs (void);
|
void Crs_ReceiveFormReqCrs (void);
|
||||||
void Crs_RecFormNewCrs (void);
|
void Crs_ReceiveFormNewCrs (void);
|
||||||
|
|
||||||
void Crs_RemoveCourse (void);
|
void Crs_RemoveCourse (void);
|
||||||
bool Crs_GetDataOfCourseByCod (struct Course *Crs);
|
bool Crs_GetDataOfCourseByCod (struct Course *Crs);
|
||||||
|
|
|
@ -1067,7 +1067,7 @@ mysql> DESCRIBE exa_events;
|
||||||
"UsrCod INT NOT NULL,"
|
"UsrCod INT NOT NULL,"
|
||||||
"StartTime DATETIME NOT NULL,"
|
"StartTime DATETIME NOT NULL,"
|
||||||
"EndTime 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,"
|
"QstInd INT NOT NULL DEFAULT 0,"
|
||||||
"QstCod INT NOT NULL DEFAULT -1,"
|
"QstCod INT NOT NULL DEFAULT -1,"
|
||||||
"Showing ENUM('start','stem','answers','results','end') NOT NULL DEFAULT 'start',"
|
"Showing ENUM('start','stem','answers','results','end') NOT NULL DEFAULT 'start',"
|
||||||
|
|
|
@ -91,7 +91,7 @@ static void Deg_ListOneDegreeForSeeing (struct Degree *Deg,unsigned NumDeg);
|
||||||
static void Deg_EditDegreesInternal (void);
|
static void Deg_EditDegreesInternal (void);
|
||||||
static void Deg_PutIconsEditingDegrees (__attribute__((unused)) void *Args);
|
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_PutParamOtherDegCod (long DegCod);
|
||||||
|
|
||||||
static void Deg_GetDataOfDegreeFromRow (struct Degree *Deg,MYSQL_ROW row);
|
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 *********************/
|
/****************** Receive form to request a new degree *********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Deg_RecFormReqDeg (void)
|
void Deg_ReceiveFormReqDeg (void)
|
||||||
{
|
{
|
||||||
/***** Degree constructor *****/
|
/***** Degree constructor *****/
|
||||||
Deg_EditingDegreeConstructor ();
|
Deg_EditingDegreeConstructor ();
|
||||||
|
|
||||||
/***** Receive form to request a new degree *****/
|
/***** 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 *********************/
|
/******************* Receive form to create a new degree *********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Deg_RecFormNewDeg (void)
|
void Deg_ReceiveFormNewDeg (void)
|
||||||
{
|
{
|
||||||
/***** Degree constructor *****/
|
/***** Degree constructor *****/
|
||||||
Deg_EditingDegreeConstructor ();
|
Deg_EditingDegreeConstructor ();
|
||||||
|
|
||||||
/***** Receive form to create a new degree *****/
|
/***** Receive form to create a new degree *****/
|
||||||
Deg_RecFormRequestOrCreateDeg (0);
|
Deg_ReceiveFormRequestOrCreateDeg (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/******************* Receive form to create a new degree *********************/
|
/******************* 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_The_degree_X_already_exists;
|
||||||
extern const char *Txt_Created_new_degree_X;
|
extern const char *Txt_Created_new_degree_X;
|
||||||
|
|
|
@ -107,8 +107,8 @@ void Deg_GetListAllDegsWithStds (struct ListDegrees *Degs);
|
||||||
void Deg_GetListDegsInCurrentCtr (void);
|
void Deg_GetListDegsInCurrentCtr (void);
|
||||||
void Deg_FreeListDegs (struct ListDegrees *Degs);
|
void Deg_FreeListDegs (struct ListDegrees *Degs);
|
||||||
|
|
||||||
void Deg_RecFormReqDeg (void);
|
void Deg_ReceiveFormReqDeg (void);
|
||||||
void Deg_RecFormNewDeg (void);
|
void Deg_ReceiveFormNewDeg (void);
|
||||||
void Deg_RemoveDegree (void);
|
void Deg_RemoveDegree (void);
|
||||||
|
|
||||||
void Deg_PutParamDegCod (long DegCod);
|
void Deg_PutParamDegCod (long DegCod);
|
||||||
|
|
|
@ -749,7 +749,7 @@ void DT_FreeListDegreeTypes (void)
|
||||||
/***************** Receive form to create a new degree type ******************/
|
/***************** 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_The_type_of_degree_X_already_exists;
|
||||||
extern const char *Txt_Created_new_type_of_degree_X;
|
extern const char *Txt_Created_new_type_of_degree_X;
|
||||||
|
|
|
@ -71,7 +71,7 @@ bool DT_CheckIfICanCreateDegreeTypes (void);
|
||||||
void DT_GetListDegreeTypes (Hie_Level_t Scope,DT_Order_t Order);
|
void DT_GetListDegreeTypes (Hie_Level_t Scope,DT_Order_t Order);
|
||||||
void DT_FreeListDegreeTypes (void);
|
void DT_FreeListDegreeTypes (void);
|
||||||
|
|
||||||
void DT_RecFormNewDegreeType (void);
|
void DT_ReceiveFormNewDegreeType (void);
|
||||||
|
|
||||||
void DT_RemoveDegreeType (void);
|
void DT_RemoveDegreeType (void);
|
||||||
|
|
||||||
|
|
|
@ -1018,7 +1018,7 @@ static void Dpt_PutHeadDepartments (void)
|
||||||
/***************** Receive form to create a new department *******************/
|
/***************** 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_The_department_X_already_exists;
|
||||||
extern const char *Txt_Created_new_department_X;
|
extern const char *Txt_Created_new_department_X;
|
||||||
|
|
|
@ -77,7 +77,7 @@ void Dpt_RenameDepartFull (void);
|
||||||
void Dpt_ChangeDptWWW (void);
|
void Dpt_ChangeDptWWW (void);
|
||||||
void Dpt_ContEditAfterChgDpt (void);
|
void Dpt_ContEditAfterChgDpt (void);
|
||||||
|
|
||||||
void Dpt_RecFormNewDpt (void);
|
void Dpt_ReceiveFormNewDpt (void);
|
||||||
unsigned Dpt_GetTotalNumberOfDepartments (void);
|
unsigned Dpt_GetTotalNumberOfDepartments (void);
|
||||||
void Dpt_FlushCacheNumDptsInIns (void);
|
void Dpt_FlushCacheNumDptsInIns (void);
|
||||||
unsigned Dpt_GetNumDptsInIns (long InsCod);
|
unsigned Dpt_GetNumDptsInIns (long InsCod);
|
||||||
|
|
67
swad_exam.c
67
swad_exam.c
|
@ -38,6 +38,7 @@
|
||||||
#include "swad_exam.h"
|
#include "swad_exam.h"
|
||||||
#include "swad_exam_event.h"
|
#include "swad_exam_event.h"
|
||||||
#include "swad_exam_result.h"
|
#include "swad_exam_result.h"
|
||||||
|
#include "swad_exam_type.h"
|
||||||
#include "swad_figure.h"
|
#include "swad_figure.h"
|
||||||
#include "swad_form.h"
|
#include "swad_form.h"
|
||||||
#include "swad_global.h"
|
#include "swad_global.h"
|
||||||
|
@ -486,12 +487,12 @@ void Exa_SeeOneExam (void)
|
||||||
{
|
{
|
||||||
struct Exa_Exams Exams;
|
struct Exa_Exams Exams;
|
||||||
struct Exa_Exam Exam;
|
struct Exa_Exam Exam;
|
||||||
|
struct ExaEvt_Event Event;
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
|
ExaEvt_ResetEvent (&Event);
|
||||||
|
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
Exa_GetParams (&Exams);
|
Exa_GetParams (&Exams);
|
||||||
|
@ -504,8 +505,8 @@ void Exa_SeeOneExam (void)
|
||||||
Exams.ExaCod = Exam.ExaCod;
|
Exams.ExaCod = Exam.ExaCod;
|
||||||
|
|
||||||
/***** Show exam *****/
|
/***** Show exam *****/
|
||||||
Exa_ShowOnlyOneExam (&Exams,&Exam,
|
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
|
||||||
false); // Do not put form to start new event
|
false); // Do not put form for event
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -514,15 +515,17 @@ void Exa_SeeOneExam (void)
|
||||||
|
|
||||||
void Exa_ShowOnlyOneExam (struct Exa_Exams *Exams,
|
void Exa_ShowOnlyOneExam (struct Exa_Exams *Exams,
|
||||||
struct Exa_Exam *Exam,
|
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 ();
|
Exa_ShowOnlyOneExamEnd ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Exa_ShowOnlyOneExamBegin (struct Exa_Exams *Exams,
|
void Exa_ShowOnlyOneExamBegin (struct Exa_Exams *Exams,
|
||||||
struct Exa_Exam *Exam,
|
struct Exa_Exam *Exam,
|
||||||
bool PutFormNewMatch)
|
struct ExaEvt_Event *Event,
|
||||||
|
bool PutFormEvent)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_ASSESSMENT_Exams;
|
extern const char *Hlp_ASSESSMENT_Exams;
|
||||||
extern const char *Txt_Exam;
|
extern const char *Txt_Exam;
|
||||||
|
@ -539,7 +542,7 @@ void Exa_ShowOnlyOneExamBegin (struct Exa_Exams *Exams,
|
||||||
true); // Show only this exam
|
true); // Show only this exam
|
||||||
|
|
||||||
/***** List events *****/
|
/***** List events *****/
|
||||||
ExaEvt_ListEvents (Exams,Exam,PutFormNewMatch);
|
ExaEvt_ListEvents (Exams,Exam,Event,PutFormEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Exa_ShowOnlyOneExamEnd (void)
|
void Exa_ShowOnlyOneExamEnd (void)
|
||||||
|
@ -764,11 +767,11 @@ static void Exa_PutIconsToRemEditOneExam (struct Exa_Exams *Exams,
|
||||||
{
|
{
|
||||||
Exams->ExaCod = Exam->ExaCod;
|
Exams->ExaCod = Exam->ExaCod;
|
||||||
|
|
||||||
/***** Put icon to remove exam *****/
|
/***** Icon to remove exam *****/
|
||||||
Ico_PutContextualIconToRemove (ActReqRemExa,
|
Ico_PutContextualIconToRemove (ActReqRemExa,
|
||||||
Exa_PutParams,Exams);
|
Exa_PutParams,Exams);
|
||||||
|
|
||||||
/***** Put icon to unhide/hide exam *****/
|
/***** Icon to unhide/hide exam *****/
|
||||||
if (Exam->Hidden)
|
if (Exam->Hidden)
|
||||||
Ico_PutContextualIconToUnhide (ActShoExa,Anchor,
|
Ico_PutContextualIconToUnhide (ActShoExa,Anchor,
|
||||||
Exa_PutParams,Exams);
|
Exa_PutParams,Exams);
|
||||||
|
@ -776,7 +779,7 @@ static void Exa_PutIconsToRemEditOneExam (struct Exa_Exams *Exams,
|
||||||
Ico_PutContextualIconToHide (ActHidExa,Anchor,
|
Ico_PutContextualIconToHide (ActHidExa,Anchor,
|
||||||
Exa_PutParams,Exams);
|
Exa_PutParams,Exams);
|
||||||
|
|
||||||
/***** Put icon to edit exam *****/
|
/***** Icon to edit exam *****/
|
||||||
Ico_PutContextualIconToEdit (ActEdiOneExa,NULL,
|
Ico_PutContextualIconToEdit (ActEdiOneExa,NULL,
|
||||||
Exa_PutParams,Exams);
|
Exa_PutParams,Exams);
|
||||||
}
|
}
|
||||||
|
@ -1276,8 +1279,6 @@ void Exa_AskRemExam (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
|
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
|
@ -1318,8 +1319,6 @@ void Exa_RemoveExam (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
|
|
||||||
/***** Get exam code *****/
|
/***** Get exam code *****/
|
||||||
|
@ -1400,8 +1399,6 @@ void Exa_HideExam (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
|
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
|
@ -1438,8 +1435,6 @@ void Exa_UnhideExam (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
|
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
|
@ -1512,8 +1507,6 @@ void Exa_RequestCreatOrEditExam (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -1639,7 +1632,7 @@ static void ExaSet_PutFormNewSet (struct Exa_Exams *Exams,
|
||||||
/**************** Receive form to create a new set of questions **************/
|
/**************** Receive form to create a new set of questions **************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void ExaSet_RecFormSet (void)
|
void ExaSet_ReceiveFormSet (void)
|
||||||
{
|
{
|
||||||
struct Exa_Exams Exams;
|
struct Exa_Exams Exams;
|
||||||
struct Exa_Exam Exam;
|
struct Exa_Exam Exam;
|
||||||
|
@ -1652,8 +1645,6 @@ void ExaSet_RecFormSet (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -1747,8 +1738,6 @@ void ExaSet_ChangeSetTitle (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -1803,8 +1792,6 @@ void ExaSet_ChangeNumQstsToExam (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -1957,7 +1944,7 @@ static void Exa_PutFormEditionExam (struct Exa_Exams *Exams,
|
||||||
/********************** Receive form to create a new exam ********************/
|
/********************** Receive form to create a new exam ********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Exa_RecFormExam (void)
|
void Exa_ReceiveFormExam (void)
|
||||||
{
|
{
|
||||||
struct Exa_Exams Exams;
|
struct Exa_Exams Exams;
|
||||||
struct Exa_Exam Exam;
|
struct Exa_Exam Exam;
|
||||||
|
@ -1971,8 +1958,6 @@ void Exa_RecFormExam (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -2254,8 +2239,6 @@ void ExaSet_RequestCreatOrEditSet (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -2301,8 +2284,6 @@ void ExaSet_ReqSelectQstsToAddToSet (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -2353,8 +2334,6 @@ void ExaSet_ListQstsToAddToSet (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -3141,8 +3120,6 @@ void ExaSet_AddQstsToSet (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -3253,8 +3230,6 @@ void ExaSet_RequestRemoveSet (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -3302,8 +3277,6 @@ void ExaSet_RemoveSet (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -3374,8 +3347,6 @@ void ExaSet_MoveUpSet (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -3436,8 +3407,6 @@ void ExaSet_MoveDownSet (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -3500,8 +3469,6 @@ void ExaSet_RequestRemoveQstFromSet (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
@ -3559,8 +3526,6 @@ void ExaSet_RemoveQstFromSet (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and set *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaSet_ResetSet (&Set);
|
ExaSet_ResetSet (&Set);
|
||||||
|
|
||||||
|
|
91
swad_exam.h
91
swad_exam.h
|
@ -28,88 +28,15 @@
|
||||||
/********************************* Headers ***********************************/
|
/********************************* Headers ***********************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "swad_date.h"
|
// #include "swad_date.h"
|
||||||
#include "swad_scope.h"
|
// #include "swad_exam_event.h"
|
||||||
|
#include "swad_exam_type.h"
|
||||||
|
// #include "swad_scope.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************************** Public types and constants ***********************/
|
/************************** 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 *****************************/
|
/***************************** Public prototypes *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -121,10 +48,12 @@ void Exa_SeeAllExams (void);
|
||||||
void Exa_SeeOneExam (void);
|
void Exa_SeeOneExam (void);
|
||||||
void Exa_ShowOnlyOneExam (struct Exa_Exams *Exams,
|
void Exa_ShowOnlyOneExam (struct Exa_Exams *Exams,
|
||||||
struct Exa_Exam *Exam,
|
struct Exa_Exam *Exam,
|
||||||
bool PutFormNewMatch);
|
struct ExaEvt_Event *Event,
|
||||||
|
bool PutFormEvent);
|
||||||
void Exa_ShowOnlyOneExamBegin (struct Exa_Exams *Exams,
|
void Exa_ShowOnlyOneExamBegin (struct Exa_Exams *Exams,
|
||||||
struct Exa_Exam *Exam,
|
struct Exa_Exam *Exam,
|
||||||
bool PutFormNewMatch);
|
struct ExaEvt_Event *Event,
|
||||||
|
bool PutFormEvent);
|
||||||
void Exa_ShowOnlyOneExamEnd (void);
|
void Exa_ShowOnlyOneExamEnd (void);
|
||||||
|
|
||||||
void Exa_SetCurrentExaCod (long ExaCod);
|
void Exa_SetCurrentExaCod (long ExaCod);
|
||||||
|
@ -150,11 +79,11 @@ void Exa_UnhideExam (void);
|
||||||
|
|
||||||
void Exa_RequestCreatOrEditExam (void);
|
void Exa_RequestCreatOrEditExam (void);
|
||||||
|
|
||||||
void ExaSet_RecFormSet (void);
|
void ExaSet_ReceiveFormSet (void);
|
||||||
void ExaSet_ChangeSetTitle (void);
|
void ExaSet_ChangeSetTitle (void);
|
||||||
void ExaSet_ChangeNumQstsToExam (void);
|
void ExaSet_ChangeNumQstsToExam (void);
|
||||||
|
|
||||||
void Exa_RecFormExam (void);
|
void Exa_ReceiveFormExam (void);
|
||||||
bool Mch_CheckIfMatchIsAssociatedToGrp (long EvtCod,long GrpCod);
|
bool Mch_CheckIfMatchIsAssociatedToGrp (long EvtCod,long GrpCod);
|
||||||
|
|
||||||
unsigned ExaSet_GetNumSetsExam (long ExaCod);
|
unsigned ExaSet_GetNumSetsExam (long ExaCod);
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
#include "swad_exam.h"
|
#include "swad_exam.h"
|
||||||
#include "swad_exam_event.h"
|
#include "swad_exam_event.h"
|
||||||
#include "swad_exam_result.h"
|
#include "swad_exam_result.h"
|
||||||
|
#include "swad_exam_type.h"
|
||||||
#include "swad_form.h"
|
#include "swad_form.h"
|
||||||
#include "swad_global.h"
|
#include "swad_global.h"
|
||||||
#include "swad_HTML.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,
|
static void ExaEvt_ListOneOrMoreEvents (struct Exa_Exams *Exams,
|
||||||
const struct Exa_Exam *Exam,
|
const struct Exa_Exam *Exam,
|
||||||
|
long EvtCodToBeEdited,
|
||||||
unsigned NumEvents,
|
unsigned NumEvents,
|
||||||
MYSQL_RES *mysql_res);
|
MYSQL_RES *mysql_res);
|
||||||
static void ExaEvt_ListOneOrMoreEventsHeading (bool ICanEditEvents);
|
static void ExaEvt_ListOneOrMoreEventsHeading (bool ICanEditEvents);
|
||||||
|
@ -285,14 +287,16 @@ void ExaEvt_ResetEvent (struct ExaEvt_Event *Event)
|
||||||
|
|
||||||
void ExaEvt_ListEvents (struct Exa_Exams *Exams,
|
void ExaEvt_ListEvents (struct Exa_Exams *Exams,
|
||||||
struct Exa_Exam *Exam,
|
struct Exa_Exam *Exam,
|
||||||
bool PutFormNewEvent)
|
struct ExaEvt_Event *Event,
|
||||||
|
bool PutFormEvent)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_ASSESSMENT_Exams_events;
|
extern const char *Hlp_ASSESSMENT_Exams_events;
|
||||||
extern const char *Txt_Events;
|
extern const char *Txt_Events;
|
||||||
char *SubQuery;
|
char *SubQuery;
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
unsigned NumEvents;
|
unsigned NumEvents;
|
||||||
struct ExaEvt_Event Event;
|
long EvtCodToBeEdited;
|
||||||
|
bool PutFormNewEvent;
|
||||||
|
|
||||||
/***** Get data of events from database *****/
|
/***** Get data of events from database *****/
|
||||||
/* Fill subquery for exam */
|
/* Fill subquery for exam */
|
||||||
|
@ -355,8 +359,12 @@ void ExaEvt_ListEvents (struct Exa_Exams *Exams,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (NumEvents)
|
if (NumEvents)
|
||||||
|
{
|
||||||
/***** Show the table with the events *****/
|
/***** 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 *****/
|
/***** Free structure that stores the query result *****/
|
||||||
DB_FreeMySQLResult (&mysql_res);
|
DB_FreeMySQLResult (&mysql_res);
|
||||||
|
@ -367,18 +375,19 @@ void ExaEvt_ListEvents (struct Exa_Exams *Exams,
|
||||||
case Rol_NET:
|
case Rol_NET:
|
||||||
case Rol_TCH:
|
case Rol_TCH:
|
||||||
case Rol_SYS_ADM:
|
case Rol_SYS_ADM:
|
||||||
|
PutFormNewEvent = PutFormEvent && Event->EvtCod <= 0;
|
||||||
if (PutFormNewEvent)
|
if (PutFormNewEvent)
|
||||||
{
|
{
|
||||||
/* Reset event */
|
/* Reset event */
|
||||||
ExaEvt_ResetEvent (&Event);
|
ExaEvt_ResetEvent (Event);
|
||||||
Event.ExaCod = Exam->ExaCod;
|
Event->ExaCod = Exam->ExaCod;
|
||||||
Event.TimeUTC[Dat_START_TIME] = Gbl.StartExecutionTimeUTC; // Now
|
Event->TimeUTC[Dat_START_TIME] = Gbl.StartExecutionTimeUTC; // Now
|
||||||
Event.TimeUTC[Dat_END_TIME ] = Gbl.StartExecutionTimeUTC + (1 * 60 * 60); // Now + 1 hour
|
Event->TimeUTC[Dat_END_TIME ] = Gbl.StartExecutionTimeUTC + (1 * 60 * 60); // Now + 1 hour
|
||||||
Str_Copy (Event.Title,Exam->Title,
|
Str_Copy (Event->Title,Exam->Title,
|
||||||
Exa_MAX_BYTES_TITLE);
|
ExaEvt_MAX_BYTES_TITLE);
|
||||||
|
|
||||||
/* Put form to create new event */
|
/* 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
|
else
|
||||||
ExaEvt_PutButtonNewEvent (Exams,Exam->ExaCod); // Button to create a new exam event
|
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,
|
static void ExaEvt_ListOneOrMoreEvents (struct Exa_Exams *Exams,
|
||||||
const struct Exa_Exam *Exam,
|
const struct Exa_Exam *Exam,
|
||||||
|
long EvtCodToBeEdited,
|
||||||
unsigned NumEvents,
|
unsigned NumEvents,
|
||||||
MYSQL_RES *mysql_res)
|
MYSQL_RES *mysql_res)
|
||||||
{
|
{
|
||||||
|
@ -534,9 +544,19 @@ static void ExaEvt_ListOneOrMoreEvents (struct Exa_Exams *Exams,
|
||||||
/* Event result visible? */
|
/* Event result visible? */
|
||||||
ExaEvt_ListOneOrMoreEventsResult (Exams,&Event);
|
ExaEvt_ListOneOrMoreEventsResult (Exams,&Event);
|
||||||
|
|
||||||
/***** End row for this exam event ****/
|
/***** End row for this event ****/
|
||||||
HTM_TR_End ();
|
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 string *****/
|
||||||
free (Anchor);
|
free (Anchor);
|
||||||
}
|
}
|
||||||
|
@ -622,18 +642,19 @@ static void ExaEvt_ListOneOrMoreEventsIcons (struct Exa_Exams *Exams,
|
||||||
const struct ExaEvt_Event *Event,
|
const struct ExaEvt_Event *Event,
|
||||||
const char *Anchor)
|
const char *Anchor)
|
||||||
{
|
{
|
||||||
|
/***** Begin cell *****/
|
||||||
HTM_TD_Begin ("class=\"BT%u\"",Gbl.RowEvenOdd);
|
HTM_TD_Begin ("class=\"BT%u\"",Gbl.RowEvenOdd);
|
||||||
|
|
||||||
Exams->ExaCod = Event->ExaCod;
|
Exams->ExaCod = Event->ExaCod;
|
||||||
Exams->EvtCod = Event->EvtCod;
|
Exams->EvtCod = Event->EvtCod;
|
||||||
|
|
||||||
/* Icon to remove the exam event */
|
/***** Icon to remove the exam event *****/
|
||||||
Frm_StartForm (ActReqRemExaEvt);
|
Frm_StartForm (ActReqRemExaEvt);
|
||||||
ExaEvt_PutParamsEdit (Exams);
|
ExaEvt_PutParamsEdit (Exams);
|
||||||
Ico_PutIconRemove ();
|
Ico_PutIconRemove ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
||||||
/* Icon to hide/unhide the exam event */
|
/***** Icon to hide/unhide the exam event *****/
|
||||||
if (Event->Hidden)
|
if (Event->Hidden)
|
||||||
Ico_PutContextualIconToUnhide (ActShoExaEvt,Anchor,
|
Ico_PutContextualIconToUnhide (ActShoExaEvt,Anchor,
|
||||||
ExaEvt_PutParamsEdit,Exams);
|
ExaEvt_PutParamsEdit,Exams);
|
||||||
|
@ -641,8 +662,11 @@ static void ExaEvt_ListOneOrMoreEventsIcons (struct Exa_Exams *Exams,
|
||||||
Ico_PutContextualIconToHide (ActHidExaEvt,Anchor,
|
Ico_PutContextualIconToHide (ActHidExaEvt,Anchor,
|
||||||
ExaEvt_PutParamsEdit,Exams);
|
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 ();
|
HTM_TD_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -941,8 +965,6 @@ void ExaEvt_ToggleVisibilResultsEvtUsr (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and event *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaEvt_ResetEvent (&Event);
|
ExaEvt_ResetEvent (&Event);
|
||||||
|
|
||||||
|
@ -964,8 +986,8 @@ void ExaEvt_ToggleVisibilResultsEvtUsr (void)
|
||||||
Event.EvtCod);
|
Event.EvtCod);
|
||||||
|
|
||||||
/***** Show current exam *****/
|
/***** Show current exam *****/
|
||||||
Exa_ShowOnlyOneExam (&Exams,&Exam,
|
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
|
||||||
false); // Do not put form to start new 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[ 5] UNIX_TIMESTAMP(EndTime)
|
||||||
row[ 6] Title
|
row[ 6] Title
|
||||||
*/
|
*/
|
||||||
/***** Get exam event data *****/
|
/***** Get event data *****/
|
||||||
/* Code of the exam event (row[0]) */
|
/* Code of the event (row[0]) */
|
||||||
if ((Event->EvtCod = Str_ConvertStrCodToLongCod (row[0])) <= 0)
|
if ((Event->EvtCod = Str_ConvertStrCodToLongCod (row[0])) <= 0)
|
||||||
Lay_ShowErrorAndExit ("Wrong code of exam event.");
|
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)
|
if ((Event->ExaCod = Str_ConvertStrCodToLongCod (row[1])) <= 0)
|
||||||
Lay_ShowErrorAndExit ("Wrong code of exam.");
|
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');
|
Event->Hidden = (row[2][0] == 'Y');
|
||||||
|
|
||||||
/* Get exam event teacher (row[3]) */
|
/* Get event teacher (row[3]) */
|
||||||
Event->UsrCod = Str_ConvertStrCodToLongCod (row[3]);
|
Event->UsrCod = Str_ConvertStrCodToLongCod (row[3]);
|
||||||
|
|
||||||
/* Get start/end times (row[4], row[5] hold start/end UTC times) */
|
/* 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++)
|
StartEndTime++)
|
||||||
Event->TimeUTC[StartEndTime] = Dat_GetUNIXTimeFromStr (row[4 + 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])
|
if (row[6])
|
||||||
Str_Copy (Event->Title,row[6],
|
Str_Copy (Event->Title,row[6],
|
||||||
Exa_MAX_BYTES_TITLE);
|
ExaEvt_MAX_BYTES_TITLE);
|
||||||
else
|
else
|
||||||
Event->Title[0] = '\0';
|
Event->Title[0] = '\0';
|
||||||
|
|
||||||
/***** Get current exam event status *****/
|
/***** Get current event status *****/
|
||||||
/*
|
/*
|
||||||
row[ 7] QstInd
|
row[ 7] QstInd
|
||||||
row[ 8] QstCod
|
row[ 8] QstCod
|
||||||
|
@ -1090,8 +1112,6 @@ void ExaEvt_RequestRemoveEvent (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and event *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaEvt_ResetEvent (&Event);
|
ExaEvt_ResetEvent (&Event);
|
||||||
|
|
||||||
|
@ -1108,8 +1128,8 @@ void ExaEvt_RequestRemoveEvent (void)
|
||||||
Event.Title);
|
Event.Title);
|
||||||
|
|
||||||
/***** Show current exam *****/
|
/***** Show current exam *****/
|
||||||
Exa_ShowOnlyOneExam (&Exams,&Exam,
|
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
|
||||||
false); // Do not put form to start new exam event
|
false); // Do not put form for event
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1125,8 +1145,6 @@ void ExaEvt_RemoveEvent (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and event *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaEvt_ResetEvent (&Event);
|
ExaEvt_ResetEvent (&Event);
|
||||||
|
|
||||||
|
@ -1145,8 +1163,8 @@ void ExaEvt_RemoveEvent (void)
|
||||||
Event.Title);
|
Event.Title);
|
||||||
|
|
||||||
/***** Show current exam *****/
|
/***** Show current exam *****/
|
||||||
Exa_ShowOnlyOneExam (&Exams,&Exam,
|
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
|
||||||
false); // Do not put form to start new exam event
|
false); // Do not put form for event
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1297,8 +1315,6 @@ void ExaEvt_HideEvent (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and event *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaEvt_ResetEvent (&Event);
|
ExaEvt_ResetEvent (&Event);
|
||||||
|
|
||||||
|
@ -1317,8 +1333,8 @@ void ExaEvt_HideEvent (void)
|
||||||
Event.EvtCod,Event.ExaCod);
|
Event.EvtCod,Event.ExaCod);
|
||||||
|
|
||||||
/***** Show current exam *****/
|
/***** Show current exam *****/
|
||||||
Exa_ShowOnlyOneExam (&Exams,&Exam,
|
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
|
||||||
false); // Do not put form to start new exam event
|
false); // Do not put form for event
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1333,8 +1349,6 @@ void ExaEvt_UnhideEvent (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and event *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaEvt_ResetEvent (&Event);
|
ExaEvt_ResetEvent (&Event);
|
||||||
|
|
||||||
|
@ -1353,8 +1367,8 @@ void ExaEvt_UnhideEvent (void)
|
||||||
Event.EvtCod,Event.ExaCod);
|
Event.EvtCod,Event.ExaCod);
|
||||||
|
|
||||||
/***** Show current exam *****/
|
/***** Show current exam *****/
|
||||||
Exa_ShowOnlyOneExam (&Exams,&Exam,
|
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
|
||||||
false); // Do not put form to start new 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 *****/
|
/***** Get exam data and event from database *****/
|
||||||
Exa_GetDataOfExamByCod (Exam);
|
Exa_GetDataOfExamByCod (Exam);
|
||||||
|
if (Exam->CrsCod != Gbl.Hierarchy.Crs.CrsCod)
|
||||||
|
Lay_WrongExamExit ();
|
||||||
Exams->ExaCod = Exam->ExaCod;
|
Exams->ExaCod = Exam->ExaCod;
|
||||||
ExaEvt_GetDataOfEventByCod (Event);
|
ExaEvt_GetDataOfEventByCod (Event);
|
||||||
|
|
||||||
|
@ -1469,7 +1485,7 @@ static void ExaEvt_PutFormNewEvent (const struct ExaEvt_Event *Event)
|
||||||
|
|
||||||
/* Data */
|
/* Data */
|
||||||
HTM_TD_Begin ("class=\"LT\"");
|
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,
|
HTM_DONT_SUBMIT_ON_CHANGE,
|
||||||
"id=\"Title\" size=\"45\" required=\"required\"");
|
"id=\"Title\" size=\"45\" required=\"required\"");
|
||||||
HTM_TD_End ();
|
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_Exams Exams;
|
||||||
struct Exa_Exam Exam;
|
struct Exa_Exam Exam;
|
||||||
|
struct ExaEvt_Event Event;
|
||||||
|
bool ItsANewEvent;
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
|
ExaEvt_ResetEvent (&Event);
|
||||||
|
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
Exa_GetParams (&Exams);
|
Exa_GetParams (&Exams);
|
||||||
if (Exams.ExaCod <= 0)
|
if (Exams.ExaCod <= 0)
|
||||||
Lay_WrongExamExit ();
|
Lay_WrongExamExit ();
|
||||||
Exam.ExaCod = Exams.ExaCod;
|
Exam.ExaCod = Exams.ExaCod;
|
||||||
|
Grp_GetParamWhichGroups ();
|
||||||
|
Event.EvtCod = ExaEvt_GetParamEvtCod ();
|
||||||
|
ItsANewEvent = (Event.EvtCod <= 0);
|
||||||
|
|
||||||
/***** Get exam data from database *****/
|
/***** Get exam data from database *****/
|
||||||
Exa_GetDataOfExamByCod (&Exam);
|
Exa_GetDataOfExamByCod (&Exam);
|
||||||
|
if (Exam.CrsCod != Gbl.Hierarchy.Crs.CrsCod)
|
||||||
|
Lay_WrongExamExit ();
|
||||||
Exams.ExaCod = Exam.ExaCod;
|
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 *****/
|
/***** Show exam *****/
|
||||||
Exa_ShowOnlyOneExam (&Exams,&Exam,
|
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
|
||||||
true); // Put form to start new event
|
true); // Put form for event
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/******************* Create a new exam event (by a teacher) ******************/
|
/******************* Create a new exam event (by a teacher) ******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void ExaEvt_CreateNewEventTch (void)
|
void ExaEvt_ReceiveFormEvent (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Created_new_event_X;
|
extern const char *Txt_Created_new_event_X;
|
||||||
struct Exa_Exams Exams;
|
struct Exa_Exams Exams;
|
||||||
|
@ -1616,8 +1651,6 @@ void ExaEvt_CreateNewEventTch (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and event *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaEvt_ResetEvent (&Event);
|
ExaEvt_ResetEvent (&Event);
|
||||||
|
|
||||||
|
@ -1628,7 +1661,7 @@ void ExaEvt_CreateNewEventTch (void)
|
||||||
Lay_WrongExamExit ();
|
Lay_WrongExamExit ();
|
||||||
|
|
||||||
/* Get event title */
|
/* 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 */
|
/* Get start/end date-times */
|
||||||
Event.TimeUTC[Dat_START_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC");
|
Event.TimeUTC[Dat_START_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC");
|
||||||
|
@ -1640,6 +1673,8 @@ void ExaEvt_CreateNewEventTch (void)
|
||||||
/***** Get exam data from database *****/
|
/***** Get exam data from database *****/
|
||||||
Exam.ExaCod = Exams.ExaCod;
|
Exam.ExaCod = Exams.ExaCod;
|
||||||
Exa_GetDataOfExamByCod (&Exam);
|
Exa_GetDataOfExamByCod (&Exam);
|
||||||
|
if (Exam.CrsCod != Gbl.Hierarchy.Crs.CrsCod)
|
||||||
|
Lay_WrongExamExit ();
|
||||||
Event.ExaCod = Exams.ExaCod = Exam.ExaCod;
|
Event.ExaCod = Exams.ExaCod = Exam.ExaCod;
|
||||||
|
|
||||||
/***** Create a new exam event *****/
|
/***** Create a new exam event *****/
|
||||||
|
@ -1653,8 +1688,8 @@ void ExaEvt_CreateNewEventTch (void)
|
||||||
Event.Title);
|
Event.Title);
|
||||||
|
|
||||||
/***** Show current exam *****/
|
/***** Show current exam *****/
|
||||||
Exa_ShowOnlyOneExam (&Exams,&Exam,
|
Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
|
||||||
false); // Do not put form to start new exam event
|
false); // Do not put form for event
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
/********************************* Headers ***********************************/
|
/********************************* Headers ***********************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "swad_scope.h"
|
#include "swad_exam_type.h"
|
||||||
#include "swad_test.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_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
|
struct ExaEvt_UsrAnswer
|
||||||
{
|
{
|
||||||
int NumOpt; // < 0 ==> no answer selected
|
int NumOpt; // < 0 ==> no answer selected
|
||||||
|
@ -90,7 +54,8 @@ void ExaEvt_ResetEvent (struct ExaEvt_Event *Event);
|
||||||
|
|
||||||
void ExaEvt_ListEvents (struct Exa_Exams *Exams,
|
void ExaEvt_ListEvents (struct Exa_Exams *Exams,
|
||||||
struct Exa_Exam *Exam,
|
struct Exa_Exam *Exam,
|
||||||
bool PutFormNewEvent);
|
struct ExaEvt_Event *Event,
|
||||||
|
bool PutFormEvent);
|
||||||
void ExaEvt_GetDataOfEventByCod (struct ExaEvt_Event *Event);
|
void ExaEvt_GetDataOfEventByCod (struct ExaEvt_Event *Event);
|
||||||
|
|
||||||
void ExaEvt_ToggleVisibilResultsEvtUsr (void);
|
void ExaEvt_ToggleVisibilResultsEvtUsr (void);
|
||||||
|
@ -112,8 +77,8 @@ void ExaEvt_GetAndCheckParameters (struct Exa_Exams *Exams,
|
||||||
long ExaEvt_GetParamEvtCod (void);
|
long ExaEvt_GetParamEvtCod (void);
|
||||||
|
|
||||||
void ExaEvt_PutButtonNewEvent (struct Exa_Exams *Exams,long ExaCod);
|
void ExaEvt_PutButtonNewEvent (struct Exa_Exams *Exams,long ExaCod);
|
||||||
void ExaEvt_RequestNewEvent (void);
|
void ExaEvt_RequestCreatOrEditEvent (void);
|
||||||
void ExaEvt_CreateNewEventTch (void);
|
void ExaEvt_ReceiveFormEvent (void);
|
||||||
void ExaEvt_ResumeEvent (void);
|
void ExaEvt_ResumeEvent (void);
|
||||||
void ExaEvt_GetIndexes (long EvtCod,unsigned QstInd,
|
void ExaEvt_GetIndexes (long EvtCod,unsigned QstInd,
|
||||||
unsigned Indexes[Tst_MAX_OPTIONS_PER_QUESTION]);
|
unsigned Indexes[Tst_MAX_OPTIONS_PER_QUESTION]);
|
||||||
|
|
|
@ -38,6 +38,7 @@
|
||||||
#include "swad_exam.h"
|
#include "swad_exam.h"
|
||||||
#include "swad_exam_event.h"
|
#include "swad_exam_event.h"
|
||||||
#include "swad_exam_result.h"
|
#include "swad_exam_result.h"
|
||||||
|
#include "swad_exam_type.h"
|
||||||
#include "swad_form.h"
|
#include "swad_form.h"
|
||||||
#include "swad_global.h"
|
#include "swad_global.h"
|
||||||
#include "swad_HTML.h"
|
#include "swad_HTML.h"
|
||||||
|
@ -156,12 +157,12 @@ void ExaRes_ShowMyExaResultsInExa (void)
|
||||||
extern const char *Txt_Results_of_game_X;
|
extern const char *Txt_Results_of_game_X;
|
||||||
struct Exa_Exams Exams;
|
struct Exa_Exams Exams;
|
||||||
struct Exa_Exam Exam;
|
struct Exa_Exam Exam;
|
||||||
|
struct ExaEvt_Event Event;
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
|
ExaEvt_ResetEvent (&Event);
|
||||||
|
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
Exa_GetParams (&Exams);
|
Exa_GetParams (&Exams);
|
||||||
|
@ -174,7 +175,7 @@ void ExaRes_ShowMyExaResultsInExa (void)
|
||||||
Exams.ExaCod = Exam.ExaCod;
|
Exams.ExaCod = Exam.ExaCod;
|
||||||
|
|
||||||
/***** Exam begin *****/
|
/***** Exam begin *****/
|
||||||
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,
|
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Event,
|
||||||
false); // Do not put form to start new event
|
false); // Do not put form to start new event
|
||||||
|
|
||||||
/***** List my events results in exam *****/
|
/***** List my events results in exam *****/
|
||||||
|
@ -212,8 +213,6 @@ void ExaRes_ShowMyExaResultsInEvt (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and event *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaEvt_ResetEvent (&Event);
|
ExaEvt_ResetEvent (&Event);
|
||||||
|
|
||||||
|
@ -229,7 +228,7 @@ void ExaRes_ShowMyExaResultsInEvt (void)
|
||||||
ExaEvt_GetDataOfEventByCod (&Event);
|
ExaEvt_GetDataOfEventByCod (&Event);
|
||||||
|
|
||||||
/***** Exam begin *****/
|
/***** Exam begin *****/
|
||||||
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,
|
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Event,
|
||||||
false); // Do not put form to start new event
|
false); // Do not put form to start new event
|
||||||
|
|
||||||
/***** List my events results in event *****/
|
/***** List my events results in event *****/
|
||||||
|
@ -364,12 +363,12 @@ void ExaRes_ShowAllExaResultsInExa (void)
|
||||||
extern const char *Txt_Results_of_game_X;
|
extern const char *Txt_Results_of_game_X;
|
||||||
struct Exa_Exams Exams;
|
struct Exa_Exams Exams;
|
||||||
struct Exa_Exam Exam;
|
struct Exa_Exam Exam;
|
||||||
|
struct ExaEvt_Event Event;
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
|
ExaEvt_ResetEvent (&Event);
|
||||||
|
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
Exa_GetParams (&Exams);
|
Exa_GetParams (&Exams);
|
||||||
|
@ -380,7 +379,7 @@ void ExaRes_ShowAllExaResultsInExa (void)
|
||||||
Exams.ExaCod = Exam.ExaCod;
|
Exams.ExaCod = Exam.ExaCod;
|
||||||
|
|
||||||
/***** Exam begin *****/
|
/***** Exam begin *****/
|
||||||
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,
|
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Event,
|
||||||
false); // Do not put form to start new event
|
false); // Do not put form to start new event
|
||||||
|
|
||||||
/***** List events results in exam *****/
|
/***** List events results in exam *****/
|
||||||
|
@ -459,8 +458,6 @@ void ExaRes_ShowAllExaResultsInEvt (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and event *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaEvt_ResetEvent (&Event);
|
ExaEvt_ResetEvent (&Event);
|
||||||
|
|
||||||
|
@ -478,7 +475,7 @@ void ExaRes_ShowAllExaResultsInEvt (void)
|
||||||
ExaEvt_GetDataOfEventByCod (&Event);
|
ExaEvt_GetDataOfEventByCod (&Event);
|
||||||
|
|
||||||
/***** Exam begin *****/
|
/***** Exam begin *****/
|
||||||
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,
|
Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Event,
|
||||||
false); // Do not put form to start new event
|
false); // Do not put form to start new event
|
||||||
|
|
||||||
/***** List events results in event *****/
|
/***** List events results in event *****/
|
||||||
|
@ -1103,8 +1100,6 @@ void ExaRes_ShowOneExaResult (void)
|
||||||
|
|
||||||
/***** Reset exams context *****/
|
/***** Reset exams context *****/
|
||||||
Exa_ResetExams (&Exams);
|
Exa_ResetExams (&Exams);
|
||||||
|
|
||||||
/***** Reset exam and event *****/
|
|
||||||
Exa_ResetExam (&Exam);
|
Exa_ResetExam (&Exam);
|
||||||
ExaEvt_ResetEvent (&Event);
|
ExaEvt_ResetEvent (&Event);
|
||||||
|
|
||||||
|
|
|
@ -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
|
|
@ -1486,7 +1486,7 @@ static void Gam_PutFormsEditionGame (struct Gam_Games *Games,
|
||||||
/********************** Receive form to create a new game ********************/
|
/********************** Receive form to create a new game ********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Gam_RecFormGame (void)
|
void Gam_ReceiveFormGame (void)
|
||||||
{
|
{
|
||||||
struct Gam_Games Games;
|
struct Gam_Games Games;
|
||||||
struct Gam_Game Game;
|
struct Gam_Game Game;
|
||||||
|
|
|
@ -133,7 +133,7 @@ void Gam_UnhideGame (void);
|
||||||
|
|
||||||
void Gam_RequestCreatOrEditGame (void);
|
void Gam_RequestCreatOrEditGame (void);
|
||||||
|
|
||||||
void Gam_RecFormGame (void);
|
void Gam_ReceiveFormGame (void);
|
||||||
bool Mch_CheckIfMatchIsAssociatedToGrp (long MchCod,long GrpCod);
|
bool Mch_CheckIfMatchIsAssociatedToGrp (long MchCod,long GrpCod);
|
||||||
|
|
||||||
unsigned Gam_GetNumQstsGame (long GamCod);
|
unsigned Gam_GetNumQstsGame (long GamCod);
|
||||||
|
|
|
@ -3703,7 +3703,7 @@ void Grp_GetNamesGrpsStdBelongsTo (long GrpTypCod,long UsrCod,char *GroupNames)
|
||||||
/****************** Receive form to create a new group type ******************/
|
/****************** 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_The_type_of_group_X_already_exists;
|
||||||
extern const char *Txt_Created_new_type_of_group_X;
|
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 *********************/
|
/******************** 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_The_group_X_already_exists;
|
||||||
extern const char *Txt_Created_new_group_X;
|
extern const char *Txt_Created_new_group_X;
|
||||||
|
|
|
@ -205,8 +205,8 @@ bool Grp_GetIfAvailableGrpTyp (long GrpTypCod);
|
||||||
|
|
||||||
void Grp_GetLstCodGrpsWithFileZonesIBelong (struct ListCodGrps *LstGrps);
|
void Grp_GetLstCodGrpsWithFileZonesIBelong (struct ListCodGrps *LstGrps);
|
||||||
void Grp_GetNamesGrpsStdBelongsTo (long GrpTypCod,long UsrCod,char *GrpNames);
|
void Grp_GetNamesGrpsStdBelongsTo (long GrpTypCod,long UsrCod,char *GrpNames);
|
||||||
void Grp_RecFormNewGrpTyp (void);
|
void Grp_ReceiveFormNewGrpTyp (void);
|
||||||
void Grp_RecFormNewGrp (void);
|
void Grp_ReceiveFormNewGrp (void);
|
||||||
void Grp_ReqRemGroupType (void);
|
void Grp_ReqRemGroupType (void);
|
||||||
void Grp_ReqRemGroup (void);
|
void Grp_ReqRemGroup (void);
|
||||||
void Grp_RemoveGroupType (void);
|
void Grp_RemoveGroupType (void);
|
||||||
|
|
|
@ -1107,7 +1107,7 @@ static void Hld_PutHeadHolidays (void)
|
||||||
/******************* Receive form to create a new holiday ********************/
|
/******************* 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_Created_new_holiday_X;
|
||||||
extern const char *Txt_You_must_specify_the_name_of_the_new_holiday;
|
extern const char *Txt_You_must_specify_the_name_of_the_new_holiday;
|
||||||
|
|
|
@ -99,6 +99,6 @@ void Hld_ChangeStartDate (void);
|
||||||
void Hld_ChangeEndDate (void);
|
void Hld_ChangeEndDate (void);
|
||||||
void Hld_RenameHoliday (void);
|
void Hld_RenameHoliday (void);
|
||||||
void Hld_ContEditAfterChgHld (void);
|
void Hld_ContEditAfterChgHld (void);
|
||||||
void Hld_RecFormNewHoliday (void);
|
void Hld_ReceiveFormNewHoliday (void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -100,7 +100,7 @@ static void Ins_PutParamGoToIns (void *InsCod);
|
||||||
|
|
||||||
static void Ins_PutFormToCreateInstitution (void);
|
static void Ins_PutFormToCreateInstitution (void);
|
||||||
static void Ins_PutHeadInstitutionsForEdition (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_CreateInstitution (unsigned Status);
|
||||||
|
|
||||||
static void Ins_EditingInstitutionConstructor ();
|
static void Ins_EditingInstitutionConstructor ();
|
||||||
|
@ -1831,33 +1831,33 @@ static void Ins_PutHeadInstitutionsForEdition (void)
|
||||||
/*************** Receive form to request a new institution *******************/
|
/*************** Receive form to request a new institution *******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Ins_RecFormReqIns (void)
|
void Ins_ReceiveFormReqIns (void)
|
||||||
{
|
{
|
||||||
/***** Institution constructor *****/
|
/***** Institution constructor *****/
|
||||||
Ins_EditingInstitutionConstructor ();
|
Ins_EditingInstitutionConstructor ();
|
||||||
|
|
||||||
/***** Receive form to request a new institution *****/
|
/***** 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 ******************/
|
/***************** Receive form to create a new institution ******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Ins_RecFormNewIns (void)
|
void Ins_ReceiveFormNewIns (void)
|
||||||
{
|
{
|
||||||
/***** Institution constructor *****/
|
/***** Institution constructor *****/
|
||||||
Ins_EditingInstitutionConstructor ();
|
Ins_EditingInstitutionConstructor ();
|
||||||
|
|
||||||
/***** Receive form to create a new institution *****/
|
/***** Receive form to create a new institution *****/
|
||||||
Ins_RecFormRequestOrCreateIns (0);
|
Ins_ReceiveFormRequestOrCreateIns (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*********** Receive form to request or create a new institution *************/
|
/*********** 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_The_institution_X_already_exists;
|
||||||
extern const char *Txt_Created_new_institution_X;
|
extern const char *Txt_Created_new_institution_X;
|
||||||
|
|
|
@ -126,8 +126,8 @@ void Ins_UpdateInsWWWDB (long InsCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1]);
|
||||||
void Ins_ChangeInsStatus (void);
|
void Ins_ChangeInsStatus (void);
|
||||||
void Ins_ContEditAfterChgIns (void);
|
void Ins_ContEditAfterChgIns (void);
|
||||||
|
|
||||||
void Ins_RecFormReqIns (void);
|
void Ins_ReceiveFormReqIns (void);
|
||||||
void Ins_RecFormNewIns (void);
|
void Ins_ReceiveFormNewIns (void);
|
||||||
|
|
||||||
unsigned Ins_GetCachedNumInssInSys (void);
|
unsigned Ins_GetCachedNumInssInSys (void);
|
||||||
|
|
||||||
|
|
|
@ -797,7 +797,7 @@ static void Lnk_PutHeadLinks (void)
|
||||||
/******************* Receive form to create a new link ***********************/
|
/******************* 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_The_link_X_already_exists;
|
||||||
extern const char *Txt_You_must_specify_the_URL_of_the_new_link;
|
extern const char *Txt_You_must_specify_the_URL_of_the_new_link;
|
||||||
|
|
|
@ -65,6 +65,6 @@ void Lnk_RenameLinkShort (void);
|
||||||
void Lnk_RenameLinkFull (void);
|
void Lnk_RenameLinkFull (void);
|
||||||
void Lnk_ChangeLinkWWW (void);
|
void Lnk_ChangeLinkWWW (void);
|
||||||
void Lnk_ContEditAfterChgLnk (void);
|
void Lnk_ContEditAfterChgLnk (void);
|
||||||
void Lnk_RecFormNewLink (void);
|
void Lnk_ReceiveFormNewLink (void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -813,7 +813,7 @@ static void Mai_PutHeadMailDomains (void)
|
||||||
/******************* Receive form to create a new mail ***********************/
|
/******************* 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_The_email_domain_X_already_exists;
|
||||||
extern const char *Txt_Created_new_email_domain_X;
|
extern const char *Txt_Created_new_email_domain_X;
|
||||||
|
|
|
@ -70,7 +70,7 @@ void Mai_RemoveMailDomain (void);
|
||||||
void Mai_RenameMailDomainShort (void);
|
void Mai_RenameMailDomainShort (void);
|
||||||
void Mai_RenameMailDomainFull (void);
|
void Mai_RenameMailDomainFull (void);
|
||||||
void Mai_ContEditAfterChgMai (void);
|
void Mai_ContEditAfterChgMai (void);
|
||||||
void Mai_RecFormNewMailDomain (void);
|
void Mai_ReceiveFormNewMailDomain (void);
|
||||||
|
|
||||||
void Mai_ReqUsrsToListEmails (void);
|
void Mai_ReqUsrsToListEmails (void);
|
||||||
void Mai_GetSelectedUsrsAndListEmails (void);
|
void Mai_GetSelectedUsrsAndListEmails (void);
|
||||||
|
|
|
@ -889,7 +889,7 @@ static void Plc_PutHeadPlaces (void)
|
||||||
/******************* Receive form to create a new place **********************/
|
/******************* 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_The_place_X_already_exists;
|
||||||
extern const char *Txt_Created_new_place_X;
|
extern const char *Txt_Created_new_place_X;
|
||||||
|
|
|
@ -81,6 +81,6 @@ void Plc_RenamePlaceShort (void);
|
||||||
void Plc_RenamePlaceFull (void);
|
void Plc_RenamePlaceFull (void);
|
||||||
void Plc_ContEditAfterChgPlc (void);
|
void Plc_ContEditAfterChgPlc (void);
|
||||||
|
|
||||||
void Plc_RecFormNewPlace (void);
|
void Plc_ReceiveFormNewPlace (void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -973,7 +973,7 @@ static void Plg_PutHeadPlugins (void)
|
||||||
/****************** Receive form to create a new plugin **********************/
|
/****************** 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_The_plugin_X_already_exists;
|
||||||
extern const char *Txt_Created_new_plugin_X;
|
extern const char *Txt_Created_new_plugin_X;
|
||||||
|
|
|
@ -76,6 +76,6 @@ void Plg_ChangePlgURL (void);
|
||||||
void Plg_ChangePlgIP (void);
|
void Plg_ChangePlgIP (void);
|
||||||
void Plg_ContEditAfterChgPlg (void);
|
void Plg_ContEditAfterChgPlg (void);
|
||||||
|
|
||||||
void Plg_RecFormNewPlg (void);
|
void Plg_ReceiveFormNewPlg (void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1949,7 +1949,7 @@ static void Prg_ShowFormItem (const struct ProgramItem *Item,
|
||||||
/***************** Receive form to create a new program item *****************/
|
/***************** Receive form to create a new program item *****************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prg_RecFormNewItem (void)
|
void Prg_ReceiveFormNewItem (void)
|
||||||
{
|
{
|
||||||
struct ProgramItem ParentItem; // Parent item
|
struct ProgramItem ParentItem; // Parent item
|
||||||
struct ProgramItem NewItem; // Item data received from form
|
struct ProgramItem NewItem; // Item data received from form
|
||||||
|
@ -2003,7 +2003,7 @@ void Prg_RecFormNewItem (void)
|
||||||
/************* Receive form to change an existing program item ***************/
|
/************* 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 OldItem; // Current program item data in database
|
||||||
struct ProgramItem NewItem; // Item data received from form
|
struct ProgramItem NewItem; // Item data received from form
|
||||||
|
|
|
@ -41,8 +41,8 @@ void Prg_ShowCourseProgram (void);
|
||||||
|
|
||||||
void Prg_RequestCreateItem (void);
|
void Prg_RequestCreateItem (void);
|
||||||
void Prg_RequestChangeItem (void);
|
void Prg_RequestChangeItem (void);
|
||||||
void Prg_RecFormNewItem (void);
|
void Prg_ReceiveFormNewItem (void);
|
||||||
void Prg_RecFormChgItem (void);
|
void Prg_ReceiveFormChgItem (void);
|
||||||
|
|
||||||
void Prg_ReqRemItem (void);
|
void Prg_ReqRemItem (void);
|
||||||
void Prg_RemoveItem (void);
|
void Prg_RemoveItem (void);
|
||||||
|
@ -54,7 +54,6 @@ void Prg_MoveDownItem (void);
|
||||||
void Prg_MoveLeftItem (void);
|
void Prg_MoveLeftItem (void);
|
||||||
void Prg_MoveRightItem (void);
|
void Prg_MoveRightItem (void);
|
||||||
|
|
||||||
void Prg_RecFormItem (void);
|
|
||||||
void Prg_RemoveCrsItems (long CrsCod);
|
void Prg_RemoveCrsItems (long CrsCod);
|
||||||
|
|
||||||
unsigned Prg_GetNumCoursesWithItems (Hie_Level_t Scope);
|
unsigned Prg_GetNumCoursesWithItems (Hie_Level_t Scope);
|
||||||
|
|
|
@ -3865,7 +3865,7 @@ void Prj_FreeMemProject (struct Prj_Project *Prj)
|
||||||
/******************** Receive form to create a new project *******************/
|
/******************** 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_You_must_specify_the_title_of_the_project;
|
||||||
extern const char *Txt_Created_new_project_X;
|
extern const char *Txt_Created_new_project_X;
|
||||||
|
|
|
@ -226,7 +226,7 @@ void Prj_RemoveProject (void);
|
||||||
void Prj_HideProject (void);
|
void Prj_HideProject (void);
|
||||||
void Prj_UnhideProject (void);
|
void Prj_UnhideProject (void);
|
||||||
|
|
||||||
void Prj_RecFormProject (void);
|
void Prj_ReceiveFormProject (void);
|
||||||
|
|
||||||
void Prj_ShowFormConfig (void);
|
void Prj_ShowFormConfig (void);
|
||||||
void Prj_ReceiveConfigPrj (void);
|
void Prj_ReceiveConfigPrj (void);
|
||||||
|
|
|
@ -1390,7 +1390,7 @@ static void Roo_PutHeadRooms (void)
|
||||||
/******************* Receive form to create a new room ***********************/
|
/******************* 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_The_room_X_already_exists;
|
||||||
extern const char *Txt_Created_new_room_X;
|
extern const char *Txt_Created_new_room_X;
|
||||||
|
|
|
@ -141,6 +141,6 @@ void Roo_RenameRoomFull (void);
|
||||||
void Roo_ChangeCapacity (void);
|
void Roo_ChangeCapacity (void);
|
||||||
void Roo_ContEditAfterChgRoom (void);
|
void Roo_ContEditAfterChgRoom (void);
|
||||||
|
|
||||||
void Roo_RecFormNewRoom (void);
|
void Roo_ReceiveFormNewRoom (void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -2185,7 +2185,7 @@ static void Svy_ShowLstGrpsToEditSurvey (long SvyCod)
|
||||||
/********************* Receive form to create a new survey *******************/
|
/********************* 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_Already_existed_a_survey_with_the_title_X;
|
||||||
extern const char *Txt_You_must_specify_the_title_of_the_survey;
|
extern const char *Txt_You_must_specify_the_title_of_the_survey;
|
||||||
|
|
|
@ -107,7 +107,7 @@ void Svy_AskResetSurvey (void);
|
||||||
void Svy_ResetSurvey (void);
|
void Svy_ResetSurvey (void);
|
||||||
void Svy_HideSurvey (void);
|
void Svy_HideSurvey (void);
|
||||||
void Svy_UnhideSurvey (void);
|
void Svy_UnhideSurvey (void);
|
||||||
void Svy_RecFormSurvey (void);
|
void Svy_ReceiveFormSurvey (void);
|
||||||
bool Svy_CheckIfSvyIsAssociatedToGrp (long SvyCod,long GrpCod);
|
bool Svy_CheckIfSvyIsAssociatedToGrp (long SvyCod,long GrpCod);
|
||||||
void Svy_RemoveGroup (long GrpCod);
|
void Svy_RemoveGroup (long GrpCod);
|
||||||
void Svy_RemoveGroupsOfType (long GrpTypCod);
|
void Svy_RemoveGroupsOfType (long GrpTypCod);
|
||||||
|
|
|
@ -10077,6 +10077,90 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
|
||||||
"" // Potrzebujesz tlumaczenie
|
"" // Potrzebujesz tlumaczenie
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"" // Precisa de tradução
|
"" // 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
|
#endif
|
||||||
,
|
,
|
||||||
[ActReqRemExaEvt] =
|
[ActReqRemExaEvt] =
|
||||||
|
@ -10161,48 +10245,6 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
|
||||||
"" // Potrzebujesz tlumaczenie
|
"" // Potrzebujesz tlumaczenie
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"" // Precisa de tradução
|
"" // 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
|
#endif
|
||||||
,
|
,
|
||||||
[ActResExaEvt] =
|
[ActResExaEvt] =
|
||||||
|
|
Loading…
Reference in New Issue