Version 23.71.3: Mar 22, 2024 Code refactoring.

This commit is contained in:
acanas 2024-03-22 09:59:20 +01:00
parent 3aa0b58c7e
commit 566cbc95a4
43 changed files with 112 additions and 158 deletions

View File

@ -146,7 +146,7 @@ void QR_ImageQRCode (const char *QRString)
void QR_LinkTo (unsigned Size,ParCod_Param_t ParCode,long Cod) void QR_LinkTo (unsigned Size,ParCod_Param_t ParCode,long Cod)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_Shortcut; extern const char *Txt_Shortcut;
char *URL; char *URL;

View File

@ -230,7 +230,7 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActSeePen ] = {1060, 2,TabSys,ActSeePen , 0, 0, 0, 0, 0, 0,0x3C0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Hie_SeePending }, [ActSeePen ] = {1060, 2,TabSys,ActSeePen , 0, 0, 0, 0, 0, 0,0x3C0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Hie_SeePending },
// Links // Links
[ActSeeLnk ] = { 748, 3,TabSys,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x3C7,Act_CONT_NORM,Act_1ST_TAB,NULL ,Lnk_SeeLinks }, [ActSeeLnk ] = { 748, 3,TabSys,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x3C7,Act_CONT_NORM,Act_1ST_TAB,NULL ,Lnk_SeeLinks },
[ActEdiLnk ] = { 749,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_1ST_TAB,NULL ,Lnk_EditLinks }, [ActEdiLnk ] = { 749,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_1ST_TAB,NULL ,Lnk_EditLinks },
[ActNewLnk ] = { 750,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_1ST_TAB,Lnk_ReceiveNewLink ,Lnk_ContEditAfterChgLnk }, [ActNewLnk ] = { 750,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_1ST_TAB,Lnk_ReceiveNewLink ,Lnk_ContEditAfterChgLnk },
[ActRemLnk ] = { 897,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_1ST_TAB,Lnk_RemoveLink ,Lnk_ContEditAfterChgLnk }, [ActRemLnk ] = { 897,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_1ST_TAB,Lnk_RemoveLink ,Lnk_ContEditAfterChgLnk },
@ -457,8 +457,8 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActLftPrgItm ] = {1834,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Prg_MoveLeftItem }, [ActLftPrgItm ] = {1834,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Prg_MoveLeftItem },
[ActRgtPrgItm ] = {1833,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Prg_MoveRightItem }, [ActRgtPrgItm ] = {1833,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Prg_MoveRightItem },
[ActExpSeePrgItm ] = {1944,-1,TabUnk,ActSeePrg ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Prg_ExpandItem }, [ActExpSeePrgItm ] = {1944,-1,TabUnk,ActSeePrg ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Prg_ExpandItem },
[ActExpEdiPrgItm ] = {1946,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Prg_ExpandItem },
[ActConSeePrgItm ] = {1945,-1,TabUnk,ActSeePrg ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Prg_ContractItem }, [ActConSeePrgItm ] = {1945,-1,TabUnk,ActSeePrg ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Prg_ContractItem },
[ActExpEdiPrgItm ] = {1946,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Prg_ExpandItem },
[ActConEdiPrgItm ] = {1947,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Prg_ContractItem }, [ActConEdiPrgItm ] = {1947,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Prg_ContractItem },
[ActSeeRscCli_InPrg ] = {1970,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,PrgRsc_ViewResourceClipboard }, [ActSeeRscCli_InPrg ] = {1970,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,PrgRsc_ViewResourceClipboard },
[ActRemRscCli_InPrg ] = {1971,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,PrgRsc_RemoveResourceClipboard }, [ActRemRscCli_InPrg ] = {1971,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,PrgRsc_RemoveResourceClipboard },
@ -1327,7 +1327,7 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActLstStd ] = { 678, 1,TabUsr,ActLstStd ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Usr_SeeStudents }, [ActLstStd ] = { 678, 1,TabUsr,ActLstStd ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Usr_SeeStudents },
[ActLstStdAll ] = { 42,-1,TabUnk,ActLstStd ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_NEW_TAB,NULL ,Usr_ListAllDataStds }, [ActLstStdAll ] = { 42,-1,TabUnk,ActLstStd ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_NEW_TAB,NULL ,Usr_ListAllDataStds },
[ActPrnStdPho ] = { 120,-1,TabUnk,ActLstStd ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_NEW_TAB,NULL ,Usr_SeeStdClassPhotoPrn }, [ActPrnStdPho ] = { 120,-1,TabUnk,ActLstStd ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_NEW_TAB,NULL ,Usr_SeeStdClassPhotoPrn },
[ActDoActOnSevStd ] = {1754,-1,TabUnk,ActLstStd ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,Usr_DoActionOnSeveralUsrs1 ,Usr_DoActionOnSeveralUsrs2 }, [Act_DoAct_OnSevStd ] = {1754,-1,TabUnk,ActLstStd ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,Usr_DoActionOnSeveralUsrs1 ,Usr_DoActionOnSeveralUsrs2 },
[ActSeeRecSevStd ] = { 89,-1,TabUnk,ActLstStd ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Rec_ListRecordsStdsShow }, [ActSeeRecSevStd ] = { 89,-1,TabUnk,ActLstStd ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Rec_ListRecordsStdsShow },
[ActPrnRecSevStd ] = { 111,-1,TabUnk,ActLstStd ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_NEW_TAB,NULL ,Rec_ListRecordsStdsPrint }, [ActPrnRecSevStd ] = { 111,-1,TabUnk,ActLstStd ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_NEW_TAB,NULL ,Rec_ListRecordsStdsPrint },
[ActReqMdfOneStd ] = {1415,-1,TabUnk,ActLstStd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_1ST_TAB,NULL ,Enr_ReqRegRemStd }, [ActReqMdfOneStd ] = {1415,-1,TabUnk,ActLstStd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_1ST_TAB,NULL ,Enr_ReqRegRemStd },
@ -1375,7 +1375,7 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActLstTch ] = { 679, 2,TabUsr,ActLstTch ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_1ST_TAB,NULL ,Usr_SeeTeachers }, [ActLstTch ] = { 679, 2,TabUsr,ActLstTch ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_1ST_TAB,NULL ,Usr_SeeTeachers },
[ActLstTchAll ] = { 578,-1,TabUnk,ActLstTch ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_NEW_TAB,NULL ,Usr_ListAllDataTchs }, [ActLstTchAll ] = { 578,-1,TabUnk,ActLstTch ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_NEW_TAB,NULL ,Usr_ListAllDataTchs },
[ActPrnTchPho ] = { 443,-1,TabUnk,ActLstTch ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_NEW_TAB,NULL ,Usr_SeeTchClassPhotoPrn }, [ActPrnTchPho ] = { 443,-1,TabUnk,ActLstTch ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_NEW_TAB,NULL ,Usr_SeeTchClassPhotoPrn },
[ActDoActOnSevTch ] = {1755,-1,TabUnk,ActLstTch ,0x3F8,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,Usr_DoActionOnSeveralUsrs1 ,Usr_DoActionOnSeveralUsrs2 }, [Act_DoAct_OnSevTch ] = {1755,-1,TabUnk,ActLstTch ,0x3F8,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,Usr_DoActionOnSeveralUsrs1 ,Usr_DoActionOnSeveralUsrs2 },
[ActSeeRecSevTch ] = { 22,-1,TabUnk,ActLstTch ,0x3F8,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Rec_ListRecordsTchsShow }, [ActSeeRecSevTch ] = { 22,-1,TabUnk,ActLstTch ,0x3F8,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Rec_ListRecordsTchsShow },
[ActPrnRecSevTch ] = { 127,-1,TabUnk,ActLstTch ,0x3F8,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_NEW_TAB,NULL ,Rec_ListRecordsTchsPrint }, [ActPrnRecSevTch ] = { 127,-1,TabUnk,ActLstTch ,0x3F8,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_NEW_TAB,NULL ,Rec_ListRecordsTchsPrint },
[ActReqMdfOneTch ] = {1416,-1,TabUnk,ActLstTch ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_1ST_TAB,NULL ,Enr_ReqRegRemTch }, [ActReqMdfOneTch ] = {1416,-1,TabUnk,ActLstTch ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_1ST_TAB,NULL ,Enr_ReqRegRemTch },
@ -1411,7 +1411,6 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActReqUnfSevTch ] = {1759,-1,TabUnk,ActLstTch ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Fol_ReqUnfollowTchs }, [ActReqUnfSevTch ] = {1759,-1,TabUnk,ActLstTch ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Fol_ReqUnfollowTchs },
[ActFolSevTch ] = {1761,-1,TabUnk,ActLstTch ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Fol_FollowUsrs }, [ActFolSevTch ] = {1761,-1,TabUnk,ActLstTch ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Fol_FollowUsrs },
[ActUnfSevTch ] = {1763,-1,TabUnk,ActLstTch ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Fol_UnfollowUsrs }, [ActUnfSevTch ] = {1763,-1,TabUnk,ActLstTch ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Fol_UnfollowUsrs },
[ActSeeRecOneTch ] = {1175,-1,TabUnk,ActLstTch ,0x3F8,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Rec_GetUsrAndShowRecOneTchCrs }, [ActSeeRecOneTch ] = {1175,-1,TabUnk,ActLstTch ,0x3F8,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Rec_GetUsrAndShowRecOneTchCrs },
[ActReqEnrSevNET ] = {1642,-1,TabUnk,ActLstTch ,0x3C0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Enr_ReqAdminNonEditingTchs }, [ActReqEnrSevNET ] = {1642,-1,TabUnk,ActLstTch ,0x3C0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Enr_ReqAdminNonEditingTchs },
[ActRcvFrmEnrSevNET ] = {1643,-1,TabUnk,ActLstTch ,0x3C0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Enr_ReceiveAdminNonEditTchs }, [ActRcvFrmEnrSevNET ] = {1643,-1,TabUnk,ActLstTch ,0x3C0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_1ST_TAB,NULL ,Enr_ReceiveAdminNonEditTchs },
@ -1432,7 +1431,7 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActLstGst ] = { 587,-1,TabUnk,ActLstOth ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_1ST_TAB,NULL ,Usr_SeeGuests }, [ActLstGst ] = { 587,-1,TabUnk,ActLstOth ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_1ST_TAB,NULL ,Usr_SeeGuests },
[ActLstGstAll ] = {1189,-1,TabUnk,ActLstOth ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_NEW_TAB,NULL ,Usr_ListAllDataGsts }, [ActLstGstAll ] = {1189,-1,TabUnk,ActLstOth ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_NEW_TAB,NULL ,Usr_ListAllDataGsts },
[ActPrnGstPho ] = {1190,-1,TabUnk,ActLstOth ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_NEW_TAB,NULL ,Usr_SeeGstClassPhotoPrn }, [ActPrnGstPho ] = {1190,-1,TabUnk,ActLstOth ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_NEW_TAB,NULL ,Usr_SeeGstClassPhotoPrn },
[ActDoActOnSevGst ] = {1753,-1,TabUnk,ActLstOth ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_1ST_TAB,Usr_DoActionOnSeveralUsrs1 ,Usr_DoActionOnSeveralUsrs2 }, [Act_DoAct_OnSevGst ] = {1753,-1,TabUnk,ActLstOth ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_1ST_TAB,Usr_DoActionOnSeveralUsrs1 ,Usr_DoActionOnSeveralUsrs2 },
[ActSeeRecSevGst ] = {1187,-1,TabUnk,ActLstOth ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_1ST_TAB,NULL ,Rec_ListRecordsGstsShow }, [ActSeeRecSevGst ] = {1187,-1,TabUnk,ActLstOth ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_1ST_TAB,NULL ,Rec_ListRecordsGstsShow },
[ActPrnRecSevGst ] = {1188,-1,TabUnk,ActLstOth ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_NEW_TAB,NULL ,Rec_ListRecordsGstsPrint }, [ActPrnRecSevGst ] = {1188,-1,TabUnk,ActLstOth ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_NEW_TAB,NULL ,Rec_ListRecordsGstsPrint },
[ActReqMdfOneOth ] = {1414,-1,TabUnk,ActLstOth ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_1ST_TAB,NULL ,Enr_ReqRegRemOth }, [ActReqMdfOneOth ] = {1414,-1,TabUnk,ActLstOth ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_1ST_TAB,NULL ,Enr_ReqRegRemOth },
@ -3564,9 +3563,9 @@ Act_Action_t ActLst_FromActCodToAction[1 + ActLst_MAX_ACTION_COD] = // Do not re
ActChgRooMaxUsr, // #1750 ActChgRooMaxUsr, // #1750
ActUnk, // #1751 (obsolete action) ActUnk, // #1751 (obsolete action)
ActChgGrpRoo, // #1752 ActChgGrpRoo, // #1752
ActDoActOnSevGst, // #1753 Act_DoAct_OnSevGst, // #1753
ActDoActOnSevStd, // #1754 Act_DoAct_OnSevStd, // #1754
ActDoActOnSevTch, // #1755 Act_DoAct_OnSevTch, // #1755
ActReqFolSevStd, // #1756 ActReqFolSevStd, // #1756
ActReqFolSevTch, // #1757 ActReqFolSevTch, // #1757
ActReqUnfSevStd, // #1758 ActReqUnfSevStd, // #1758

