Version 22.75: Mar 17, 2023 New module swad_rubric_criteria.

This commit is contained in:
acanas 2023-03-17 12:51:11 +01:00
parent d9bc2bd51f
commit c4b5199fb7
71 changed files with 2221 additions and 1172 deletions

View File

@ -163,12 +163,12 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActUnfNotGblTL ] = {1513,-1,TabUnk,ActSeeGblTL ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_AJAX_NORMAL,NULL ,TmlFav_UnfNoteGbl ,NULL},
[ActFavComGblTL ] = {1516,-1,TabUnk,ActSeeGblTL ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_AJAX_NORMAL,NULL ,TmlFav_FavCommGbl ,NULL},
[ActUnfComGblTL ] = {1517,-1,TabUnk,ActSeeGblTL ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_AJAX_NORMAL,NULL ,TmlFav_UnfCommGbl ,NULL},
[ActReqRemPubGblTL ] = {1494,-1,TabUnk,ActSeeGblTL ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,TmlWho_GetParWho ,TmlNot_RequestRemNoteGbl ,NULL},
[ActReqRemPubGblTL ] = {1494,-1,TabUnk,ActSeeGblTL ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,TmlWho_GetParWho ,TmlNot_ReqRemNoteGbl ,NULL},
[ActRemPubGblTL ] = {1493,-1,TabUnk,ActSeeGblTL ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,TmlWho_GetParWho ,TmlNot_RemoveNoteGbl ,NULL},
[ActReqRemComGblTL ] = {1505,-1,TabUnk,ActSeeGblTL ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,TmlWho_GetParWho ,TmlCom_RequestRemComGbl ,NULL},
[ActReqRemComGblTL ] = {1505,-1,TabUnk,ActSeeGblTL ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,TmlWho_GetParWho ,TmlCom_ReqRemComGbl ,NULL},
[ActRemComGblTL ] = {1507,-1,TabUnk,ActSeeGblTL ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,TmlWho_GetParWho ,TmlCom_RemoveComGbl ,NULL},
[ActReqOthPubPrf ] = {1401,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prf_RequestUserProfile ,NULL},
[ActReqOthPubPrf ] = {1401,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prf_ReqUserProfile ,NULL},
[ActRefOldPubUsrTL ] = {1511,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_AJAX_NORMAL,NULL ,Tml_RefreshOldTimelineUsr ,NULL},
[ActRcvPstUsrTL ] = {1498,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,TmlPst_ReceivePostUsr ,NULL},
@ -183,9 +183,9 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActUnfNotUsrTL ] = {1515,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_AJAX_NORMAL,NULL ,TmlFav_UnfNoteUsr ,NULL},
[ActFavComUsrTL ] = {1518,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_AJAX_NORMAL,NULL ,TmlFav_FavCommUsr ,NULL},
[ActUnfComUsrTL ] = {1519,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_AJAX_NORMAL,NULL ,TmlFav_UnfCommUsr ,NULL},
[ActReqRemPubUsrTL ] = {1501,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,TmlNot_RequestRemNoteUsr ,NULL},
[ActReqRemPubUsrTL ] = {1501,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,TmlNot_ReqRemNoteUsr ,NULL},
[ActRemPubUsrTL ] = {1502,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,TmlNot_RemoveNoteUsr ,NULL},
[ActReqRemComUsrTL ] = {1506,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,TmlCom_RequestRemComUsr ,NULL},
[ActReqRemComUsrTL ] = {1506,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,TmlCom_ReqRemComUsr ,NULL},
[ActRemComUsrTL ] = {1508,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,TmlCom_RemoveComUsr ,NULL},
[ActSeeOthPubPrf ] = {1402,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prf_GetUsrDatAndShowUserProfile,NULL},
@ -292,7 +292,7 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActRenInsShoCfg ] = {1592,-1,TabUnk,ActSeeInsInf , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,InsCfg_RenameInsShort ,InsCfg_ContEditAfterChgIns ,NULL},
[ActRenInsFulCfg ] = {1591,-1,TabUnk,ActSeeInsInf , 0, 0, 0, 0,0x200, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,InsCfg_RenameInsFull ,InsCfg_ContEditAfterChgIns ,NULL},
[ActChgInsWWWCfg ] = {1593,-1,TabUnk,ActSeeInsInf , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,InsCfg_ChangeInsWWW ,NULL},
[ActReqInsLog ] = {1245,-1,TabUnk,ActSeeInsInf , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,InsCfg_RequestLogo ,NULL},
[ActReqInsLog ] = {1245,-1,TabUnk,ActSeeInsInf , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,InsCfg_ReqLogo ,NULL},
[ActRecInsLog ] = { 699,-1,TabUnk,ActSeeInsInf , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,InsCfg_ReceiveLogo ,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},
@ -346,10 +346,10 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActChgCtrLgtCfg ] = {1816,-1,TabUnk,ActSeeCtrInf , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,CtrCfg_ChangeCtrLongitude ,NULL},
[ActChgCtrAltCfg ] = {1817,-1,TabUnk,ActSeeCtrInf , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,CtrCfg_ChangeCtrAltitude ,NULL},
[ActChgCtrWWWCfg ] = {1596,-1,TabUnk,ActSeeCtrInf , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,CtrCfg_ChangeCtrWWW ,NULL},
[ActReqCtrLog ] = {1244,-1,TabUnk,ActSeeCtrInf , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,CtrCfg_RequestLogo ,NULL},
[ActReqCtrLog ] = {1244,-1,TabUnk,ActSeeCtrInf , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,CtrCfg_ReqLogo ,NULL},
[ActRecCtrLog ] = {1051,-1,TabUnk,ActSeeCtrInf , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,CtrCfg_ReceiveLogo ,CtrCfg_ShowConfiguration ,NULL},
[ActRemCtrLog ] = {1342,-1,TabUnk,ActSeeCtrInf , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,CtrCfg_RemoveLogo ,CtrCfg_ShowConfiguration ,NULL},
[ActReqCtrPho ] = {1160,-1,TabUnk,ActSeeCtrInf , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,CtrCfg_RequestPhoto ,NULL},
[ActReqCtrPho ] = {1160,-1,TabUnk,ActSeeCtrInf , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,CtrCfg_ReqPhoto ,NULL},
[ActRecCtrPho ] = {1161,-1,TabUnk,ActSeeCtrInf , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,CtrCfg_ReceivePhoto ,NULL},
[ActChgCtrPhoAtt ] = {1159,-1,TabUnk,ActSeeCtrInf , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,CtrCfg_ChangeCtrPhotoAttr ,NULL},
@ -398,9 +398,9 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActRenDegShoCfg ] = {1598,-1,TabUnk,ActSeeDegInf , 0, 0,0x380, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,DegCfg_RenameDegreeShort ,DegCfg_ContEditAfterChgDeg ,NULL},
[ActRenDegFulCfg ] = {1597,-1,TabUnk,ActSeeDegInf , 0, 0,0x380, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,DegCfg_RenameDegreeFull ,DegCfg_ContEditAfterChgDeg ,NULL},
[ActChgDegWWWCfg ] = {1599,-1,TabUnk,ActSeeDegInf , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,DegCfg_ChangeDegWWW ,NULL},
[ActReqDegLog ] = {1246,-1,TabUnk,ActSeeDegInf , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Deg_RequestLogo ,NULL},
[ActRecDegLog ] = { 553,-1,TabUnk,ActSeeDegInf , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,Deg_ReceiveLogo ,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},
[ActReqDegLog ] = {1246,-1,TabUnk,ActSeeDegInf , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,DegCfg_ReqLogo ,NULL},
[ActRecDegLog ] = { 553,-1,TabUnk,ActSeeDegInf , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,DegCfg_ReceiveLogo ,DegCfg_ShowConfiguration ,NULL},
[ActRemDegLog ] = {1343,-1,TabUnk,ActSeeDegInf , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,DegCfg_RemoveLogo ,DegCfg_ShowConfiguration ,NULL},
[ActEdiCrs ] = { 555,-1,TabUnk,ActSeeCrs , 0, 0,0x3C6, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Crs_EditCourses ,NULL},
[ActReqCrs ] = {1053,-1,TabUnk,ActSeeCrs , 0, 0,0x3C6, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Crs_ReceiveFormReqCrs ,Crs_ContEditAfterChgCrs ,NULL},
@ -435,8 +435,8 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActEdiPrg ] = {1926, 1,TabCrs,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_EditCourseProgram ,NULL},
[ActSeePrgItm ] = {1927,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_ViewItemAfterEdit ,NULL},
[ActFrmChgPrgItm ] = {1823,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_RequestChangeItem ,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_ReqChangeItem ,NULL},
[ActFrmNewPrgItm ] = {1822,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_ReqCreateItem ,NULL},
[ActChgPrgItm ] = {1826,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_ReceiveFormChgItem ,NULL},
[ActNewPrgItm ] = {1825,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_ReceiveFormNewItem ,NULL},
[ActReqRemPrgItm ] = {1827,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_ReqRemItem ,NULL},
@ -591,15 +591,15 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActSeeAsg ] = { 801, 0,TabAss,ActSeeAsg ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_SeeAssignments ,"edit" },
[ActSeePrj ] = {1674, 1,TabAss,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_SeeProjects ,"file-invoice" },
[ActSeeAllCfe ] = { 85, 2,TabAss,ActSeeAllCfe ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Cfe_ListCallsForExamsSee ,"bullhorn" },
[ActEdiTstQst ] = { 104, 3,TabAss,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDatesToPastAndNow ,Qst_RequestEditQsts ,"clipboard-question" },
[ActReqTst ] = { 103, 4,TabAss,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_RequestTest ,"check" },
[ActEdiTstQst ] = { 104, 3,TabAss,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDatesToPastAndNow ,Qst_ReqEditQsts ,"clipboard-question" },
[ActReqTst ] = { 103, 4,TabAss,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ReqTest ,"check" },
[ActSeeAllExa ] = {1848, 5,TabAss,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_SeeAllExams ,"file-signature" },
[ActSeeAllGam ] = {1649, 6,TabAss,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_SeeAllGames ,"gamepad" },
[ActSeeAllRub ] = {1951, 7,TabAss,ActSeeAllRub ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Rub_SeeAllRubrics ,"tasks" },
// Actions not in menu:
[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},
[ActFrmNewAsg ] = { 812,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_ReqCreatOrEditAsg ,NULL},
[ActEdiOneAsg ] = { 814,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_ReqCreatOrEditAsg ,NULL},
[ActSeeOneAsg ] = {1942,-1,TabUnk,ActSeeAsg ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_SeeOneAssignment ,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_ReceiveFormAssignment ,NULL},
@ -618,8 +618,8 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActReqUnlAllPrj ] = {1776,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqUnloSelectedPrjsEdition ,NULL},
[ActLckAllPrj ] = {1777,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_LockSelectedPrjsEdition ,NULL},
[ActUnlAllPrj ] = {1778,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_UnloSelectedPrjsEdition ,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},
[ActFrmNewPrj ] = {1675,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqCreatePrj ,NULL},
[ActEdiOnePrj ] = {1676,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqEditPrj ,NULL},
[ActSeeOnePrj ] = {1949,-1,TabUnk,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileBrowserOrWorks ,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_ReceiveFormProject ,NULL},
@ -690,7 +690,7 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActEdiCfe ] = { 91,-1,TabUnk,ActSeeAllCfe ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Cfe_PutFrmEditACallForExam ,NULL},
[ActRcvCfe ] = { 110,-1,TabUnk,ActSeeAllCfe ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Cfe_ReceiveCallForExam1 ,Cfe_ReceiveCallForExam2 ,NULL},
[ActPrnCfe ] = { 179,-1,TabUnk,ActSeeAllCfe ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Cfe_PrintCallForExam ,NULL},
[ActReqRemCfe ] = {1619,-1,TabUnk,ActSeeAllCfe ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Cfe_ReqRemoveCallForExam ,NULL},
[ActReqRemCfe ] = {1619,-1,TabUnk,ActSeeAllCfe ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Cfe_ReqRemCallForExam ,NULL},
[ActRemCfe ] = { 187,-1,TabUnk,ActSeeAllCfe ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Cfe_RemoveCallForExam1 ,Cfe_RemoveCallForExam2 ,NULL},
[ActHidCfe ] = {1620,-1,TabUnk,ActSeeAllCfe ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Cfe_HideCallForExam ,Cfe_ListCallsForExamsEdit ,NULL},
[ActUnhCfe ] = {1621,-1,TabUnk,ActSeeAllCfe ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Cfe_UnhideCallForExam ,Cfe_ListCallsForExamsEdit ,NULL},
@ -701,9 +701,9 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActImpTstQst ] = {1008,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,QstImp_ImpQstsFromXML ,NULL},
[ActLstTstQst ] = { 132,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_ListQuestionsToEdit ,NULL},
[ActRcvTstQst ] = { 126,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,Qst_ReceiveQst ,NULL},
[ActReqRemSevTstQst ] = {1835,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_RequestRemoveSelectedQsts ,NULL},
[ActReqRemSevTstQst ] = {1835,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_ReqRemSelectedQsts ,NULL},
[ActRemSevTstQst ] = {1836,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_RemoveSelectedQsts ,NULL},
[ActReqRemOneTstQst ] = {1523,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_RequestRemoveOneQst ,NULL},
[ActReqRemOneTstQst ] = {1523,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_ReqRemOneQst ,NULL},
[ActRemOneTstQst ] = { 133,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_RemoveOneQst ,NULL},
[ActChgShfTstQst ] = { 455,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_ChangeShuffleQst ,NULL},
@ -728,8 +728,8 @@ const struct Act_Actions ActLst_Actions[ActLst_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},
[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},
[ActFrmNewExa ] = {1877,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_ReqCreatOrEditExam ,NULL},
[ActEdiOneExa ] = {1878,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_ReqCreatOrEditExam ,NULL},
[ActNewExa ] = {1879,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_ReceiveFormExam ,NULL},
[ActChgExa ] = {1880,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_ReceiveFormExam ,NULL},
[ActReqRemExa ] = {1881,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_AskRemExam ,NULL},
@ -738,9 +738,9 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActUnhExa ] = {1884,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_UnhideExam ,NULL},
[ActReqLnkExa ] = {1936,-1,TabUnk,ActSeeAllExa ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRsc_GetLinkToExam ,NULL},
[ActFrmNewExaSet ] = {1892,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDatesToPastAndNow ,ExaSet_RequestCreatOrEditSet ,NULL},
[ActFrmNewExaSet ] = {1892,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDatesToPastAndNow ,ExaSet_ReqCreatOrEditSet ,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_ReqRemSet ,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},
[ActDwnExaSet ] = {1896,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_MoveDownSet ,NULL},
@ -750,16 +750,16 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActReqAddQstExaSet ] = {1885,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDatesToPastAndNow ,ExaSet_ReqSelectQstsToAddToSet ,NULL},
[ActLstTstQstForSet ] = {1886,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_ListQstsToAddToSet ,NULL},
[ActAddQstToExa ] = {1887,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_AddQstsToSet ,NULL},
[ActReqRemSetQst ] = {1888,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_RequestRemoveQstFromSet ,NULL},
[ActReqRemSetQst ] = {1888,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_ReqRemQstFromSet ,NULL},
[ActRemExaQst ] = {1889,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_RemoveQstFromSet ,NULL},
[ActValSetQst ] = {1909,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_ValidateQst ,NULL},
[ActInvSetQst ] = {1910,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_InvalidateQst ,NULL},
[ActReqNewExaSes ] = {1852,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_RequestCreatOrEditSes ,NULL},
[ActEdiOneExaSes ] = {1902,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_RequestCreatOrEditSes ,NULL},
[ActReqNewExaSes ] = {1852,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_ReqCreatOrEditSes ,NULL},
[ActEdiOneExaSes ] = {1902,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_ReqCreatOrEditSes ,NULL},
[ActNewExaSes ] = {1853,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_ReceiveFormSession ,NULL},
[ActChgExaSes ] = {1903,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_ReceiveFormSession ,NULL},
[ActReqRemExaSes ] = {1850,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_RequestRemoveSession ,NULL},
[ActReqRemExaSes ] = {1850,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_ReqRemSession ,NULL},
[ActRemExaSes ] = {1851,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_RemoveSession ,NULL},
[ActHidExaSes ] = {1900,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_HideSession ,NULL},
[ActUnhExaSes ] = {1901,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_UnhideSession ,NULL},
@ -783,11 +783,11 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActSeeGam ] = {1650,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_SeeOneGame ,NULL},
[ActReqRemMch ] = {1783,-1,TabUnk,ActSeeAllGam ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Mch_RequestRemoveMatch ,NULL},
[ActReqRemMch ] = {1783,-1,TabUnk,ActSeeAllGam ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Mch_ReqRemMatch ,NULL},
[ActRemMch ] = {1784,-1,TabUnk,ActSeeAllGam ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Mch_RemoveMatch ,NULL},
[ActEdiMch ] = {1913,-1,TabUnk,ActSeeAllGam ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Mch_EditMatch ,NULL},
[ActChgMch ] = {1914,-1,TabUnk,ActSeeAllGam ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Mch_ChangeMatch ,NULL},
[ActReqNewMch ] = {1670,-1,TabUnk,ActSeeAllGam ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_RequestNewMatch ,NULL},
[ActReqNewMch ] = {1670,-1,TabUnk,ActSeeAllGam ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_ReqNewMatch ,NULL},
[ActNewMch ] = {1671,-1,TabUnk,ActSeeAllGam ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,Mch_CreateNewMatch ,Mch_ResumeMatch ,NULL},
[ActResMch ] = {1785,-1,TabUnk,ActSeeAllGam ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,Mch_GetMatchBeingPlayed ,Mch_ResumeMatch ,NULL},
[ActBckMch ] = {1790,-1,TabUnk,ActSeeAllGam ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_2ND_TAB,Mch_GetMatchBeingPlayed ,Mch_BackMatch ,NULL},
@ -819,8 +819,8 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActLstOneGam ] = {1912,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_ListGame ,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},
[ActFrmNewGam ] = {1652,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_ReqCreatOrEditGame ,NULL},
[ActEdiOneGam ] = {1653,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_ReqCreatOrEditGame ,NULL},
[ActNewGam ] = {1654,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_ReceiveFormGame ,NULL},
[ActChgGam ] = {1655,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_ReceiveFormGame ,NULL},
[ActReqRemGam ] = {1656,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_AskRemGame ,NULL},
@ -830,20 +830,29 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActAddOneGamQst ] = {1662,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDatesToPastAndNow ,Gam_ReqSelectQstsToAddToGame ,NULL},
[ActGamLstTstQst ] = {1666,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_ListQstsToAddToGame ,NULL},
[ActAddTstQstToGam ] = {1667,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_AddQstsToGame ,NULL},
[ActReqRemGamQst ] = {1664,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_RequestRemoveQstFromGame ,NULL},
[ActReqRemGamQst ] = {1664,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_ReqRemQstFromGame ,NULL},
[ActRemGamQst ] = {1665,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_RemoveQstFromGame ,NULL},
[ActUp_GamQst ] = {1668,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_MoveUpQst ,NULL},
[ActDwnGamQst ] = {1669,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_MoveDownQst ,NULL},
[ActReqLnkGam ] = {1935,-1,TabUnk,ActSeeAllGam ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,GamRsc_GetLinkToGame ,NULL},
[ActSeeRub ] = {1952,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Rub_SeeOneRubric ,NULL},
[ActFrmNewRub ] = {1953,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Rub_RequestCreatOrEditRubric ,NULL},
[ActEdiOneRub ] = {1954,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Rub_RequestCreatOrEditRubric ,NULL},
[ActFrmNewRub ] = {1953,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Rub_ReqCreatOrEditRubric ,NULL},
[ActEdiOneRub ] = {1954,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Rub_ReqCreatOrEditRubric ,NULL},
[ActNewRub ] = {1955,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Rub_ReceiveFormRubric ,NULL},
[ActChgRub ] = {1956,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Rub_ReceiveFormRubric ,NULL},
[ActReqRemRub ] = {1957,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Rub_AskRemRubric ,NULL},
[ActRemRub ] = {1958,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Rub_RemoveRubric ,NULL},
[ActFrmNewRubCri ] = {1959,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_RequestCreatOrEditCri ,NULL},
[ActFrmNewRubCri ] = {1959,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ReqCreatOrEditCriterion ,NULL},
[ActNewRubCri ] = {1960,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ReceiveFormCriterion ,NULL},
[ActReqRemRubCri ] = {1961,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ReqRemCriterion ,NULL},
[ActRemRubCri ] = {1962,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_RemoveCriterion ,NULL},
[ActUp_RubCri ] = {1963,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_MoveUpCriterion ,NULL},
[ActDwnRubCri ] = {1964,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_MoveDownCriterion ,NULL},
[ActChgTitRubCri ] = {1965,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ChangeCriterionTitle ,NULL},
[ActChgMinRubCri ] = {1966,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ChangeMinValueCriterion ,NULL},
[ActChgMaxRubCri ] = {1967,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ChangeMaxValueCriterion ,NULL},
// TabFil ******************************************************************
// Actions in menu:
@ -1412,8 +1421,8 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActPrnLstMyAtt ] = {1474,-1,TabUnk,ActSeeAtt ,0x008, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Att_PrintMyAttendanceCrs ,NULL},
[ActSeeLstUsrAtt ] = {1074,-1,TabUnk,ActSeeAtt ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_ListUsrsAttendanceCrs ,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},
[ActEdiOneAtt ] = {1064,-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_ReqCreatOrEditAttEvent ,NULL},
[ActEdiOneAtt ] = {1064,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_ReqCreatOrEditAttEvent ,NULL},
[ActNewAtt ] = {1065,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_ReceiveFormAttEvent ,NULL},
[ActChgAtt ] = {1066,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_ReceiveFormAttEvent ,NULL},
[ActReqRemAtt ] = {1067,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_AskRemAttEvent ,NULL},
@ -1451,9 +1460,9 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActUpdStdPho ] = {1439,-1,TabUnk,ActLstStd ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,Pho_UpdateUsrPhoto1 ,Pho_UpdateUsrPhoto2 ,NULL},
[ActUpdTchPho ] = {1440,-1,TabUnk,ActLstTch ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,Pho_UpdateUsrPhoto1 ,Pho_UpdateUsrPhoto2 ,NULL},
[ActReqRemOthPho ] = {1574,-1,TabUnk,ActLstOth ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Pho_ReqRemoveUsrPhoto ,NULL},
[ActReqRemStdPho ] = {1575,-1,TabUnk,ActLstStd ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Pho_ReqRemoveUsrPhoto ,NULL},
[ActReqRemTchPho ] = {1576,-1,TabUnk,ActLstTch ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Pho_ReqRemoveUsrPhoto ,NULL},
[ActReqRemOthPho ] = {1574,-1,TabUnk,ActLstOth ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Pho_ReqRemUsrPhoto ,NULL},
[ActReqRemStdPho ] = {1575,-1,TabUnk,ActLstStd ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Pho_ReqRemUsrPhoto ,NULL},
[ActReqRemTchPho ] = {1576,-1,TabUnk,ActLstTch ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Pho_ReqRemUsrPhoto ,NULL},
[ActRemOthPho ] = {1441,-1,TabUnk,ActLstOth ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Pho_RemoveUsrPhoto ,NULL},
[ActRemStdPho ] = {1442,-1,TabUnk,ActLstStd ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Pho_RemoveUsrPhoto ,NULL},
[ActRemTchPho ] = {1443,-1,TabUnk,ActLstTch ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Pho_RemoveUsrPhoto ,NULL},
@ -1540,10 +1549,10 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActLstSimUsr ] = {1579,-1,TabUnk,ActLstOth ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Dup_GetUsrCodAndListSimilarUsrs,NULL},
[ActRemDupUsr ] = {1580,-1,TabUnk,ActLstOth ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Dup_RemoveUsrFromListDupUsrs ,NULL},
[ActReqFolSevStd ] = {1756,-1,TabUnk,ActLstStd ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Fol_RequestFollowStds ,NULL},
[ActReqFolSevTch ] = {1757,-1,TabUnk,ActLstTch ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Fol_RequestFollowTchs ,NULL},
[ActReqUnfSevStd ] = {1758,-1,TabUnk,ActLstStd ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Fol_RequestUnfollowStds ,NULL},
[ActReqUnfSevTch ] = {1759,-1,TabUnk,ActLstTch ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Fol_RequestUnfollowTchs ,NULL},
[ActReqFolSevStd ] = {1756,-1,TabUnk,ActLstStd ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Fol_ReqFollowStds ,NULL},
[ActReqFolSevTch ] = {1757,-1,TabUnk,ActLstTch ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Fol_ReqFollowTchs ,NULL},
[ActReqUnfSevStd ] = {1758,-1,TabUnk,ActLstStd ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Fol_ReqUnfollowStds ,NULL},
[ActReqUnfSevTch ] = {1759,-1,TabUnk,ActLstTch ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Fol_ReqUnfollowTchs ,NULL},
[ActFolSevStd ] = {1760,-1,TabUnk,ActLstStd ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Fol_FollowUsrs ,NULL},
[ActFolSevTch ] = {1761,-1,TabUnk,ActLstTch ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Fol_FollowUsrs ,NULL},
[ActUnfSevStd ] = {1762,-1,TabUnk,ActLstStd ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Fol_UnfollowUsrs ,NULL},
@ -1571,7 +1580,7 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActRcvNot ] = { 60,-1,TabUnk,ActSeeAllNot ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Not_ReceiveNotice ,Not_ListFullNotices ,NULL},
[ActHidNot ] = { 763,-1,TabUnk,ActSeeAllNot ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Not_HideActiveNotice ,Not_ListFullNotices ,NULL},
[ActUnhNot ] = { 764,-1,TabUnk,ActSeeAllNot ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Not_RevealHiddenNotice ,Not_ListFullNotices ,NULL},
[ActReqRemNot ] = {1472,-1,TabUnk,ActSeeAllNot ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Not_RequestRemNotice ,NULL},
[ActReqRemNot ] = {1472,-1,TabUnk,ActSeeAllNot ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Not_ReqRemNotice ,NULL},
[ActRemNot ] = { 73,-1,TabUnk,ActSeeAllNot ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Not_RemoveNotice ,Not_ListNoticesAfterRemoval ,NULL},
[ActSeeForCrsUsr ] = { 345,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_ShowForumTheads ,NULL},
@ -1626,18 +1635,18 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActRcvRepForSWAUsr ] = { 603,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,For_ReceiveForumPost ,NULL},
[ActRcvRepForSWATch ] = { 622,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,For_ReceiveForumPost ,NULL},
[ActReqDelThrCrsUsr ] = { 867,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RequestRemoveThread ,NULL},
[ActReqDelThrCrsTch ] = { 869,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RequestRemoveThread ,NULL},
[ActReqDelThrDegUsr ] = { 907,-1,TabUnk,ActSeeFor ,0x3C0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RequestRemoveThread ,NULL},
[ActReqDelThrDegTch ] = { 908,-1,TabUnk,ActSeeFor ,0x3C0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RequestRemoveThread ,NULL},
[ActReqDelThrCtrUsr ] = { 909,-1,TabUnk,ActSeeFor ,0x3C0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RequestRemoveThread ,NULL},
[ActReqDelThrCtrTch ] = { 910,-1,TabUnk,ActSeeFor ,0x3C0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RequestRemoveThread ,NULL},
[ActReqDelThrInsUsr ] = { 911,-1,TabUnk,ActSeeFor ,0x200,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RequestRemoveThread ,NULL},
[ActReqDelThrInsTch ] = { 912,-1,TabUnk,ActSeeFor ,0x200,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RequestRemoveThread ,NULL},
[ActReqDelThrGenUsr ] = { 913,-1,TabUnk,ActSeeFor ,0x200,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RequestRemoveThread ,NULL},
[ActReqDelThrGenTch ] = { 914,-1,TabUnk,ActSeeFor ,0x200,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RequestRemoveThread ,NULL},
[ActReqDelThrSWAUsr ] = { 881,-1,TabUnk,ActSeeFor ,0x200,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RequestRemoveThread ,NULL},
[ActReqDelThrSWATch ] = { 915,-1,TabUnk,ActSeeFor ,0x200,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RequestRemoveThread ,NULL},
[ActReqDelThrCrsUsr ] = { 867,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_ReqRemThread ,NULL},
[ActReqDelThrCrsTch ] = { 869,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_ReqRemThread ,NULL},
[ActReqDelThrDegUsr ] = { 907,-1,TabUnk,ActSeeFor ,0x3C0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_ReqRemThread ,NULL},
[ActReqDelThrDegTch ] = { 908,-1,TabUnk,ActSeeFor ,0x3C0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_ReqRemThread ,NULL},
[ActReqDelThrCtrUsr ] = { 909,-1,TabUnk,ActSeeFor ,0x3C0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_ReqRemThread ,NULL},
[ActReqDelThrCtrTch ] = { 910,-1,TabUnk,ActSeeFor ,0x3C0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_ReqRemThread ,NULL},
[ActReqDelThrInsUsr ] = { 911,-1,TabUnk,ActSeeFor ,0x200,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_ReqRemThread ,NULL},
[ActReqDelThrInsTch ] = { 912,-1,TabUnk,ActSeeFor ,0x200,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_ReqRemThread ,NULL},
[ActReqDelThrGenUsr ] = { 913,-1,TabUnk,ActSeeFor ,0x200,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_ReqRemThread ,NULL},
[ActReqDelThrGenTch ] = { 914,-1,TabUnk,ActSeeFor ,0x200,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_ReqRemThread ,NULL},
[ActReqDelThrSWAUsr ] = { 881,-1,TabUnk,ActSeeFor ,0x200,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_ReqRemThread ,NULL},
[ActReqDelThrSWATch ] = { 915,-1,TabUnk,ActSeeFor ,0x200,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_ReqRemThread ,NULL},
[ActDelThrForCrsUsr ] = { 868,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RemoveThread ,NULL},
[ActDelThrForCrsTch ] = { 876,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,For_RemoveThread ,NULL},
@ -1763,8 +1772,8 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActSeeSvy ] = { 982,-1,TabUnk,ActSeeAllSvy ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_SeeOneSurvey ,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},
[ActEdiOneSvy ] = { 974,-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_ReqCreatOrEditSvy ,NULL},
[ActEdiOneSvy ] = { 974,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReqCreatOrEditSvy ,NULL},
[ActNewSvy ] = { 968,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReceiveFormSurvey ,NULL},
[ActChgSvy ] = { 975,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReceiveFormSurvey ,NULL},
[ActReqRemSvy ] = { 976,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_AskRemSurvey ,NULL},
@ -1774,9 +1783,9 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActHidSvy ] = { 977,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_HideSurvey ,NULL},
[ActUnhSvy ] = { 978,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_UnhideSurvey ,NULL},
[ActReqLnkSvy ] = {1937,-1,TabUnk,ActSeeAllSvy ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,SvyRsc_GetLinkToSurvey ,NULL},
[ActEdiOneSvyQst ] = { 979,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RequestEditQuestion ,NULL},
[ActEdiOneSvyQst ] = { 979,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReqEditQuestion ,NULL},
[ActRcvSvyQst ] = { 980,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReceiveQst ,NULL},
[ActReqRemSvyQst ] = {1524,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RequestRemoveQst ,NULL},
[ActReqRemSvyQst ] = {1524,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReqRemQst ,NULL},
[ActRemSvyQst ] = { 981,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RemoveQst ,NULL},
[ActSeeAccGbl ] = { 79,-1,TabUnk,ActReqAccGbl ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Sta_SeeGblAccesses ,NULL},
@ -1801,8 +1810,8 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
// Actions not in menu:
[ActChgMyRol ] = { 589,-1,TabUnk,ActFrmRolSes ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,Rol_ChangeMyRole ,Usr_ShowFormsLogoutAndRole ,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},
[ActFrmNewEvtMyAgd ] = {1603,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_ReqCreatOrEditEvent ,NULL},
[ActEdiOneEvtMyAgd ] = {1604,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_ReqCreatOrEditEvent ,NULL},
[ActNewEvtMyAgd ] = {1605,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_ReceiveFormEvent ,NULL},
[ActChgEvtMyAgd ] = {1606,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_ReceiveFormEvent ,NULL},
[ActReqRemEvtMyAgd ] = {1607,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_AskRemEvent ,NULL},
@ -1837,7 +1846,7 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActReqMyPho ] = { 30,-1,TabUnk,ActReqEdiRecSha ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Pho_ReqMyPhoto ,NULL},
[ActDetMyPho ] = { 693,-1,TabUnk,ActReqEdiRecSha ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,Pho_RecMyPhotoDetFaces ,NULL},
[ActUpdMyPho ] = { 694,-1,TabUnk,ActReqEdiRecSha ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,Pho_UpdateMyPhoto1 ,Pho_UpdateMyPhoto2 ,NULL},
[ActReqRemMyPho ] = {1577,-1,TabUnk,ActReqEdiRecSha ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Pho_ReqRemoveMyPhoto ,NULL},
[ActReqRemMyPho ] = {1577,-1,TabUnk,ActReqEdiRecSha ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Pho_ReqRemMyPhoto ,NULL},
[ActRemMyPho ] = { 428,-1,TabUnk,ActReqEdiRecSha ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,Pho_RemoveMyPhoto1 ,Pho_RemoveMyPhoto2 ,NULL},
[ActChgCtyMyIns ] = {1166,-1,TabUnk,ActReqEdiRecSha ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Rec_ChgCountryOfMyInstitution ,NULL},
@ -3835,4 +3844,12 @@ Act_Action_t ActLst_FromActCodToAction[1 + ActLst_MAX_ACTION_COD] = // Do not re
ActReqRemRub, // #1957
ActRemRub, // #1958
ActFrmNewRubCri, // #1959
ActNewRubCri, // #1960
ActReqRemRubCri, // #1961
ActRemRubCri, // #1962
ActUp_RubCri, // #1963
ActDwnRubCri, // #1964
ActChgTitRubCri, // #1965
ActChgMinRubCri, // #1966
ActChgMaxRubCri, // #1967
};