View File

@ -1298,7 +1298,7 @@ typedef enum
ActLstStd, ActLstStd,
ActLstStdAll, ActLstStdAll,
ActPrnStdPho, ActPrnStdPho,
ActDoActOnSevStd, Act_DoAct_OnSevStd,
ActSeeRecSevStd, ActSeeRecSevStd,
ActPrnRecSevStd, ActPrnRecSevStd,
ActReqMdfOneStd, ActReqMdfOneStd,
@ -1347,7 +1347,7 @@ typedef enum
ActLstTch, ActLstTch,
ActLstTchAll, ActLstTchAll,
ActPrnTchPho, ActPrnTchPho,
ActDoActOnSevTch, Act_DoAct_OnSevTch,
ActSeeRecSevTch, ActSeeRecSevTch,
ActPrnRecSevTch, ActPrnRecSevTch,
ActReqMdfOneTch, ActReqMdfOneTch,
@ -1404,7 +1404,7 @@ typedef enum
ActLstGst, ActLstGst,
ActLstGstAll, ActLstGstAll,
ActPrnGstPho, ActPrnGstPho,
ActDoActOnSevGst, Act_DoAct_OnSevGst,
ActSeeRecSevGst, ActSeeRecSevGst,
ActPrnRecSevGst, ActPrnRecSevGst,
ActReqMdfOneOth, ActReqMdfOneOth,

View File