View File

@ -768,480 +768,488 @@
#define ActRemRub (ActChgCrsTT1stDay + 226)
#define ActFrmNewRubCri (ActChgCrsTT1stDay + 227)
#define ActNewRubCri (ActChgCrsTT1stDay + 228)
#define ActReqRemRubCri (ActChgCrsTT1stDay + 229)
#define ActRemRubCri (ActChgCrsTT1stDay + 230)
#define ActUp_RubCri (ActChgCrsTT1stDay + 231)
#define ActDwnRubCri (ActChgCrsTT1stDay + 232)
#define ActChgTitRubCri (ActChgCrsTT1stDay + 233)
#define ActChgMinRubCri (ActChgCrsTT1stDay + 234)
#define ActChgMaxRubCri (ActChgCrsTT1stDay + 235)
/*****************************************************************************/
/******************************** Files tab **********************************/
/*****************************************************************************/
// Actions in menu
#define ActSeeAdmDocIns (ActFrmNewRubCri + 1)
#define ActAdmShaIns (ActFrmNewRubCri + 2)
#define ActSeeAdmDocCtr (ActFrmNewRubCri + 3)
#define ActAdmShaCtr (ActFrmNewRubCri + 4)
#define ActSeeAdmDocDeg (ActFrmNewRubCri + 5)
#define ActAdmShaDeg (ActFrmNewRubCri + 6)
#define ActSeeAdmDocCrsGrp (ActFrmNewRubCri + 7)
#define ActAdmTchCrsGrp (ActFrmNewRubCri + 8)
#define ActAdmShaCrsGrp (ActFrmNewRubCri + 9)
#define ActAdmAsgWrkUsr (ActFrmNewRubCri + 10)
#define ActReqAsgWrkCrs (ActFrmNewRubCri + 11)
#define ActSeeAdmMrk (ActFrmNewRubCri + 12)
#define ActAdmBrf (ActFrmNewRubCri + 13)
#define ActSeeAdmDocIns (ActChgMaxRubCri + 1)
#define ActAdmShaIns (ActChgMaxRubCri + 2)
#define ActSeeAdmDocCtr (ActChgMaxRubCri + 3)
#define ActAdmShaCtr (ActChgMaxRubCri + 4)
#define ActSeeAdmDocDeg (ActChgMaxRubCri + 5)
#define ActAdmShaDeg (ActChgMaxRubCri + 6)
#define ActSeeAdmDocCrsGrp (ActChgMaxRubCri + 7)
#define ActAdmTchCrsGrp (ActChgMaxRubCri + 8)
#define ActAdmShaCrsGrp (ActChgMaxRubCri + 9)
#define ActAdmAsgWrkUsr (ActChgMaxRubCri + 10)
#define ActReqAsgWrkCrs (ActChgMaxRubCri + 11)
#define ActSeeAdmMrk (ActChgMaxRubCri + 12)
#define ActAdmBrf (ActChgMaxRubCri + 13)
// Secondary actions
#define ActChgToSeeDocIns (ActFrmNewRubCri + 14)
#define ActSeeDocIns (ActFrmNewRubCri + 15)
#define ActExpSeeDocIns (ActFrmNewRubCri + 16)
#define ActConSeeDocIns (ActFrmNewRubCri + 17)
#define ActZIPSeeDocIns (ActFrmNewRubCri + 18)
#define ActReqDatSeeDocIns (ActFrmNewRubCri + 19)
#define ActDowSeeDocIns (ActFrmNewRubCri + 20)
#define ActChgToAdmDocIns (ActFrmNewRubCri + 21)
#define ActAdmDocIns (ActFrmNewRubCri + 22)
#define ActReqRemFilDocIns (ActFrmNewRubCri + 23)
#define ActRemFilDocIns (ActFrmNewRubCri + 24)
#define ActRemFolDocIns (ActFrmNewRubCri + 25)
#define ActCopDocIns (ActFrmNewRubCri + 26)
#define ActPasDocIns (ActFrmNewRubCri + 27)
#define ActRemTreDocIns (ActFrmNewRubCri + 28)
#define ActFrmCreDocIns (ActFrmNewRubCri + 29)
#define ActCreFolDocIns (ActFrmNewRubCri + 30)
#define ActCreLnkDocIns (ActFrmNewRubCri + 31)
#define ActRenFolDocIns (ActFrmNewRubCri + 32)
#define ActRcvFilDocInsDZ (ActFrmNewRubCri + 33)
#define ActRcvFilDocInsCla (ActFrmNewRubCri + 34)
#define ActExpAdmDocIns (ActFrmNewRubCri + 35)
#define ActConAdmDocIns (ActFrmNewRubCri + 36)
#define ActZIPAdmDocIns (ActFrmNewRubCri + 37)
#define ActUnhDocIns (ActFrmNewRubCri + 38)
#define ActHidDocIns (ActFrmNewRubCri + 39)
#define ActReqDatAdmDocIns (ActFrmNewRubCri + 40)
#define ActChgDatAdmDocIns (ActFrmNewRubCri + 41)
#define ActDowAdmDocIns (ActFrmNewRubCri + 42)
#define ActChgToSeeDocIns (ActChgMaxRubCri + 14)
#define ActSeeDocIns (ActChgMaxRubCri + 15)
#define ActExpSeeDocIns (ActChgMaxRubCri + 16)
#define ActConSeeDocIns (ActChgMaxRubCri + 17)
#define ActZIPSeeDocIns (ActChgMaxRubCri + 18)
#define ActReqDatSeeDocIns (ActChgMaxRubCri + 19)
#define ActDowSeeDocIns (ActChgMaxRubCri + 20)
#define ActChgToAdmDocIns (ActChgMaxRubCri + 21)
#define ActAdmDocIns (ActChgMaxRubCri + 22)
#define ActReqRemFilDocIns (ActChgMaxRubCri + 23)
#define ActRemFilDocIns (ActChgMaxRubCri + 24)
#define ActRemFolDocIns (ActChgMaxRubCri + 25)
#define ActCopDocIns (ActChgMaxRubCri + 26)
#define ActPasDocIns (ActChgMaxRubCri + 27)
#define ActRemTreDocIns (ActChgMaxRubCri + 28)
#define ActFrmCreDocIns (ActChgMaxRubCri + 29)
#define ActCreFolDocIns (ActChgMaxRubCri + 30)
#define ActCreLnkDocIns (ActChgMaxRubCri + 31)
#define ActRenFolDocIns (ActChgMaxRubCri + 32)
#define ActRcvFilDocInsDZ (ActChgMaxRubCri + 33)
#define ActRcvFilDocInsCla (ActChgMaxRubCri + 34)
#define ActExpAdmDocIns (ActChgMaxRubCri + 35)
#define ActConAdmDocIns (ActChgMaxRubCri + 36)
#define ActZIPAdmDocIns (ActChgMaxRubCri + 37)
#define ActUnhDocIns (ActChgMaxRubCri + 38)
#define ActHidDocIns (ActChgMaxRubCri + 39)
#define ActReqDatAdmDocIns (ActChgMaxRubCri + 40)
#define ActChgDatAdmDocIns (ActChgMaxRubCri + 41)
#define ActDowAdmDocIns (ActChgMaxRubCri + 42)
#define ActReqRemFilShaIns (ActFrmNewRubCri + 43)
#define ActRemFilShaIns (ActFrmNewRubCri + 44)
#define ActRemFolShaIns (ActFrmNewRubCri + 45)
#define ActCopShaIns (ActFrmNewRubCri + 46)
#define ActPasShaIns (ActFrmNewRubCri + 47)
#define ActRemTreShaIns (ActFrmNewRubCri + 48)
#define ActFrmCreShaIns (ActFrmNewRubCri + 49)
#define ActCreFolShaIns (ActFrmNewRubCri + 50)
#define ActCreLnkShaIns (ActFrmNewRubCri + 51)
#define ActRenFolShaIns (ActFrmNewRubCri + 52)
#define ActRcvFilShaInsDZ (ActFrmNewRubCri + 53)
#define ActRcvFilShaInsCla (ActFrmNewRubCri + 54)
#define ActExpShaIns (ActFrmNewRubCri + 55)
#define ActConShaIns (ActFrmNewRubCri + 56)
#define ActZIPShaIns (ActFrmNewRubCri + 57)
#define ActReqDatShaIns (ActFrmNewRubCri + 58)
#define ActChgDatShaIns (ActFrmNewRubCri + 59)
#define ActDowShaIns (ActFrmNewRubCri + 60)
#define ActReqRemFilShaIns (ActChgMaxRubCri + 43)
#define ActRemFilShaIns (ActChgMaxRubCri + 44)
#define ActRemFolShaIns (ActChgMaxRubCri + 45)
#define ActCopShaIns (ActChgMaxRubCri + 46)
#define ActPasShaIns (ActChgMaxRubCri + 47)
#define ActRemTreShaIns (ActChgMaxRubCri + 48)
#define ActFrmCreShaIns (ActChgMaxRubCri + 49)
#define ActCreFolShaIns (ActChgMaxRubCri + 50)
#define ActCreLnkShaIns (ActChgMaxRubCri + 51)
#define ActRenFolShaIns (ActChgMaxRubCri + 52)
#define ActRcvFilShaInsDZ (ActChgMaxRubCri + 53)
#define ActRcvFilShaInsCla (ActChgMaxRubCri + 54)
#define ActExpShaIns (ActChgMaxRubCri + 55)
#define ActConShaIns (ActChgMaxRubCri + 56)
#define ActZIPShaIns (ActChgMaxRubCri + 57)
#define ActReqDatShaIns (ActChgMaxRubCri + 58)
#define ActChgDatShaIns (ActChgMaxRubCri + 59)
#define ActDowShaIns (ActChgMaxRubCri + 60)
#define ActChgToSeeDocCtr (ActFrmNewRubCri + 61)
#define ActSeeDocCtr (ActFrmNewRubCri + 62)
#define ActExpSeeDocCtr (ActFrmNewRubCri + 63)
#define ActConSeeDocCtr (ActFrmNewRubCri + 64)
#define ActZIPSeeDocCtr (ActFrmNewRubCri + 65)
#define ActReqDatSeeDocCtr (ActFrmNewRubCri + 66)
#define ActDowSeeDocCtr (ActFrmNewRubCri + 67)
#define ActChgToAdmDocCtr (ActFrmNewRubCri + 68)
#define ActAdmDocCtr (ActFrmNewRubCri + 69)
#define ActReqRemFilDocCtr (ActFrmNewRubCri + 70)
#define ActRemFilDocCtr (ActFrmNewRubCri + 71)
#define ActRemFolDocCtr (ActFrmNewRubCri + 72)
#define ActCopDocCtr (ActFrmNewRubCri + 73)
#define ActPasDocCtr (ActFrmNewRubCri + 74)
#define ActRemTreDocCtr (ActFrmNewRubCri + 75)
#define ActFrmCreDocCtr (ActFrmNewRubCri + 76)
#define ActCreFolDocCtr (ActFrmNewRubCri + 77)
#define ActCreLnkDocCtr (ActFrmNewRubCri + 78)
#define ActRenFolDocCtr (ActFrmNewRubCri + 79)
#define ActRcvFilDocCtrDZ (ActFrmNewRubCri + 80)
#define ActRcvFilDocCtrCla (ActFrmNewRubCri + 81)
#define ActExpAdmDocCtr (ActFrmNewRubCri + 82)
#define ActConAdmDocCtr (ActFrmNewRubCri + 83)
#define ActZIPAdmDocCtr (ActFrmNewRubCri + 84)
#define ActUnhDocCtr (ActFrmNewRubCri + 85)
#define ActHidDocCtr (ActFrmNewRubCri + 86)
#define ActReqDatAdmDocCtr (ActFrmNewRubCri + 87)
#define ActChgDatAdmDocCtr (ActFrmNewRubCri + 88)
#define ActDowAdmDocCtr (ActFrmNewRubCri + 89)
#define ActChgToSeeDocCtr (ActChgMaxRubCri + 61)
#define ActSeeDocCtr (ActChgMaxRubCri + 62)
#define ActExpSeeDocCtr (ActChgMaxRubCri + 63)
#define ActConSeeDocCtr (ActChgMaxRubCri + 64)
#define ActZIPSeeDocCtr (ActChgMaxRubCri + 65)
#define ActReqDatSeeDocCtr (ActChgMaxRubCri + 66)
#define ActDowSeeDocCtr (ActChgMaxRubCri + 67)
#define ActChgToAdmDocCtr (ActChgMaxRubCri + 68)
#define ActAdmDocCtr (ActChgMaxRubCri + 69)
#define ActReqRemFilDocCtr (ActChgMaxRubCri + 70)
#define ActRemFilDocCtr (ActChgMaxRubCri + 71)
#define ActRemFolDocCtr (ActChgMaxRubCri + 72)
#define ActCopDocCtr (ActChgMaxRubCri + 73)
#define ActPasDocCtr (ActChgMaxRubCri + 74)
#define ActRemTreDocCtr (ActChgMaxRubCri + 75)
#define ActFrmCreDocCtr (ActChgMaxRubCri + 76)
#define ActCreFolDocCtr (ActChgMaxRubCri + 77)
#define ActCreLnkDocCtr (ActChgMaxRubCri + 78)
#define ActRenFolDocCtr (ActChgMaxRubCri + 79)
#define ActRcvFilDocCtrDZ (ActChgMaxRubCri + 80)
#define ActRcvFilDocCtrCla (ActChgMaxRubCri + 81)
#define ActExpAdmDocCtr (ActChgMaxRubCri + 82)
#define ActConAdmDocCtr (ActChgMaxRubCri + 83)
#define ActZIPAdmDocCtr (ActChgMaxRubCri + 84)
#define ActUnhDocCtr (ActChgMaxRubCri + 85)
#define ActHidDocCtr (ActChgMaxRubCri + 86)
#define ActReqDatAdmDocCtr (ActChgMaxRubCri + 87)
#define ActChgDatAdmDocCtr (ActChgMaxRubCri + 88)
#define ActDowAdmDocCtr (ActChgMaxRubCri + 89)
#define ActReqRemFilShaCtr (ActFrmNewRubCri + 90)
#define ActRemFilShaCtr (ActFrmNewRubCri + 91)
#define ActRemFolShaCtr (ActFrmNewRubCri + 92)
#define ActCopShaCtr (ActFrmNewRubCri + 93)
#define ActPasShaCtr (ActFrmNewRubCri + 94)
#define ActRemTreShaCtr (ActFrmNewRubCri + 95)
#define ActFrmCreShaCtr (ActFrmNewRubCri + 96)
#define ActCreFolShaCtr (ActFrmNewRubCri + 97)
#define ActCreLnkShaCtr (ActFrmNewRubCri + 98)
#define ActRenFolShaCtr (ActFrmNewRubCri + 99)
#define ActRcvFilShaCtrDZ (ActFrmNewRubCri + 100)
#define ActRcvFilShaCtrCla (ActFrmNewRubCri + 101)
#define ActExpShaCtr (ActFrmNewRubCri + 102)
#define ActConShaCtr (ActFrmNewRubCri + 103)
#define ActZIPShaCtr (ActFrmNewRubCri + 104)
#define ActReqDatShaCtr (ActFrmNewRubCri + 105)
#define ActChgDatShaCtr (ActFrmNewRubCri + 106)
#define ActDowShaCtr (ActFrmNewRubCri + 107)
#define ActReqRemFilShaCtr (ActChgMaxRubCri + 90)
#define ActRemFilShaCtr (ActChgMaxRubCri + 91)
#define ActRemFolShaCtr (ActChgMaxRubCri + 92)
#define ActCopShaCtr (ActChgMaxRubCri + 93)
#define ActPasShaCtr (ActChgMaxRubCri + 94)
#define ActRemTreShaCtr (ActChgMaxRubCri + 95)
#define ActFrmCreShaCtr (ActChgMaxRubCri + 96)
#define ActCreFolShaCtr (ActChgMaxRubCri + 97)
#define ActCreLnkShaCtr (ActChgMaxRubCri + 98)
#define ActRenFolShaCtr (ActChgMaxRubCri + 99)
#define ActRcvFilShaCtrDZ (ActChgMaxRubCri + 100)
#define ActRcvFilShaCtrCla (ActChgMaxRubCri + 101)
#define ActExpShaCtr (ActChgMaxRubCri + 102)
#define ActConShaCtr (ActChgMaxRubCri + 103)
#define ActZIPShaCtr (ActChgMaxRubCri + 104)
#define ActReqDatShaCtr (ActChgMaxRubCri + 105)
#define ActChgDatShaCtr (ActChgMaxRubCri + 106)
#define ActDowShaCtr (ActChgMaxRubCri + 107)
#define ActChgToSeeDocDeg (ActFrmNewRubCri + 108)
#define ActSeeDocDeg (ActFrmNewRubCri + 109)
#define ActExpSeeDocDeg (ActFrmNewRubCri + 110)
#define ActConSeeDocDeg (ActFrmNewRubCri + 111)
#define ActZIPSeeDocDeg (ActFrmNewRubCri + 112)
#define ActReqDatSeeDocDeg (ActFrmNewRubCri + 113)
#define ActDowSeeDocDeg (ActFrmNewRubCri + 114)
#define ActChgToAdmDocDeg (ActFrmNewRubCri + 115)
#define ActAdmDocDeg (ActFrmNewRubCri + 116)
#define ActReqRemFilDocDeg (ActFrmNewRubCri + 117)
#define ActRemFilDocDeg (ActFrmNewRubCri + 118)
#define ActRemFolDocDeg (ActFrmNewRubCri + 119)
#define ActCopDocDeg (ActFrmNewRubCri + 120)
#define ActPasDocDeg (ActFrmNewRubCri + 121)
#define ActRemTreDocDeg (ActFrmNewRubCri + 122)
#define ActFrmCreDocDeg (ActFrmNewRubCri + 123)
#define ActCreFolDocDeg (ActFrmNewRubCri + 124)
#define ActCreLnkDocDeg (ActFrmNewRubCri + 125)
#define ActRenFolDocDeg (ActFrmNewRubCri + 126)
#define ActRcvFilDocDegDZ (ActFrmNewRubCri + 127)
#define ActRcvFilDocDegCla (ActFrmNewRubCri + 128)
#define ActExpAdmDocDeg (ActFrmNewRubCri + 129)
#define ActConAdmDocDeg (ActFrmNewRubCri + 130)
#define ActZIPAdmDocDeg (ActFrmNewRubCri + 131)
#define ActUnhDocDeg (ActFrmNewRubCri + 132)
#define ActHidDocDeg (ActFrmNewRubCri + 133)
#define ActReqDatAdmDocDeg (ActFrmNewRubCri + 134)
#define ActChgDatAdmDocDeg (ActFrmNewRubCri + 135)
#define ActDowAdmDocDeg (ActFrmNewRubCri + 136)
#define ActChgToSeeDocDeg (ActChgMaxRubCri + 108)
#define ActSeeDocDeg (ActChgMaxRubCri + 109)
#define ActExpSeeDocDeg (ActChgMaxRubCri + 110)
#define ActConSeeDocDeg (ActChgMaxRubCri + 111)
#define ActZIPSeeDocDeg (ActChgMaxRubCri + 112)
#define ActReqDatSeeDocDeg (ActChgMaxRubCri + 113)
#define ActDowSeeDocDeg (ActChgMaxRubCri + 114)
#define ActChgToAdmDocDeg (ActChgMaxRubCri + 115)
#define ActAdmDocDeg (ActChgMaxRubCri + 116)
#define ActReqRemFilDocDeg (ActChgMaxRubCri + 117)
#define ActRemFilDocDeg (ActChgMaxRubCri + 118)
#define ActRemFolDocDeg (ActChgMaxRubCri + 119)
#define ActCopDocDeg (ActChgMaxRubCri + 120)
#define ActPasDocDeg (ActChgMaxRubCri + 121)
#define ActRemTreDocDeg (ActChgMaxRubCri + 122)
#define ActFrmCreDocDeg (ActChgMaxRubCri + 123)
#define ActCreFolDocDeg (ActChgMaxRubCri + 124)
#define ActCreLnkDocDeg (ActChgMaxRubCri + 125)
#define ActRenFolDocDeg (ActChgMaxRubCri + 126)
#define ActRcvFilDocDegDZ (ActChgMaxRubCri + 127)
#define ActRcvFilDocDegCla (ActChgMaxRubCri + 128)
#define ActExpAdmDocDeg (ActChgMaxRubCri + 129)
#define ActConAdmDocDeg (ActChgMaxRubCri + 130)
#define ActZIPAdmDocDeg (ActChgMaxRubCri + 131)
#define ActUnhDocDeg (ActChgMaxRubCri + 132)
#define ActHidDocDeg (ActChgMaxRubCri + 133)
#define ActReqDatAdmDocDeg (ActChgMaxRubCri + 134)
#define ActChgDatAdmDocDeg (ActChgMaxRubCri + 135)
#define ActDowAdmDocDeg (ActChgMaxRubCri + 136)
#define ActReqRemFilShaDeg (ActFrmNewRubCri + 137)
#define ActRemFilShaDeg (ActFrmNewRubCri + 138)
#define ActRemFolShaDeg (ActFrmNewRubCri + 139)
#define ActCopShaDeg (ActFrmNewRubCri + 140)
#define ActPasShaDeg (ActFrmNewRubCri + 141)
#define ActRemTreShaDeg (ActFrmNewRubCri + 142)
#define ActFrmCreShaDeg (ActFrmNewRubCri + 143)
#define ActCreFolShaDeg (ActFrmNewRubCri + 144)
#define ActCreLnkShaDeg (ActFrmNewRubCri + 145)
#define ActRenFolShaDeg (ActFrmNewRubCri + 146)
#define ActRcvFilShaDegDZ (ActFrmNewRubCri + 147)
#define ActRcvFilShaDegCla (ActFrmNewRubCri + 148)
#define ActExpShaDeg (ActFrmNewRubCri + 149)
#define ActConShaDeg (ActFrmNewRubCri + 150)
#define ActZIPShaDeg (ActFrmNewRubCri + 151)
#define ActReqDatShaDeg (ActFrmNewRubCri + 152)
#define ActChgDatShaDeg (ActFrmNewRubCri + 153)
#define ActDowShaDeg (ActFrmNewRubCri + 154)
#define ActReqRemFilShaDeg (ActChgMaxRubCri + 137)
#define ActRemFilShaDeg (ActChgMaxRubCri + 138)
#define ActRemFolShaDeg (ActChgMaxRubCri + 139)
#define ActCopShaDeg (ActChgMaxRubCri + 140)
#define ActPasShaDeg (ActChgMaxRubCri + 141)
#define ActRemTreShaDeg (ActChgMaxRubCri + 142)
#define ActFrmCreShaDeg (ActChgMaxRubCri + 143)
#define ActCreFolShaDeg (ActChgMaxRubCri + 144)
#define ActCreLnkShaDeg (ActChgMaxRubCri + 145)
#define ActRenFolShaDeg (ActChgMaxRubCri + 146)
#define ActRcvFilShaDegDZ (ActChgMaxRubCri + 147)
#define ActRcvFilShaDegCla (ActChgMaxRubCri + 148)
#define ActExpShaDeg (ActChgMaxRubCri + 149)
#define ActConShaDeg (ActChgMaxRubCri + 150)
#define ActZIPShaDeg (ActChgMaxRubCri + 151)
#define ActReqDatShaDeg (ActChgMaxRubCri + 152)
#define ActChgDatShaDeg (ActChgMaxRubCri + 153)
#define ActDowShaDeg (ActChgMaxRubCri + 154)
#define ActChgToSeeDocCrs (ActFrmNewRubCri + 155)
#define ActSeeDocCrs (ActFrmNewRubCri + 156)
#define ActExpSeeDocCrs (ActFrmNewRubCri + 157)
#define ActConSeeDocCrs (ActFrmNewRubCri + 158)
#define ActZIPSeeDocCrs (ActFrmNewRubCri + 159)
#define ActReqDatSeeDocCrs (ActFrmNewRubCri + 160)
#define ActReqLnkSeeDocCrs (ActFrmNewRubCri + 161)
#define ActDowSeeDocCrs (ActFrmNewRubCri + 162)
#define ActChgToSeeDocCrs (ActChgMaxRubCri + 155)
#define ActSeeDocCrs (ActChgMaxRubCri + 156)
#define ActExpSeeDocCrs (ActChgMaxRubCri + 157)
#define ActConSeeDocCrs (ActChgMaxRubCri + 158)
#define ActZIPSeeDocCrs (ActChgMaxRubCri + 159)
#define ActReqDatSeeDocCrs (ActChgMaxRubCri + 160)
#define ActReqLnkSeeDocCrs (ActChgMaxRubCri + 161)
#define ActDowSeeDocCrs (ActChgMaxRubCri + 162)
#define ActSeeDocGrp (ActFrmNewRubCri + 163)
#define ActExpSeeDocGrp (ActFrmNewRubCri + 164)
#define ActConSeeDocGrp (ActFrmNewRubCri + 165)
#define ActZIPSeeDocGrp (ActFrmNewRubCri + 166)
#define ActReqDatSeeDocGrp (ActFrmNewRubCri + 167)
#define ActDowSeeDocGrp (ActFrmNewRubCri + 168)
#define ActSeeDocGrp (ActChgMaxRubCri + 163)
#define ActExpSeeDocGrp (ActChgMaxRubCri + 164)
#define ActConSeeDocGrp (ActChgMaxRubCri + 165)
#define ActZIPSeeDocGrp (ActChgMaxRubCri + 166)
#define ActReqDatSeeDocGrp (ActChgMaxRubCri + 167)
#define ActDowSeeDocGrp (ActChgMaxRubCri + 168)
#define ActChgToAdmDocCrs (ActFrmNewRubCri + 169)
#define ActAdmDocCrs (ActFrmNewRubCri + 170)
#define ActReqRemFilDocCrs (ActFrmNewRubCri + 171)
#define ActRemFilDocCrs (ActFrmNewRubCri + 172)
#define ActRemFolDocCrs (ActFrmNewRubCri + 173)
#define ActCopDocCrs (ActFrmNewRubCri + 174)
#define ActPasDocCrs (ActFrmNewRubCri + 175)
#define ActRemTreDocCrs (ActFrmNewRubCri + 176)
#define ActFrmCreDocCrs (ActFrmNewRubCri + 177)
#define ActCreFolDocCrs (ActFrmNewRubCri + 178)
#define ActCreLnkDocCrs (ActFrmNewRubCri + 179)
#define ActRenFolDocCrs (ActFrmNewRubCri + 180)
#define ActRcvFilDocCrsDZ (ActFrmNewRubCri + 181)
#define ActRcvFilDocCrsCla (ActFrmNewRubCri + 182)
#define ActExpAdmDocCrs (ActFrmNewRubCri + 183)
#define ActConAdmDocCrs (ActFrmNewRubCri + 184)
#define ActZIPAdmDocCrs (ActFrmNewRubCri + 185)
#define ActUnhDocCrs (ActFrmNewRubCri + 186)
#define ActHidDocCrs (ActFrmNewRubCri + 187)
#define ActReqDatAdmDocCrs (ActFrmNewRubCri + 188)
#define ActChgDatAdmDocCrs (ActFrmNewRubCri + 189)
#define ActReqLnkAdmDocCrs (ActFrmNewRubCri + 190)
#define ActDowAdmDocCrs (ActFrmNewRubCri + 191)
#define ActChgToAdmDocCrs (ActChgMaxRubCri + 169)
#define ActAdmDocCrs (ActChgMaxRubCri + 170)
#define ActReqRemFilDocCrs (ActChgMaxRubCri + 171)
#define ActRemFilDocCrs (ActChgMaxRubCri + 172)
#define ActRemFolDocCrs (ActChgMaxRubCri + 173)
#define ActCopDocCrs (ActChgMaxRubCri + 174)
#define ActPasDocCrs (ActChgMaxRubCri + 175)
#define ActRemTreDocCrs (ActChgMaxRubCri + 176)
#define ActFrmCreDocCrs (ActChgMaxRubCri + 177)
#define ActCreFolDocCrs (ActChgMaxRubCri + 178)
#define ActCreLnkDocCrs (ActChgMaxRubCri + 179)
#define ActRenFolDocCrs (ActChgMaxRubCri + 180)
#define ActRcvFilDocCrsDZ (ActChgMaxRubCri + 181)
#define ActRcvFilDocCrsCla (ActChgMaxRubCri + 182)
#define ActExpAdmDocCrs (ActChgMaxRubCri + 183)
#define ActConAdmDocCrs (ActChgMaxRubCri + 184)
#define ActZIPAdmDocCrs (ActChgMaxRubCri + 185)
#define ActUnhDocCrs (ActChgMaxRubCri + 186)
#define ActHidDocCrs (ActChgMaxRubCri + 187)
#define ActReqDatAdmDocCrs (ActChgMaxRubCri + 188)
#define ActChgDatAdmDocCrs (ActChgMaxRubCri + 189)
#define ActReqLnkAdmDocCrs (ActChgMaxRubCri + 190)
#define ActDowAdmDocCrs (ActChgMaxRubCri + 191)
#define ActAdmDocGrp (ActFrmNewRubCri + 192)
#define ActReqRemFilDocGrp (ActFrmNewRubCri + 193)
#define ActRemFilDocGrp (ActFrmNewRubCri + 194)
#define ActRemFolDocGrp (ActFrmNewRubCri + 195)
#define ActCopDocGrp (ActFrmNewRubCri + 196)
#define ActPasDocGrp (ActFrmNewRubCri + 197)
#define ActRemTreDocGrp (ActFrmNewRubCri + 198)
#define ActFrmCreDocGrp (ActFrmNewRubCri + 199)
#define ActCreFolDocGrp (ActFrmNewRubCri + 200)
#define ActCreLnkDocGrp (ActFrmNewRubCri + 201)
#define ActRenFolDocGrp (ActFrmNewRubCri + 202)
#define ActRcvFilDocGrpDZ (ActFrmNewRubCri + 203)
#define ActRcvFilDocGrpCla (ActFrmNewRubCri + 204)
#define ActExpAdmDocGrp (ActFrmNewRubCri + 205)
#define ActConAdmDocGrp (ActFrmNewRubCri + 206)
#define ActZIPAdmDocGrp (ActFrmNewRubCri + 207)
#define ActUnhDocGrp (ActFrmNewRubCri + 208)
#define ActHidDocGrp (ActFrmNewRubCri + 209)
#define ActReqDatAdmDocGrp (ActFrmNewRubCri + 210)
#define ActChgDatAdmDocGrp (ActFrmNewRubCri + 211)
#define ActDowAdmDocGrp (ActFrmNewRubCri + 212)
#define ActAdmDocGrp (ActChgMaxRubCri + 192)
#define ActReqRemFilDocGrp (ActChgMaxRubCri + 193)
#define ActRemFilDocGrp (ActChgMaxRubCri + 194)
#define ActRemFolDocGrp (ActChgMaxRubCri + 195)
#define ActCopDocGrp (ActChgMaxRubCri + 196)
#define ActPasDocGrp (ActChgMaxRubCri + 197)
#define ActRemTreDocGrp (ActChgMaxRubCri + 198)
#define ActFrmCreDocGrp (ActChgMaxRubCri + 199)
#define ActCreFolDocGrp (ActChgMaxRubCri + 200)
#define ActCreLnkDocGrp (ActChgMaxRubCri + 201)
#define ActRenFolDocGrp (ActChgMaxRubCri + 202)
#define ActRcvFilDocGrpDZ (ActChgMaxRubCri + 203)
#define ActRcvFilDocGrpCla (ActChgMaxRubCri + 204)
#define ActExpAdmDocGrp (ActChgMaxRubCri + 205)
#define ActConAdmDocGrp (ActChgMaxRubCri + 206)
#define ActZIPAdmDocGrp (ActChgMaxRubCri + 207)
#define ActUnhDocGrp (ActChgMaxRubCri + 208)
#define ActHidDocGrp (ActChgMaxRubCri + 209)
#define ActReqDatAdmDocGrp (ActChgMaxRubCri + 210)
#define ActChgDatAdmDocGrp (ActChgMaxRubCri + 211)
#define ActDowAdmDocGrp (ActChgMaxRubCri + 212)
#define ActChgToAdmTch (ActFrmNewRubCri + 213)
#define ActChgToAdmTch (ActChgMaxRubCri + 213)
#define ActAdmTchCrs (ActFrmNewRubCri + 214)
#define ActReqRemFilTchCrs (ActFrmNewRubCri + 215)
#define ActRemFilTchCrs (ActFrmNewRubCri + 216)
#define ActRemFolTchCrs (ActFrmNewRubCri + 217)
#define ActCopTchCrs (ActFrmNewRubCri + 218)
#define ActPasTchCrs (ActFrmNewRubCri + 219)
#define ActRemTreTchCrs (ActFrmNewRubCri + 220)
#define ActFrmCreTchCrs (ActFrmNewRubCri + 221)
#define ActCreFolTchCrs (ActFrmNewRubCri + 222)
#define ActCreLnkTchCrs (ActFrmNewRubCri + 223)
#define ActRenFolTchCrs (ActFrmNewRubCri + 224)
#define ActRcvFilTchCrsDZ (ActFrmNewRubCri + 225)
#define ActRcvFilTchCrsCla (ActFrmNewRubCri + 226)
#define ActExpTchCrs (ActFrmNewRubCri + 227)
#define ActConTchCrs (ActFrmNewRubCri + 228)
#define ActZIPTchCrs (ActFrmNewRubCri + 229)
#define ActReqDatTchCrs (ActFrmNewRubCri + 230)
#define ActChgDatTchCrs (ActFrmNewRubCri + 231)
#define ActDowTchCrs (ActFrmNewRubCri + 232)
#define ActAdmTchCrs (ActChgMaxRubCri + 214)
#define ActReqRemFilTchCrs (ActChgMaxRubCri + 215)
#define ActRemFilTchCrs (ActChgMaxRubCri + 216)
#define ActRemFolTchCrs (ActChgMaxRubCri + 217)
#define ActCopTchCrs (ActChgMaxRubCri + 218)
#define ActPasTchCrs (ActChgMaxRubCri + 219)
#define ActRemTreTchCrs (ActChgMaxRubCri + 220)
#define ActFrmCreTchCrs (ActChgMaxRubCri + 221)
#define ActCreFolTchCrs (ActChgMaxRubCri + 222)
#define ActCreLnkTchCrs (ActChgMaxRubCri + 223)
#define ActRenFolTchCrs (ActChgMaxRubCri + 224)
#define ActRcvFilTchCrsDZ (ActChgMaxRubCri + 225)
#define ActRcvFilTchCrsCla (ActChgMaxRubCri + 226)
#define ActExpTchCrs (ActChgMaxRubCri + 227)
#define ActConTchCrs (ActChgMaxRubCri + 228)
#define ActZIPTchCrs (ActChgMaxRubCri + 229)
#define ActReqDatTchCrs (ActChgMaxRubCri + 230)
#define ActChgDatTchCrs (ActChgMaxRubCri + 231)
#define ActDowTchCrs (ActChgMaxRubCri + 232)
#define ActAdmTchGrp (ActFrmNewRubCri + 233)
#define ActReqRemFilTchGrp (ActFrmNewRubCri + 234)
#define ActRemFilTchGrp (ActFrmNewRubCri + 235)
#define ActRemFolTchGrp (ActFrmNewRubCri + 236)
#define ActCopTchGrp (ActFrmNewRubCri + 237)
#define ActPasTchGrp (ActFrmNewRubCri + 238)
#define ActRemTreTchGrp (ActFrmNewRubCri + 239)
#define ActFrmCreTchGrp (ActFrmNewRubCri + 240)
#define ActCreFolTchGrp (ActFrmNewRubCri + 241)
#define ActCreLnkTchGrp (ActFrmNewRubCri + 242)
#define ActRenFolTchGrp (ActFrmNewRubCri + 243)
#define ActRcvFilTchGrpDZ (ActFrmNewRubCri + 244)
#define ActRcvFilTchGrpCla (ActFrmNewRubCri + 245)
#define ActExpTchGrp (ActFrmNewRubCri + 246)
#define ActConTchGrp (ActFrmNewRubCri + 247)
#define ActZIPTchGrp (ActFrmNewRubCri + 248)
#define ActReqDatTchGrp (ActFrmNewRubCri + 249)
#define ActChgDatTchGrp (ActFrmNewRubCri + 250)
#define ActDowTchGrp (ActFrmNewRubCri + 251)
#define ActAdmTchGrp (ActChgMaxRubCri + 233)
#define ActReqRemFilTchGrp (ActChgMaxRubCri + 234)
#define ActRemFilTchGrp (ActChgMaxRubCri + 235)
#define ActRemFolTchGrp (ActChgMaxRubCri + 236)
#define ActCopTchGrp (ActChgMaxRubCri + 237)
#define ActPasTchGrp (ActChgMaxRubCri + 238)
#define ActRemTreTchGrp (ActChgMaxRubCri + 239)
#define ActFrmCreTchGrp (ActChgMaxRubCri + 240)
#define ActCreFolTchGrp (ActChgMaxRubCri + 241)
#define ActCreLnkTchGrp (ActChgMaxRubCri + 242)
#define ActRenFolTchGrp (ActChgMaxRubCri + 243)
#define ActRcvFilTchGrpDZ (ActChgMaxRubCri + 244)
#define ActRcvFilTchGrpCla (ActChgMaxRubCri + 245)
#define ActExpTchGrp (ActChgMaxRubCri + 246)
#define ActConTchGrp (ActChgMaxRubCri + 247)
#define ActZIPTchGrp (ActChgMaxRubCri + 248)
#define ActReqDatTchGrp (ActChgMaxRubCri + 249)
#define ActChgDatTchGrp (ActChgMaxRubCri + 250)
#define ActDowTchGrp (ActChgMaxRubCri + 251)
#define ActChgToAdmSha (ActFrmNewRubCri + 252)
#define ActChgToAdmSha (ActChgMaxRubCri + 252)
#define ActAdmShaCrs (ActFrmNewRubCri + 253)
#define ActReqRemFilShaCrs (ActFrmNewRubCri + 254)
#define ActRemFilShaCrs (ActFrmNewRubCri + 255)
#define ActRemFolShaCrs (ActFrmNewRubCri + 256)
#define ActCopShaCrs (ActFrmNewRubCri + 257)
#define ActPasShaCrs (ActFrmNewRubCri + 258)
#define ActRemTreShaCrs (ActFrmNewRubCri + 259)
#define ActFrmCreShaCrs (ActFrmNewRubCri + 260)
#define ActCreFolShaCrs (ActFrmNewRubCri + 261)
#define ActCreLnkShaCrs (ActFrmNewRubCri + 262)
#define ActRenFolShaCrs (ActFrmNewRubCri + 263)
#define ActRcvFilShaCrsDZ (ActFrmNewRubCri + 264)
#define ActRcvFilShaCrsCla (ActFrmNewRubCri + 265)
#define ActExpShaCrs (ActFrmNewRubCri + 266)
#define ActConShaCrs (ActFrmNewRubCri + 267)
#define ActZIPShaCrs (ActFrmNewRubCri + 268)
#define ActReqDatShaCrs (ActFrmNewRubCri + 269)
#define ActChgDatShaCrs (ActFrmNewRubCri + 270)
#define ActDowShaCrs (ActFrmNewRubCri + 271)
#define ActAdmShaCrs (ActChgMaxRubCri + 253)
#define ActReqRemFilShaCrs (ActChgMaxRubCri + 254)
#define ActRemFilShaCrs (ActChgMaxRubCri + 255)
#define ActRemFolShaCrs (ActChgMaxRubCri + 256)
#define ActCopShaCrs (ActChgMaxRubCri + 257)
#define ActPasShaCrs (ActChgMaxRubCri + 258)
#define ActRemTreShaCrs (ActChgMaxRubCri + 259)
#define ActFrmCreShaCrs (ActChgMaxRubCri + 260)
#define ActCreFolShaCrs (ActChgMaxRubCri + 261)
#define ActCreLnkShaCrs (ActChgMaxRubCri + 262)
#define ActRenFolShaCrs (ActChgMaxRubCri + 263)
#define ActRcvFilShaCrsDZ (ActChgMaxRubCri + 264)
#define ActRcvFilShaCrsCla (ActChgMaxRubCri + 265)
#define ActExpShaCrs (ActChgMaxRubCri + 266)
#define ActConShaCrs (ActChgMaxRubCri + 267)
#define ActZIPShaCrs (ActChgMaxRubCri + 268)
#define ActReqDatShaCrs (ActChgMaxRubCri + 269)
#define ActChgDatShaCrs (ActChgMaxRubCri + 270)
#define ActDowShaCrs (ActChgMaxRubCri + 271)
#define ActAdmShaGrp (ActFrmNewRubCri + 272)
#define ActReqRemFilShaGrp (ActFrmNewRubCri + 273)
#define ActRemFilShaGrp (ActFrmNewRubCri + 274)
#define ActRemFolShaGrp (ActFrmNewRubCri + 275)
#define ActCopShaGrp (ActFrmNewRubCri + 276)
#define ActPasShaGrp (ActFrmNewRubCri + 277)
#define ActRemTreShaGrp (ActFrmNewRubCri + 278)
#define ActFrmCreShaGrp (ActFrmNewRubCri + 279)
#define ActCreFolShaGrp (ActFrmNewRubCri + 280)
#define ActCreLnkShaGrp (ActFrmNewRubCri + 281)
#define ActRenFolShaGrp (ActFrmNewRubCri + 282)
#define ActRcvFilShaGrpDZ (ActFrmNewRubCri + 283)
#define ActRcvFilShaGrpCla (ActFrmNewRubCri + 284)
#define ActExpShaGrp (ActFrmNewRubCri + 285)
#define ActConShaGrp (ActFrmNewRubCri + 286)
#define ActZIPShaGrp (ActFrmNewRubCri + 287)
#define ActReqDatShaGrp (ActFrmNewRubCri + 288)
#define ActChgDatShaGrp (ActFrmNewRubCri + 289)
#define ActDowShaGrp (ActFrmNewRubCri + 290)
#define ActAdmShaGrp (ActChgMaxRubCri + 272)
#define ActReqRemFilShaGrp (ActChgMaxRubCri + 273)
#define ActRemFilShaGrp (ActChgMaxRubCri + 274)
#define ActRemFolShaGrp (ActChgMaxRubCri + 275)
#define ActCopShaGrp (ActChgMaxRubCri + 276)
#define ActPasShaGrp (ActChgMaxRubCri + 277)
#define ActRemTreShaGrp (ActChgMaxRubCri + 278)
#define ActFrmCreShaGrp (ActChgMaxRubCri + 279)
#define ActCreFolShaGrp (ActChgMaxRubCri + 280)
#define ActCreLnkShaGrp (ActChgMaxRubCri + 281)
#define ActRenFolShaGrp (ActChgMaxRubCri + 282)
#define ActRcvFilShaGrpDZ (ActChgMaxRubCri + 283)
#define ActRcvFilShaGrpCla (ActChgMaxRubCri + 284)
#define ActExpShaGrp (ActChgMaxRubCri + 285)
#define ActConShaGrp (ActChgMaxRubCri + 286)
#define ActZIPShaGrp (ActChgMaxRubCri + 287)
#define ActReqDatShaGrp (ActChgMaxRubCri + 288)
#define ActChgDatShaGrp (ActChgMaxRubCri + 289)
#define ActDowShaGrp (ActChgMaxRubCri + 290)
#define ActAdmAsgWrkCrs (ActFrmNewRubCri + 291)
#define ActAdmAsgWrkCrs (ActChgMaxRubCri + 291)
#define ActReqRemFilAsgUsr (ActFrmNewRubCri + 292)
#define ActRemFilAsgUsr (ActFrmNewRubCri + 293)
#define ActRemFolAsgUsr (ActFrmNewRubCri + 294)
#define ActCopAsgUsr (ActFrmNewRubCri + 295)
#define ActPasAsgUsr (ActFrmNewRubCri + 296)
#define ActRemTreAsgUsr (ActFrmNewRubCri + 297)
#define ActFrmCreAsgUsr (ActFrmNewRubCri + 298)
#define ActCreFolAsgUsr (ActFrmNewRubCri + 299)
#define ActCreLnkAsgUsr (ActFrmNewRubCri + 300)
#define ActRenFolAsgUsr (ActFrmNewRubCri + 301)
#define ActRcvFilAsgUsrDZ (ActFrmNewRubCri + 302)
#define ActRcvFilAsgUsrCla (ActFrmNewRubCri + 303)
#define ActExpAsgUsr (ActFrmNewRubCri + 304)
#define ActConAsgUsr (ActFrmNewRubCri + 305)
#define ActZIPAsgUsr (ActFrmNewRubCri + 306)
#define ActReqDatAsgUsr (ActFrmNewRubCri + 307)
#define ActChgDatAsgUsr (ActFrmNewRubCri + 308)
#define ActDowAsgUsr (ActFrmNewRubCri + 309)
#define ActReqRemFilAsgUsr (ActChgMaxRubCri + 292)
#define ActRemFilAsgUsr (ActChgMaxRubCri + 293)
#define ActRemFolAsgUsr (ActChgMaxRubCri + 294)
#define ActCopAsgUsr (ActChgMaxRubCri + 295)
#define ActPasAsgUsr (ActChgMaxRubCri + 296)
#define ActRemTreAsgUsr (ActChgMaxRubCri + 297)
#define ActFrmCreAsgUsr (ActChgMaxRubCri + 298)
#define ActCreFolAsgUsr (ActChgMaxRubCri + 299)
#define ActCreLnkAsgUsr (ActChgMaxRubCri + 300)
#define ActRenFolAsgUsr (ActChgMaxRubCri + 301)
#define ActRcvFilAsgUsrDZ (ActChgMaxRubCri + 302)
#define ActRcvFilAsgUsrCla (ActChgMaxRubCri + 303)
#define ActExpAsgUsr (ActChgMaxRubCri + 304)
#define ActConAsgUsr (ActChgMaxRubCri + 305)
#define ActZIPAsgUsr (ActChgMaxRubCri + 306)
#define ActReqDatAsgUsr (ActChgMaxRubCri + 307)
#define ActChgDatAsgUsr (ActChgMaxRubCri + 308)
#define ActDowAsgUsr (ActChgMaxRubCri + 309)
#define ActReqRemFilWrkUsr (ActFrmNewRubCri + 310)
#define ActRemFilWrkUsr (ActFrmNewRubCri + 311)
#define ActRemFolWrkUsr (ActFrmNewRubCri + 312)
#define ActCopWrkUsr (ActFrmNewRubCri + 313)
#define ActPasWrkUsr (ActFrmNewRubCri + 314)
#define ActRemTreWrkUsr (ActFrmNewRubCri + 315)
#define ActFrmCreWrkUsr (ActFrmNewRubCri + 316)
#define ActCreFolWrkUsr (ActFrmNewRubCri + 317)
#define ActCreLnkWrkUsr (ActFrmNewRubCri + 318)
#define ActRenFolWrkUsr (ActFrmNewRubCri + 319)
#define ActRcvFilWrkUsrDZ (ActFrmNewRubCri + 320)
#define ActRcvFilWrkUsrCla (ActFrmNewRubCri + 321)
#define ActExpWrkUsr (ActFrmNewRubCri + 322)
#define ActConWrkUsr (ActFrmNewRubCri + 323)
#define ActZIPWrkUsr (ActFrmNewRubCri + 324)
#define ActReqDatWrkUsr (ActFrmNewRubCri + 325)
#define ActChgDatWrkUsr (ActFrmNewRubCri + 326)
#define ActDowWrkUsr (ActFrmNewRubCri + 327)
#define ActReqRemFilWrkUsr (ActChgMaxRubCri + 310)
#define ActRemFilWrkUsr (ActChgMaxRubCri + 311)
#define ActRemFolWrkUsr (ActChgMaxRubCri + 312)
#define ActCopWrkUsr (ActChgMaxRubCri + 313)
#define ActPasWrkUsr (ActChgMaxRubCri + 314)
#define ActRemTreWrkUsr (ActChgMaxRubCri + 315)
#define ActFrmCreWrkUsr (ActChgMaxRubCri + 316)
#define ActCreFolWrkUsr (ActChgMaxRubCri + 317)
#define ActCreLnkWrkUsr (ActChgMaxRubCri + 318)
#define ActRenFolWrkUsr (ActChgMaxRubCri + 319)
#define ActRcvFilWrkUsrDZ (ActChgMaxRubCri + 320)
#define ActRcvFilWrkUsrCla (ActChgMaxRubCri + 321)
#define ActExpWrkUsr (ActChgMaxRubCri + 322)
#define ActConWrkUsr (ActChgMaxRubCri + 323)
#define ActZIPWrkUsr (ActChgMaxRubCri + 324)
#define ActReqDatWrkUsr (ActChgMaxRubCri + 325)
#define ActChgDatWrkUsr (ActChgMaxRubCri + 326)
#define ActDowWrkUsr (ActChgMaxRubCri + 327)
#define ActReqRemFilAsgCrs (ActFrmNewRubCri + 328)
#define ActRemFilAsgCrs (ActFrmNewRubCri + 329)
#define ActRemFolAsgCrs (ActFrmNewRubCri + 330)
#define ActCopAsgCrs (ActFrmNewRubCri + 331)
#define ActPasAsgCrs (ActFrmNewRubCri + 332)
#define ActRemTreAsgCrs (ActFrmNewRubCri + 333)
#define ActFrmCreAsgCrs (ActFrmNewRubCri + 334)
#define ActCreFolAsgCrs (ActFrmNewRubCri + 335)
#define ActCreLnkAsgCrs (ActFrmNewRubCri + 336)
#define ActRenFolAsgCrs (ActFrmNewRubCri + 337)
#define ActRcvFilAsgCrsDZ (ActFrmNewRubCri + 338)
#define ActRcvFilAsgCrsCla (ActFrmNewRubCri + 339)
#define ActExpAsgCrs (ActFrmNewRubCri + 340)
#define ActConAsgCrs (ActFrmNewRubCri + 341)
#define ActZIPAsgCrs (ActFrmNewRubCri + 342)
#define ActReqDatAsgCrs (ActFrmNewRubCri + 343)
#define ActChgDatAsgCrs (ActFrmNewRubCri + 344)
#define ActDowAsgCrs (ActFrmNewRubCri + 345)
#define ActReqRemFilAsgCrs (ActChgMaxRubCri + 328)
#define ActRemFilAsgCrs (ActChgMaxRubCri + 329)
#define ActRemFolAsgCrs (ActChgMaxRubCri + 330)
#define ActCopAsgCrs (ActChgMaxRubCri + 331)
#define ActPasAsgCrs (ActChgMaxRubCri + 332)
#define ActRemTreAsgCrs (ActChgMaxRubCri + 333)
#define ActFrmCreAsgCrs (ActChgMaxRubCri + 334)
#define ActCreFolAsgCrs (ActChgMaxRubCri + 335)
#define ActCreLnkAsgCrs (ActChgMaxRubCri + 336)
#define ActRenFolAsgCrs (ActChgMaxRubCri + 337)
#define ActRcvFilAsgCrsDZ (ActChgMaxRubCri + 338)
#define ActRcvFilAsgCrsCla (ActChgMaxRubCri + 339)
#define ActExpAsgCrs (ActChgMaxRubCri + 340)
#define ActConAsgCrs (ActChgMaxRubCri + 341)
#define ActZIPAsgCrs (ActChgMaxRubCri + 342)
#define ActReqDatAsgCrs (ActChgMaxRubCri + 343)
#define ActChgDatAsgCrs (ActChgMaxRubCri + 344)
#define ActDowAsgCrs (ActChgMaxRubCri + 345)
#define ActReqRemFilWrkCrs (ActFrmNewRubCri + 346)
#define ActRemFilWrkCrs (ActFrmNewRubCri + 347)
#define ActRemFolWrkCrs (ActFrmNewRubCri + 348)
#define ActCopWrkCrs (ActFrmNewRubCri + 349)
#define ActPasWrkCrs (ActFrmNewRubCri + 350)
#define ActRemTreWrkCrs (ActFrmNewRubCri + 351)
#define ActFrmCreWrkCrs (ActFrmNewRubCri + 352)
#define ActCreFolWrkCrs (ActFrmNewRubCri + 353)
#define ActCreLnkWrkCrs (ActFrmNewRubCri + 354)
#define ActRenFolWrkCrs (ActFrmNewRubCri + 355)
#define ActRcvFilWrkCrsDZ (ActFrmNewRubCri + 356)
#define ActRcvFilWrkCrsCla (ActFrmNewRubCri + 357)
#define ActExpWrkCrs (ActFrmNewRubCri + 358)
#define ActConWrkCrs (ActFrmNewRubCri + 359)
#define ActZIPWrkCrs (ActFrmNewRubCri + 360)
#define ActReqDatWrkCrs (ActFrmNewRubCri + 361)
#define ActChgDatWrkCrs (ActFrmNewRubCri + 362)
#define ActDowWrkCrs (ActFrmNewRubCri + 363)
#define ActReqRemFilWrkCrs (ActChgMaxRubCri + 346)
#define ActRemFilWrkCrs (ActChgMaxRubCri + 347)
#define ActRemFolWrkCrs (ActChgMaxRubCri + 348)
#define ActCopWrkCrs (ActChgMaxRubCri + 349)
#define ActPasWrkCrs (ActChgMaxRubCri + 350)
#define ActRemTreWrkCrs (ActChgMaxRubCri + 351)
#define ActFrmCreWrkCrs (ActChgMaxRubCri + 352)
#define ActCreFolWrkCrs (ActChgMaxRubCri + 353)
#define ActCreLnkWrkCrs (ActChgMaxRubCri + 354)
#define ActRenFolWrkCrs (ActChgMaxRubCri + 355)
#define ActRcvFilWrkCrsDZ (ActChgMaxRubCri + 356)
#define ActRcvFilWrkCrsCla (ActChgMaxRubCri + 357)
#define ActExpWrkCrs (ActChgMaxRubCri + 358)
#define ActConWrkCrs (ActChgMaxRubCri + 359)
#define ActZIPWrkCrs (ActChgMaxRubCri + 360)
#define ActReqDatWrkCrs (ActChgMaxRubCri + 361)
#define ActChgDatWrkCrs (ActChgMaxRubCri + 362)
#define ActDowWrkCrs (ActChgMaxRubCri + 363)
#define ActChgToSeeMrk (ActFrmNewRubCri + 364)
#define ActChgToSeeMrk (ActChgMaxRubCri + 364)
#define ActSeeMrkCrs (ActFrmNewRubCri + 365)
#define ActExpSeeMrkCrs (ActFrmNewRubCri + 366)
#define ActConSeeMrkCrs (ActFrmNewRubCri + 367)
#define ActReqDatSeeMrkCrs (ActFrmNewRubCri + 368)
#define ActReqLnkSeeMrkCrs (ActFrmNewRubCri + 369)
#define ActSeeMyMrkCrs (ActFrmNewRubCri + 370)
#define ActSeeMrkCrs (ActChgMaxRubCri + 365)
#define ActExpSeeMrkCrs (ActChgMaxRubCri + 366)
#define ActConSeeMrkCrs (ActChgMaxRubCri + 367)
#define ActReqDatSeeMrkCrs (ActChgMaxRubCri + 368)
#define ActReqLnkSeeMrkCrs (ActChgMaxRubCri + 369)
#define ActSeeMyMrkCrs (ActChgMaxRubCri + 370)
#define ActSeeMrkGrp (ActFrmNewRubCri + 371)
#define ActExpSeeMrkGrp (ActFrmNewRubCri + 372)
#define ActConSeeMrkGrp (ActFrmNewRubCri + 373)
#define ActReqDatSeeMrkGrp (ActFrmNewRubCri + 374)
#define ActSeeMyMrkGrp (ActFrmNewRubCri + 375)
#define ActSeeMrkGrp (ActChgMaxRubCri + 371)
#define ActExpSeeMrkGrp (ActChgMaxRubCri + 372)
#define ActConSeeMrkGrp (ActChgMaxRubCri + 373)
#define ActReqDatSeeMrkGrp (ActChgMaxRubCri + 374)
#define ActSeeMyMrkGrp (ActChgMaxRubCri + 375)
#define ActChgToAdmMrk (ActFrmNewRubCri + 376)
#define ActChgToAdmMrk (ActChgMaxRubCri + 376)
#define ActAdmMrkCrs (ActFrmNewRubCri + 377)
#define ActReqRemFilMrkCrs (ActFrmNewRubCri + 378)
#define ActRemFilMrkCrs (ActFrmNewRubCri + 379)
#define ActRemFolMrkCrs (ActFrmNewRubCri + 380)
#define ActCopMrkCrs (ActFrmNewRubCri + 381)
#define ActPasMrkCrs (ActFrmNewRubCri + 382)
#define ActRemTreMrkCrs (ActFrmNewRubCri + 383)
#define ActFrmCreMrkCrs (ActFrmNewRubCri + 384)
#define ActCreFolMrkCrs (ActFrmNewRubCri + 385)
#define ActRenFolMrkCrs (ActFrmNewRubCri + 386)
#define ActRcvFilMrkCrsDZ (ActFrmNewRubCri + 387)
#define ActRcvFilMrkCrsCla (ActFrmNewRubCri + 388)
#define ActExpAdmMrkCrs (ActFrmNewRubCri + 389)
#define ActConAdmMrkCrs (ActFrmNewRubCri + 390)
#define ActZIPAdmMrkCrs (ActFrmNewRubCri + 391)
#define ActUnhMrkCrs (ActFrmNewRubCri + 392)
#define ActHidMrkCrs (ActFrmNewRubCri + 393)
#define ActReqDatAdmMrkCrs (ActFrmNewRubCri + 394)
#define ActChgDatAdmMrkCrs (ActFrmNewRubCri + 395)
#define ActReqLnkAdmMrkCrs (ActFrmNewRubCri + 396)
#define ActDowAdmMrkCrs (ActFrmNewRubCri + 397)
#define ActChgNumRowHeaCrs (ActFrmNewRubCri + 398)
#define ActChgNumRowFooCrs (ActFrmNewRubCri + 399)
#define ActAdmMrkCrs (ActChgMaxRubCri + 377)
#define ActReqRemFilMrkCrs (ActChgMaxRubCri + 378)
#define ActRemFilMrkCrs (ActChgMaxRubCri + 379)
#define ActRemFolMrkCrs (ActChgMaxRubCri + 380)
#define ActCopMrkCrs (ActChgMaxRubCri + 381)
#define ActPasMrkCrs (ActChgMaxRubCri + 382)
#define ActRemTreMrkCrs (ActChgMaxRubCri + 383)
#define ActFrmCreMrkCrs (ActChgMaxRubCri + 384)
#define ActCreFolMrkCrs (ActChgMaxRubCri + 385)
#define ActRenFolMrkCrs (ActChgMaxRubCri + 386)
#define ActRcvFilMrkCrsDZ (ActChgMaxRubCri + 387)
#define ActRcvFilMrkCrsCla (ActChgMaxRubCri + 388)
#define ActExpAdmMrkCrs (ActChgMaxRubCri + 389)
#define ActConAdmMrkCrs (ActChgMaxRubCri + 390)
#define ActZIPAdmMrkCrs (ActChgMaxRubCri + 391)
#define ActUnhMrkCrs (ActChgMaxRubCri + 392)
#define ActHidMrkCrs (ActChgMaxRubCri + 393)
#define ActReqDatAdmMrkCrs (ActChgMaxRubCri + 394)
#define ActChgDatAdmMrkCrs (ActChgMaxRubCri + 395)
#define ActReqLnkAdmMrkCrs (ActChgMaxRubCri + 396)
#define ActDowAdmMrkCrs (ActChgMaxRubCri + 397)
#define ActChgNumRowHeaCrs (ActChgMaxRubCri + 398)
#define ActChgNumRowFooCrs (ActChgMaxRubCri + 399)
#define ActAdmMrkGrp (ActFrmNewRubCri + 400)
#define ActReqRemFilMrkGrp (ActFrmNewRubCri + 401)
#define ActRemFilMrkGrp (ActFrmNewRubCri + 402)
#define ActRemFolMrkGrp (ActFrmNewRubCri + 403)
#define ActCopMrkGrp (ActFrmNewRubCri + 404)
#define ActPasMrkGrp (ActFrmNewRubCri + 405)
#define ActRemTreMrkGrp (ActFrmNewRubCri + 406)
#define ActFrmCreMrkGrp (ActFrmNewRubCri + 407)
#define ActCreFolMrkGrp (ActFrmNewRubCri + 408)
#define ActRenFolMrkGrp (ActFrmNewRubCri + 409)
#define ActRcvFilMrkGrpDZ (ActFrmNewRubCri + 410)
#define ActRcvFilMrkGrpCla (ActFrmNewRubCri + 411)
#define ActExpAdmMrkGrp (ActFrmNewRubCri + 412)
#define ActConAdmMrkGrp (ActFrmNewRubCri + 413)
#define ActZIPAdmMrkGrp (ActFrmNewRubCri + 414)
#define ActUnhMrkGrp (ActFrmNewRubCri + 415)
#define ActHidMrkGrp (ActFrmNewRubCri + 416)
#define ActReqDatAdmMrkGrp (ActFrmNewRubCri + 417)
#define ActChgDatAdmMrkGrp (ActFrmNewRubCri + 418)
#define ActDowAdmMrkGrp (ActFrmNewRubCri + 419)
#define ActChgNumRowHeaGrp (ActFrmNewRubCri + 420)
#define ActChgNumRowFooGrp (ActFrmNewRubCri + 421)
#define ActAdmMrkGrp (ActChgMaxRubCri + 400)
#define ActReqRemFilMrkGrp (ActChgMaxRubCri + 401)
#define ActRemFilMrkGrp (ActChgMaxRubCri + 402)
#define ActRemFolMrkGrp (ActChgMaxRubCri + 403)
#define ActCopMrkGrp (ActChgMaxRubCri + 404)
#define ActPasMrkGrp (ActChgMaxRubCri + 405)
#define ActRemTreMrkGrp (ActChgMaxRubCri + 406)
#define ActFrmCreMrkGrp (ActChgMaxRubCri + 407)
#define ActCreFolMrkGrp (ActChgMaxRubCri + 408)
#define ActRenFolMrkGrp (ActChgMaxRubCri + 409)
#define ActRcvFilMrkGrpDZ (ActChgMaxRubCri + 410)
#define ActRcvFilMrkGrpCla (ActChgMaxRubCri + 411)
#define ActExpAdmMrkGrp (ActChgMaxRubCri + 412)
#define ActConAdmMrkGrp (ActChgMaxRubCri + 413)
#define ActZIPAdmMrkGrp (ActChgMaxRubCri + 414)
#define ActUnhMrkGrp (ActChgMaxRubCri + 415)
#define ActHidMrkGrp (ActChgMaxRubCri + 416)
#define ActReqDatAdmMrkGrp (ActChgMaxRubCri + 417)
#define ActChgDatAdmMrkGrp (ActChgMaxRubCri + 418)
#define ActDowAdmMrkGrp (ActChgMaxRubCri + 419)
#define ActChgNumRowHeaGrp (ActChgMaxRubCri + 420)
#define ActChgNumRowFooGrp (ActChgMaxRubCri + 421)
#define ActReqRemFilBrf (ActFrmNewRubCri + 422)
#define ActRemFilBrf (ActFrmNewRubCri + 423)
#define ActRemFolBrf (ActFrmNewRubCri + 424)
#define ActCopBrf (ActFrmNewRubCri + 425)
#define ActPasBrf (ActFrmNewRubCri + 426)
#define ActRemTreBrf (ActFrmNewRubCri + 427)
#define ActFrmCreBrf (ActFrmNewRubCri + 428)
#define ActCreFolBrf (ActFrmNewRubCri + 429)
#define ActCreLnkBrf (ActFrmNewRubCri + 430)
#define ActRenFolBrf (ActFrmNewRubCri + 431)
#define ActRcvFilBrfDZ (ActFrmNewRubCri + 432)
#define ActRcvFilBrfCla (ActFrmNewRubCri + 433)
#define ActExpBrf (ActFrmNewRubCri + 434)
#define ActConBrf (ActFrmNewRubCri + 435)
#define ActZIPBrf (ActFrmNewRubCri + 436)
#define ActReqDatBrf (ActFrmNewRubCri + 437)
#define ActChgDatBrf (ActFrmNewRubCri + 438)
#define ActDowBrf (ActFrmNewRubCri + 439)
#define ActReqRemOldBrf (ActFrmNewRubCri + 440)
#define ActRemOldBrf (ActFrmNewRubCri + 441)
#define ActReqRemFilBrf (ActChgMaxRubCri + 422)
#define ActRemFilBrf (ActChgMaxRubCri + 423)
#define ActRemFolBrf (ActChgMaxRubCri + 424)
#define ActCopBrf (ActChgMaxRubCri + 425)
#define ActPasBrf (ActChgMaxRubCri + 426)
#define ActRemTreBrf (ActChgMaxRubCri + 427)
#define ActFrmCreBrf (ActChgMaxRubCri + 428)
#define ActCreFolBrf (ActChgMaxRubCri + 429)
#define ActCreLnkBrf (ActChgMaxRubCri + 430)
#define ActRenFolBrf (ActChgMaxRubCri + 431)
#define ActRcvFilBrfDZ (ActChgMaxRubCri + 432)
#define ActRcvFilBrfCla (ActChgMaxRubCri + 433)
#define ActExpBrf (ActChgMaxRubCri + 434)
#define ActConBrf (ActChgMaxRubCri + 435)
#define ActZIPBrf (ActChgMaxRubCri + 436)
#define ActReqDatBrf (ActChgMaxRubCri + 437)
#define ActChgDatBrf (ActChgMaxRubCri + 438)
#define ActDowBrf (ActChgMaxRubCri + 439)
#define ActReqRemOldBrf (ActChgMaxRubCri + 440)
#define ActRemOldBrf (ActChgMaxRubCri + 441)
/*****************************************************************************/
/******************************* Users tab ***********************************/
@ -1760,7 +1768,7 @@
#define ActLst_NUM_ACTIONS (ActChgMyTT1stDay + 1)
#define ActLst_MAX_ACTION_COD 1959
#define ActLst_MAX_ACTION_COD 1967
#define ActLst_DEFAULT_ACTION_AFTER_LOGIN ActSeeGblTL

View File

@ -1354,7 +1354,7 @@ void Agd_MakeEventPublic (void)
/******************** Put a form to create a new event ***********************/
/*****************************************************************************/
void Agd_RequestCreatOrEditEvent (void)
void Agd_ReqCreatOrEditEvent (void)
{
extern const char *Hlp_PROFILE_Agenda_new_event;
extern const char *Hlp_PROFILE_Agenda_edit_event;
@ -1590,7 +1590,7 @@ void Agd_ReceiveFormEvent (void)
}
else
// TODO: The form should be filled with partial data, now is always empty
Agd_RequestCreatOrEditEvent ();
Agd_ReqCreatOrEditEvent ();
}
/*****************************************************************************/

View File

@ -111,7 +111,7 @@ void Agd_GetParsAndShowMyAgenda (void);
void Agd_ShowUsrAgenda (void);
void Agd_ShowOtherAgendaAfterLogIn (void);
void Agd_RequestCreatOrEditEvent (void);
void Agd_ReqCreatOrEditEvent (void);
void Agd_PutParsMyAgenda (unsigned Past__FutureEvents,
unsigned PrivatPublicEvents,

View File

@ -1144,7 +1144,7 @@ void Asg_UnhideAssignment (void)
/****************** Put a form to create a new assignment ********************/
/*****************************************************************************/
void Asg_RequestCreatOrEditAsg (void)
void Asg_ReqCreatOrEditAsg (void)
{
extern const char *Hlp_ASSESSMENT_Assignments_new_assignment;
extern const char *Hlp_ASSESSMENT_Assignments_edit_assignment;
@ -1527,7 +1527,7 @@ void Asg_ReceiveFormAssignment (void)
}
else
// TODO: The form should be filled with partial data, now is always empty
Asg_RequestCreatOrEditAsg ();
Asg_ReqCreatOrEditAsg ();
}
/*****************************************************************************/