@ -128,7 +128,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
static void Att_PutLinkEvent (struct Att_Event *Event, static void Att_PutLinkEvent (struct Att_Event *Event,
const char *Title,const char *Txt); const char *Title,const char *Txt);
static unsigned Att_GetNumUsrsFromAListWhoAreInEvent (long AttCod, static unsigned Att_GetNumUsrsFromAListWhoAreInEvent (long AttCod,
long LstSelectedUsrCods[], long *LstSelectedUsrCods,
unsigned NumUsrsInList); unsigned NumUsrsInList);
static bool Att_CheckIfUsrIsPresentInEvent (long AttCod,long UsrCod); static bool Att_CheckIfUsrIsPresentInEvent (long AttCod,long UsrCod);
static bool Att_CheckIfUsrIsPresentInEventAndGetComments (long AttCod,long UsrCod, static bool Att_CheckIfUsrIsPresentInEventAndGetComments (long AttCod,long UsrCod,
@ -2077,7 +2077,7 @@ void Att_RegisterStudentsInEvent (void)
/*****************************************************************************/ /*****************************************************************************/
static unsigned Att_GetNumUsrsFromAListWhoAreInEvent (long AttCod, static unsigned Att_GetNumUsrsFromAListWhoAreInEvent (long AttCod,
long LstSelectedUsrCods[], long *LstSelectedUsrCods,
unsigned NumUsrsInList) unsigned NumUsrsInList)
{ {
char *SubQueryUsrs; char *SubQueryUsrs;
@ -2231,7 +2231,7 @@ static void Att_ListOrPrintMyAttendanceCrs (Att_TypeOfView_t TypeOfView)
/* Get number of students in this event */ /* Get number of students in this event */
Events.Lst[NumAttEvent].NumStdsFromList = Events.Lst[NumAttEvent].NumStdsFromList =
Att_GetNumUsrsFromAListWhoAreInEvent (Events.Lst[NumAttEvent].AttCod, Att_GetNumUsrsFromAListWhoAreInEvent (Events.Lst[NumAttEvent].AttCod,
&Gbl.Usrs.Me.UsrDat.UsrCod,1); &Gbl.Usrs.Me.UsrDat.UsrCod,1);
/***** Get list of attendance events selected *****/ /***** Get list of attendance events selected *****/
Att_GetListSelectedAttCods (&Events); Att_GetListSelectedAttCods (&Events);
@ -2344,7 +2344,7 @@ static void Att_ListOrPrintUsrsAttendanceCrs (void *TypeOfView)
/* Get number of students in this event */ /* Get number of students in this event */
Events.Lst[NumAttEvent].NumStdsFromList = Events.Lst[NumAttEvent].NumStdsFromList =
Att_GetNumUsrsFromAListWhoAreInEvent (Events.Lst[NumAttEvent].AttCod, Att_GetNumUsrsFromAListWhoAreInEvent (Events.Lst[NumAttEvent].AttCod,
LstSelectedUsrCods,NumUsrsInList); LstSelectedUsrCods,NumUsrsInList);
/***** Get list of attendance events selected *****/ /***** Get list of attendance events selected *****/
Att_GetListSelectedAttCods (&Events); Att_GetListSelectedAttCods (&Events);

View File

@ -1213,7 +1213,7 @@ static bool Brw_CheckIfUploadIsAllowed (const char *FileType);
static void Brw_PutIconToGetLinkToFile (void *FileMetadata); static void Brw_PutIconToGetLinkToFile (void *FileMetadata);
static void Brw_PutParsToGetLinkToFile (void *FileMetadata); static void Brw_PutParsToGetLinkToFile (void *FileMetadata);
static bool Brw_CheckIfICanEditFileMetadata (long IAmTheOwner); static bool Brw_CheckIfICanEditFileMetadata (bool IAmTheOwner);
static bool Brw_CheckIfIAmOwnerOfFile (long PublisherUsrCod); static bool Brw_CheckIfIAmOwnerOfFile (long PublisherUsrCod);
static void Brw_WriteBigLinkToDownloadFile (const char *URL, static void Brw_WriteBigLinkToDownloadFile (const char *URL,
struct Brw_FileMetadata *FileMetadata, struct Brw_FileMetadata *FileMetadata,
@ -2876,7 +2876,7 @@ void Brw_PutLegalNotice (void)
static void Brw_FormToChangeCrsGrpZone (void) static void Brw_FormToChangeCrsGrpZone (void)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
struct ListCodGrps LstMyGrps; struct ListCodGrps LstMyGrps;
unsigned NumGrp; unsigned NumGrp;
struct GroupData GrpDat; struct GroupData GrpDat;
@ -4632,8 +4632,7 @@ static void Brw_PutIconFileWithLinkToViewMetadata (const struct Brw_FileMetadata
void Brw_PutIconFile (const char *FileName, void Brw_PutIconFile (const char *FileName,
const char *Class,Frm_PutForm_t PutFormToGo) const char *Class,Frm_PutForm_t PutFormToGo)
{ {
extern unsigned Ext_NUM_FILE_EXT_ALLOWED; extern const char *Ext_FileExtensionsAllowed[Ext_NUM_FILE_EXT_ALLOWED];
extern const char *Ext_FileExtensionsAllowed[];
extern const char *Txt_X_file; extern const char *Txt_X_file;
char *URL; char *URL;
char *Icon; char *Icon;
@ -7890,7 +7889,7 @@ void Brw_DownloadFile (void)
/*********** Check if I have permission to change file metadata **************/ /*********** Check if I have permission to change file metadata **************/
/*****************************************************************************/ /*****************************************************************************/
static bool Brw_CheckIfICanEditFileMetadata (long IAmTheOwner) static bool Brw_CheckIfICanEditFileMetadata (bool IAmTheOwner)
{ {
switch (Gbl.Action.Act) // Only in actions where edition is allowed switch (Gbl.Action.Act) // Only in actions where edition is allowed
{ {

View File

@ -544,7 +544,7 @@ static void CtrCfg_FreePhotoAttr (char **PhotoAttribution)
static void CtrCfg_Institution (Vie_ViewType_t ViewType,Frm_PutForm_t PutForm) static void CtrCfg_Institution (Vie_ViewType_t ViewType,Frm_PutForm_t PutForm)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS]; extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS];
unsigned NumIns; unsigned NumIns;
const struct Hie_Node *Ins; const struct Hie_Node *Ins;
@ -623,7 +623,7 @@ static void CtrCfg_Institution (Vie_ViewType_t ViewType,Frm_PutForm_t PutForm)
static void CtrCfg_Place (Frm_PutForm_t PutForm) static void CtrCfg_Place (Frm_PutForm_t PutForm)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_Place; extern const char *Txt_Place;
extern const char *Txt_Another_place; extern const char *Txt_Another_place;
struct Plc_Places Places; struct Plc_Places Places;

View File

@ -633,10 +633,11 @@ Me sale este error, no s
"can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod') "can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod')
*/ */
#define Log_PLATFORM_VERSION "SWAD 23.71.2 (2024-03-20)" #define Log_PLATFORM_VERSION "SWAD 23.71.3 (2024-03-22)"
#define CSS_FILE "swad23.67.2.css" #define CSS_FILE "swad23.67.2.css"
#define JS_FILE "swad23.53.6.js" #define JS_FILE "swad23.53.6.js"
/* /*
Version 23.71.3: Mar 22, 2024 Code refactoring. (334827 lines)
Version 23.71.2: Mar 20, 2024 Code refactoring in actions. (334866 lines) Version 23.71.2: Mar 20, 2024 Code refactoring in actions. (334866 lines)
Version 23.71.1: Mar 20, 2024 Some functions renamed. (334869 lines) Version 23.71.1: Mar 20, 2024 Some functions renamed. (334869 lines)
Version 23.71: Mar 20, 2024 Actions for syllabus unified for lectures and practicals. (334868 lines) Version 23.71: Mar 20, 2024 Actions for syllabus unified for lectures and practicals. (334868 lines)

View File

@ -81,8 +81,6 @@
#define Cfg_TIME_TO_SEND_PENDING_NOTIF ((time_t) (30UL * 60UL)) // After these seconds after first pending notification, all pending notifications are sent by email #define Cfg_TIME_TO_SEND_PENDING_NOTIF ((time_t) (30UL * 60UL)) // After these seconds after first pending notification, all pending notifications are sent by email
#define Cfg_GOOGLE_ANALYTICS ""
#elif defined OPENSWAD_ORG // openswad.org ************************ #elif defined OPENSWAD_ORG // openswad.org ************************
#define Cfg_PLATFORM_SHORT_NAME "OpenSWAD" #define Cfg_PLATFORM_SHORT_NAME "OpenSWAD"
@ -118,29 +116,6 @@
#define Cfg_TIME_TO_SEND_PENDING_NOTIF ((time_t) (30UL * 60UL)) // After these seconds after first pending notification, all pending notifications are sent by email #define Cfg_TIME_TO_SEND_PENDING_NOTIF ((time_t) (30UL * 60UL)) // After these seconds after first pending notification, all pending notifications are sent by email
/* Google Analytics without cookies.
* This code comes from http://stackoverflow.com/a/19995629
*/
#define Cfg_GOOGLE_ANALYTICS ""
/*
"<script type=\"text/javascript\">" \
" (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){" \
" (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o)," \
" m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)" \
" })(window,document,'script','//www.google-analytics.com/analytics.js','ga');" \
" ga('create', 'UA-40768375-1', 'openswad.org', {" \
" 'anonymizeIp': true," \
" 'storage': 'none'," \
" 'clientId': window.localStorage.getItem('ga_clientId')" \
" });" \
" ga(function(tracker) {" \
" window.localStorage.setItem('ga_clientID', tracker.get('clientId'));" \
" });" \
" ga('send', 'pageview');" \
"</script>"
*/
#elif defined SWAD_UGR_ES // swad.ugr.es ************************* #elif defined SWAD_UGR_ES // swad.ugr.es *************************
#define Cfg_PLATFORM_SHORT_NAME "SWAD" #define Cfg_PLATFORM_SHORT_NAME "SWAD"
@ -176,26 +151,6 @@
#define Cfg_TIME_TO_SEND_PENDING_NOTIF ((time_t) (30UL * 60UL)) // After these seconds after first pending notification, all pending notifications are sent by email #define Cfg_TIME_TO_SEND_PENDING_NOTIF ((time_t) (30UL * 60UL)) // After these seconds after first pending notification, all pending notifications are sent by email
#define Cfg_GOOGLE_ANALYTICS ""
/*
"<script type=\"text/javascript\">" \
" (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){" \
" (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o)," \
" m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)" \
" })(window,document,'script','//www.google-analytics.com/analytics.js','ga');" \
" ga('create', 'UA-42150741-1', 'ugr.es', {" \
" 'anonymizeIp': true," \
" 'storage': 'none'," \
" 'clientId': window.localStorage.getItem('ga_clientId')" \
" });" \
" ga(function(tracker) {" \
" window.localStorage.setItem('ga_clientID', tracker.get('clientId'));" \
" });" \
" ga('send', 'pageview');" \
"</script>"
*/
#elif defined SWADBERRY_UGR_ES // swadberry.ugr.es ****************** #elif defined SWADBERRY_UGR_ES // swadberry.ugr.es ******************
#define Cfg_PLATFORM_SHORT_NAME "SWADberry" #define Cfg_PLATFORM_SHORT_NAME "SWADberry"
@ -231,8 +186,6 @@
#define Cfg_TIME_TO_SEND_PENDING_NOTIF ((time_t) (30UL * 60UL)) // After these seconds after first pending notification, all pending notifications are sent by email #define Cfg_TIME_TO_SEND_PENDING_NOTIF ((time_t) (30UL * 60UL)) // After these seconds after first pending notification, all pending notifications are sent by email
#define Cfg_GOOGLE_ANALYTICS ""
#endif #endif
/* Database */ /* Database */

View File

@ -1383,7 +1383,7 @@ static void Cty_PutParGoToCty (void *CtyCod)
static void Cty_PutFormToCreateCountry (void) static void Cty_PutFormToCreateCountry (void)
{ {
extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES];
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_STR_LANG_NAME[1 + Lan_NUM_LANGUAGES]; extern const char *Txt_STR_LANG_NAME[1 + Lan_NUM_LANGUAGES];
Lan_Language_t Lan; Lan_Language_t Lan;
char StrCtyCod[Cns_MAX_DECIMAL_DIGITS_LONG + 1]; char StrCtyCod[Cns_MAX_DECIMAL_DIGITS_LONG + 1];

View File

@ -201,7 +201,7 @@ void CrsCfg_PrintConfiguration (void)
static void CrsCfg_Degree (Vie_ViewType_t ViewType,Frm_PutForm_t PutForm) static void CrsCfg_Degree (Vie_ViewType_t ViewType,Frm_PutForm_t PutForm)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS]; extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS];
unsigned NumDeg; unsigned NumDeg;
const struct Hie_Node *Deg; const struct Hie_Node *Deg;

View File

@ -194,7 +194,7 @@ static void DegCfg_PutIconsToPrintAndUpload (__attribute__((unused)) void *Args)
static void DegCfg_Center (Vie_ViewType_t ViewType,Frm_PutForm_t PutForm) static void DegCfg_Center (Vie_ViewType_t ViewType,Frm_PutForm_t PutForm)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS]; extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS];
unsigned NumCtr; unsigned NumCtr;
const struct Hie_Node *Ctr; const struct Hie_Node *Ctr;

View File

@ -173,7 +173,7 @@ void Enr_CheckStdsAndPutButtonToRegisterStdsInCurrentCrs (void)
/*****************************************************************************/ /*****************************************************************************/
void Enr_PutButtonInlineToRegisterStds (long CrsCod, void Enr_PutButtonInlineToRegisterStds (long CrsCod,
unsigned Level,Lay_LastItem_t IsLastItemInLevel[], unsigned Level,const Lay_LastItem_t *IsLastItemInLevel,
Lay_Highlight_t Highlight) Lay_Highlight_t Highlight)
{ {
extern const char *Lay_HighlightClass[Lay_NUM_HIGHLIGHT]; extern const char *Lay_HighlightClass[Lay_NUM_HIGHLIGHT];

View File

@ -75,7 +75,7 @@ typedef enum
void Enr_CheckStdsAndPutButtonToRegisterStdsInCurrentCrs (void); void Enr_CheckStdsAndPutButtonToRegisterStdsInCurrentCrs (void);
void Enr_PutButtonInlineToRegisterStds (long CrsCod, void Enr_PutButtonInlineToRegisterStds (long CrsCod,
unsigned Level,Lay_LastItem_t IsLastItemInLevel[], unsigned Level,const Lay_LastItem_t *IsLastItemInLevel,
Lay_Highlight_t Highlight); Lay_Highlight_t Highlight);
void Enr_PutLinkToRequestSignUp (void); void Enr_PutLinkToRequestSignUp (void);

View File

@ -804,7 +804,7 @@ void Exa_GetListExams (struct Exa_Exams *Exams,Exa_Order_t SelectedOrder)
void Exa_GetListSelectedExaCods (struct Exa_Exams *Exams) void Exa_GetListSelectedExaCods (struct Exa_Exams *Exams)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
unsigned MaxSizeListExaCodsSelected; unsigned MaxSizeListExaCodsSelected;
unsigned NumExam; unsigned NumExam;
const char *Ptr; const char *Ptr;
@ -1253,12 +1253,12 @@ void Exa_PutFormsOneExam (struct Exa_Exams *Exams,
extern const char *Hlp_ASSESSMENT_Exams_edit_exam; extern const char *Hlp_ASSESSMENT_Exams_edit_exam;
extern const char *Hlp_ASSESSMENT_Exams_new_exam; extern const char *Hlp_ASSESSMENT_Exams_new_exam;
extern const char *Txt_Exam; extern const char *Txt_Exam;
static void (*FunctionToDrawContextualIcons[]) (void *Args) = static void (*FunctionToDrawContextualIcons[Exa_NUM_EXISTING_NEW_EXAM]) (void *Args) =
{ {
[Exa_EXISTING_EXAM] = Exa_PutIconsEditingOneExam, [Exa_EXISTING_EXAM] = Exa_PutIconsEditingOneExam,
[Exa_NEW_EXAM ] = NULL, [Exa_NEW_EXAM ] = NULL,
}; };
static const char **HelpLink[] = static const char **HelpLink[Exa_NUM_EXISTING_NEW_EXAM] =
{ {
[Exa_EXISTING_EXAM] = &Hlp_ASSESSMENT_Exams_edit_exam, [Exa_EXISTING_EXAM] = &Hlp_ASSESSMENT_Exams_edit_exam,
[Exa_NEW_EXAM ] = &Hlp_ASSESSMENT_Exams_new_exam, [Exa_NEW_EXAM ] = &Hlp_ASSESSMENT_Exams_new_exam,
@ -1317,17 +1317,17 @@ static void Exa_PutFormEditionExam (struct Exa_Exams *Exams,
extern const char *Txt_Description; extern const char *Txt_Description;
extern const char *Txt_Save_changes; extern const char *Txt_Save_changes;
extern const char *Txt_Create; extern const char *Txt_Create;
static Act_Action_t NextAction[] = static Act_Action_t NextAction[Exa_NUM_EXISTING_NEW_EXAM] =
{ {
[Exa_EXISTING_EXAM] = ActChgExa, [Exa_EXISTING_EXAM] = ActChgExa,
[Exa_NEW_EXAM ] = ActNewExa, [Exa_NEW_EXAM ] = ActNewExa,
}; };
static Btn_Button_t Button[] = static Btn_Button_t Button[Exa_NUM_EXISTING_NEW_EXAM] =
{ {
[Exa_EXISTING_EXAM] = Btn_CONFIRM_BUTTON, [Exa_EXISTING_EXAM] = Btn_CONFIRM_BUTTON,
[Exa_NEW_EXAM ] = Btn_CREATE_BUTTON, [Exa_NEW_EXAM ] = Btn_CREATE_BUTTON,
}; };
const char *TxtButton[] = const char *TxtButton[Exa_NUM_EXISTING_NEW_EXAM] =
{ {
[Exa_EXISTING_EXAM] = Txt_Save_changes, [Exa_EXISTING_EXAM] = Txt_Save_changes,
[Exa_NEW_EXAM ] = Txt_Create, [Exa_NEW_EXAM ] = Txt_Create,

View File

@ -554,7 +554,7 @@ static void ExaRes_ShowResultsEnd (void)
static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams) static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_Exams; extern const char *Txt_Exams;
extern const char *Txt_Exam; extern const char *Txt_Exam;
extern const char *Txt_Update_results; extern const char *Txt_Update_results;

View File

@ -62,6 +62,7 @@ typedef enum
Exa_CHECK_EXA_COD, Exa_CHECK_EXA_COD,
} Exa_CheckExaCod_t; } Exa_CheckExaCod_t;
#define Exa_NUM_EXISTING_NEW_EXAM 2
typedef enum typedef enum
{ {
Exa_EXISTING_EXAM, Exa_EXISTING_EXAM,

View File

@ -34,7 +34,8 @@
/*****************************************************************************/ /*****************************************************************************/
/* MIME types allowed for uploades files */ /* MIME types allowed for uploades files */
const char *MIM_MIMETypesAllowed[] = #define MIM_NUM_MIME_TYPES_ALLOWED 200
const char *MIM_MIMETypesAllowed[MIM_NUM_MIME_TYPES_ALLOWED] =
{ {
"application/", // "application/", //
"application/acrobat", // PDF "application/acrobat", // PDF
@ -238,11 +239,8 @@ const char *MIM_MIMETypesAllowed[] =
"zz-application/zz-winassoc-mpp" // Microsoft Project mpp "zz-application/zz-winassoc-mpp" // Microsoft Project mpp
}; };
unsigned MIM_NUM_MIME_TYPES_ALLOWED = sizeof (MIM_MIMETypesAllowed) /
sizeof (MIM_MIMETypesAllowed[0]);
/*****************************************************************************/ /*****************************************************************************/
/******** Check if MIME type is allowed **********/ /*********************** Check if MIME type is allowed ***********************/
/*****************************************************************************/ /*****************************************************************************/
bool MIM_CheckIfMIMETypeIsAllowed (const char *MIMEType) bool MIM_CheckIfMIMETypeIsAllowed (const char *MIMEType)

View File

@ -33,7 +33,7 @@
/*****************************************************************************/ /*****************************************************************************/
/* Extensions allowed for uploaded files */ /* Extensions allowed for uploaded files */
const char *Ext_FileExtensionsAllowed[] = const char *Ext_FileExtensionsAllowed[Ext_NUM_FILE_EXT_ALLOWED] =
{ {
"3gp" , // Video Android mobile "3gp" , // Video Android mobile
"7z" , "7z" ,
@ -151,9 +151,6 @@ const char *Ext_FileExtensionsAllowed[] =
"zip" , "zip" ,
}; };
unsigned Ext_NUM_FILE_EXT_ALLOWED = sizeof (Ext_FileExtensionsAllowed) /
sizeof (Ext_FileExtensionsAllowed[0]);
/*****************************************************************************/ /*****************************************************************************/
/******************* Check if file extension is allowed **********************/ /******************* Check if file extension is allowed **********************/
/*****************************************************************************/ /*****************************************************************************/

View File

@ -30,6 +30,13 @@
#include <linux/limits.h> // For NAME_MAX #include <linux/limits.h> // For NAME_MAX
#include <stdbool.h> // For boolean type #include <stdbool.h> // For boolean type
/*****************************************************************************/
/***************************** Public constants ******************************/
/*****************************************************************************/
#define Ext_NUM_FILE_EXT_ALLOWED 114
/*****************************************************************************/ /*****************************************************************************/
/***************************** Public prototypes *****************************/ /***************************** Public prototypes *****************************/
/*****************************************************************************/ /*****************************************************************************/

View File

@ -875,7 +875,7 @@ void Gam_GetListGames (struct Gam_Games *Games,Gam_Order_t SelectedOrder)
void Gam_GetListSelectedGamCods (struct Gam_Games *Games) void Gam_GetListSelectedGamCods (struct Gam_Games *Games)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
unsigned MaxSizeListGamCodsSelected; unsigned MaxSizeListGamCodsSelected;
unsigned NumGame; unsigned NumGame;
const char *Ptr; const char *Ptr;
@ -1258,12 +1258,12 @@ void Gam_PutFormsOneGame (struct Gam_Games *Games,
extern const char *Hlp_ASSESSMENT_Games_edit_game; extern const char *Hlp_ASSESSMENT_Games_edit_game;
extern const char *Hlp_ASSESSMENT_Games_new_game; extern const char *Hlp_ASSESSMENT_Games_new_game;
extern const char *Txt_Game; extern const char *Txt_Game;
static void (*FunctionToDrawContextualIcons[]) (void *Args) = static void (*FunctionToDrawContextualIcons[Gam_NUM_EXISTING_NEW_GAME]) (void *Args) =
{ {
[Gam_EXISTING_GAME] = Gam_PutIconsEditingOneGame, [Gam_EXISTING_GAME] = Gam_PutIconsEditingOneGame,
[Gam_NEW_GAME ] = NULL, [Gam_NEW_GAME ] = NULL,
}; };
static const char **HelpLink[] = static const char **HelpLink[Gam_NUM_EXISTING_NEW_GAME] =
{ {
[Gam_EXISTING_GAME] = &Hlp_ASSESSMENT_Games_edit_game, [Gam_EXISTING_GAME] = &Hlp_ASSESSMENT_Games_edit_game,
[Gam_NEW_GAME ] = &Hlp_ASSESSMENT_Games_new_game, [Gam_NEW_GAME ] = &Hlp_ASSESSMENT_Games_new_game,
@ -1324,17 +1324,17 @@ static void Gam_PutFormEditionGame (struct Gam_Games *Games,
extern const char *Txt_Description; extern const char *Txt_Description;
extern const char *Txt_Save_changes; extern const char *Txt_Save_changes;
extern const char *Txt_Create; extern const char *Txt_Create;
static Act_Action_t NextAction[] = static Act_Action_t NextAction[Gam_NUM_EXISTING_NEW_GAME] =
{ {
[Gam_EXISTING_GAME] = ActChgGam, [Gam_EXISTING_GAME] = ActChgGam,
[Gam_NEW_GAME ] = ActNewGam, [Gam_NEW_GAME ] = ActNewGam,
}; };
static Btn_Button_t Button[] = static Btn_Button_t Button[Gam_NUM_EXISTING_NEW_GAME] =
{ {
[Gam_EXISTING_GAME] = Btn_CONFIRM_BUTTON, [Gam_EXISTING_GAME] = Btn_CONFIRM_BUTTON,
[Gam_NEW_GAME ] = Btn_CREATE_BUTTON, [Gam_NEW_GAME ] = Btn_CREATE_BUTTON,
}; };
const char *TxtButton[] = const char *TxtButton[Gam_NUM_EXISTING_NEW_GAME] =
{ {
[Gam_EXISTING_GAME] = Txt_Save_changes, [Gam_EXISTING_GAME] = Txt_Save_changes,
[Gam_NEW_GAME ] = Txt_Create, [Gam_NEW_GAME ] = Txt_Create,

View File

@ -56,6 +56,7 @@ typedef enum
} Gam_AnswerType_t; } Gam_AnswerType_t;
#define Gam_ANSWER_TYPE_DEFAULT Gam_ANS_UNIQUE_CHOICE #define Gam_ANSWER_TYPE_DEFAULT Gam_ANS_UNIQUE_CHOICE
#define Gam_NUM_EXISTING_NEW_GAME 2
typedef enum typedef enum
{ {
Gam_EXISTING_GAME, Gam_EXISTING_GAME,

View File

@ -167,7 +167,7 @@ void Hie_SeePending (void)
void Hie_WriteMenuHierarchy (void) void Hie_WriteMenuHierarchy (void)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS]; extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS];
static void (*FunctionWriteSelector[Hie_NUM_LEVELS]) (void) = static void (*FunctionWriteSelector[Hie_NUM_LEVELS]) (void) =
{ {

View File

@ -205,7 +205,7 @@ void HieCfg_WWW (Vie_ViewType_t ViewType,Frm_PutForm_t PutForm,
void HieCfg_Shortcut (Vie_ViewType_t ViewType,ParCod_Param_t ParCode,long HieCod) void HieCfg_Shortcut (Vie_ViewType_t ViewType,ParCod_Param_t ParCode,long HieCod)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_Shortcut; extern const char *Txt_Shortcut;
/***** Short cut *****/ /***** Short cut *****/

View File

@ -100,7 +100,7 @@ static unsigned Ind_GetAndUpdateNumIndicatorsCrs (long CrsCod);
void Ind_ReqIndicatorsCourses (void) void Ind_ReqIndicatorsCourses (void)
{ {
extern const char *Hlp_ANALYTICS_Indicators; extern const char *Hlp_ANALYTICS_Indicators;
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_Scope; extern const char *Txt_Scope;
extern const char *Txt_Types_of_degree; extern const char *Txt_Types_of_degree;
extern const char *Txt_only_if_the_scope_is_X; extern const char *Txt_only_if_the_scope_is_X;

View File

@ -299,7 +299,7 @@ static void InsCfg_Map (void)
static void InsCfg_Country (Vie_ViewType_t ViewType,Frm_PutForm_t PutForm) static void InsCfg_Country (Vie_ViewType_t ViewType,Frm_PutForm_t PutForm)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS]; extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS];
unsigned NumCty; unsigned NumCty;
const struct Hie_Node *Cty; const struct Hie_Node *Cty;

View File

@ -655,9 +655,6 @@ static void Lay_WriteScripts (void)
default: default:
break; break;
} }
/***** Script for Google Analytics *****/
HTM_Txt (Cfg_GOOGLE_ANALYTICS);
} }
// Change page title // Change page title
@ -1619,10 +1616,10 @@ void Lay_AdvertisementMobile (void)
/*****************************************************************************/ /*****************************************************************************/
/****************** Indent forum, chat or course tree title ******************/ /****************** Indent forum, chat or course tree title ******************/
/*****************************************************************************/ /*****************************************************************************/
// IsLastItemInLevel[] is a vector with at least 1 + Level elements // IsLastItemInLevel is a vector with at least 1 + Level elements
void Lay_IndentDependingOnLevel (unsigned Level, void Lay_IndentDependingOnLevel (unsigned Level,
Lay_LastItem_t IsLastItemInLevel[], const Lay_LastItem_t *IsLastItemInLevel,
Lay_HorizontalLineAtRight_t HorizontalLineAtRight) Lay_HorizontalLineAtRight_t HorizontalLineAtRight)
{ {
static const char *Icons[Lay_NUM_HORIZONTAL_LINE_AT_RIGHT][Lay_NUM_LAST_ITEM] = static const char *Icons[Lay_NUM_HORIZONTAL_LINE_AT_RIGHT][Lay_NUM_LAST_ITEM] =

View File

@ -94,7 +94,7 @@ void Lay_WriteHeaderClassPhoto (Vie_ViewType_t ViewType);
void Lay_AdvertisementMobile (void); void Lay_AdvertisementMobile (void);
void Lay_IndentDependingOnLevel (unsigned Level, void Lay_IndentDependingOnLevel (unsigned Level,
Lay_LastItem_t IsLastItemInLevel[], const Lay_LastItem_t *IsLastItemInLevel,
Lay_HorizontalLineAtRight_t HorizontalLineAtRight); Lay_HorizontalLineAtRight_t HorizontalLineAtRight);
void Lay_HelpPlainEditor (void); void Lay_HelpPlainEditor (void);

View File

@ -518,7 +518,7 @@ static void MchRes_ShowResultsEnd (void)
static void MchRes_ListGamesToSelect (struct Gam_Games *Games) static void MchRes_ListGamesToSelect (struct Gam_Games *Games)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_Games; extern const char *Txt_Games;
extern const char *Txt_Game; extern const char *Txt_Game;
extern const char *Txt_Update_results; extern const char *Txt_Update_results;

View File

@ -684,7 +684,8 @@ unsigned Par_GetPar (Par_ParamType_t ParType,const char *ParName,
static bool Par_CheckIsParCanBeUsedInGETMethod (const char *ParName) static bool Par_CheckIsParCanBeUsedInGETMethod (const char *ParName)
{ {
static const char *ValidParsInGETMethod[] = #define NUM_VALID_PARAMS 10
static const char *ValidParsInGETMethod[NUM_VALID_PARAMS] =
{ {
"cty", // To enter directly to a country "cty", // To enter directly to a country
"ins", // To enter directly to an institution "ins", // To enter directly to an institution
@ -697,7 +698,6 @@ static bool Par_CheckIsParCanBeUsedInGETMethod (const char *ParName)
"ses", // To use an open session when redirecting from one language to another "ses", // To use an open session when redirecting from one language to another
"key", // To verify an email address "key", // To verify an email address
}; };
#define NUM_VALID_PARAMS (sizeof (ValidParsInGETMethod) / sizeof (ValidParsInGETMethod[0]))
unsigned i; unsigned i;
for (i = 0; for (i = 0;
@ -714,7 +714,7 @@ static bool Par_CheckIsParCanBeUsedInGETMethod (const char *ParName)
void Par_GetMainPars (void) void Par_GetMainPars (void)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
long ActCod; long ActCod;
char Nick[Nck_MAX_BYTES_NICK_WITH_ARROBA + 1]; char Nick[Nck_MAX_BYTES_NICK_WITH_ARROBA + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1]; char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
@ -1112,7 +1112,7 @@ void Par_PutParUnsignedDisabled (const char *Id,const char *ParName,unsigned Par
void ParCod_PutPar (ParCod_Param_t ParCod,long Cod) void ParCod_PutPar (ParCod_Param_t ParCod,long Cod)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
if (ParCod != ParCod_None && Cod >= 0) if (ParCod != ParCod_None && Cod >= 0)
// <0 => not specified => don't write parameter // <0 => not specified => don't write parameter

View File

@ -35,9 +35,9 @@
/***************************** Public constants ******************************/ /***************************** Public constants ******************************/
/*****************************************************************************/ /*****************************************************************************/
const char *Par_CodeStr[] = const char *Par_CodeStr[Par_NUM_PAR_COD] =
{ {
[ParCod_None ] = NULL, [ParCod_None ] = NULL,
[ParCod_Agd ] = "AgdCod", // Agenda event code [ParCod_Agd ] = "AgdCod", // Agenda event code
[ParCod_Ann ] = "AnnCod", // Announcement code [ParCod_Ann ] = "AnnCod", // Announcement code
[ParCod_Asg ] = "AsgCod", // Assignment code [ParCod_Asg ] = "AsgCod", // Assignment code

View File

@ -80,6 +80,7 @@ typedef enum
ParCod_Tag, // Tag code in assessment question ParCod_Tag, // Tag code in assessment question
ParCod_Thr, // Thread code in forum ParCod_Thr, // Thread code in forum
} ParCod_Param_t; } ParCod_Param_t;
#define Par_NUM_PAR_COD ((unsigned) ParCod_Thr + 1)
/*****************************************************************************/ /*****************************************************************************/
/***************************** Public prototypes *****************************/ /***************************** Public prototypes *****************************/

View File

@ -80,14 +80,13 @@ extern struct Globals Gbl;
#define Prj_PAR_FILTER_DPT_COD_NAME "FilDptCod" #define Prj_PAR_FILTER_DPT_COD_NAME "FilDptCod"
/***** User roles are shown in this order *****/ /***** User roles are shown in this order *****/
static const Prj_RoleInProject_t Prj_RolesToShow[] = #define Prj_NUM_ROLES_TO_SHOW 3
static const Prj_RoleInProject_t Prj_RolesToShow[Prj_NUM_ROLES_TO_SHOW] =
{ {
Prj_ROLE_TUT, // Tutor Prj_ROLE_TUT, // Tutor
Prj_ROLE_STD, // Student Prj_ROLE_STD, // Student
Prj_ROLE_EVL, // Evaluator Prj_ROLE_EVL, // Evaluator
}; };
static unsigned Prj_NUM_ROLES_TO_SHOW = sizeof (Prj_RolesToShow) /
sizeof (Prj_RolesToShow[0]);
/***** Assigned/non-assigned project *****/ /***** Assigned/non-assigned project *****/
static const char *AssignedNonassigIcon[Prj_NUM_ASSIGNED_NONASSIG] = static const char *AssignedNonassigIcon[Prj_NUM_ASSIGNED_NONASSIG] =
@ -3693,7 +3692,7 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
bool ItsANewProject) bool ItsANewProject)
{ {
extern const char *Hlp_ASSESSMENT_Projects_edit_project; extern const char *Hlp_ASSESSMENT_Projects_edit_project;
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_Project; extern const char *Txt_Project;
extern const char *Txt_Actions[ActLst_NUM_ACTIONS]; extern const char *Txt_Actions[ActLst_NUM_ACTIONS];
extern const char *Txt_Title; extern const char *Txt_Title;

View File

@ -167,7 +167,7 @@ static void PrjCfg_ShowFormsRubrics (void)
static void PrjCfg_ShowFormsRubricsOfType (const struct Rub_Rubrics *Rubrics, static void PrjCfg_ShowFormsRubricsOfType (const struct Rub_Rubrics *Rubrics,
PrjCfg_RubricType_t RubricType) PrjCfg_RubricType_t RubricType)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Prj_DB_RubricType[PrjCfg_NUM_RUBRIC_TYPES]; extern const char *Prj_DB_RubricType[PrjCfg_NUM_RUBRIC_TYPES];
extern const char *Txt_PROJECT_RUBRIC[PrjCfg_NUM_RUBRIC_TYPES]; extern const char *Txt_PROJECT_RUBRIC[PrjCfg_NUM_RUBRIC_TYPES];
extern const char *Txt_no_rubric; extern const char *Txt_no_rubric;
@ -385,7 +385,7 @@ void PrjCfg_ChangeRubricsOfType (void)
static void PrjCfg_GetListRubCods (const struct Rub_Rubrics *Rubrics, static void PrjCfg_GetListRubCods (const struct Rub_Rubrics *Rubrics,
struct PrgCfg_ListRubCods *ListRubCods) struct PrgCfg_ListRubCods *ListRubCods)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
char *ParLstRubCods; char *ParLstRubCods;
const char *Ptr; const char *Ptr;
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1]; char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];

View File

@ -3178,7 +3178,7 @@ static void Rec_ShowFirstName (struct Usr_Data *UsrDat,Vie_ViewType_t ViewType)
static void Rec_ShowCountry (struct Usr_Data *UsrDat,Vie_ViewType_t ViewType) static void Rec_ShowCountry (struct Usr_Data *UsrDat,Vie_ViewType_t ViewType)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS]; extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS];
extern const char *Txt_Another_country; extern const char *Txt_Another_country;
char *Label; char *Label;
@ -3846,7 +3846,7 @@ static void Rec_ShowAlertsIfNotFilled (bool IAmATeacher)
static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher) static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
{ {
extern const char *Hlp_PROFILE_Institution; extern const char *Hlp_PROFILE_Institution;
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Txt_Institution_center_and_department; extern const char *Txt_Institution_center_and_department;
extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS]; extern const char *Txt_HIERARCHY_SINGUL_Abc[Hie_NUM_LEVELS];
extern const char *Txt_Another_institution; extern const char *Txt_Another_institution;

View File

@ -780,12 +780,12 @@ void Rub_PutFormsOneRubric (struct Rub_Rubrics *Rubrics,
extern const char *Hlp_ASSESSMENT_Rubrics_new_rubric; extern const char *Hlp_ASSESSMENT_Rubrics_new_rubric;
extern const char *Hlp_ASSESSMENT_Rubrics_edit_rubric; extern const char *Hlp_ASSESSMENT_Rubrics_edit_rubric;
extern const char *Txt_Rubric; extern const char *Txt_Rubric;
static void (*FunctionToDrawContextualIcons[]) (void *Args) = static void (*FunctionToDrawContextualIcons[Rub_NUM_EXISTING_NEW_RUBRIC]) (void *Args) =
{ {
[Rub_EXISTING_RUBRIC] = Rub_PutIconsEditingOneRubric, [Rub_EXISTING_RUBRIC] = Rub_PutIconsEditingOneRubric,
[Rub_NEW_RUBRIC ] = NULL, [Rub_NEW_RUBRIC ] = NULL,
}; };
static const char **HelpLink[] = static const char **HelpLink[Rub_NUM_EXISTING_NEW_RUBRIC] =
{ {
[Rub_EXISTING_RUBRIC] = &Hlp_ASSESSMENT_Rubrics_edit_rubric, [Rub_EXISTING_RUBRIC] = &Hlp_ASSESSMENT_Rubrics_edit_rubric,
[Rub_NEW_RUBRIC ] = &Hlp_ASSESSMENT_Rubrics_new_rubric, [Rub_NEW_RUBRIC ] = &Hlp_ASSESSMENT_Rubrics_new_rubric,
@ -831,17 +831,17 @@ static void Rub_PutFormEditionRubric (struct Rub_Rubrics *Rubrics,
extern const char *Txt_Description; extern const char *Txt_Description;
extern const char *Txt_Create; extern const char *Txt_Create;
extern const char *Txt_Save_changes; extern const char *Txt_Save_changes;
static Act_Action_t NextAction[] = static Act_Action_t NextAction[Rub_NUM_EXISTING_NEW_RUBRIC] =
{ {
[Rub_EXISTING_RUBRIC] = ActChgRub, [Rub_EXISTING_RUBRIC] = ActChgRub,
[Rub_NEW_RUBRIC ] = ActNewRub, [Rub_NEW_RUBRIC ] = ActNewRub,
}; };
static Btn_Button_t Button[] = static Btn_Button_t Button[Rub_NUM_EXISTING_NEW_RUBRIC] =
{ {
[Rub_EXISTING_RUBRIC] = Btn_CONFIRM_BUTTON, [Rub_EXISTING_RUBRIC] = Btn_CONFIRM_BUTTON,
[Rub_NEW_RUBRIC ] = Btn_CREATE_BUTTON, [Rub_NEW_RUBRIC ] = Btn_CREATE_BUTTON,
}; };
const char *TxtButton[] = const char *TxtButton[Rub_NUM_EXISTING_NEW_RUBRIC] =
{ {
[Rub_EXISTING_RUBRIC] = Txt_Save_changes, [Rub_EXISTING_RUBRIC] = Txt_Save_changes,
[Rub_NEW_RUBRIC ] = Txt_Create, [Rub_NEW_RUBRIC ] = Txt_Create,

View File

@ -82,6 +82,7 @@ struct Rub_Rubrics
struct RubCri_Criterion Criterion; // Selected/current criterion struct RubCri_Criterion Criterion; // Selected/current criterion
}; };
#define Rub_NUM_EXISTING_NEW_RUBRIC 2
typedef enum typedef enum
{ {
Rub_EXISTING_RUBRIC, Rub_EXISTING_RUBRIC,

View File

@ -220,7 +220,8 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
extern const char *Txt_results_per_page; extern const char *Txt_results_per_page;
extern const char *Txt_Show_hits; extern const char *Txt_Show_hits;
extern const char *Txt_No_teachers_or_students_found; extern const char *Txt_No_teachers_or_students_found;
static unsigned RowsPerPage[] = #define NUM_OPTIONS_ROWS_PER_PAGE 12
static unsigned RowsPerPage[NUM_OPTIONS_ROWS_PER_PAGE] =
{ {
Sta_MIN_ROWS_PER_PAGE * 1, Sta_MIN_ROWS_PER_PAGE * 1,
Sta_MIN_ROWS_PER_PAGE * 2, Sta_MIN_ROWS_PER_PAGE * 2,
@ -235,7 +236,6 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
Sta_MIN_ROWS_PER_PAGE * 5000, Sta_MIN_ROWS_PER_PAGE * 5000,
Sta_MAX_ROWS_PER_PAGE, Sta_MAX_ROWS_PER_PAGE,
}; };
#define NUM_OPTIONS_ROWS_PER_PAGE (sizeof (RowsPerPage) / sizeof (RowsPerPage[0]))
unsigned NumTotalUsrs; unsigned NumTotalUsrs;
char *Title; char *Title;
Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME]; Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME];

View File

@ -53,7 +53,7 @@ unsigned Sta_DB_GetHits (MYSQL_RES **mysql_res,
const char *LogTable, const char *LogTable,
const char BrowserTimeZone[Dat_MAX_BYTES_TIME_ZONE + 1], const char BrowserTimeZone[Dat_MAX_BYTES_TIME_ZONE + 1],
unsigned NumUsrsInList, unsigned NumUsrsInList,
const long LstSelectedUsrCods[]) const long *LstSelectedUsrCods)
{ {
char SubQueryCountType[256]; char SubQueryCountType[256];
char SubQueryRole[256]; char SubQueryRole[256];

View File

@ -40,6 +40,6 @@ unsigned Sta_DB_GetHits (MYSQL_RES **mysql_res,
const char *LogTable, const char *LogTable,
const char BrowserTimeZone[Dat_MAX_BYTES_TIME_ZONE + 1], const char BrowserTimeZone[Dat_MAX_BYTES_TIME_ZONE + 1],
unsigned NumUsrsInList, unsigned NumUsrsInList,
const long LstSelectedUsrCods[]); const long *LstSelectedUsrCods);
#endif #endif

View File

@ -24812,7 +24812,7 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] =
"Show class photo of students ready to be printed" // Çeviri lazim! "Show class photo of students ready to be printed" // Çeviri lazim!
#endif #endif
, ,
[ActDoActOnSevStd] = [Act_DoAct_OnSevStd] =
#if L==1 // ca #if L==1 // ca
"Do an action on several selected students" // Necessita traducció "Do an action on several selected students" // Necessita traducció
#elif L==2 // de #elif L==2 // de
@ -25870,7 +25870,7 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] =
"Show class photo of teachers ready to be printed" // Çeviri lazim! "Show class photo of teachers ready to be printed" // Çeviri lazim!
#endif #endif
, ,
[ActDoActOnSevTch] = [Act_DoAct_OnSevTch] =
#if L==1 // ca #if L==1 // ca
"Do an action on several selected teachers" // Necessita traducció "Do an action on several selected teachers" // Necessita traducció
#elif L==2 // de #elif L==2 // de
@ -27112,7 +27112,7 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] =
"Show class photo of guests ready to be printed" // Çeviri lazim! "Show class photo of guests ready to be printed" // Çeviri lazim!
#endif #endif
, ,
[ActDoActOnSevGst] = [Act_DoAct_OnSevGst] =
#if L==1 // ca #if L==1 // ca
"Do an action on several selected guests" // Necessita traducció "Do an action on several selected guests" // Necessita traducció
#elif L==2 // de #elif L==2 // de

View File

@ -1489,7 +1489,7 @@ static void Tmt_TimeTableDrawCellEdit (const struct Tmt_Timetable *Timetable,
Tmt_IntervalType_t IntervalType,Tmt_ClassType_t ClassType, Tmt_IntervalType_t IntervalType,Tmt_ClassType_t ClassType,
unsigned DurationNumIntervals,const char *Info) unsigned DurationNumIntervals,const char *Info)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[Par_NUM_PAR_COD];
extern const char *Tmt_DB_ClassType[Tmt_NUM_CLASS_TYPES]; extern const char *Tmt_DB_ClassType[Tmt_NUM_CLASS_TYPES];
extern const char *Txt_TIMETABLE_CLASS_TYPES[Tmt_NUM_CLASS_TYPES]; extern const char *Txt_TIMETABLE_CLASS_TYPES[Tmt_NUM_CLASS_TYPES];
extern const char *Txt_Group; extern const char *Txt_Group;

View File

@ -3540,7 +3540,7 @@ void Usr_FreeListSelectedUsrCods (long *LstSelectedUsrCods)
/******** from list of users' codes *******/ /******** from list of users' codes *******/
/*****************************************************************************/ /*****************************************************************************/
void Usr_CreateSubqueryUsrCods (long LstSelectedUsrCods[], void Usr_CreateSubqueryUsrCods (long *LstSelectedUsrCods,
unsigned NumUsrsInList, unsigned NumUsrsInList,
char **UsrsSubQuery) char **UsrsSubQuery)
{ {
@ -5105,7 +5105,7 @@ void Usr_SeeGuests (void)
/* Begin form */ /* Begin form */
if (PutForm == Frm_PUT_FORM) if (PutForm == Frm_PUT_FORM)
Frm_BeginForm (ActDoActOnSevGst); Frm_BeginForm (Act_DoAct_OnSevGst);
/* Begin table */ /* Begin table */
HTM_TABLE_Begin ("TBL_SCROLL"); HTM_TABLE_Begin ("TBL_SCROLL");
@ -5258,7 +5258,7 @@ void Usr_SeeStudents (void)
/* Begin form */ /* Begin form */
if (PutForm == Frm_PUT_FORM) if (PutForm == Frm_PUT_FORM)
{ {
Frm_BeginForm (ActDoActOnSevStd); Frm_BeginForm (Act_DoAct_OnSevStd);
Grp_PutParsCodGrps (); Grp_PutParsCodGrps ();
} }
@ -5426,7 +5426,7 @@ void Usr_SeeTeachers (void)
/* Begin form */ /* Begin form */
if (PutForm == Frm_PUT_FORM) if (PutForm == Frm_PUT_FORM)
{ {
Frm_BeginForm (ActDoActOnSevTch); Frm_BeginForm (Act_DoAct_OnSevTch);
Grp_PutParsCodGrps (); Grp_PutParsCodGrps ();
} }
@ -5651,13 +5651,13 @@ void Usr_DoActionOnSeveralUsrs1 (void)
case Usr_OPTION_RECORDS: case Usr_OPTION_RECORDS:
switch (Gbl.Action.Act) switch (Gbl.Action.Act)
{ {
case ActDoActOnSevGst: case Act_DoAct_OnSevGst:
Gbl.Action.Act = ActSeeRecSevGst; Gbl.Action.Act = ActSeeRecSevGst;
break; break;
case ActDoActOnSevStd: case Act_DoAct_OnSevStd:
Gbl.Action.Act = ActSeeRecSevStd; Gbl.Action.Act = ActSeeRecSevStd;
break; break;
case ActDoActOnSevTch: case Act_DoAct_OnSevTch:
Gbl.Action.Act = ActSeeRecSevTch; Gbl.Action.Act = ActSeeRecSevTch;
break; break;
default: default:
@ -5667,8 +5667,8 @@ void Usr_DoActionOnSeveralUsrs1 (void)
case Usr_OPTION_HOMEWORK: case Usr_OPTION_HOMEWORK:
switch (Gbl.Action.Act) switch (Gbl.Action.Act)
{ {
case ActDoActOnSevStd: case Act_DoAct_OnSevStd:
case ActDoActOnSevTch: case Act_DoAct_OnSevTch:
Gbl.Action.Act = ActAdmAsgWrkCrs; Gbl.Action.Act = ActAdmAsgWrkCrs;
break; break;
default: default:
@ -5678,7 +5678,7 @@ void Usr_DoActionOnSeveralUsrs1 (void)
case Usr_OPTION_ATTENDANCE: case Usr_OPTION_ATTENDANCE:
switch (Gbl.Action.Act) switch (Gbl.Action.Act)
{ {
case ActDoActOnSevStd: case Act_DoAct_OnSevStd:
Gbl.Action.Act = ActSeeLstUsrAtt; Gbl.Action.Act = ActSeeLstUsrAtt;
break; break;
default: default:
@ -5688,8 +5688,8 @@ void Usr_DoActionOnSeveralUsrs1 (void)
case Usr_OPTION_MESSAGE: case Usr_OPTION_MESSAGE:
switch (Gbl.Action.Act) switch (Gbl.Action.Act)
{ {
case ActDoActOnSevStd: case Act_DoAct_OnSevStd:
case ActDoActOnSevTch: case Act_DoAct_OnSevTch:
Gbl.Action.Act = ActReqMsgUsr; Gbl.Action.Act = ActReqMsgUsr;
break; break;
default: default:
@ -5699,7 +5699,7 @@ void Usr_DoActionOnSeveralUsrs1 (void)
case Usr_OPTION_EMAIL: case Usr_OPTION_EMAIL:
switch (Gbl.Action.Act) switch (Gbl.Action.Act)
{ {
case ActDoActOnSevStd: case Act_DoAct_OnSevStd:
Gbl.Action.Act = ActMaiUsr; Gbl.Action.Act = ActMaiUsr;
break; break;
default: default:
@ -5709,10 +5709,10 @@ void Usr_DoActionOnSeveralUsrs1 (void)
case Usr_OPTION_FOLLOW: case Usr_OPTION_FOLLOW:
switch (Gbl.Action.Act) switch (Gbl.Action.Act)
{ {
case ActDoActOnSevStd: case Act_DoAct_OnSevStd:
Gbl.Action.Act = ActReqFolSevStd; Gbl.Action.Act = ActReqFolSevStd;
break; break;
case ActDoActOnSevTch: case Act_DoAct_OnSevTch:
Gbl.Action.Act = ActReqFolSevTch; Gbl.Action.Act = ActReqFolSevTch;
break; break;
default: default:
@ -5722,10 +5722,10 @@ void Usr_DoActionOnSeveralUsrs1 (void)
case Usr_OPTION_UNFOLLOW: case Usr_OPTION_UNFOLLOW:
switch (Gbl.Action.Act) switch (Gbl.Action.Act)
{ {
case ActDoActOnSevStd: case Act_DoAct_OnSevStd:
Gbl.Action.Act = ActReqUnfSevStd; Gbl.Action.Act = ActReqUnfSevStd;
break; break;
case ActDoActOnSevTch: case Act_DoAct_OnSevTch:
Gbl.Action.Act = ActReqUnfSevTch; Gbl.Action.Act = ActReqUnfSevTch;
break; break;
default: default:
@ -5756,13 +5756,13 @@ void Usr_DoActionOnSeveralUsrs2 (void)
so show again the form to selected users *****/ so show again the form to selected users *****/
switch (Gbl.Action.Act) switch (Gbl.Action.Act)
{ {
case ActDoActOnSevGst: case Act_DoAct_OnSevGst:
Usr_SeeGuests (); Usr_SeeGuests ();
break; break;
case ActDoActOnSevStd: case Act_DoAct_OnSevStd:
Usr_SeeStudents (); Usr_SeeStudents ();
break; break;
case ActDoActOnSevTch: case Act_DoAct_OnSevTch:
Usr_SeeTeachers (); Usr_SeeTeachers ();
break; break;
default: default:

View File

@ -386,7 +386,7 @@ void Usr_GetListSelectedUsrCods (struct Usr_SelectedUsrs *SelectedUsrs,
long **LstSelectedUsrCods); long **LstSelectedUsrCods);
void Usr_FreeListSelectedUsrCods (long *LstSelectedUsrCods); void Usr_FreeListSelectedUsrCods (long *LstSelectedUsrCods);
void Usr_CreateSubqueryUsrCods (long LstSelectedUsrCods[], void Usr_CreateSubqueryUsrCods (long *LstSelectedUsrCods,
unsigned NumUsrsInList, unsigned NumUsrsInList,
char **SubQueryUsrs); char **SubQueryUsrs);
void Usr_FreeSubqueryUsrCods (char *SubQueryUsrs); void Usr_FreeSubqueryUsrCods (char *SubQueryUsrs);