View File

@ -90,7 +90,7 @@ void Asg_ShowOneAssignmentInBox (struct Asg_Assignments *Assignments);
Dat_StartEndTime_t Asg_GetParAsgOrder (void);
void Asg_RequestCreatOrEditAsg (void);
void Asg_ReqCreatOrEditAsg (void);
void Asg_GetDataOfAssignmentByCod (struct Asg_Assignment *Asg);
void Asg_GetDataOfAssignmentByFolder (struct Asg_Assignment *Asg);

View File

@ -937,7 +937,7 @@ void Att_UnhideAttEvent (void)
/*************** Put a form to create a new attendance event *****************/
/*****************************************************************************/
void Att_RequestCreatOrEditAttEvent (void)
void Att_ReqCreatOrEditAttEvent (void)
{
extern const char *Hlp_USERS_Attendance_new_event;
extern const char *Hlp_USERS_Attendance_edit_event;
@ -1252,7 +1252,7 @@ void Att_ReceiveFormAttEvent (void)
Grp_FreeListCodSelectedGrps ();
}
else
Att_RequestCreatOrEditAttEvent ();
Att_ReqCreatOrEditAttEvent ();
/***** Show attendance events again *****/
Att_SeeAttEvents ();

View File

@ -87,7 +87,7 @@ void Att_SeeAttEvents (void);
bool Att_CheckIfICanEditAttEvents (void);
void Att_RequestCreatOrEditAttEvent (void);
void Att_ReqCreatOrEditAttEvent (void);
bool Att_GetDataOfAttEventByCod (struct Att_Event *Event);
void Att_AskRemAttEvent (void);

View File

@ -396,7 +396,7 @@ void Cfe_PrintCallForExam (void)
/************************** Remove a call for exam ***************************/
/*****************************************************************************/
void Cfe_ReqRemoveCallForExam (void)
void Cfe_ReqRemCallForExam (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_following_call_for_exam;
struct Cfe_CallsForExams CallsForExams;

View File

@ -112,7 +112,7 @@ void Cfe_FreeMemCallForExam (struct Cfe_CallsForExams *CallsForExams);
void Cfe_ReceiveCallForExam1 (void);
void Cfe_ReceiveCallForExam2 (void);
void Cfe_PrintCallForExam (void);
void Cfe_ReqRemoveCallForExam (void);
void Cfe_ReqRemCallForExam (void);
void Cfe_RemoveCallForExam1 (void);
void Cfe_RemoveCallForExam2 (void);
void Cfe_HideCallForExam (void);

View File

@ -796,7 +796,7 @@ static void CtrCfg_NumCrss (void)
/*********** Show a form for sending a logo of the current center ************/
/*****************************************************************************/
void CtrCfg_RequestLogo (void)
void CtrCfg_ReqLogo (void)
{
Lgo_RequestLogo (HieLvl_CTR);
}
@ -823,7 +823,7 @@ void CtrCfg_RemoveLogo (void)
/*********** Show a form for sending a photo of the current center ***********/
/*****************************************************************************/
void CtrCfg_RequestPhoto (void)
void CtrCfg_ReqPhoto (void)
{
extern const char *Txt_Photo;
extern const char *Txt_Recommended_aspect_ratio;

View File

@ -30,10 +30,10 @@
void CtrCfg_ShowConfiguration (void);
void CtrCfg_PrintConfiguration (void);
void CtrCfg_RequestLogo (void);
void CtrCfg_ReqLogo (void);
void CtrCfg_ReceiveLogo (void);
void CtrCfg_RemoveLogo (void);
void CtrCfg_RequestPhoto (void);
void CtrCfg_ReqPhoto (void);
void CtrCfg_ReceivePhoto (void);
void CtrCfg_ChangeCtrPhotoAttr (void);
void CtrCfg_ChangeCtrIns (void);

View File

@ -629,10 +629,19 @@ TODO: Emilce Barrera Mesa: Podr
TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen.
*/
#define Log_PLATFORM_VERSION "SWAD 22.74.2 (2023-03-10)"
#define Log_PLATFORM_VERSION "SWAD 22.75 (2023-03-17)"
#define CSS_FILE "swad22.57.1.css"
#define JS_FILE "swad22.49.js"
/*
Version 22.75.1: Mar 17, 2023 Fixed up and down criteria. (? lines)
Version 22.75: Mar 17, 2023 New module swad_rubric_criteria. (337631 lines)
Code refactoring in exams.
2 changes necessary in database:
DROP TABLE IF EXISTS rub_criteria;
CREATE TABLE IF NOT EXISTS rub_criteria (CriCod INT NOT NULL AUTO_INCREMENT,RubCod INT NOT NULL,CriInd INT NOT NULL,MinVal DOUBLE PRECISION NOT NULL DEFAULT 0,MaxVal DOUBLE PRECISION NOT NULL DEFAULT 1,Title VARCHAR(2047) NOT NULL,UNIQUE INDEX(CriCod),UNIQUE INDEX(RubCod,CriInd));
If you want to use MyISAM:
ALTER TABLE rub_criteria ENGINE=MyISAM;
Version 22.74.2: Mar 10, 2023 Fixed bugs in exam sets. (336744 lines)
Version 22.74.1: Mar 10, 2023 Fixed links to help. (336741 lines)
Version 22.74: Mar 10, 2023 New module swad_parameter_code. (336740 lines)

View File

@ -2799,21 +2799,27 @@ mysql> DESCRIBE roo_check_in;
/***** Table rub_criteria *****/
/*
mysql> DESCRIBE rub_criteria;
+--------+------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+------+------+-----+---------+-------+
| RubCod | int | NO | PRI | NULL | |
| CriInd | int | NO | PRI | NULL | |
| CriCod | int | NO | | NULL | |
+--------+------+------+-----+---------+-------+
3 rows in set (0,00 sec)
+--------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------------+------+-----+---------+----------------+
| CriCod | int | NO | PRI | NULL | auto_increment |
| RubCod | int | NO | MUL | NULL | |
| CriInd | int | NO | | NULL | |
| MinVal | double | NO | | 0 | |
| MaxVal | double | NO | | 1 | |
| Title | varchar(2047) | NO | | NULL | |
+--------+---------------+------+-----+---------+----------------+
6 rows in set (0,00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS rub_criteria ("
"CriCod INT NOT NULL AUTO_INCREMENT,"
"RubCod INT NOT NULL,"
"CriInd INT NOT NULL,"
"CriCod INT NOT NULL,"
"UNIQUE INDEX(RubCod,CriInd),"
"UNIQUE INDEX(RubCod,CriCod))");
"MinVal DOUBLE PRECISION NOT NULL DEFAULT 0,"
"MaxVal DOUBLE PRECISION NOT NULL DEFAULT 1,"
"Title VARCHAR(2047) NOT NULL,"
"UNIQUE INDEX(CriCod),"
"UNIQUE INDEX(RubCod,CriInd))");
/***** Table rub_rubrics *****/
/*

View File

@ -1535,33 +1535,6 @@ static void Deg_ShowAlertAndButtonToGoToDeg (void)
Ale_ShowAlerts (NULL);
}
/*****************************************************************************/
/*********** Show a form for sending a logo of the current degree ************/
/*****************************************************************************/
void Deg_RequestLogo (void)
{
Lgo_RequestLogo (HieLvl_DEG);
}
/*****************************************************************************/
/***************** Receive the logo of the current degree ********************/
/*****************************************************************************/
void Deg_ReceiveLogo (void)
{
Lgo_ReceiveLogo (HieLvl_DEG);
}
/*****************************************************************************/
/****************** Remove the logo of the current degree ********************/
/*****************************************************************************/
void Deg_RemoveLogo (void)
{
Lgo_RemoveLogo (HieLvl_DEG);
}
/*****************************************************************************/
/*********************** Get total number of degrees *************************/
/*****************************************************************************/

View File

@ -102,10 +102,6 @@ void Deg_ChangeDegWWW (void);
void Deg_ChangeDegStatus (void);
void Deg_ContEditAfterChgDeg (void);
void Deg_RequestLogo (void);
void Deg_ReceiveLogo (void);
void Deg_RemoveLogo (void);
unsigned Deg_GetCachedNumDegsInSys (void);
void Deg_FlushCacheNumDegsInCty (void);

View File

@ -442,6 +442,33 @@ void DegCfg_ChangeDegWWW (void)
DegCfg_ShowConfiguration ();
}
/*****************************************************************************/
/*********** Show a form for sending a logo of the current degree ************/
/*****************************************************************************/
void DegCfg_ReqLogo (void)
{
Lgo_RequestLogo (HieLvl_DEG);
}
/*****************************************************************************/
/***************** Receive the logo of the current degree ********************/
/*****************************************************************************/
void DegCfg_ReceiveLogo (void)
{
Lgo_ReceiveLogo (HieLvl_DEG);
}
/*****************************************************************************/
/****************** Remove the logo of the current degree ********************/
/*****************************************************************************/
void DegCfg_RemoveLogo (void)
{
Lgo_RemoveLogo (HieLvl_DEG);
}
/*****************************************************************************/
/** Show message of success after changing a degree in degree configuration **/
/*****************************************************************************/

View File

@ -34,6 +34,9 @@ void DegCfg_ChangeDegCtr (void);
void DegCfg_RenameDegreeShort (void);
void DegCfg_RenameDegreeFull (void);
void DegCfg_ChangeDegWWW (void);
void DegCfg_ReqLogo (void);
void DegCfg_ReceiveLogo (void);
void DegCfg_RemoveLogo (void);
void DegCfg_ContEditAfterChgDeg (void);
#endif

View File

@ -1226,10 +1226,10 @@ static void Exa_HideUnhideExam (bool Hide)
}
/*****************************************************************************/
/**************** Request the creation or edition of an exam ******************/
/*************** Request the creation or edition of an exam ******************/
/*****************************************************************************/
void Exa_RequestCreatOrEditExam (void)
void Exa_ReqCreatOrEditExam (void)
{
struct Exa_Exams Exams;
struct ExaSet_Set Set;
@ -1427,8 +1427,7 @@ void Exa_ReceiveFormExam (void)
if (!ItsANewExam)
Exa_GetDataOfExamByCod (&Exams.Exam);
/***** If I can edit exams ==>
overwrite some exam data with the data received from form *****/
/***** Overwrite some exam data with the data received from form *****/
Exa_ReceiveExamFieldsFromForm (&Exams.Exam,Txt);
if (Exa_CheckExamFieldsReceivedFromForm (&Exams.Exam))
{
@ -1444,7 +1443,7 @@ void Exa_ReceiveFormExam (void)
/***** Show current exam and its sets *****/
Exa_PutFormsOneExam (&Exams,&Set,
ItsANewExam); // It's not a new exam
ItsANewExam);
}
static void Exa_ReceiveExamFieldsFromForm (struct Exa_Exam *Exam,

View File

@ -67,7 +67,7 @@ void Exa_RemoveCrsExams (long CrsCod);
void Exa_HideExam (void);
void Exa_UnhideExam (void);
void Exa_RequestCreatOrEditExam (void);
void Exa_ReqCreatOrEditExam (void);
void Exa_PutFormsOneExam (struct Exa_Exams *Exams,
struct ExaSet_Set *Set,
bool ItsANewExam);

View File

@ -1,5 +1,4 @@
// swad_exam_database.c: exams operations with database
/*
SWAD (Shared Workspace At a Distance),
is a web platform developed at the University of Granada (Spain),
@ -524,7 +523,7 @@ void Exa_DB_RemoveAllExamsFromCrs (long CrsCod)
/********************** Create a new set of questions ************************/
/*****************************************************************************/
long Exa_DB_CreateSet (const struct ExaSet_Set *Set,unsigned SetInd)
long Exa_DB_CreateSet (const struct ExaSet_Set *Set)
{
return
DB_QueryINSERTandReturnCode ("can not create new set of questions",
@ -533,31 +532,11 @@ long Exa_DB_CreateSet (const struct ExaSet_Set *Set,unsigned SetInd)
" VALUES"
" (%ld,%u,%u,'%s')",
Set->ExaCod,
SetInd,
Set->SetInd,
Set->NumQstsToPrint,
Set->Title);
}
/*****************************************************************************/
/******************** Update an existing set of questions ********************/
/*****************************************************************************/
void Exa_DB_UpdateSet (const struct ExaSet_Set *Set)
{
DB_QueryUPDATE ("can not update set of questions",
"UPDATE exa_sets"
" SET ExaCod=%ld,"
"SetInd=%u,"
"NumQstsToPrint=%u,"
"Title='%s'"
" WHERE SetCod=%ld",
Set->ExaCod,
Set->SetInd,
Set->NumQstsToPrint,
Set->Title,
Set->SetCod);
}
/*****************************************************************************/
/************************ Update set title in database ***********************/
/*****************************************************************************/
@ -565,7 +544,6 @@ void Exa_DB_UpdateSet (const struct ExaSet_Set *Set)
void Exa_DB_UpdateSetTitle (long SetCod,long ExaCod,
const char NewTitle[ExaSet_MAX_BYTES_TITLE + 1])
{
/***** Update set of questions changing old title by new title *****/
DB_QueryUPDATE ("can not update the title of a set of questions",
"UPDATE exa_sets"
" SET Title='%s'"
@ -597,7 +575,7 @@ void Exa_DB_UpdateNumQstsToExam (long SetCod,long ExaCod,unsigned NumQstsToPrint
/************ Change indexes of sets greater than a given index **************/
/*****************************************************************************/
void Exa_DB_UpdateSetIndexesInExamGreaterThan (long ExaCod,long SetInd)
void Exa_DB_UpdateSetIndexesInExamGreaterThan (long ExaCod,unsigned SetInd)
{
DB_QueryUPDATE ("can not update indexes of sets",
"UPDATE exa_sets"

View File

@ -54,12 +54,11 @@ void Exa_DB_RemoveExam (long ExaCod);
void Exa_DB_RemoveAllExamsFromCrs (long CrsCod);
//--------------------------------- Sets --------------------------------------
long Exa_DB_CreateSet (const struct ExaSet_Set *Set,unsigned SetInd);
void Exa_DB_UpdateSet (const struct ExaSet_Set *Set);
long Exa_DB_CreateSet (const struct ExaSet_Set *Set);
void Exa_DB_UpdateSetTitle (long SetCod,long ExaCod,
const char NewTitle[ExaSet_MAX_BYTES_TITLE + 1]);
void Exa_DB_UpdateNumQstsToExam (long SetCod,long ExaCod,unsigned NumQstsToPrint);
void Exa_DB_UpdateSetIndexesInExamGreaterThan (long ExaCod,long SetInd);
void Exa_DB_UpdateSetIndexesInExamGreaterThan (long ExaCod,unsigned SetInd);
void Exa_DB_UpdateSetIndex (long SetInd,long SetCod,long ExaCod);
void Exa_DB_LockTables (void);
unsigned Exa_DB_GetNumSetsExam (long ExaCod);

View File

@ -722,7 +722,7 @@ static void ExaPrn_WriteQstAndAnsToFill (const struct ExaPrn_Print *Print,
/***** Number of question and answer type *****/
HTM_TD_Begin ("class=\"RT\"");
Qst_WriteNumQst (QstInd + 1,"BIG_INDEX");
Lay_WriteIndex (QstInd + 1,"BIG_INDEX");
Qst_WriteAnswerType (Question->Answer.Type,"DAT_SMALL");
HTM_TD_End ();

View File

@ -1885,7 +1885,7 @@ static void ExaRes_WriteQstAndAnsExam (struct Usr_Data *UsrDat,
/***** Number of question and answer type *****/
HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ());
Qst_WriteNumQst (QstInd + 1,ClassNumQst[Question->Validity]);
Lay_WriteIndex (QstInd + 1,ClassNumQst[Question->Validity]);
Qst_WriteAnswerType (Question->Answer.Type,
ClassAnswerType[Question->Validity]);
HTM_TD_End ();

View File

@ -784,7 +784,7 @@ static void ExaSes_GetSessionDataFromRow (MYSQL_RES *mysql_res,
/********** Request the removal of an exam session (exam instance) ***********/
/*****************************************************************************/
void ExaSes_RequestRemoveSession (void)
void ExaSes_ReqRemSession (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_session_X;
extern const char *Txt_Remove_session;
@ -1108,7 +1108,7 @@ void ExaSes_PutButtonNewSession (struct Exa_Exams *Exams)
/****************** Request the creation of a new session ********************/
/*****************************************************************************/
void ExaSes_RequestCreatOrEditSes (void)
void ExaSes_ReqCreatOrEditSes (void)
{
struct Exa_Exams Exams;
struct ExaSes_Session Session;

View File

@ -57,7 +57,7 @@ void ExaSes_GetDataOfSessionByCod (struct ExaSes_Session *Session);
void ExaSes_ToggleVisResultsSesUsr (void);
void ExaSes_RequestRemoveSession (void);
void ExaSes_ReqRemSession (void);
void ExaSes_RemoveSession (void);
void ExaSes_HideSession (void);
@ -68,7 +68,7 @@ void ExaSes_GetAndCheckPars (struct Exa_Exams *Exams,
struct ExaSes_Session *Session);
void ExaSes_PutButtonNewSession (struct Exa_Exams *Exams);
void ExaSes_RequestCreatOrEditSes (void);
void ExaSes_ReqCreatOrEditSes (void);
void ExaSes_ReceiveFormSession (void);
bool ExaSes_CheckIfICanAnswerThisSession (const struct Exa_Exam *Exam,

View File

@ -84,9 +84,6 @@ static bool ExaSet_CheckSetTitleReceivedFromForm (const struct ExaSet_Set *Set,
const char NewTitle[ExaSet_MAX_BYTES_TITLE + 1]);
static void ExaSet_CreateSet (struct ExaSet_Set *Set);
static void ExaSet_UpdateSet (const struct ExaSet_Set *Set);
static void ExaSet_PutParSetCod (long SetCod);
static void ExaSet_ListSetQuestions (struct Exa_Exams *Exams,
const struct ExaSet_Set *Set);
@ -132,7 +129,7 @@ void ExaSet_PutParsOneSet (void *Exams)
if (Exams)
{
Exa_PutPars (Exams);
ExaSet_PutParSetCod (((struct Exa_Exams *) Exams)->SetCod);
ParCod_PutPar (ParCod_Set,((struct Exa_Exams *) Exams)->SetCod);
}
}
@ -204,7 +201,7 @@ void ExaSet_GetDataOfSetByCod (struct ExaSet_Set *Set)
}
/*****************************************************************************/
/********************* Put a form to create/edit an exam **********************/
/********************* Put a form to create/edit an exam *********************/
/*****************************************************************************/
static void ExaSet_PutFormNewSet (struct Exa_Exams *Exams,
@ -235,7 +232,7 @@ static void ExaSet_PutFormNewSet (struct Exa_Exams *Exams,
/***** Index *****/
HTM_TD_Begin ("class=\"RM\"");
Qst_WriteNumQst (MaxSetInd + 1,"BIG_INDEX");
Lay_WriteIndex (MaxSetInd + 1,"BIG_INDEX");
HTM_TD_End ();
/***** Title *****/
@ -278,7 +275,6 @@ void ExaSet_ReceiveFormSet (void)
{
struct Exa_Exams Exams;
struct ExaSet_Set Set;
bool ItsANewSet;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
@ -288,8 +284,6 @@ void ExaSet_ReceiveFormSet (void)
/***** Get parameters *****/
Exa_GetPars (&Exams,true);
Set.ExaCod = Exams.Exam.ExaCod;
Exams.SetCod = Set.SetCod = ParCod_GetPar (ParCod_Set);
ItsANewSet = (Set.SetCod <= 0);
/***** Get exam data from database *****/
Exa_GetDataOfExamByCod (&Exams.Exam);
@ -301,13 +295,7 @@ void ExaSet_ReceiveFormSet (void)
/***** If I can edit exams ==> receive set from form *****/
ExaSet_ReceiveSetFieldsFromForm (&Set);
if (ExaSet_CheckSetTitleReceivedFromForm (&Set,Set.Title))
{
/***** Create a new exam or update an existing one *****/
if (ItsANewSet)
ExaSet_CreateSet (&Set); // Add new set to database
else
ExaSet_UpdateSet (&Set); // Update set data in database
}
ExaSet_CreateSet (&Set); // Add new set to database
/***** Show current exam and its sets *****/
Exa_PutFormsOneExam (&Exams,&Set,
@ -462,33 +450,19 @@ static void ExaSet_CreateSet (struct ExaSet_Set *Set)
MaxSetInd = Exa_DB_GetMaxSetIndexInExam (Set->ExaCod);
/***** Create a new exam *****/
Set->SetCod = Exa_DB_CreateSet (Set,MaxSetInd + 1);
Set->SetInd = MaxSetInd + 1;
Set->SetCod = Exa_DB_CreateSet (Set);
/***** Write success message *****/
Ale_ShowAlert (Ale_SUCCESS,Txt_Created_new_set_of_questions_X,
Set->Title);
}
/*****************************************************************************/
/******************** Update an existing set of questions ********************/
/*****************************************************************************/
static void ExaSet_UpdateSet (const struct ExaSet_Set *Set)
{
extern const char *Txt_The_set_of_questions_has_been_modified;
/***** Update the data of the set of questions *****/
Exa_DB_UpdateSet (Set);
/***** Write success message *****/
Ale_ShowAlert (Ale_SUCCESS,Txt_The_set_of_questions_has_been_modified);
}
/*****************************************************************************/
/********** Request the creation or edition of an set of questions ***********/
/*****************************************************************************/
void ExaSet_RequestCreatOrEditSet (void)
void ExaSet_ReqCreatOrEditSet (void)
{
struct Exa_Exams Exams;
struct ExaSet_Set Set;
@ -583,15 +557,6 @@ void ExaSet_ListQstsToAddToSet (void)
false); // It's not a new exam
}
/*****************************************************************************/
/**************** Write parameter with index of set of questions *****************/
/*****************************************************************************/
static void ExaSet_PutParSetCod (long SetCod)
{
Par_PutParUnsigned (NULL,"SetCod",SetCod);
}
/*****************************************************************************/
/************************* List the sets of an exam **************************/
/*****************************************************************************/
@ -707,6 +672,7 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
{
/***** Create set of questions *****/
ExaSet_ResetSet (&Set);
Set.ExaCod = Exams->Exam.ExaCod;
/***** Get set data *****/
row = mysql_fetch_row (mysql_res);
@ -773,7 +739,7 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
/***** Index *****/
HTM_TD_Begin ("rowspan=\"2\" class=\"RT %s\"",
The_GetColorRows ());
Qst_WriteNumQst (Set.SetInd,"BIG_INDEX");
Lay_WriteIndex (Set.SetInd,"BIG_INDEX");
HTM_TD_End ();
/***** Title *****/
@ -1158,7 +1124,7 @@ static void ExaSet_ListQuestionForEdition (struct Qst_Question *Question,
/***** Number of question and answer type (row[1]) *****/
HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ());
Qst_WriteNumQst (QstInd,ClassNumQst[Question->Validity]);
Lay_WriteIndex (QstInd,ClassNumQst[Question->Validity]);
Qst_WriteAnswerType (Question->Answer.Type,
ClassAnswerType[Question->Validity]);
HTM_TD_End ();
@ -1348,7 +1314,7 @@ static void ExaSet_CopyQstFromBankToExamSet (const struct ExaSet_Set *Set,long Q
/***************** Request the removal of a set of questions *****************/
/*****************************************************************************/
void ExaSet_RequestRemoveSet (void)
void ExaSet_ReqRemSet (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_set_of_questions_X;
extern const char *Txt_Remove_set_of_questions;
@ -1519,7 +1485,7 @@ void ExaSet_MoveDownSet (void)
/********************** Request the removal of a question ********************/
/*****************************************************************************/
void ExaSet_RequestRemoveQstFromSet (void)
void ExaSet_ReqRemQstFromSet (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_question_X;
extern const char *Txt_Remove_question;

View File

@ -43,7 +43,8 @@ void ExaSet_ReceiveFormSet (void);
void ExaSet_ChangeSetTitle (void);
void ExaSet_ChangeNumQstsToExam (void);
void ExaSet_RequestCreatOrEditSet (void);
void ExaSet_ReqCreatOrEditSet (void);
void ExaSet_ReqSelectQstsToAddToSet (void);
void ExaSet_ListQstsToAddToSet (void);
@ -57,13 +58,13 @@ void ExaSet_GetQstDataFromDB (struct Qst_Question *Question);
void ExaSet_AddQstsToSet (void);
void ExaSet_RequestRemoveSet (void);
void ExaSet_ReqRemSet (void);
void ExaSet_RemoveSet (void);
void ExaSet_MoveUpSet (void);
void ExaSet_MoveDownSet (void);
void ExaSet_RequestRemoveQstFromSet (void);
void ExaSet_ReqRemQstFromSet (void);
void ExaSet_RemoveQstFromSet (void);
void ExaSet_ValidateQst (void);

View File

@ -837,12 +837,12 @@ void Fol_UnfollowUsr2 (void)
/***************** Request follow/unfollow several users *********************/
/*****************************************************************************/
void Fol_RequestFollowStds (void)
void Fol_ReqFollowStds (void)
{
Fol_RequestFollowUsrs (ActFolSevStd);
}
void Fol_RequestFollowTchs (void)
void Fol_ReqFollowTchs (void)
{
Fol_RequestFollowUsrs (ActFolSevTch);
}
@ -881,12 +881,12 @@ static void Fol_RequestFollowUsrs (Act_Action_t NextAction)
Usr_FreeListsSelectedEncryptedUsrsCods (&Gbl.Usrs.Selected);
}
void Fol_RequestUnfollowStds (void)
void Fol_ReqUnfollowStds (void)
{
Fol_RequestUnfollowUsrs (ActUnfSevStd);
}
void Fol_RequestUnfollowTchs (void)
void Fol_ReqUnfollowTchs (void)
{
Fol_RequestUnfollowUsrs (ActUnfSevTch);
}

View File

@ -62,10 +62,10 @@ void Fol_FollowUsr2 (void);
void Fol_UnfollowUsr1 (void);
void Fol_UnfollowUsr2 (void);
void Fol_RequestFollowStds (void);
void Fol_RequestFollowTchs (void);
void Fol_RequestUnfollowStds (void);
void Fol_RequestUnfollowTchs (void);
void Fol_ReqFollowStds (void);
void Fol_ReqFollowTchs (void);
void Fol_ReqUnfollowStds (void);
void Fol_ReqUnfollowTchs (void);
void Fol_FollowUsrs (void);
void Fol_UnfollowUsrs (void);

View File

@ -2962,7 +2962,7 @@ void For_RemovePost (void)
/***************** Request the removing of an existing thread ****************/
/*****************************************************************************/
void For_RequestRemoveThread (void)
void For_ReqRemThread (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_entire_thread_X;
extern const char *Txt_Do_you_really_want_to_remove_the_entire_thread;

View File

@ -162,7 +162,7 @@ void For_GetParsForums (struct For_Forums *Forums);
void For_ReceiveForumPost (void);
void For_RemovePost (void);
void For_RequestRemoveThread (void);
void For_ReqRemThread (void);
void For_RemoveThread (void);
void For_CutThread (void);
void For_PasteThread (void);

View File

@ -1233,7 +1233,7 @@ void Gam_ListGame (void)
/**************** Request the creation or edition of a game ******************/
/*****************************************************************************/
void Gam_RequestCreatOrEditGame (void)
void Gam_ReqCreatOrEditGame (void)
{
struct Gam_Games Games;
bool ItsANewGame;
@ -1912,7 +1912,7 @@ static void Gam_FreeListsSelectedQuestions (struct Gam_Games *Games)
/********************** Request the removal of a question ********************/
/*****************************************************************************/
void Gam_RequestRemoveQstFromGame (void)
void Gam_ReqRemQstFromGame (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_question_X;
extern const char *Txt_Remove_question;
@ -2180,7 +2180,7 @@ void Gam_PutButtonNewMatch (struct Gam_Games *Games)
/************* Request the creation of a new match as a teacher **************/
/*****************************************************************************/
void Gam_RequestNewMatch (void)
void Gam_ReqNewMatch (void)
{
struct Gam_Games Games;

View File

@ -136,7 +136,7 @@ void Gam_UnhideGame (void);
void Gam_ListGame (void);
void Gam_RequestCreatOrEditGame (void);
void Gam_ReqCreatOrEditGame (void);
void Gam_ReceiveFormGame (void);
@ -148,14 +148,14 @@ unsigned Gam_GetParQstInd (void);
void Gam_AddQstsToGame (void);
void Gam_RequestRemoveQstFromGame (void);
void Gam_ReqRemQstFromGame (void);
void Gam_RemoveQstFromGame (void);
void Gam_MoveUpQst (void);
void Gam_MoveDownQst (void);
void Gam_PutButtonNewMatch (struct Gam_Games *Games);
void Gam_RequestNewMatch (void);
void Gam_ReqNewMatch (void);
void Gam_ShowTstTagsPresentInAGame (long GamCod);

View File

@ -506,7 +506,7 @@ static void InsCfg_NumDpts (void)
/******** Show a form for sending a logo of the current institution **********/
/*****************************************************************************/
void InsCfg_RequestLogo (void)
void InsCfg_ReqLogo (void)
{
Lgo_RequestLogo (HieLvl_INS);
}

View File

@ -30,7 +30,7 @@
void InsCfg_ShowConfiguration (void);
void InsCfg_PrintConfiguration (void);
void InsCfg_RequestLogo (void);
void InsCfg_ReqLogo (void);
void InsCfg_ReceiveLogo (void);
void InsCfg_RemoveLogo (void);
void InsCfg_ChangeInsCty (void);

View File

@ -1686,6 +1686,18 @@ void Lay_BeginHTMLFile (FILE *File,const char *Title)
Title); // Page title
}
/*****************************************************************************/
/************************** Write a div with an index ************************/
/*****************************************************************************/
// Index should be 1, 2, 3...
void Lay_WriteIndex (unsigned Index,const char *Class)
{
HTM_DIV_Begin ("class=\"%s_%s\"",Class,The_GetSuffix ());
HTM_Unsigned (Index);
HTM_DIV_End ();
}
/*****************************************************************************/
/***** Get and show number of users who have chosen a layout of columns ******/
/*****************************************************************************/

View File

@ -79,6 +79,8 @@ void Lay_HelpRichEditor (void);
void Lay_BeginHTMLFile (FILE *File,const char *Title);
void Lay_WriteIndex (unsigned Index,const char *Class);
//-------------------------------- Figures ------------------------------------
void Lay_GetAndShowNumUsrsPerSideColumns (void);

View File

@ -963,7 +963,7 @@ static void Mch_GetMatchDataFromRow (MYSQL_RES *mysql_res,
/************** Request the removal of a match (game instance) ***************/
/*****************************************************************************/
void Mch_RequestRemoveMatch (void)
void Mch_ReqRemMatch (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_match_X;
extern const char *Txt_Remove_match;

View File

@ -103,7 +103,7 @@ void Mch_ListOneOrMoreMatchesNumPlayers (const struct Mch_Match *Match);
void Mch_ToggleVisResultsMchUsr (void);
void Mch_RequestRemoveMatch (void);
void Mch_ReqRemMatch (void);
void Mch_RemoveMatch (void);
void Mch_RemoveMatchesInGameFromAllTables (long GamCod);

View File

@ -252,7 +252,7 @@ void Not_RevealHiddenNotice (void)
/********************* Request the removal of a notice ***********************/
/*****************************************************************************/
void Not_RequestRemNotice (void)
void Not_ReqRemNotice (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_following_notice;
long NotCod;

View File

@ -60,7 +60,7 @@ void Not_GetHighLightedNotCod (void);
void Not_HideActiveNotice (void);
void Not_RevealHiddenNotice (void);
void Not_RequestRemNotice (void);
void Not_ReqRemNotice (void);
void Not_RemoveNotice (void);
void Not_ShowNotices (Not_Listing_t TypeNoticesListing,long HighlightNotCod);

View File

@ -44,6 +44,7 @@ const char *Par_CodeStr[] =
[ParCod_Att ] = "AttCod", // Attendance event code
[ParCod_Ban ] = "BanCod", // Banner code
[ParCod_Bld ] = "BldCod", // Building code
[ParCod_Cri ] = "CriCod", // Criterion code in rubric
[ParCod_Crs ] = "crs", // Course code
[ParCod_Ctr ] = "ctr", // Center code
[ParCod_Cty ] = "cty", // Country code

View File

@ -36,6 +36,7 @@ typedef enum
ParCod_Att, // Attendance event code
ParCod_Ban, // Banner code
ParCod_Bld, // Building code
ParCod_Cri, // Criterion code in rubric
ParCod_Crs, // Course code
ParCod_Ctr, // Center code
ParCod_Cty, // Country code

View File

@ -88,8 +88,8 @@ static const char *Pho_StrAvgPhotoPrograms[Pho_NUM_AVERAGE_PHOTO_TYPES] =
/***************************** Private prototypes ****************************/
/*****************************************************************************/
static void Pho_PutIconToRequestRemoveMyPhoto (__attribute__((unused)) void *Args);
static void Pho_PutIconToRequestRemoveOtherUsrPhoto (__attribute__((unused)) void *Args);
static void Pho_PutIconToReqRemMyPhoto (__attribute__((unused)) void *Args);
static void Pho_PutIconToReqRemOtherUsrPhoto (__attribute__((unused)) void *Args);
static void Pho_ReqOtherUsrPhoto (void);
static void Pho_ReqPhoto (const struct Usr_Data *UsrDat);
@ -203,7 +203,7 @@ void Pho_PutIconToChangeUsrPhoto (struct Usr_Data *UsrDat)
/************** Put a link to request the removal of my photo ****************/
/*****************************************************************************/
static void Pho_PutIconToRequestRemoveMyPhoto (__attribute__((unused)) void *Args)
static void Pho_PutIconToReqRemMyPhoto (__attribute__((unused)) void *Args)
{
if (Gbl.Usrs.Me.MyPhotoExists)
Lay_PutContextualLinkOnlyIcon (ActReqRemMyPho,NULL,
@ -215,7 +215,7 @@ static void Pho_PutIconToRequestRemoveMyPhoto (__attribute__((unused)) void *Arg
/********** Put a link to request the removal of a user's photo **************/
/*****************************************************************************/
static void Pho_PutIconToRequestRemoveOtherUsrPhoto (__attribute__((unused)) void *Args)
static void Pho_PutIconToReqRemOtherUsrPhoto (__attribute__((unused)) void *Args)
{
char PhotoURL[Cns_MAX_BYTES_WWW + 1];
bool PhotoExists;
@ -294,8 +294,8 @@ static void Pho_ReqPhoto (const struct Usr_Data *UsrDat)
/***** Begin box *****/
Box_BoxBegin (NULL,Txt_Photo,
ItsMe ? Pho_PutIconToRequestRemoveMyPhoto :
Pho_PutIconToRequestRemoveOtherUsrPhoto,NULL,
ItsMe ? Pho_PutIconToReqRemMyPhoto :
Pho_PutIconToReqRemOtherUsrPhoto,NULL,
Hlp_PROFILE_Photo,Box_NOT_CLOSABLE);
/***** Begin form *****/
@ -395,7 +395,7 @@ void Pho_RecOtherUsrPhotoDetFaces (void)
/********************** Request the removal of my photo **********************/
/*****************************************************************************/
void Pho_ReqRemoveMyPhoto (void)
void Pho_ReqRemMyPhoto (void)
{
extern const char *Txt_Do_you_really_want_to_remove_your_photo;
extern const char *Txt_Remove_photo;
@ -457,7 +457,7 @@ void Pho_RemoveMyPhoto2 (void)
/**************** Request the removal of another user's photo ****************/
/*****************************************************************************/
void Pho_ReqRemoveUsrPhoto (void)
void Pho_ReqRemUsrPhoto (void)
{
extern const char *Txt_Photo;
extern const char *Txt_Do_you_really_want_to_remove_the_photo_of_X;

View File

@ -102,10 +102,10 @@ void Pho_SendPhotoUsr (void);
void Pho_RecMyPhotoDetFaces (void);
void Pho_RecOtherUsrPhotoDetFaces (void);
void Pho_ReqRemoveMyPhoto (void);
void Pho_ReqRemMyPhoto (void);
void Pho_RemoveMyPhoto1 (void);
void Pho_RemoveMyPhoto2 (void);
void Pho_ReqRemoveUsrPhoto (void);
void Pho_ReqRemUsrPhoto (void);
void Pho_RemoveUsrPhoto (void);
void Pho_UpdateMyPhoto1 (void);

View File

@ -120,7 +120,7 @@ void Prf_SeeSocialProfiles (void)
if (Gbl.Usrs.Me.Logged)
Fol_SuggestUsrsToFollowMainZone ();
else
Prf_RequestUserProfile ();
Prf_ReqUserProfile ();
}
/*****************************************************************************/
@ -172,7 +172,7 @@ void Prf_PutLinkRequestAnotherUserProfile (void)
/************************** Request a user's profile *************************/
/*****************************************************************************/
void Prf_RequestUserProfile (void)
void Prf_ReqUserProfile (void)
{
extern const char *Hlp_START_Profiles_view_public_profile;
extern const char *Txt_Another_user_s_profile;
@ -261,7 +261,7 @@ void Prf_GetUsrDatAndShowUserProfile (void)
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
/* Request a user's profile */
Prf_RequestUserProfile ();
Prf_ReqUserProfile ();
}
/***** If it's not me, mark possible notification as seen *****/

View File

@ -56,7 +56,7 @@ char *Prf_GetURLPublicProfile (char URL[Cns_MAX_BYTES_WWW + 1],
const char *NickWithoutArr);
void Prf_PutLinkMyPublicProfile (void);
void Prf_PutLinkRequestAnotherUserProfile (void);
void Prf_RequestUserProfile (void);
void Prf_ReqUserProfile (void);
void Prf_GetUsrDatAndShowUserProfile (void);
bool Prf_ShowUserProfile (struct Usr_Data *UsrDat);

View File

@ -1892,7 +1892,7 @@ void Prg_ViewItemAfterEdit (void)
/*********** List program items with a form to change a given item ***********/
/*****************************************************************************/
void Prg_RequestChangeItem (void)
void Prg_ReqChangeItem (void)
{
struct Prg_Item Item;
@ -1913,7 +1913,7 @@ void Prg_RequestChangeItem (void)
/************ List program items with a form to create a new item ************/
/*****************************************************************************/
void Prg_RequestCreateItem (void)
void Prg_ReqCreateItem (void)
{
struct Prg_Item Item;

View File

@ -169,8 +169,8 @@ unsigned Prg_GetItmIndFromNumItem (unsigned NumItem);
unsigned Prg_GetLevelFromNumItem (unsigned NumItem);
void Prg_ViewItemAfterEdit (void);
void Prg_RequestChangeItem (void);
void Prg_RequestCreateItem (void);
void Prg_ReqChangeItem (void);
void Prg_ReqCreateItem (void);
void Prg_ReceiveFormChgItem (void);
void Prg_ReceiveFormNewItem (void);

View File

@ -286,7 +286,7 @@ static void Prj_GetListProjects (struct Prj_Projects *Projects);
static void Prj_ResetProject (struct Prj_Project *Prj);
static void Prj_RequestCreatOrEditPrj (struct Prj_Projects *Projects);
static void Prj_ReqCreatOrEditPrj (struct Prj_Projects *Projects);
static void Prj_PutFormProject (struct Prj_Projects *Projects,bool ItsANewProject);
static void Prj_EditOneProjectTxtArea (const char *Id,
const char *Label,char *TxtField,
@ -2881,7 +2881,7 @@ static void Prj_FormToSelectUsrs (struct Prj_Projects *Projects,
free (TxtButton);
/***** Put a form to create/edit project *****/
Prj_RequestCreatOrEditPrj (Projects);
Prj_ReqCreatOrEditPrj (Projects);
}
/*****************************************************************************/
@ -2974,7 +2974,7 @@ static void Prj_AddUsrsToProject (Prj_RoleInProject_t RoleInPrj)
Usr_FreeListsSelectedEncryptedUsrsCods (&Prj_MembersToAdd);
/***** Put form to edit project again *****/
Prj_RequestCreatOrEditPrj (&Projects);
Prj_ReqCreatOrEditPrj (&Projects);
}
/*****************************************************************************/
@ -3075,7 +3075,7 @@ static void Prj_ReqRemUsrFromPrj (struct Prj_Projects *Projects,
Prj_FreeMemProject (&Projects->Prj);
/***** Put form to edit project again *****/
Prj_RequestCreatOrEditPrj (Projects);
Prj_ReqCreatOrEditPrj (Projects);
}
/*****************************************************************************/
@ -3144,7 +3144,7 @@ static void Prj_RemUsrFromPrj (Prj_RoleInProject_t RoleInPrj)
Prj_FreeMemProject (&Projects.Prj);
/***** Put form to edit project again *****/
Prj_RequestCreatOrEditPrj (&Projects);
Prj_ReqCreatOrEditPrj (&Projects);
}
/*****************************************************************************/
@ -3646,7 +3646,7 @@ void Prj_UnhideProject (void)
/********************* Put a form to create/edit project *********************/
/*****************************************************************************/
void Prj_RequestCreatePrj (void)
void Prj_ReqCreatePrj (void)
{
struct Prj_Projects Projects;
@ -3658,10 +3658,10 @@ void Prj_RequestCreatePrj (void)
Projects.Prj.PrjCod = -1L; // It's a new, non existing, project
/***** Form to create project *****/
Prj_RequestCreatOrEditPrj (&Projects);
Prj_ReqCreatOrEditPrj (&Projects);
}
void Prj_RequestEditPrj (void)
void Prj_ReqEditPrj (void)
{
struct Prj_Projects Projects;
@ -3673,10 +3673,10 @@ void Prj_RequestEditPrj (void)
Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Form to edit project *****/
Prj_RequestCreatOrEditPrj (&Projects);
Prj_ReqCreatOrEditPrj (&Projects);
}
static void Prj_RequestCreatOrEditPrj (struct Prj_Projects *Projects)
static void Prj_ReqCreatOrEditPrj (struct Prj_Projects *Projects)
{
bool ItsANewProject = (Projects->Prj.PrjCod < 0);
@ -4101,7 +4101,7 @@ void Prj_ReceiveFormProject (void)
Prj_PutFormProject (&Projects,ItsANewProject);
/***** Show again form to edit project *****/
Prj_RequestCreatOrEditPrj (&Projects);
Prj_ReqCreatOrEditPrj (&Projects);
}
else
Err_NoPermissionExit ();

View File

@ -246,8 +246,8 @@ void Prj_RemStd (void);
void Prj_RemTut (void);
void Prj_RemEvl (void);
void Prj_RequestCreatePrj (void);
void Prj_RequestEditPrj (void);
void Prj_ReqCreatePrj (void);
void Prj_ReqEditPrj (void);
void Prj_AllocMemProject (struct Prj_Project *Prj);
void Prj_FreeMemProject (struct Prj_Project *Prj);

View File

@ -117,7 +117,7 @@ void Qst_Destructor (struct Qst_Questions *Questions)
/*********************** Request the edition of tests ************************/
/*****************************************************************************/
void Qst_RequestEditQsts (void)
void Qst_ReqEditQsts (void)
{
struct Qst_Questions Questions;
@ -519,7 +519,7 @@ void Qst_ListQuestionForEdition (struct Qst_Question *Question,
/***** Number of question and answer type (row[1]) *****/
HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ());
Qst_WriteNumQst (QstInd,"BIG_INDEX");
Lay_WriteIndex (QstInd,"BIG_INDEX");
if (QuestionExists)
Qst_WriteAnswerType (Question->Answer.Type,"DAT_SMALL");
HTM_TD_End ();
@ -567,18 +567,6 @@ void Qst_ListQuestionForEdition (struct Qst_Question *Question,
HTM_TD_End ();
}
/*****************************************************************************/
/********************* Write the number of a test question *******************/
/*****************************************************************************/
// Number of question should be 1, 2, 3...
void Qst_WriteNumQst (unsigned NumQst,const char *Class)
{
HTM_DIV_Begin ("class=\"%s_%s\"",Class,The_GetSuffix ());
HTM_Unsigned (NumQst);
HTM_DIV_End ();
}
/*****************************************************************************/
/************************** Write the type of answer *************************/
/*****************************************************************************/
@ -984,7 +972,7 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd)
/* Number of question and answer type */
HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ());
Qst_WriteNumQst (QstInd + 1,"BIG_INDEX");
Lay_WriteIndex (QstInd + 1,"BIG_INDEX");
Qst_WriteAnswerType (Questions->Question.Answer.Type,"DAT_SMALL");
HTM_TD_End ();
@ -3230,7 +3218,7 @@ long Qst_GetIntAnsFromStr (char *Str)
/***************** Request the removal of selected questions *****************/
/*****************************************************************************/
void Qst_RequestRemoveSelectedQsts (void)
void Qst_ReqRemSelectedQsts (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_selected_questions;
extern const char *Txt_Remove_questions;
@ -3319,7 +3307,7 @@ void Qst_PutIconToRemoveOneQst (void *QstCod)
/******************** Request the removal of a question **********************/
/*****************************************************************************/
void Qst_RequestRemoveOneQst (void)
void Qst_ReqRemOneQst (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_question_X;
extern const char *Txt_Remove_question;

View File

@ -131,7 +131,7 @@ struct Qst_Stats
void Qst_Constructor (struct Qst_Questions *Questions);
void Qst_Destructor (struct Qst_Questions *Questions);
void Qst_RequestEditQsts (void);
void Qst_ReqEditQsts (void);
void Qst_ShowFormRequestEditQsts (struct Qst_Questions *Questions);
void Qst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes);
void Qst_RequestSelectQstsForExamSet (struct Exa_Exams *Exams);
@ -149,7 +149,6 @@ void Qst_PutButtonToAddQuestion (void);
void Qst_ListQuestionForEdition (struct Qst_Question *Question,
unsigned QstInd,bool QuestionExists,
const char *Anchor);
void Qst_WriteNumQst (unsigned NumQst,const char *Class);
void Qst_WriteAnswerType (Qst_AnswerType_t AnswerType,const char *Class);
void Qst_WriteQstStem (const char *Stem,const char *ClassStem,bool Visible);
void Qst_PutFormToEditQstMedia (const struct Med_Media *Media,int NumMedia,
@ -251,10 +250,10 @@ void Qst_MoveMediaToDefinitiveDirectories (struct Qst_Question *Question);
long Qst_GetIntAnsFromStr (char *Str);
void Qst_RequestRemoveSelectedQsts (void);
void Qst_ReqRemSelectedQsts (void);
void Qst_RemoveSelectedQsts (void);
void Qst_PutIconToRemoveOneQst (void *QstCod);
void Qst_RequestRemoveOneQst (void);
void Qst_ReqRemOneQst (void);
void Qst_PutParsRemoveOnlyThisQst (void *QstCod);
void Qst_RemoveOneQst (void);
void Qst_RemoveOneQstFromDB (long CrsCod,long QstCod);

View File

@ -73,9 +73,6 @@ static void Rub_PutIconsToRemEditOneRubric (struct Rub_Rubrics *Rubrics);
static void Rub_RemoveRubricFromAllTables (long RubCod);
static void Rub_PutFormsEditionRubric (struct Rub_Rubrics *Rubrics,
char Txt[Cns_MAX_BYTES_TEXT + 1],
bool ItsANewRubric);
static void Rub_ReceiveRubricFieldsFromForm (struct Rub_Rubric *Rubric,
char Txt[Cns_MAX_BYTES_TEXT + 1]);
static bool Rub_CheckRubricFieldsReceivedFromForm (const struct Rub_Rubric *Rubric);
@ -122,7 +119,7 @@ void Rub_SeeAllRubrics (void)
Rub_ResetRubrics (&Rubrics);
/***** Get parameters *****/
Rub_GetPars (&Rubrics); // Return value ignored
Rub_GetPars (&Rubrics,false);
/***** Show all rubrics *****/
Rub_ListAllRubrics (&Rubrics);
@ -236,6 +233,21 @@ bool Rub_CheckIfICanEditRubrics (void)
return ICanEditRubrics[Gbl.Usrs.Me.Role.Logged];
}
/*****************************************************************************/
/*********************** Check if edition is possible ************************/
/*****************************************************************************/
bool Rub_CheckIfEditable (const struct Rub_Rubric *Rubric)
{
if (Rub_CheckIfICanEditRubrics ())
/***** Rubric is editable only if ... *****/
// TODO: Change to control that a rubric is not edited in some circunstances?
return Rubric->NumCriteria == 0 ||
Rubric->NumCriteria != 0;
else
return false; // Questions are not editable
}
/*****************************************************************************/
/****************** Put contextual icons in list of rubrics ******************/
/*****************************************************************************/
@ -304,8 +316,7 @@ void Rub_SeeOneRubric (void)
Rub_ResetRubric (&Rubrics.Rubric);
/***** Get parameters *****/
if ((Rubrics.Rubric.RubCod = Rub_GetPars (&Rubrics)) <= 0)
Err_WrongRubricExit ();
Rub_GetPars (&Rubrics,true);
Rub_GetDataOfRubricByCod (&Rubrics.Rubric);
/***** Show rubric *****/
@ -492,13 +503,19 @@ void Rub_PutPars (void *Rubrics)
/****************** Get parameters used to edit a rubric *********************/
/*****************************************************************************/
long Rub_GetPars (struct Rub_Rubrics *Rubrics)
void Rub_GetPars (struct Rub_Rubrics *Rubrics,bool CheckRubCod)
{
long (*GetExaCo[2]) (ParCod_Param_t ParCode) =
{
[false] = ParCod_GetPar,
[true ] = ParCod_GetAndCheckPar,
};
/***** Get other parameters *****/
Rubrics->CurrentPage = Pag_GetParPagNum (Pag_RUBRICS);
/***** Get rubric code *****/
return ParCod_GetPar (ParCod_Rub);
Rubrics->Rubric.RubCod = GetExaCo[CheckRubCod] (ParCod_Rub);
}
/*****************************************************************************/
@ -612,8 +629,7 @@ void Rub_AskRemRubric (void)
Rub_ResetRubric (&Rubrics.Rubric);
/***** Get parameters *****/
if ((Rubrics.Rubric.RubCod = Rub_GetPars (&Rubrics)) <= 0)
Err_WrongRubricExit ();
Rub_GetPars (&Rubrics,true);
/***** Get data of the rubric from database *****/
Rub_GetDataOfRubricByCod (&Rubrics.Rubric);
@ -707,8 +723,7 @@ void Rub_ListRubric (void)
Rub_ResetRubric (&Rubrics.Rubric);
/***** Get parameters *****/
if ((Rubrics.Rubric.RubCod = Rub_GetPars (&Rubrics)) <= 0)
Err_WrongRubricExit ();
Rub_GetPars (&Rubrics,true);
/***** Get rubric data *****/
Rub_GetDataOfRubricByCod (&Rubrics.Rubric);
@ -723,58 +738,72 @@ void Rub_ListRubric (void)
/*************** Request the creation or edition of a rubric *****************/
/*****************************************************************************/
void Rub_RequestCreatOrEditRubric (void)
void Rub_ReqCreatOrEditRubric (void)
{
struct Rub_Rubrics Rubrics;
struct RubCri_Criterion Criterion;
bool ItsANewRubric;
char Txt[Cns_MAX_BYTES_TEXT + 1];
/***** Reset rubrics context *****/
Rub_ResetRubrics (&Rubrics);
/***** Reset rubric *****/
Rub_ResetRubric (&Rubrics.Rubric);
/***** Check if I can edit rubrics *****/
if (!Rub_CheckIfICanEditRubrics ())
Err_NoPermissionExit ();
/***** Reset rubrics context *****/
Rub_ResetRubrics (&Rubrics);
Rub_ResetRubric (&Rubrics.Rubric);
RubCri_ResetCriterion (&Criterion);
/***** Get parameters *****/
ItsANewRubric = ((Rubrics.Rubric.RubCod = Rub_GetPars (&Rubrics)) <= 0);
Rub_GetPars (&Rubrics,false); // Don't check rubric code
ItsANewRubric = (Rubrics.Rubric.RubCod <= 0);
/***** Get rubric data *****/
if (ItsANewRubric)
{
/* Initialize to empty rubric */
Rub_ResetRubric (&Rubrics.Rubric);
Txt[0] = '\0';
}
else
{
/* Get rubric data from database */
Rub_GetDataOfRubricByCod (&Rubrics.Rubric);
Rub_DB_GetRubricTxt (Rubrics.Rubric.RubCod,Txt);
}
/***** Put forms to create/edit a rubric *****/
Rub_PutFormsEditionRubric (&Rubrics,Txt,ItsANewRubric);
/***** Put form to create/edit a rubric and show criteria *****/
Rub_PutFormsOneRubric (&Rubrics,&Criterion,ItsANewRubric);
}
/***** Show rubrics or criteria *****/
/*****************************************************************************/
/******************** Put forms to create/edit a rubric **********************/
/*****************************************************************************/
void Rub_PutFormsOneRubric (struct Rub_Rubrics *Rubrics,
struct RubCri_Criterion *Criterion,
bool ItsANewRubric)
{
char Txt[Cns_MAX_BYTES_TEXT + 1];
/***** Initialize text / get text from database *****/
if (ItsANewRubric)
Txt[0] = '\0';
else
Rub_DB_GetRubricTxt (Rubrics->Rubric.RubCod,Txt);
/***** Put form to create/edit an exam *****/
Rub_PutFormEditionRubric (Rubrics,Txt,ItsANewRubric);
/***** Show other lists *****/
if (ItsANewRubric)
/* Show rubrics again */
Rub_ListAllRubrics (&Rubrics);
Rub_ListAllRubrics (Rubrics);
else
/* Show criteria of the rubric ready to be edited */
RubCri_ListRubricCriteria (&Rubrics);
/* Show list of criteria */
RubCri_ListCriteria (Rubrics,Criterion);
}
/*****************************************************************************/
/******************** Put a form to create/edit a rubric *********************/
/*****************************************************************************/
static void Rub_PutFormsEditionRubric (struct Rub_Rubrics *Rubrics,
char Txt[Cns_MAX_BYTES_TEXT + 1],
bool ItsANewRubric)
void Rub_PutFormEditionRubric (struct Rub_Rubrics *Rubrics,
char Txt[Cns_MAX_BYTES_TEXT + 1],
bool ItsANewRubric)
{
extern const char *Hlp_ASSESSMENT_Rubrics_new_rubric;
extern const char *Hlp_ASSESSMENT_Rubrics_edit_rubric;
@ -854,57 +883,46 @@ static void Rub_PutFormsEditionRubric (struct Rub_Rubrics *Rubrics,
void Rub_ReceiveFormRubric (void)
{
struct Rub_Rubrics Rubrics;
struct RubCri_Criterion Criterion;
bool ItsANewRubric;
char Txt[Cns_MAX_BYTES_TEXT + 1];
/***** Reset rubrics context *****/
Rub_ResetRubrics (&Rubrics);
/***** Reset rubric *****/
Rub_ResetRubric (&Rubrics.Rubric);
/***** Check if I can edit rubrics *****/
if (!Rub_CheckIfICanEditRubrics ())
Err_NoPermissionExit ();
/***** Reset rubrics context *****/
Rub_ResetRubrics (&Rubrics);
Rub_ResetRubric (&Rubrics.Rubric);
RubCri_ResetCriterion (&Criterion);
/***** Get parameters *****/
ItsANewRubric = ((Rubrics.Rubric.RubCod = Rub_GetPars (&Rubrics)) <= 0);
Rub_GetPars (&Rubrics,false);
ItsANewRubric = (Rubrics.Rubric.RubCod <= 0);
/***** If I can edit rubrics ==> receive rubric from form *****/
if (Rub_CheckIfICanEditRubrics ())
/***** Get all current rubric data from database *****/
// Some data, not received from form,
// are necessary to show rubric and criteria again
if (!ItsANewRubric)
Rub_GetDataOfRubricByCod (&Rubrics.Rubric);
/***** Overwrite some rubric data with the data received from form *****/
Rub_ReceiveRubricFieldsFromForm (&Rubrics.Rubric,Txt);
if (Rub_CheckRubricFieldsReceivedFromForm (&Rubrics.Rubric))
{
Rub_ReceiveRubricFieldsFromForm (&Rubrics.Rubric,Txt);
if (Rub_CheckRubricFieldsReceivedFromForm (&Rubrics.Rubric))
/***** Create a new rubric or update an existing one *****/
if (ItsANewRubric)
{
/***** Create a new rubric or update an existing one *****/
if (ItsANewRubric)
Rub_CreateRubric (&Rubrics.Rubric,Txt); // Add new rubric to database
else
Rub_UpdateRubric (&Rubrics.Rubric,Txt); // Update rubric data in database
/***** Put forms to edit the rubric created or updated *****/
Rub_PutFormsEditionRubric (&Rubrics,Txt,
false); // No new rubric
/***** Show criteria of the rubric ready to be edited ******/
RubCri_ListRubricCriteria (&Rubrics);
Rub_CreateRubric (&Rubrics.Rubric,Txt); // Add new rubric to database
ItsANewRubric = false;
}
else
{
/***** Put forms to create/edit the rubric *****/
Rub_PutFormsEditionRubric (&Rubrics,Txt,ItsANewRubric);
/***** Show rubrics or criteria *****/
if (ItsANewRubric)
/* Show rubrics again */
Rub_ListAllRubrics (&Rubrics);
else
/* Show criteria of the rubric ready to be edited */
RubCri_ListRubricCriteria (&Rubrics);
}
Rub_UpdateRubric (&Rubrics.Rubric,Txt); // Update rubric data in database
}
else
Err_NoPermissionExit ();
/***** Show current rubric and its criteria *****/
Rub_PutFormsOneRubric (&Rubrics,&Criterion,
ItsANewRubric);
}
static void Rub_ReceiveRubricFieldsFromForm (struct Rub_Rubric *Rubric,

View File

@ -27,35 +27,14 @@
/********************************* Headers ***********************************/
/*****************************************************************************/
#include "swad_rubric_type.h"
#include "swad_string.h"
/*****************************************************************************/
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Rub_MAX_CHARS_TITLE (128 - 1) // 127
#define Rub_MAX_BYTES_TITLE ((Rub_MAX_CHARS_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Rub_AFTER_LAST_CRITERION ((unsigned)((1UL << 31) - 1)) // 2^31 - 1, don't change this number because it is used in database
struct Rub_Rubric
{
long RubCod; // Rubric code
long CrsCod; // Course code
long UsrCod; // Author code
char Title[Rub_MAX_BYTES_TITLE + 1];
unsigned NumCriteria; // Number of criteria in the rubric
};
struct Rub_Rubrics
{
bool LstIsRead; // Is the list already read from database...
// ...or it needs to be read?
unsigned Num; // Total number of rubrics
long *Lst; // List of rubric codes
unsigned CurrentPage;
struct Rub_Rubric Rubric; // Selected/current rubric
};
#define RubCri_AFTER_LAST_CRITERION ((unsigned)((1UL << 31) - 1)) // 2^31 - 1, don't change this number because it is used in database
/*****************************************************************************/
/***************************** Public prototypes *****************************/
@ -67,6 +46,7 @@ void Rub_ResetRubric (struct Rub_Rubric *Rubric);
void Rub_SeeAllRubrics (void);
void Rub_ListAllRubrics (struct Rub_Rubrics *Rubrics);
bool Rub_CheckIfICanEditRubrics (void);
bool Rub_CheckIfEditable (const struct Rub_Rubric *Rubric);
void Rub_SeeOneRubric (void);
void Rub_ShowOnlyOneRubric (struct Rub_Rubrics *Rubrics,
bool ListRubricDims);
@ -76,7 +56,7 @@ void Rub_ShowOnlyOneRubricEnd (void);
void Rub_SetCurrentRubCod (long GamCod);
void Rub_PutPars (void *Rubrics);
long Rub_GetPars (struct Rub_Rubrics *Rubrics);
void Rub_GetPars (struct Rub_Rubrics *Rubrics,bool CheckRubCod);
void Rub_GetListRubrics (struct Rub_Rubrics *Rubrics);
void Rub_GetDataOfRubricByCod (struct Rub_Rubric *Rubric);
@ -89,7 +69,13 @@ void Rub_RemoveCrsRubrics (long CrsCod);
void Rub_ListRubric (void);
void Rub_RequestCreatOrEditRubric (void);
void Rub_ReqCreatOrEditRubric (void);
void Rub_PutFormsOneRubric (struct Rub_Rubrics *Rubrics,
struct RubCri_Criterion *Criterion,
bool ItsANewRubric);
void Rub_PutFormEditionRubric (struct Rub_Rubrics *Rubrics,
char Txt[Cns_MAX_BYTES_TEXT + 1],
bool ItsANewRubric);
void Rub_ReceiveFormRubric (void);

File diff suppressed because it is too large Load Diff

View File

@ -24,37 +24,21 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*****************************************************************************/
/************************** Public types and constants ***********************/
/********************************* Headers ***********************************/
/*****************************************************************************/
#define Rub_MAX_CHARS_CRITERION_TITLE (128 - 1) // 127
#define Rub_MAX_BYTES_CRITERION_TITLE ((Rub_MAX_CHARS_CRITERION_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Rub_AFTER_LAST_CRITERION ((unsigned)((1UL << 31) - 1)) // 2^31 - 1, don't change this number because it is used in database
struct Rub_Criterion
{
long RubCod; // Rubric code
long CriCod; // Course code
char Title[Rub_MAX_BYTES_CRITERION_TITLE + 1];
};
#include "swad_rubric_type.h"
/*****************************************************************************/
/***************************** Public prototypes *****************************/
/*****************************************************************************/
void RubCri_CriterionConstructor (struct Rub_Criterion *Criterion);
void RubCri_CriterionDestructor (struct Rub_Criterion *Criterion);
void RubCri_CriterionConstructor (struct RubCri_Criterion *Criterion);
void RubCri_CriterionDestructor (struct RubCri_Criterion *Criterion);
void RubCri_PutParCriCod (void *CriCod);
bool RubCri_GetCriterionDataFromDB (struct Rub_Criterion *Criterion);
void RubCri_ListCriterionForEdition (struct Rub_Criterion *Criterion,
void RubCri_ListCriterionForEdition (struct RubCri_Criterion *Criterion,
unsigned CriInd,bool CriterionExists,
const char *Anchor);
void RubCri_WriteNumCriterion (unsigned NumDim,const char *Class);
void RubCri_WriteCriterionTitle (const char *Title,const char *ClassTitle,bool Visible);
void RubCri_PutIconToAddNewCriterion (void *Rubrics);
void RubCri_PutButtonToAddNewCriterion (struct Rub_Rubrics *Rubrics);
@ -62,8 +46,30 @@ void RubCri_PutButtonToAddNewCriterion (struct Rub_Rubrics *Rubrics);
void RubCri_PutParCriInd (unsigned CriInd);
unsigned RubCri_GetParCriInd (void);
void RubCri_ListRubricCriteria (struct Rub_Rubrics *Rubrics);
void RubCri_ReqCreatOrEditCriterion (void);
void RubCri_RequestCreatOrEditCri (void);
/*****************************************************************************/
/***************************** Public prototypes *****************************/
/*****************************************************************************/
void RubCri_GetDataOfCriterionByCod (struct RubCri_Criterion *Criterion);
void RubCri_ReceiveFormCriterion (void);
void RubCri_ChangeCriterionTitle (void);
void RubCri_ChangeMinValueCriterion (void);
void RubCri_ChangeMaxValueCriterion (void);
void RubCri_ListCriteria (struct Rub_Rubrics *Rubrics,
struct RubCri_Criterion *Criterion);
void RubCri_ResetCriterion (struct RubCri_Criterion *Criterion);
void RubCri_ReqRemCriterion (void);
void RubCri_RemoveCriterion (void);
void RubCri_MoveUpCriterion (void);
void RubCri_MoveDownCriterion (void);
void RubCri_WriteCriterionTitle (const struct RubCri_Criterion *Criterion);
#endif

View File

@ -31,10 +31,22 @@
#include "swad_database.h"
#include "swad_error.h"
#include "swad_rubric.h"
#include "swad_rubric_database.h"
#include "swad_global.h"
/*****************************************************************************/
/**************************** Private constants ******************************/
/*****************************************************************************/
#define RubCri_AFTER_LAST_CRITERION ((unsigned)((1UL << 31) - 1)) // 2^31 - 1, don't change this number because it is used in database
// Fields in database for minimum/maximum criterion values
static const char *RubCri_ValuesFields[RubCri_NUM_VALUES] =
{
[RubCri_MIN] = "MinVal",
[RubCri_MAX] = "MaxVal",
};
/*****************************************************************************/
/************** External global variables from others modules ****************/
/*****************************************************************************/
@ -333,26 +345,73 @@ void Rub_DB_RemoveCrsRubrics (long CrsCod)
}
/*****************************************************************************/
/**************** Insert criterion in the table of criteria *****************/
/********************** Create a new rubric criterion ************************/
/*****************************************************************************/
void Rub_DB_InsertCriterionInRubric (long RubCod,unsigned CriInd,long CriCod)
long Rub_DB_CreateCriterion (const struct RubCri_Criterion *Criterion)
{
DB_QueryINSERT ("can not add criterion to rubric",
"INSERT INTO rub_criteria"
" (RubCod,CriInd,CriCod)"
" VALUES"
" (%ld,%u,%ld)",
RubCod,
CriInd,
CriCod);
long CriCod;
Str_SetDecimalPointToUS (); // To write the decimal point as a dot
CriCod =
DB_QueryINSERTandReturnCode ("can not create new criterion",
"INSERT INTO rub_criteria"
" (RubCod,CriInd,%s,%s,Title)"
" VALUES"
" (%ld,%u,%.15lg,%.15lg,'%s')",
RubCri_ValuesFields[RubCri_MIN],
RubCri_ValuesFields[RubCri_MAX],
Criterion->RubCod,
Criterion->CriInd,
Criterion->Values[RubCri_MIN],
Criterion->Values[RubCri_MAX],
Criterion->Title);
Str_SetDecimalPointToLocal (); // Return to local system
return CriCod;
}
/*****************************************************************************/
/*********** Update indexes of criteria greater than a given one ***********/
/********************* Update criterion title in database ********************/
/*****************************************************************************/
void Rub_DB_UpdateIndexesOfCriteriaGreaterThan (long RubCod,unsigned CriInd)
void Rub_DB_UpdateCriterionTitle (long CriCod,long RubCod,
const char NewTitle[RubCri_MAX_BYTES_TITLE + 1])
{
DB_QueryUPDATE ("can not update the title of a criterion",
"UPDATE rub_criteria"
" SET Title='%s'"
" WHERE CriCod=%ld"
" AND RubCod=%ld", // Extra check
NewTitle,
CriCod,
RubCod);
}
/*****************************************************************************/
/********************* Update criterion value in database ********************/
/*****************************************************************************/
void Rub_DB_UpdateCriterionValue (long CriCod,long RubCod,
RubCri_ValueRange_t ValueRange,double Value)
{
Str_SetDecimalPointToUS (); // To write the decimal point as a dot
DB_QueryUPDATE ("can not update the value of a criterion",
"UPDATE rub_criteria"
" SET %s=%.15lg"
" WHERE CriCod=%ld"
" AND RubCod=%ld", // Extra check
RubCri_ValuesFields[ValueRange],Value,
CriCod,
RubCod);
Str_SetDecimalPointToLocal (); // Return to local system
}
/*****************************************************************************/
/************ Update indexes of criteria greater than a given one ************/
/*****************************************************************************/
void Rub_DB_UpdateCriteriaIndexesInRubricGreaterThan (long RubCod,unsigned CriInd)
{
DB_QueryUPDATE ("can not update indexes of criteria",
"UPDATE rub_criteria"
@ -405,22 +464,6 @@ unsigned Rub_DB_GetNumCriteriaInRubric (long RubCod)
RubCod);
}
/*****************************************************************************/
/*********************** Get the criteria of a rubric ***********************/
/*****************************************************************************/
unsigned Rub_DB_GetRubricCriteriaBasic (MYSQL_RES **mysql_res,long RubCod)
{
return (unsigned)
DB_QuerySELECT (mysql_res,"can not get rubric criteria",
"SELECT CriCod," // row[0]
"CriInd" // row[1]
" FROM rub_criteria"
" WHERE RubCod=%ld"
" ORDER BY CriInd",
RubCod);
}
/*****************************************************************************/
/********* Get criterion code given rubric and index of criterion ************/
/*****************************************************************************/
@ -510,24 +553,73 @@ unsigned Rub_DB_GetNextCriterionIndexInRubric (long RubCod,unsigned CriInd)
" FROM rub_criteria"
" WHERE RubCod=%ld"
" AND CriInd>%u",
Rub_AFTER_LAST_CRITERION, // End of criteria has been reached
RubCri_AFTER_LAST_CRITERION, // End of criteria has been reached
RubCod,
CriInd);
}
/*****************************************************************************/
/****************** Get data of a criterion from database ********************/
/********************* Get criteria in a given rubric ************************/
/*****************************************************************************/
unsigned Rub_DB_GetCriterionData (MYSQL_RES **mysql_res,long CriCod)
unsigned Rub_DB_GetCriteria (MYSQL_RES **mysql_res,long RubCod)
{
return (unsigned)
DB_QuerySELECT (mysql_res,"can not get a criterion",
"SELECT Title" // row[0]
DB_QuerySELECT (mysql_res,"can not get criteria",
"SELECT CriCod," // row[0]
"CriInd," // row[1]
"%s," // row[2]
"%s," // row[3]
"Title" // row[4]
" FROM rub_criteria"
" WHERE CriCod=%ld"
" AND CrsCod=%ld", // Extra check
CriCod,
" WHERE RubCod=%ld"
" ORDER BY CriInd",
RubCri_ValuesFields[RubCri_MIN],
RubCri_ValuesFields[RubCri_MAX],
RubCod);
}
/*****************************************************************************/
/***************** Get rubric criterion data using its code ******************/
/*****************************************************************************/
unsigned Rub_DB_GetDataOfCriterionByCod (MYSQL_RES **mysql_res,long CriCod)
{
return (unsigned)
DB_QuerySELECT (mysql_res,"can not get criterion data",
"SELECT CriCod," // row[0]
"RubCod," // row[1]
"CriInd," // row[2]
"%s," // row[3]
"%s," // row[4]
"Title" // row[5]
" FROM rub_criteria"
" WHERE CriCod=%ld",
RubCri_ValuesFields[RubCri_MIN],
RubCri_ValuesFields[RubCri_MAX],
CriCod);
}
/*****************************************************************************/
/************** Check if the title of a rubric criterion exists **************/
/*****************************************************************************/
bool Rub_DB_CheckIfSimilarCriterionExists (const struct RubCri_Criterion *Criterion,
const char Title[RubCri_MAX_BYTES_TITLE + 1])
{
return
DB_QueryEXISTS ("can not check similar criterion",
"SELECT EXISTS"
"(SELECT *"
" FROM rub_criteria,"
"rub_rubrics"
" WHERE rub_criteria.ExaCod=%ld"
" AND rub_criteria.Title='%s'"
" AND rub_criteria.SetCod<>%ld"
" AND rub_criteria.ExaCod=rub_rubrics.ExaCod"
" AND rub_rubrics.CrsCod=%ld)", // Extra check
Criterion->RubCod,Title,
Criterion->CriCod,
Gbl.Hierarchy.Crs.CrsCod);
}
@ -634,15 +726,15 @@ double Rub_DB_GetNumCriteriaPerRubric (HieLvl_Level_t Scope)
/*********************** Remove criterion from a rubric **********************/
/*****************************************************************************/
void Rub_DB_RemoveCriterionFromRubric (long RubCod,unsigned CriInd)
void Rub_DB_RemoveCriterionFromRubric (long CriCod,long RubCod)
{
DB_QueryDELETE ("can not remove a criterion",
DB_QueryDELETE ("can not remove rubric criterion",
"DELETE FROM rub_criteria"
" WHERE RubCod=%ld"
" AND CriInd=%u",
RubCod,
CriInd);
}
" WHERE CriCod=%ld"
" AND RubCod=%ld",
CriCod,
RubCod);
}
/*****************************************************************************/
/**************************** Remove rubric criteria *************************/

View File

@ -31,6 +31,7 @@
#include "swad_game.h"
#include "swad_hierarchy_level.h"
#include "swad_rubric_type.h"
/*****************************************************************************/
/***************************** Public prototypes *****************************/
@ -53,22 +54,29 @@ void Rub_DB_RemoveRubric (long RubCod);
void Rub_DB_RemoveCrsRubrics (long CrsCod);
//--------------------------- Rubric criteria -------------------------------
void Rub_DB_InsertCriterionInRubric (long RubCod,unsigned CriInd,long CriCod);
void Rub_DB_UpdateIndexesOfCriteriaGreaterThan (long RubCod,unsigned CriInd);
long Rub_DB_CreateCriterion (const struct RubCri_Criterion *Criterion);
void Rub_DB_UpdateCriterionTitle (long CriCod,long RubCod,
const char NewTitle[RubCri_MAX_BYTES_TITLE + 1]);
void Rub_DB_UpdateCriterionValue (long CriCod,long RubCod,
RubCri_ValueRange_t ValueRange,double Value);
void Rub_DB_UpdateCriteriaIndexesInRubricGreaterThan (long RubCod,unsigned CriInd);
void Rub_DB_UpdateCriterionIndex (long CriInd,long RubCod,long CriCod);
void Rub_DB_LockTable (void);
unsigned Rub_DB_GetNumCriteriaInRubric (long RubCod);
unsigned Rub_DB_GetRubricCriteriaBasic (MYSQL_RES **mysql_res,long RubCod);
long Rub_DB_GetCriCodFromCriInd (long RubCod,unsigned QstInd);
unsigned Rub_DB_GetCriIndFromCriCod (long RubCod,long QstCod);
unsigned Rub_DB_GetMaxCriterionIndexInRubric (long RubCod);
unsigned Rub_DB_GetPrevCriterionIndexInRubric (long RubCod,unsigned QstInd);
unsigned Rub_DB_GetNextCriterionIndexInRubric (long RubCod,unsigned QstInd);
unsigned Rub_DB_GetCriterionData (MYSQL_RES **mysql_res,long CriCod);
unsigned Rub_DB_GetCriteria (MYSQL_RES **mysql_res,long RubCod);
unsigned Rub_DB_GetDataOfCriterionByCod (MYSQL_RES **mysql_res,long CriCod);
bool Rub_DB_CheckIfSimilarCriterionExists (const struct RubCri_Criterion *Criterion,
const char Title[RubCri_MAX_BYTES_TITLE + 1]);
double Rub_DB_GetNumCriteriaPerRubric (HieLvl_Level_t Scope);
void Rub_DB_RemoveCriterionFromRubric (long RubCod,unsigned CriInd);
void Rub_DB_RemoveCriterionFromRubric (long CriCod,long RubCod);
void Rub_DB_RemoveRubricCriteria (long RubCod);
void Rub_DB_RemoveCrsRubricCriteria (long CrsCod);

85
swad_rubric_type.h Normal file
View File

@ -0,0 +1,85 @@
// swad_rubric_type.h: definition of types for rubrics
#ifndef _SWAD_RUB_TYP
#define _SWAD_RUB_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-2023 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_level.h"
#include "swad_string.h"
/*****************************************************************************/
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Rub_MAX_CHARS_TITLE (128 - 1) // 127
#define Rub_MAX_BYTES_TITLE ((Rub_MAX_CHARS_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define RubCri_MAX_CHARS_TITLE (128 - 1) // 127
#define RubCri_MAX_BYTES_TITLE ((RubCri_MAX_CHARS_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define RubCri_NUM_VALUES 2
typedef enum
{
RubCri_MIN = 0,
RubCri_MAX = 1,
} RubCri_ValueRange_t;
struct Rub_Rubric
{
long RubCod; // Rubric code
long CrsCod; // Course code
long UsrCod; // Author code
char Title[Rub_MAX_BYTES_TITLE + 1];
unsigned NumCriteria; // Number of criteria in the rubric
};
struct Rub_Rubrics
{
bool LstIsRead; // Is the list already read from database...
// ...or it needs to be read?
unsigned Num; // Total number of rubrics
long *Lst; // List of rubric codes
unsigned CurrentPage;
struct Rub_Rubric Rubric; // Selected/current rubric
long CriCod; // Selected/current criterion code
unsigned CriInd; // Current citerion index
long QstCod; // Current question code
};
struct RubCri_Criterion
{
long RubCod; // Rubric code
long CriCod; // Criterion code
unsigned CriInd; // Criterion index (position in the rubric)
double Values[RubCri_NUM_VALUES];
char Title[RubCri_MAX_BYTES_TITLE + 1]; // Title of the criterion
};
#endif

View File

@ -1634,7 +1634,7 @@ void Svy_UnhideSurvey (void)
/********************* Put a form to create a new survey *********************/
/*****************************************************************************/
void Svy_RequestCreatOrEditSvy (void)
void Svy_ReqCreatOrEditSvy (void)
{
extern const char *Hlp_ANALYTICS_Surveys_new_survey;
extern const char *Hlp_ANALYTICS_Surveys_edit_survey;
@ -2093,7 +2093,7 @@ void Svy_ReceiveFormSurvey (void)
Grp_FreeListCodSelectedGrps ();
}
else
Svy_RequestCreatOrEditSvy ();
Svy_ReqCreatOrEditSvy ();
/***** Notify by email about the new survey *****/
if (NewSvy.Scope == HieLvl_CRS) // Notify only the surveys for a course, not for a degree or global
@ -2248,7 +2248,7 @@ void Svy_RemoveSurveys (HieLvl_Level_t Scope,long Cod)
/*********** Put a form to edit/create a question in survey *****************/
/*****************************************************************************/
void Svy_RequestEditQuestion (void)
void Svy_ReqEditQuestion (void)
{
struct Svy_Surveys Surveys;
struct Svy_Question SvyQst;
@ -3104,7 +3104,7 @@ static void Svy_PutParsRemoveOneQst (void *Surveys)
/********************** Request the removal of a question ********************/
/*****************************************************************************/
void Svy_RequestRemoveQst (void)
void Svy_ReqRemQst (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_question_X;
extern const char *Txt_Remove_question;

View File

@ -93,7 +93,7 @@ void Svy_SeeAllSurveys (void);
void Svy_ListAllSurveys (struct Svy_Surveys *Surveys);
void Svy_SeeOneSurvey (void);
void Svy_PutParSvyOrder (Dat_StartEndTime_t SelectedOrder);
void Svy_RequestCreatOrEditSvy (void);
void Svy_ReqCreatOrEditSvy (void);
void Svy_GetDataOfSurveyByCod (struct Svy_Survey *Svy);
void Svy_GetDataOfSurveyByFolder (struct Svy_Survey *Svy);
void Svy_FreeListSurveys (struct Svy_Surveys *Surveys);
@ -109,10 +109,10 @@ void Svy_UnhideSurvey (void);
void Svy_ReceiveFormSurvey (void);
void Svy_RemoveSurveys (HieLvl_Level_t Scope,long Cod);
void Svy_RequestEditQuestion (void);
void Svy_ReqEditQuestion (void);
void Svy_ReceiveQst (void);
void Svy_RequestRemoveQst (void);
void Svy_ReqRemQst (void);
void Svy_RemoveQst (void);
void Svy_ReceiveSurveyAnswers (void);

View File

@ -94,7 +94,7 @@ static unsigned Tst_GetParNumQsts (void);
/********************* Request a self-assessment test ************************/
/*****************************************************************************/
void Tst_RequestTest (void)
void Tst_ReqTest (void)
{
struct Qst_Questions Questions;

View File

@ -58,7 +58,7 @@ typedef enum
/***************************** Public prototypes *****************************/
/*****************************************************************************/
void Tst_RequestTest (void);
void Tst_ReqTest (void);
void Tst_ShowNewTest (void);
void Tst_ReceiveTestDraft (void);

View File

@ -293,7 +293,7 @@ static void TstPrn_WriteQstAndAnsToFill (struct TstPrn_PrintedQuestion *PrintedQ
/***** Number of question and answer type *****/
HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ());
Qst_WriteNumQst (QstInd + 1,"BIG_INDEX");
Lay_WriteIndex (QstInd + 1,"BIG_INDEX");
Qst_WriteAnswerType (Question->Answer.Type,"DAT_SMALL");
HTM_TD_End ();
@ -640,7 +640,7 @@ static void TstPrn_WriteQstAndAnsExam (struct Usr_Data *UsrDat,
/***** Number of question and answer type *****/
HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ());
Qst_WriteNumQst (QstInd + 1,"BIG_INDEX");
Lay_WriteIndex (QstInd + 1,"BIG_INDEX");
if (QuestionUneditedAfterExam)
Qst_WriteAnswerType (Question->Answer.Type,"DAT_SMALL");
HTM_TD_End ();

View File

@ -1621,6 +1621,29 @@ const char *Txt_Alphabetic_BR_code_BR_ISO_3166_1 =
"Alphabetic<br />code<br />ISO 3166-1"; // Çeviri lazim!
#endif
const char *Txt_Already_existed_a_criterion_in_this_rubric_with_the_title_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
"Ja existia un criteri en aquesta r&uacute;brica amb el t&iacute;tol <strong>%s</strong>.";
#elif L==2 // de
"In dieser Rubrik existierte bereits ein Kriterium mit dem Titel <strong>%s</strong>.";
#elif L==3 // en
"Already existed a criterion in this rubric with the title <strong>%s</strong>.";
#elif L==4 // es
"Ya exist&iacute;a un criterio en esta r&uacute;brica con el t&iacute;tulo <strong>%s</strong>.";
#elif L==5 // fr
"Il existe d&eacute;j&agrave; un crit&egrave;re dans cette rubrique avec le titre <strong>%s</strong>.";
#elif L==6 // gn
"Ya exist&iacute;a un criterio en esta r&uacute;brica con el t&iacute;tulo <strong>%s</strong>."; // Okoteve traducción
#elif L==7 // it
"Esiste gi&agrave; un criterio in questa rubrica con il titolo <strong>%s</strong>.";
#elif L==8 // pl
"By&lstrok;o ju&zdot; kryterium w tej rubryce z tytu&lstrok;em <strong>%s</strong>.";
#elif L==9 // pt
"J&aacute; existia um crit&eacute;rio nesta rubrica com o t&iacute;tulo <strong>%s</strong>.";
#elif L==10 // tr
"Bu de&gbreve;erlendirme tablosunda <strong>%s</strong> ba&scedil;l&inodot;kl&inodot; bir &ouml;l&ccedil;&uuml;t zaten vard&inodot;.";
#endif
const char *Txt_Already_existed_a_game_with_the_title_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
"Ja existia un joc amb el t&iacute;tol <strong>%s</strong>.";
@ -6730,6 +6753,29 @@ const char *Txt_Create_course =
"Create course"; // Çeviri lazim!
#endif
const char *Txt_Create_criterion =
#if L==1 // ca
"Crear criteri";
#elif L==2 // de
"Kriterium eingeben";
#elif L==3 // en
"Create criterion";
#elif L==4 // es
"Crear criterio";
#elif L==5 // fr
"Cr&eacute;er crit&egrave;re";
#elif L==6 // gn
"Crear criterio"; // Okoteve traducción
#elif L==7 // it
"Crear criterio";
#elif L==8 // pl
"Utw&oacute;rz kryterium";
#elif L==9 // pt
"Criar crit&eacute;rio";
#elif L==10 // tr
"&Ouml;l&ccedil;&uuml;t olu&scedil;tur";
#endif
const char *Txt_Create_degree =
#if L==1 // ca
"Crear titulaci&oacute;";
@ -7417,7 +7463,7 @@ const char *Txt_Created_new_assignment_X = // Warning: it is very important to i
#elif L==9 // pt
"Criada nova atividade <strong>%s</strong>.";
#elif L==10 // tr
"Created new assignment <strong>%s</strong>."; // Çeviri lazim!
"Yeni atama <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_banner_X = // Warning: it is very important to include %s in the following sentences
@ -7440,7 +7486,7 @@ const char *Txt_Created_new_banner_X = // Warning: it is very important to inclu
#elif L==9 // pt
"Criado novo banner <strong>%s</strong>.";
#elif L==10 // tr
"Created new banner <strong>%s</strong>."; // Çeviri lazim!
"Yeni banner <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_building_X = // Warning: it is very important to include %s in the following sentences
@ -7463,7 +7509,7 @@ const char *Txt_Created_new_building_X = // Warning: it is very important to inc
#elif L==9 // pt
"Criado novo edif&iacute;cio <strong>%s</strong>.";
#elif L==10 // tr
"Created new building <strong>%s</strong>."; // Çeviri lazim!
"Yeni bina <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_call_for_exam =
@ -7486,7 +7532,7 @@ const char *Txt_Created_new_call_for_exam =
#elif L==9 // pt
"Criado nova chamada para exame.";
#elif L==10 // tr
"Created new call for exam."; // Çeviri lazim!
"S&inodot;nav i&ccedil;in yeni &ccedil;a&gbreve;r&inodot; olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_center_X = // Warning: it is very important to include %s in the following sentences
@ -7509,7 +7555,7 @@ const char *Txt_Created_new_center_X = // Warning: it is very important to inclu
#elif L==9 // pt
"Criado novo centro <strong>%s</strong>.";
#elif L==10 // tr
"Created new center <strong>%s</strong>."; // Çeviri lazim!
"Yeni merkez <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_country_X = // Warning: it is very important to include %s in the following sentences
@ -7532,7 +7578,7 @@ const char *Txt_Created_new_country_X = // Warning: it is very important to incl
#elif L==9 // pt
"Criado novo pa&iacute;s <strong>%s</strong>.";
#elif L==10 // tr
"Created new country <strong>%s</strong>."; // Çeviri lazim!
"Yeni &uuml;lke <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_course_X = // Warning: it is very important to include %s in the following sentences
@ -7555,7 +7601,30 @@ const char *Txt_Created_new_course_X = // Warning: it is very important to inclu
#elif L==9 // pt
"Criada nova disciplina <strong>%s</strong>.";
#elif L==10 // tr
"Created new course <strong>%s</strong>."; // Çeviri lazim!
"Yeni kurs <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_criterion_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
"Creat nou criteri <strong>%s</strong>.";
#elif L==2 // de
"Neues Kriterium <strong>%s</strong> eingegeben.";
#elif L==3 // en
"Created new criterion <strong>%s</strong>.";
#elif L==4 // es
"Creado nuevo criterio <strong>%s</strong>.";
#elif L==5 // fr
"Cr&eacute;&eacute; nouveau crit&egrave;re <strong>%s</strong>.";
#elif L==6 // gn
"Creado nuevo criterio <strong>%s</strong>."; // Okoteve traducción
#elif L==7 // it
"Creato nuovo criterio <strong>%s</strong>.";
#elif L==8 // pl
"Utworzono nowe kryterium <strong>%s</strong>.";
#elif L==9 // pt
"Criado novo crit&eacute;rio <strong>%s</strong>.";
#elif L==10 // tr
"Yeni kriter <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_degree_X = // Warning: it is very important to include %s in the following sentences
@ -7578,7 +7647,7 @@ const char *Txt_Created_new_degree_X = // Warning: it is very important to inclu
#elif L==9 // pt
"Criada novo grau <strong>%s</strong>.";
#elif L==10 // tr
"Created new degree <strong>%s</strong>."; // Çeviri lazim!
"Yeni derece <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_department_X = // Warning: it is very important to include %s in the following sentences
@ -7601,7 +7670,7 @@ const char *Txt_Created_new_department_X = // Warning: it is very important to i
#elif L==9 // pt
"Criado novo departamento <strong>%s</strong>.";
#elif L==10 // tr
"Created new department <strong>%s</strong>."; // Çeviri lazim!
"Yeni departman <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_email_domain_X = // Warning: it is very important to include %s in the following sentences
@ -7624,7 +7693,7 @@ const char *Txt_Created_new_email_domain_X = // Warning: it is very important to
#elif L==9 // pt
"Criado novo dom&iacute;nio de email <strong>%s</strong>.";
#elif L==10 // tr
"Created new email domain <strong>%s</strong>."; // Çeviri lazim!
"Yeni e-posta etki alan&inodot; <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_event_X = // Warning: it is very important to include %s in the following sentences
@ -7647,7 +7716,7 @@ const char *Txt_Created_new_event_X = // Warning: it is very important to includ
#elif L==9 // pt
"Criado novo evento <strong>%s</strong>.";
#elif L==10 // tr
"Created new event <strong>%s</strong>."; // Çeviri lazim!
"Yeni etkinlik <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_exam_X = // Warning: it is very important to include %s in the following sentences
@ -7670,7 +7739,7 @@ const char *Txt_Created_new_exam_X = // Warning: it is very important to include
#elif L==9 // pt
"Criado novo exame <strong>%s</strong>.";
#elif L==10 // tr
"Created new exam <strong>%s</strong>."; // Çeviri lazim!
"Yeni s&inodot;nav <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_game_X = // Warning: it is very important to include %s in the following sentences
@ -7693,7 +7762,7 @@ const char *Txt_Created_new_game_X = // Warning: it is very important to include
#elif L==9 // pt
"Criado novo jogo <strong>%s</strong>.";
#elif L==10 // tr
"Created new game <strong>%s</strong>."; // Çeviri lazim!
"Yeni oyun <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_group_X = // Warning: it is very important to include %s in the following sentences
@ -7716,7 +7785,7 @@ const char *Txt_Created_new_group_X = // Warning: it is very important to includ
#elif L==9 // pt
"Criado novo grupo <strong>%s</strong>.";
#elif L==10 // tr
"Created new group <strong>%s</strong>."; // Çeviri lazim!
"Yeni grup <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_holiday_X = // Warning: it is very important to include %s in the following sentences
@ -7739,7 +7808,7 @@ const char *Txt_Created_new_holiday_X = // Warning: it is very important to incl
#elif L==9 // pt
"Criado nova f&eacute;ria <strong>%s</strong>.";
#elif L==10 // tr
"Created new holiday <strong>%s</strong>."; // Çeviri lazim!
"Yeni tatil <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_institution_X = // Warning: it is very important to include %s in the following sentences
@ -7762,7 +7831,7 @@ const char *Txt_Created_new_institution_X = // Warning: it is very important to
#elif L==9 // pt
"Criada nova institu&ccedil;&atilde;o <strong>%s</strong>.";
#elif L==10 // tr
"Created new institution <strong>%s</strong>."; // Çeviri lazim!
"Yeni kurum <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_link_X = // Warning: it is very important to include %s in the following sentences
@ -7785,7 +7854,7 @@ const char *Txt_Created_new_link_X = // Warning: it is very important to include
#elif L==9 // pt
"Criado nova liga&ccedil;&atilde;o <strong>%s</strong>.";
#elif L==10 // tr
"Created new link <strong>%s</strong>."; // Çeviri lazim!
"Yeni ba&gbreve;lant&inodot; <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_place_X = // Warning: it is very important to include %s in the following sentences
@ -7808,7 +7877,7 @@ const char *Txt_Created_new_place_X = // Warning: it is very important to includ
#elif L==9 // pt
"Criado nova localiza&ccedil;&atilde;o <strong>%s</strong>.";
#elif L==10 // tr
"Created new place <strong>%s</strong>."; // Çeviri lazim!
"Yeni yer <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_plugin_X = // Warning: it is very important to include %s in the following sentences
@ -7831,7 +7900,7 @@ const char *Txt_Created_new_plugin_X = // Warning: it is very important to inclu
#elif L==9 // pt
"Criado novo plugin <strong>%s</strong>.";
#elif L==10 // tr
"Created new plugin <strong>%s</strong>."; // Çeviri lazim!
"Yeni eklenti <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_project_X = // Warning: it is very important to include %s in the following sentences
@ -7854,7 +7923,7 @@ const char *Txt_Created_new_project_X = // Warning: it is very important to incl
#elif L==9 // pt
"Criado novo projeto <strong>%s</strong>.";
#elif L==10 // tr
"Created new project <strong>%s</strong>."; // Çeviri lazim!
"Yeni proje <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_record_field_X = // Warning: it is very important to include %s in the following sentences
@ -7877,7 +7946,7 @@ const char *Txt_Created_new_record_field_X = // Warning: it is very important to
#elif L==9 // pt
"Criado novo campo de cart&atilde;o <strong>%s</strong>.";
#elif L==10 // tr
"Created new record field <strong>%s</strong>."; // Çeviri lazim!
"Yeni kay&inodot;t alan&inodot; <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_room_X = // Warning: it is very important to include %s in the following sentences
@ -7900,7 +7969,7 @@ const char *Txt_Created_new_room_X = // Warning: it is very important to include
#elif L==9 // pt
"Criada nova sala <strong>%s</strong>.";
#elif L==10 // tr
"Created new room <strong>%s</strong>."; // Çeviri lazim!
"Yeni oda <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_rubric_X = // Warning: it is very important to include %s in the following sentences
@ -7946,7 +8015,7 @@ const char *Txt_Created_new_set_of_questions_X = // Warning: it is very importan
#elif L==9 // pt
"Criado novo conjunto de perguntas <strong>%s</strong>.";
#elif L==10 // tr
"Created new set of questions <strong>%s</strong>."; // Çeviri lazim!
"Yeni soru grubu <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_survey_X = // Warning: it is very important to include %s in the following sentences
@ -7969,7 +8038,7 @@ const char *Txt_Created_new_survey_X = // Warning: it is very important to inclu
#elif L==9 // pt
"Criado novo inqu&eacute;rito <strong>%s</strong>.";
#elif L==10 // tr
"Created new survey <strong>%s</strong>."; // Çeviri lazim!
"Yeni anket <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_type_of_degree_X = // Warning: it is very important to include %s in the following sentences
@ -7992,7 +8061,7 @@ const char *Txt_Created_new_type_of_degree_X = // Warning: it is very important
#elif L==9 // pt
"Criado novo tipo de grau <strong>%s</strong>.";
#elif L==10 // tr
"Created new type of degree <strong>%s</strong>."; // Çeviri lazim!
"Yeni tip derecesi <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_new_type_of_group_X = // Warning: it is very important to include %s in the following sentences
@ -8015,7 +8084,7 @@ const char *Txt_Created_new_type_of_group_X = // Warning: it is very important t
#elif L==9 // pt
"Criado novo tipo de grupo <strong>%s</strong>.";
#elif L==10 // tr
"Created new type of group <strong>%s</strong>."; // Çeviri lazim!
"Yeni tip grubu <strong>%s</strong> olu&scedil;turuldu.";
#endif
const char *Txt_Created_tables_in_the_database_that_did_not_exist =
@ -10225,6 +10294,29 @@ const char *Txt_Do_you_really_want_to_remove_the_assignment_X = // Warning: it i
"Do you really want to remove the assignment <strong>%s</strong>?"; // Çeviri lazim!
#endif
const char *Txt_Do_you_really_want_to_remove_the_criterion_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
"De veres voleu eliminar el criteri <strong>%s</strong>?";
#elif L==2 // de
"Wollen Sie der Kriterium <strong>%s</strong> wirklich entfernen?";
#elif L==3 // en
"Do you really want to remove the criterion <strong>%s</strong>?";
#elif L==4 // es
"&iquest;Realmente desea eliminar el criterio <strong>%s</strong>?";
#elif L==5 // fr
"Voulez-vous vraiment supprimer le crit&egrave;re <strong>%s</strong>?";
#elif L==6 // gn
"&iquest;Realmente desea eliminar el criterio <strong>%s</strong>?"; // Okoteve traducción
#elif L==7 // it
"Vuoi realmente rimuovere il criterio <strong>%s</strong>?";
#elif L==8 // pl
"Czy na pewno chcesz usun&aogon;&cacute; kryterium <strong>%s</strong>?";
#elif L==9 // pt
"Voc&ecirc; realmente deseja remover o crit&eacute;rio <strong>%s</strong>?";
#elif L==10 // tr
"<strong>%s</strong> kriterini ger&ccedil;ekten kald&inodot;rmak istiyor musunuz?";
#endif
const char *Txt_Do_you_really_want_to_remove_the_entire_thread =
#if L==1 // ca
"De veres voleu eliminar tota la discusi&oacute;?";
@ -20863,6 +20955,29 @@ const char *Txt_Max_BR_students =
"Max.<br />stud."; // Çeviri lazim!
#endif
const char *Txt_Maximum =
#if L==1 // ca
"M&agrave;xim";
#elif L==2 // de
"Maximum";
#elif L==3 // en
"Maximum";
#elif L==4 // es
"M&aacute;ximo";
#elif L==5 // fr
"Maximum";
#elif L==6 // gn
"M&aacute;ximo"; // Okoteve traducción
#elif L==7 // it
"Massimo";
#elif L==8 // pl
"Maksimum";
#elif L==9 // pt
"M&aacute;ximo";
#elif L==10 // tr
"Maksimum";
#endif
const char *Txt_maximum =
#if L==1 // ca
"m&agrave;xim";
@ -20883,7 +20998,7 @@ const char *Txt_maximum =
#elif L==9 // pt
"m&aacute;ximo";
#elif L==10 // tr
"maximum"; // Çeviri lazim!
"maksimum";
#endif
const char *Txt_Maximum_grade =
@ -20906,7 +21021,7 @@ const char *Txt_Maximum_grade =
#elif L==9 // pt
"Nota m&aacute;xima";
#elif L==10 // tr
"Maximum grade"; // Çeviri lazim!
"Maksimum derece";
#endif
const char *Txt_Members = // Project members
@ -23448,9 +23563,32 @@ const char *Txt_Messages_sent_from_A_COURSE =
"Messages sent from"; // Çeviri lazim!
#endif
const char *Txt_Minimum =
#if L==1 // ca
"M&iacute;nim";
#elif L==2 // de
"Mindest";
#elif L==3 // en
"Minimum";
#elif L==4 // es
"M&iacute;nimo";
#elif L==5 // fr
"Minimum";
#elif L==6 // gn
"M&iacute;nimo"; // Okoteve traducción
#elif L==7 // it
"Minimo";
#elif L==8 // pl
"Minimum";
#elif L==9 // pt
"M&iacute;nimo";
#elif L==10 // tr
"Asgari";
#endif
const char *Txt_minimum =
#if L==1 // ca
"m&iacute;nimo"; // Necessita traducció
"m&iacute;nim";
#elif L==2 // de
"Mindest";
#elif L==3 // en
@ -23468,7 +23606,7 @@ const char *Txt_minimum =
#elif L==9 // pt
"m&iacute;nimo";
#elif L==10 // tr
"minimum"; // Çeviri lazim!
"asgari";
#endif
const char *Txt_Minimum_time_seconds_per_question_between_two_tests =
@ -35035,6 +35173,29 @@ const char *Txt_Remove_assignment =
"Atamay&inodot; kald&inodot;r";
#endif
const char *Txt_Remove_criterion =
#if L==1 // ca
"Eliminar criteri";
#elif L==2 // de
"Kriterium entfernen";
#elif L==3 // en
"Remove criterion";
#elif L==4 // es
"Eliminar criterio";
#elif L==5 // fr
"Supprimer crit&egrave;re";
#elif L==6 // gn
"Eliminar criterio"; // Okoteve traducción
#elif L==7 // it
"Rimuovere criterio";
#elif L==8 // pl
"Usu&nacute; kryterium";
#elif L==9 // pt
"Remover crit&eacute;rio";
#elif L==10 // tr
"Kriter kald&inodot;r";
#endif
const char *Txt_Remove_event =
#if L==1 // ca
"Eliminar esdeveniment";
@ -52704,7 +52865,7 @@ const char *Txt_The_session_has_expired =
#elif L==10 // tr
"The session has expired."; // Çeviri lazim!
#endif
/*
const char *Txt_The_set_of_questions_has_been_modified =
#if L==1 // ca
"El conjunt de preguntes ha estat modificat.";
@ -52727,7 +52888,7 @@ const char *Txt_The_set_of_questions_has_been_modified =
#elif L==10 // tr
"Soru seti de&gbreve;i&scedil;tirildi.";
#endif
*/
const char *Txt_The_size_of_the_file_exceeds_the_maximum_allowed_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
"La mida del fitxer"

View File

@ -822,7 +822,7 @@ static long TmlCom_ReceiveComm (void)
/**************** Request the removal of a comment in a note *****************/
/*****************************************************************************/
void TmlCom_RequestRemComUsr (void)
void TmlCom_ReqRemComUsr (void)
{
struct Tml_Timeline Timeline;
@ -848,7 +848,7 @@ void TmlCom_RequestRemComUsr (void)
HTM_SECTION_End ();
}
void TmlCom_RequestRemComGbl (void)
void TmlCom_ReqRemComGbl (void)
{
struct Tml_Timeline Timeline;

View File

@ -65,8 +65,8 @@ void TmlCom_ShowHiddenCommsGbl (void);
void TmlCom_ReceiveCommUsr (void);
void TmlCom_ReceiveCommGbl (void);
void TmlCom_RequestRemComUsr (void);
void TmlCom_RequestRemComGbl (void);
void TmlCom_ReqRemComUsr (void);
void TmlCom_ReqRemComGbl (void);
void TmlCom_RemoveComUsr (void);
void TmlCom_RemoveComGbl (void);

View File

@ -111,7 +111,7 @@ static void TmlNot_WriteFavShaRem (const struct Tml_Timeline *Timeline,
static void TmlNot_PutFormToRemoveNote (const struct Tml_Timeline *Timeline,
long NotCod);
static void TmlNot_RequestRemovalNote (struct Tml_Timeline *Timeline);
static void TmlNot_ReqRemNote (struct Tml_Timeline *Timeline);
static void TmlNot_PutParsRemoveNote (void *Timeline);
static void TmlNot_RemoveNote (void);
static void TmlNot_RemoveNoteMediaAndDBEntries (struct TmlNot_Note *Not);
@ -963,7 +963,7 @@ void TmlNot_MarkNotesChildrenOfFolderAsUnavailable (const char *Path)
/*********************** Request the removal of a note ***********************/
/*****************************************************************************/
void TmlNot_RequestRemNoteUsr (void)
void TmlNot_ReqRemNoteUsr (void)
{
struct Tml_Timeline Timeline;
@ -980,7 +980,7 @@ void TmlNot_RequestRemNoteUsr (void)
HTM_SECTION_Begin (Tml_TIMELINE_SECTION_ID);
/***** Request the removal of note *****/
TmlNot_RequestRemovalNote (&Timeline);
TmlNot_ReqRemNote (&Timeline);
/***** Write timeline again (user) *****/
Tml_ShowTimelineUsr (&Timeline);
@ -989,7 +989,7 @@ void TmlNot_RequestRemNoteUsr (void)
HTM_SECTION_End ();
}
void TmlNot_RequestRemNoteGbl (void)
void TmlNot_ReqRemNoteGbl (void)
{
struct Tml_Timeline Timeline;
@ -997,13 +997,13 @@ void TmlNot_RequestRemNoteGbl (void)
Tml_InitTimelineGbl (&Timeline);
/***** Request the removal of note *****/
TmlNot_RequestRemovalNote (&Timeline);
TmlNot_ReqRemNote (&Timeline);
/***** Write timeline again (global) *****/
Tml_ShowNoteAndTimelineGbl (&Timeline);
}
static void TmlNot_RequestRemovalNote (struct Tml_Timeline *Timeline)
static void TmlNot_ReqRemNote (struct Tml_Timeline *Timeline)
{
extern const char *Txt_Do_you_really_want_to_remove_the_following_post;
struct TmlNot_Note Not;

View File

@ -106,8 +106,8 @@ void TmlNot_StoreAndPublishNoteInternal (TmlNot_Type_t NoteType,long Cod,
void TmlNot_MarkNoteOneFileAsUnavailable (const char *Path);
void TmlNot_MarkNotesChildrenOfFolderAsUnavailable (const char *Path);
void TmlNot_RequestRemNoteUsr (void);
void TmlNot_RequestRemNoteGbl (void);
void TmlNot_ReqRemNoteUsr (void);
void TmlNot_ReqRemNoteGbl (void);
void TmlNot_RemoveNoteUsr (void);
void TmlNot_RemoveNoteGbl (void);