Version 16.165

This commit is contained in:
Antonio Cañas Vargas 2017-03-24 20:07:29 +01:00
parent 4799acbb5d
commit 055ed8ee01
7 changed files with 168 additions and 205 deletions

View File

@ -100,7 +100,6 @@ System:
12. ActSeePen List pending institutions, centres, degrees and courses 12. ActSeePen List pending institutions, centres, degrees and courses
13. ActReqRemOldCrs Request the total removal of old courses 13. ActReqRemOldCrs Request the total removal of old courses
14. ActSeeDegTyp List types of degrees 14. ActSeeDegTyp List types of degrees
15. ActSeeMai See mail domains
16. ActSeeBan See banners 16. ActSeeBan See banners
17. ActSeeLnk See institutional links 17. ActSeeLnk See institutional links
18. ActLstPlg List plugins 18. ActLstPlg List plugins
@ -120,11 +119,6 @@ System:
30. ActRenDegTyp Request renaming of a type of degree 30. ActRenDegTyp Request renaming of a type of degree
31. ActRemOldCrs Remove completely old courses 31. ActRemOldCrs Remove completely old courses
32. ActEdiMai Edit mail domains
33. ActNewMai Request the creation of a mail domain
34. ActRemMai Request the removal of a mail domain
35. ActRenMaiSho Request the change of a mail domain
36. ActRenMaiFul Request the change of the info of a mail domain
37. ActEdiBan Edit banners 37. ActEdiBan Edit banners
38. ActNewBan Request the creation of a banner 38. ActNewBan Request the creation of a banner
@ -1312,8 +1306,16 @@ Messages:
1112. ActRevNot Reveal a notice that was hidden 1112. ActRevNot Reveal a notice that was hidden
1113. ActReqRemNot Request removal of a notice 1113. ActReqRemNot Request removal of a notice
1114. ActRemNot Remove a notice 1114. ActRemNot Remove a notice
1115. ActSeeNewNtf Show my recent notifications (link in top heading) 1115. ActSeeNewNtf Show my recent notifications (link in top heading)
1116. ActMrkNtfSee Mark all my notifications as seen 1116. ActMrkNtfSee Mark all my notifications as seen
15. ActSeeMai See mail domains
32. ActEdiMai Edit mail domains
33. ActNewMai Request the creation of a mail domain
34. ActRemMai Request the removal of a mail domain
35. ActRenMaiSho Request the change of a mail domain
36. ActRenMaiFul Request the change of the info of a mail domain
1117. ActRcvMsgUsr Sent/Receive a message of a user 1117. ActRcvMsgUsr Sent/Receive a message of a user
1118. ActReqDelAllSntMsg Request the removal of todos the messages sent to other users 1118. ActReqDelAllSntMsg Request the removal of todos the messages sent to other users
1119. ActReqDelAllRcvMsg Request the removal of todos the messages received from other users 1119. ActReqDelAllRcvMsg Request the removal of todos the messages received from other users
@ -1518,12 +1520,11 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActSeePen */{1060, 2,TabSys,ActSeePen , 0, 0, 0, 0, 0, 0,0x1E0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Deg_SeePending ,"hierarchy64x64.png" }, /* ActSeePen */{1060, 2,TabSys,ActSeePen , 0, 0, 0, 0, 0, 0,0x1E0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Deg_SeePending ,"hierarchy64x64.png" },
/* ActReqRemOldCrs */{1109, 3,TabSys,ActReqRemOldCrs , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Crs_AskRemoveOldCrss ,"removeusers64x64.gif" }, /* ActReqRemOldCrs */{1109, 3,TabSys,ActReqRemOldCrs , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Crs_AskRemoveOldCrss ,"removeusers64x64.gif" },
/* ActSeeDegTyp */{1013, 4,TabSys,ActSeeDegTyp , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,DT_SeeDegreeTypesInSysTab ,"grouptypes64x64.gif" }, /* ActSeeDegTyp */{1013, 4,TabSys,ActSeeDegTyp , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,DT_SeeDegreeTypesInSysTab ,"grouptypes64x64.gif" },
/* ActSeeMai */{ 855, 5,TabSys,ActSeeMai , 0, 0, 0, 0, 0, 0,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Mai_SeeMailDomains ,"email64x64.gif" }, /* ActSeeBan */{1137, 5,TabSys,ActSeeBan , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ban_SeeBanners ,"picture64x64.gif" },
/* ActSeeBan */{1137, 6,TabSys,ActSeeBan , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ban_SeeBanners ,"picture64x64.gif" }, /* ActSeeLnk */{ 748, 6,TabSys,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Lnk_SeeLinks ,"link64x64.gif" },
/* ActSeeLnk */{ 748, 7,TabSys,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Lnk_SeeLinks ,"link64x64.gif" }, /* ActLstPlg */{ 777, 7,TabSys,ActLstPlg , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Plg_ListPlugins ,"blocks64x64.gif" },
/* ActLstPlg */{ 777, 8,TabSys,ActLstPlg , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Plg_ListPlugins ,"blocks64x64.gif" }, /* ActSetUp */{ 840, 8,TabSys,ActSetUp , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Set_Setup ,"lightning64x64.gif" },
/* ActSetUp */{ 840, 9,TabSys,ActSetUp , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Set_Setup ,"lightning64x64.gif" }, /* ActSeeCalSys */{1622, 9,TabSys,ActSeeCalSys , 0, 0, 0, 0, 0, 0,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Cal_DrawCalendarSys ,"date64x64.gif" },
/* ActSeeCalSys */{1622,10,TabSys,ActSeeCalSys , 0, 0, 0, 0, 0, 0,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Cal_DrawCalendarSys ,"date64x64.gif" },
// Actions not in menu: // Actions not in menu:
/* ActSysSch */{ 628,-1,TabUnk,ActSysReqSch , 0, 0, 0, 0, 0, 0,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,Sch_GetParamsSearch ,Sch_SysSearch ,NULL}, /* ActSysSch */{ 628,-1,TabUnk,ActSysReqSch , 0, 0, 0, 0, 0, 0,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,Sch_GetParamsSearch ,Sch_SysSearch ,NULL},
@ -1541,12 +1542,6 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActRemOldCrs */{1110,-1,TabUnk,ActReqRemOldCrs , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Crs_RemoveOldCrss ,NULL}, /* ActRemOldCrs */{1110,-1,TabUnk,ActReqRemOldCrs , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Crs_RemoveOldCrss ,NULL},
/* ActEdiMai */{ 856,-1,TabUnk,ActSeeMai , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Mai_EditMailDomains ,NULL},
/* ActNewMai */{ 857,-1,TabUnk,ActSeeMai , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Mai_RecFormNewMailDomain ,NULL},
/* ActRemMai */{ 860,-1,TabUnk,ActSeeMai , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Mai_RemoveMailDomain ,NULL},
/* ActRenMaiSho */{ 858,-1,TabUnk,ActSeeMai , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Mai_RenameMailDomainShort ,NULL},
/* ActRenMaiFul */{ 859,-1,TabUnk,ActSeeMai , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Mai_RenameMailDomainFull ,NULL},
/* ActEdiBan */{1138,-1,TabUnk,ActSeeBan , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ban_EditBanners ,NULL}, /* ActEdiBan */{1138,-1,TabUnk,ActSeeBan , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ban_EditBanners ,NULL},
/* ActNewBan */{1139,-1,TabUnk,ActSeeBan , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ban_RecFormNewBanner ,NULL}, /* ActNewBan */{1139,-1,TabUnk,ActSeeBan , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ban_RecFormNewBanner ,NULL},
/* ActRemBan */{1140,-1,TabUnk,ActSeeBan , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ban_RemoveBanner ,NULL}, /* ActRemBan */{1140,-1,TabUnk,ActSeeBan , 0, 0, 0, 0, 0, 0,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ban_RemoveBanner ,NULL},
@ -2805,6 +2800,13 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActSeeNewNtf */{ 991,-1,TabUnk,ActSeeNtf ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ntf_ShowMyNotifications ,NULL}, /* ActSeeNewNtf */{ 991,-1,TabUnk,ActSeeNtf ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ntf_ShowMyNotifications ,NULL},
/* ActMrkNtfSee */{1146,-1,TabUnk,ActSeeNtf ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ntf_MarkAllNotifAsSeen ,NULL}, /* ActMrkNtfSee */{1146,-1,TabUnk,ActSeeNtf ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ntf_MarkAllNotifAsSeen ,NULL},
/* ActSeeMai */{ 855,-1,TabUnk,ActSeeNtf ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Mai_SeeMailDomains ,NULL},
/* ActEdiMai */{ 856,-1,TabUnk,ActSeeNtf ,0x100,0x100,0x100,0x100,0x100,0x100,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Mai_EditMailDomains ,NULL},
/* ActNewMai */{ 857,-1,TabUnk,ActSeeNtf ,0x100,0x100,0x100,0x100,0x100,0x100,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Mai_RecFormNewMailDomain ,NULL},
/* ActRemMai */{ 860,-1,TabUnk,ActSeeNtf ,0x100,0x100,0x100,0x100,0x100,0x100,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Mai_RemoveMailDomain ,NULL},
/* ActRenMaiSho */{ 858,-1,TabUnk,ActSeeNtf ,0x100,0x100,0x100,0x100,0x100,0x100,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Mai_RenameMailDomainShort ,NULL},
/* ActRenMaiFul */{ 859,-1,TabUnk,ActSeeNtf ,0x100,0x100,0x100,0x100,0x100,0x100,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Mai_RenameMailDomainFull ,NULL},
/* ActRcvMsgUsr */{ 27,-1,TabUnk,ActReqMsgUsr ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,Msg_RecMsgFromUsr ,NULL}, /* ActRcvMsgUsr */{ 27,-1,TabUnk,ActReqMsgUsr ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,Msg_RecMsgFromUsr ,NULL},
/* ActReqDelAllSntMsg*/{ 604,-1,TabUnk,ActSeeSntMsg ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Msg_ReqDelAllSntMsgs ,NULL}, /* ActReqDelAllSntMsg*/{ 604,-1,TabUnk,ActSeeSntMsg ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Msg_ReqDelAllSntMsgs ,NULL},
/* ActReqDelAllRcvMsg*/{ 593,-1,TabUnk,ActSeeRcvMsg ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Msg_ReqDelAllRecMsgs ,NULL}, /* ActReqDelAllRcvMsg*/{ 593,-1,TabUnk,ActSeeRcvMsg ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Msg_ReqDelAllRecMsgs ,NULL},

View File

@ -57,7 +57,7 @@ typedef enum
typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
#define Act_NUM_ACTIONS (1 + 9 + 54 + 17 + 47 + 27 + 24 + 115 + 54 + 416 + 159 + 172 + 36 + 31 + 96) #define Act_NUM_ACTIONS (1 + 9 + 48 + 17 + 47 + 27 + 24 + 115 + 54 + 416 + 159 + 172 + 42 + 31 + 96)
#define Act_MAX_ACTION_COD 1636 #define Act_MAX_ACTION_COD 1636
@ -92,63 +92,57 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
#define ActSeePen (ActWebSvc + 3) #define ActSeePen (ActWebSvc + 3)
#define ActReqRemOldCrs (ActWebSvc + 4) #define ActReqRemOldCrs (ActWebSvc + 4)
#define ActSeeDegTyp (ActWebSvc + 5) #define ActSeeDegTyp (ActWebSvc + 5)
#define ActSeeMai (ActWebSvc + 6) #define ActSeeBan (ActWebSvc + 6)
#define ActSeeBan (ActWebSvc + 7) #define ActSeeLnk (ActWebSvc + 7)
#define ActSeeLnk (ActWebSvc + 8) #define ActLstPlg (ActWebSvc + 8)
#define ActLstPlg (ActWebSvc + 9) #define ActSetUp (ActWebSvc + 9)
#define ActSetUp (ActWebSvc + 10) #define ActSeeCalSys (ActWebSvc + 10)
#define ActSeeCalSys (ActWebSvc + 11)
// Secondary actions // Secondary actions
#define ActSysSch (ActWebSvc + 12) #define ActSysSch (ActWebSvc + 11)
#define ActEdiDegTyp (ActWebSvc + 13) #define ActEdiDegTyp (ActWebSvc + 12)
#define ActEdiCty (ActWebSvc + 14) #define ActEdiCty (ActWebSvc + 13)
#define ActNewCty (ActWebSvc + 15) #define ActNewCty (ActWebSvc + 14)
#define ActRemCty (ActWebSvc + 16) #define ActRemCty (ActWebSvc + 15)
#define ActRenCty (ActWebSvc + 17) #define ActRenCty (ActWebSvc + 16)
#define ActChgCtyWWW (ActWebSvc + 18) #define ActChgCtyWWW (ActWebSvc + 17)
#define ActNewDegTyp (ActWebSvc + 19) #define ActNewDegTyp (ActWebSvc + 18)
#define ActRemDegTyp (ActWebSvc + 20) #define ActRemDegTyp (ActWebSvc + 19)
#define ActRenDegTyp (ActWebSvc + 21) #define ActRenDegTyp (ActWebSvc + 20)
#define ActRemOldCrs (ActWebSvc + 22) #define ActRemOldCrs (ActWebSvc + 21)
#define ActEdiMai (ActWebSvc + 23)
#define ActNewMai (ActWebSvc + 24)
#define ActRemMai (ActWebSvc + 25)
#define ActRenMaiSho (ActWebSvc + 26)
#define ActRenMaiFul (ActWebSvc + 27)
#define ActEdiBan (ActWebSvc + 28) #define ActEdiBan (ActWebSvc + 22)
#define ActNewBan (ActWebSvc + 29) #define ActNewBan (ActWebSvc + 23)
#define ActRemBan (ActWebSvc + 30) #define ActRemBan (ActWebSvc + 24)
#define ActShoBan (ActWebSvc + 31) #define ActShoBan (ActWebSvc + 25)
#define ActHidBan (ActWebSvc + 32) #define ActHidBan (ActWebSvc + 26)
#define ActRenBanSho (ActWebSvc + 33) #define ActRenBanSho (ActWebSvc + 27)
#define ActRenBanFul (ActWebSvc + 34) #define ActRenBanFul (ActWebSvc + 28)
#define ActChgBanImg (ActWebSvc + 35) #define ActChgBanImg (ActWebSvc + 29)
#define ActChgBanWWW (ActWebSvc + 36) #define ActChgBanWWW (ActWebSvc + 30)
#define ActClkBan (ActWebSvc + 37) #define ActClkBan (ActWebSvc + 31)
#define ActEdiLnk (ActWebSvc + 38) #define ActEdiLnk (ActWebSvc + 32)
#define ActNewLnk (ActWebSvc + 39) #define ActNewLnk (ActWebSvc + 33)
#define ActRemLnk (ActWebSvc + 40) #define ActRemLnk (ActWebSvc + 34)
#define ActRenLnkSho (ActWebSvc + 41) #define ActRenLnkSho (ActWebSvc + 35)
#define ActRenLnkFul (ActWebSvc + 42) #define ActRenLnkFul (ActWebSvc + 36)
#define ActChgLnkWWW (ActWebSvc + 43) #define ActChgLnkWWW (ActWebSvc + 37)
#define ActEdiPlg (ActWebSvc + 44) #define ActEdiPlg (ActWebSvc + 38)
#define ActNewPlg (ActWebSvc + 45) #define ActNewPlg (ActWebSvc + 39)
#define ActRemPlg (ActWebSvc + 46) #define ActRemPlg (ActWebSvc + 40)
#define ActRenPlg (ActWebSvc + 47) #define ActRenPlg (ActWebSvc + 41)
#define ActChgPlgDes (ActWebSvc + 48) #define ActChgPlgDes (ActWebSvc + 42)
#define ActChgPlgLog (ActWebSvc + 49) #define ActChgPlgLog (ActWebSvc + 43)
#define ActChgPlgAppKey (ActWebSvc + 50) #define ActChgPlgAppKey (ActWebSvc + 44)
#define ActChgPlgURL (ActWebSvc + 51) #define ActChgPlgURL (ActWebSvc + 45)
#define ActChgPlgIP (ActWebSvc + 52) #define ActChgPlgIP (ActWebSvc + 46)
#define ActPrnCalSys (ActWebSvc + 53) #define ActPrnCalSys (ActWebSvc + 47)
#define ActChgCalSys1stDay (ActWebSvc + 54) #define ActChgCalSys1stDay (ActWebSvc + 48)
/*****************************************************************************/ /*****************************************************************************/
/******************************** Country tab ********************************/ /******************************** Country tab ********************************/
@ -1338,23 +1332,31 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
#define ActRevNot (ActCht + 17) #define ActRevNot (ActCht + 17)
#define ActReqRemNot (ActCht + 18) #define ActReqRemNot (ActCht + 18)
#define ActRemNot (ActCht + 19) #define ActRemNot (ActCht + 19)
#define ActSeeNewNtf (ActCht + 20) #define ActSeeNewNtf (ActCht + 20)
#define ActMrkNtfSee (ActCht + 21) #define ActMrkNtfSee (ActCht + 21)
#define ActRcvMsgUsr (ActCht + 22) #define ActSeeMai (ActCht + 22)
#define ActReqDelAllSntMsg (ActCht + 23) #define ActEdiMai (ActCht + 23)
#define ActReqDelAllRcvMsg (ActCht + 24) #define ActNewMai (ActCht + 24)
#define ActDelAllSntMsg (ActCht + 25) #define ActRemMai (ActCht + 25)
#define ActDelAllRcvMsg (ActCht + 26) #define ActRenMaiSho (ActCht + 26)
#define ActDelSntMsg (ActCht + 27) #define ActRenMaiFul (ActCht + 27)
#define ActDelRcvMsg (ActCht + 28)
#define ActExpSntMsg (ActCht + 29) #define ActRcvMsgUsr (ActCht + 28)
#define ActExpRcvMsg (ActCht + 30) #define ActReqDelAllSntMsg (ActCht + 29)
#define ActConSntMsg (ActCht + 31) #define ActReqDelAllRcvMsg (ActCht + 30)
#define ActConRcvMsg (ActCht + 32) #define ActDelAllSntMsg (ActCht + 31)
#define ActLstBanUsr (ActCht + 33) #define ActDelAllRcvMsg (ActCht + 32)
#define ActBanUsrMsg (ActCht + 34) #define ActDelSntMsg (ActCht + 33)
#define ActUnbUsrMsg (ActCht + 35) #define ActDelRcvMsg (ActCht + 34)
#define ActUnbUsrLst (ActCht + 36) #define ActExpSntMsg (ActCht + 35)
#define ActExpRcvMsg (ActCht + 36)
#define ActConSntMsg (ActCht + 37)
#define ActConRcvMsg (ActCht + 38)
#define ActLstBanUsr (ActCht + 39)
#define ActBanUsrMsg (ActCht + 40)
#define ActUnbUsrMsg (ActCht + 41)
#define ActUnbUsrLst (ActCht + 42)
/*****************************************************************************/ /*****************************************************************************/
/****************************** Statistics tab *******************************/ /****************************** Statistics tab *******************************/

View File

@ -209,13 +209,14 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.164.5 (2017-03-24)" #define Log_PLATFORM_VERSION "SWAD 16.165 (2017-03-24)"
#define CSS_FILE "swad16.161.css" #define CSS_FILE "swad16.161.css"
#define JS_FILE "swad16.144.js" #define JS_FILE "swad16.144.js"
// Number of lines (includes comments but not blank lines) has been got with the following command: // Number of lines (includes comments but not blank lines) has been got with the following command:
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1 // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
/* /*
Version 16.165: Mar 24, 2017 Allowed mail domains option is moved from system tab to messages tab. (217591 lines)
Version 16.164.5: Mar 24, 2017 Link in notifications to allowed mail domains. (217632 lines) Version 16.164.5: Mar 24, 2017 Link in notifications to allowed mail domains. (217632 lines)
Version 16.164.4: Mar 24, 2017 Link to figures in types of degree. (217604 lines) Version 16.164.4: Mar 24, 2017 Link to figures in types of degree. (217604 lines)
Version 16.164.3: Mar 24, 2017 Fixed bug in types of degree. Version 16.164.3: Mar 24, 2017 Fixed bug in types of degree.

View File

@ -178,48 +178,6 @@ const char *Hlp_SYSTEM_Studies_edit =
"SYSTEM.Studies#edit"; "SYSTEM.Studies#edit";
#endif #endif
const char *Hlp_SYSTEM_Domains =
#if L==1
"SYSTEM.Domains";
#elif L==2
"SYSTEM.Domains";
#elif L==3
"SYSTEM.Domains";
#elif L==4
"SYSTEM.Domains";
#elif L==5
"SYSTEM.Domains";
#elif L==6
"SYSTEM.Domains";
#elif L==7
"SYSTEM.Domains";
#elif L==8
"SYSTEM.Domains";
#elif L==9
"SYSTEM.Domains";
#endif
const char *Hlp_SYSTEM_Domains_edit =
#if L==1
"SYSTEM.Domains#edit";
#elif L==2
"SYSTEM.Domains#edit";
#elif L==3
"SYSTEM.Domains#edit";
#elif L==4
"SYSTEM.Domains#edit";
#elif L==5
"SYSTEM.Domains#edit";
#elif L==6
"SYSTEM.Domains#edit";
#elif L==7
"SYSTEM.Domains#edit";
#elif L==8
"SYSTEM.Domains#edit";
#elif L==9
"SYSTEM.Domains#edit";
#endif
const char *Hlp_SYSTEM_Banners = const char *Hlp_SYSTEM_Banners =
#if L==1 #if L==1
"SYSTEM.Banners"; "SYSTEM.Banners";
@ -1815,6 +1773,48 @@ const char *Hlp_MESSAGES_Notifications =
"MESSAGES.Notifications"; "MESSAGES.Notifications";
#endif #endif
const char *Hlp_MESSAGES_Domains =
#if L==1
"MESSAGES.Domains";
#elif L==2
"MESSAGES.Domains";
#elif L==3
"MESSAGES.Domains";
#elif L==4
"MESSAGES.Domains";
#elif L==5
"MESSAGES.Domains";
#elif L==6
"MESSAGES.Domains";
#elif L==7
"MESSAGES.Domains";
#elif L==8
"MESSAGES.Domains";
#elif L==9
"MESSAGES.Domains";
#endif
const char *Hlp_MESSAGES_Domains_edit =
#if L==1
"MESSAGES.Domains#edit";
#elif L==2
"MESSAGES.Domains#edit";
#elif L==3
"MESSAGES.Domains#edit";
#elif L==4
"MESSAGES.Domains#edit";
#elif L==5
"MESSAGES.Domains#edit";
#elif L==6
"MESSAGES.Domains#edit";
#elif L==7
"MESSAGES.Domains#edit";
#elif L==8
"MESSAGES.Domains#edit";
#elif L==9
"MESSAGES.Domains#edit";
#endif
const char *Hlp_MESSAGES_Announcements = const char *Hlp_MESSAGES_Announcements =
#if L==1 #if L==1
"MESSAGES.Announcements"; "MESSAGES.Announcements";

View File

@ -93,7 +93,7 @@ static void Mai_InsertMailKey (const char Email[Cns_MAX_BYTES_EMAIL_ADDRESS + 1]
void Mai_SeeMailDomains (void) void Mai_SeeMailDomains (void)
{ {
extern const char *Hlp_SYSTEM_Domains; extern const char *Hlp_MESSAGES_Domains;
extern const char *Txt_Email_domains_allowed_for_notifications; extern const char *Txt_Email_domains_allowed_for_notifications;
extern const char *Txt_EMAIL_DOMAIN_HELP_ORDER[3]; extern const char *Txt_EMAIL_DOMAIN_HELP_ORDER[3];
extern const char *Txt_EMAIL_DOMAIN_ORDER[3]; extern const char *Txt_EMAIL_DOMAIN_ORDER[3];
@ -110,7 +110,7 @@ void Mai_SeeMailDomains (void)
Lay_StartRoundFrameTable (NULL,Txt_Email_domains_allowed_for_notifications, Lay_StartRoundFrameTable (NULL,Txt_Email_domains_allowed_for_notifications,
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ? Mai_PutIconToEditMailDomains : Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ? Mai_PutIconToEditMailDomains :
NULL, NULL,
Hlp_SYSTEM_Domains,2); Hlp_MESSAGES_Domains,2);
fprintf (Gbl.F.Out,"<tr>"); fprintf (Gbl.F.Out,"<tr>");
for (Order = Mai_ORDER_BY_DOMAIN; for (Order = Mai_ORDER_BY_DOMAIN;
Order <= Mai_ORDER_BY_USERS; Order <= Mai_ORDER_BY_USERS;
@ -375,6 +375,7 @@ void Mai_WriteWarningEmailNotifications (void)
extern const char *Txt_You_can_only_receive_email_notifications_if_; extern const char *Txt_You_can_only_receive_email_notifications_if_;
extern const char *Txt_TABS_TXT[Tab_NUM_TABS]; extern const char *Txt_TABS_TXT[Tab_NUM_TABS];
extern const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB]; extern const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB];
extern const char *Txt_Domains;
Act_Action_t SuperActionMyAccount = Act_Actions[ActFrmMyAcc].SuperAction; Act_Action_t SuperActionMyAccount = Act_Actions[ActFrmMyAcc].SuperAction;
Act_Action_t SuperActionMailDomains = Act_Actions[ActSeeMai ].SuperAction; Act_Action_t SuperActionMailDomains = Act_Actions[ActSeeMai ].SuperAction;
Tab_Tab_t TabMyAccount = Act_Actions[SuperActionMyAccount ].Tab; Tab_Tab_t TabMyAccount = Act_Actions[SuperActionMyAccount ].Tab;
@ -384,7 +385,8 @@ void Mai_WriteWarningEmailNotifications (void)
Txt_TABS_TXT[TabMyAccount ], Txt_TABS_TXT[TabMyAccount ],
Txt_MENU_TITLE[TabMyAccount ][Act_Actions[SuperActionMyAccount ].IndexInMenu], Txt_MENU_TITLE[TabMyAccount ][Act_Actions[SuperActionMyAccount ].IndexInMenu],
Txt_TABS_TXT[TabMailDomains], Txt_TABS_TXT[TabMailDomains],
Txt_MENU_TITLE[TabMailDomains][Act_Actions[SuperActionMailDomains].IndexInMenu]); Txt_MENU_TITLE[TabMailDomains][Act_Actions[SuperActionMailDomains].IndexInMenu],
Txt_Domains);
Lay_ShowAlert (Lay_WARNING,Gbl.Message); Lay_ShowAlert (Lay_WARNING,Gbl.Message);
} }
@ -450,13 +452,13 @@ void Mai_FreeListMailDomains (void)
static void Mai_ListMailDomainsForEdition (void) static void Mai_ListMailDomainsForEdition (void)
{ {
extern const char *Hlp_SYSTEM_Domains_edit; extern const char *Hlp_MESSAGES_Domains_edit;
extern const char *Txt_Email_domains_allowed_for_notifications; extern const char *Txt_Email_domains_allowed_for_notifications;
unsigned NumMai; unsigned NumMai;
struct Mail *Mai; struct Mail *Mai;
Lay_StartRoundFrameTable (NULL,Txt_Email_domains_allowed_for_notifications, Lay_StartRoundFrameTable (NULL,Txt_Email_domains_allowed_for_notifications,
NULL,Hlp_SYSTEM_Domains_edit,2); NULL,Hlp_MESSAGES_Domains_edit,2);
/***** Table head *****/ /***** Table head *****/
Mai_PutHeadMailDomains (); Mai_PutHeadMailDomains ();
@ -710,7 +712,7 @@ static void Mai_UpdateMailDomainNameDB (long MaiCod,const char *FieldName,const
static void Mai_PutFormToCreateMailDomain (void) static void Mai_PutFormToCreateMailDomain (void)
{ {
extern const char *Hlp_SYSTEM_Domains_edit; extern const char *Hlp_MESSAGES_Domains_edit;
extern const char *Txt_New_email_domain; extern const char *Txt_New_email_domain;
extern const char *Txt_EMAIL_DOMAIN_ORDER[3]; extern const char *Txt_EMAIL_DOMAIN_ORDER[3];
extern const char *Txt_Create_email_domain; extern const char *Txt_Create_email_domain;
@ -723,7 +725,7 @@ static void Mai_PutFormToCreateMailDomain (void)
/***** Start of frame *****/ /***** Start of frame *****/
Lay_StartRoundFrameTable (NULL,Txt_New_email_domain, Lay_StartRoundFrameTable (NULL,Txt_New_email_domain,
NULL,Hlp_SYSTEM_Domains_edit,2); NULL,Hlp_MESSAGES_Domains_edit,2);
/***** Write heading *****/ /***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"

View File

@ -90,12 +90,12 @@ const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB
ActSeePen, // 2 ActSeePen, // 2
ActReqRemOldCrs, // 3 ActReqRemOldCrs, // 3
ActSeeDegTyp, // 4 ActSeeDegTyp, // 4
ActSeeMai, // 5 ActSeeBan, // 5
ActSeeBan, // 6 ActSeeLnk, // 6
ActSeeLnk, // 7 ActLstPlg, // 7
ActLstPlg, // 8 ActSetUp, // 8
ActSetUp, // 9 ActSeeCalSys, // 9
ActSeeCalSys, // 10 0, // 10
0, // 11 0, // 11
}, },
// TabCty ******************* // TabCty *******************

View File

@ -18157,28 +18157,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Estudos" "Estudos"
#endif #endif
, ,
// 5: ActSeeMai // 5: ActSeeBan
#if L==1
"Dominis"
#elif L==2
"Dom&auml;nen"
#elif L==3
"Domains"
#elif L==4
"Dominios"
#elif L==5
"Domaines"
#elif L==6
"Dominios" // Okoteve traducción
#elif L==7
"Campi"
#elif L==8
"Domen"
#elif L==9
"Dom&iacute;nios"
#endif
,
// 6: ActSeeBan
#if L==1 #if L==1
"Banners" "Banners"
#elif L==2 #elif L==2
@ -18199,7 +18178,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Banners" "Banners"
#endif #endif
, ,
// 7: ActSeeLnk // 6: ActSeeLnk
#if L==1 #if L==1
"Enlla&ccedil;os" "Enlla&ccedil;os"
#elif L==2 #elif L==2
@ -18220,7 +18199,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Liga&ccedil;&otilde;es" "Liga&ccedil;&otilde;es"
#endif #endif
, ,
// 8: ActLstPlg // 7: ActLstPlg
#if L==1 #if L==1
"Complements" "Complements"
#elif L==2 #elif L==2
@ -18241,7 +18220,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Plugins" "Plugins"
#endif #endif
, ,
// 9: ActSetUp // 8: ActSetUp
#if L==1 #if L==1
"Instal lar" "Instal lar"
#elif L==2 #elif L==2
@ -18262,7 +18241,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Instalar" "Instalar"
#endif #endif
, ,
// 10: ActSeeCalSys // 9: ActSeeCalSys
#if L==1 #if L==1
"Calendari" "Calendari"
#elif L==2 #elif L==2
@ -18283,6 +18262,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Calend&aacute;rio" "Calend&aacute;rio"
#endif #endif
, ,
NULL, // 10
NULL, // 11 NULL, // 11
}, },
{ {
@ -20170,32 +20150,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Tipos de titula&ccedil;&atilde;o" "Tipos de titula&ccedil;&atilde;o"
#endif #endif
, ,
// 5: ActSeeMai // 5: ActSeeBan
#if L==1
"Llista de dominis de correu permesos"
" per a l'enviament de notificacions"
#elif L==2
"E-Mail-Dom&auml;nen f&uuml;r Benachrichtigungen"
#elif L==3
"Email domains for notifications"
#elif L==4
"Lista de dominios de correo permitidos"
" para el env&iacute;o de notificaciones"
#elif L==5
"Domaines de messagerie pour notifications"
#elif L==6
"Lista de dominios de correo permitidos"
" para el env&iacute;o de notificaciones"// Okoteve traducción
#elif L==7
"Campi mail per invio di notifiche"
#elif L==8
"Domen Mail powiadomien"
#elif L==9
"Dom&iacute;nios de email"
" para notifica&ccedil;&otilde;es"
#endif
,
// 6: ActSeeBan
#if L==1 #if L==1
"Llista de banners publicitaris" "Llista de banners publicitaris"
#elif L==2 #elif L==2
@ -20216,7 +20171,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Lista de banners publicit&aacute;rios" "Lista de banners publicit&aacute;rios"
#endif #endif
, ,
// 7: ActSeeLnk // 6: ActSeeLnk
#if L==1 #if L==1
"Llista d'enlla&ccedil;os institucionals" "Llista d'enlla&ccedil;os institucionals"
#elif L==2 #elif L==2
@ -20237,7 +20192,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Liga&ccedil;&otilde;es institucionais" "Liga&ccedil;&otilde;es institucionais"
#endif #endif
, ,
// 8: ActLstPlg // 7: ActLstPlg
#if L==1 #if L==1
"Llista de complements (versi&oacute; beta)" "Llista de complements (versi&oacute; beta)"
#elif L==2 #elif L==2
@ -20258,7 +20213,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Lista de plugins" "Lista de plugins"
#endif #endif
, ,
// 9: ActSetUp // 8: ActSetUp
#if L==1 #if L==1
"Instal laci&oacute; de la plataforma (en proves)" "Instal laci&oacute; de la plataforma (en proves)"
#elif L==2 #elif L==2
@ -20279,7 +20234,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Instalar" "Instalar"
#endif #endif
, ,
// 10: ActSeeCalSys // 9: ActSeeCalSys
#if L==1 #if L==1
"Calendari acad&egrave;mic" "Calendari acad&egrave;mic"
#elif L==2 #elif L==2
@ -20300,6 +20255,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Calend&aacute;rio" "Calend&aacute;rio"
#endif #endif
, ,
NULL, // 10
NULL, // 11 NULL, // 11
}, },
{ {
@ -53425,43 +53381,43 @@ const char *Txt_You_can_only_perform_X_further_actions_ = // Warning: it is very
" if you don't send your photo."; // Necessita de tradução " if you don't send your photo."; // Necessita de tradução
#endif #endif
const char *Txt_You_can_only_receive_email_notifications_if_ = // Warning: it is very important to include four %s in the following sentences const char *Txt_You_can_only_receive_email_notifications_if_ = // Warning: it is very important to include five %s in the following sentences
#if L==1 #if L==1
"Nom&eacute;s podr&agrave; rebre notificacions per correu" "Nom&eacute;s podr&agrave; rebre notificacions per correu"
" si la seva adre&ccedil;a de correu est&agrave; confirmada (%s &gt; %s)" " si la seva adre&ccedil;a de correu est&agrave; confirmada (%s &gt; %s)"
" i acaba en un dels dominis permesos (%s &gt; %s)."; " i acaba en un dels dominis permesos (%s &gt; %s &gt; %s).";
#elif L==2 #elif L==2
"Sie k&ouml;nnen nur E-Mail-Anmeldungen zu erhalten," "Sie k&ouml;nnen nur E-Mail-Anmeldungen zu erhalten,"
" wenn Sie Ihre E-Mail-Adresse best&uuml;tigt wird (%s &gt; %s)," " wenn Sie Ihre E-Mail-Adresse best&uuml;tigt wird (%s &gt; %s),"
" und endet in einer der erlaubt Domains (%s &gt; %s)."; " und endet in einer der erlaubt Domains (%s &gt; %s &gt; %s).";
#elif L==3 #elif L==3
"You can only receive email notifications" "You can only receive email notifications"
" if your email address is confirmed (%s &gt; %s)" " if your email address is confirmed (%s &gt; %s)"
" and ends in one of the allowed domains (%s &gt; %s)."; " and ends in one of the allowed domains (%s &gt; %s &gt; %s).";
#elif L==4 #elif L==4
"Solo podr&aacute; recibir notificaciones por correo" "Solo podr&aacute; recibir notificaciones por correo"
" si su direcci&oacute;n de correo est&aacute; confirmada (%s &gt; %s)" " si su direcci&oacute;n de correo est&aacute; confirmada (%s &gt; %s)"
" y termina en uno de los dominios permitidos (%s &gt; %s)."; " y termina en uno de los dominios permitidos (%s &gt; %s &gt; %s).";
#elif L==5 #elif L==5
"Vous ne pouvez recevoir des notifications par email" "Vous ne pouvez recevoir des notifications par email"
" si votre adresse email est confirm&eacute; (%s &gt; %s)" " si votre adresse email est confirm&eacute; (%s &gt; %s)"
" et se termine dans l'un des domaines autoris&eacute;s (%s &gt; %s)."; " et se termine dans l'un des domaines autoris&eacute;s (%s &gt; %s &gt; %s).";
#elif L==6 #elif L==6
"Solo podr&aacute; recibir notificaciones por correo" "Solo podr&aacute; recibir notificaciones por correo"
" si su direcci&oacute;n de correo est&aacute; confirmada (%s &gt; %s)" " si su direcci&oacute;n de correo est&aacute; confirmada (%s &gt; %s)"
" y termina en uno de los dominios permitidos (%s &gt; %s)."; // Okoteve traducción " y termina en uno de los dominios permitidos (%s &gt; %s &gt; %s)."; // Okoteve traducción
#elif L==7 #elif L==7
"Puoi solo ricevere email di notifica" "Puoi solo ricevere email di notifica"
" se la tua email &egrave; confermata (%s &gt; %s)" " se la tua email &egrave; confermata (%s &gt; %s)"
" e si termina in uno dei domini consentiti (%s &gt; %s)."; " e si termina in uno dei domini consentiti (%s &gt; %s &gt; %s).";
#elif L==8 #elif L==8
"Mo&zdot;na otrzyma&cacute; tylko informacj&eogon;," "Mo&zdot;na otrzyma&cacute; tylko informacj&eogon;,"
" czy adres email jest potwierdzone (%s &gt; %s)," " czy adres email jest potwierdzone (%s &gt; %s),"
" a ko&nacute;czy si&eogon; w jednej z dozwolone domeny (%s &gt; %s)."; " a ko&nacute;czy si&eogon; w jednej z dozwolone domeny (%s &gt; %s &gt; %s).";
#elif L==9 #elif L==9
"Voc&ecirc; s&oacute; pode receber notifica&ccedil;&otilde;es de email" "Voc&ecirc; s&oacute; pode receber notifica&ccedil;&otilde;es de email"
" se o seu endere&ccedil;o de email est&aacute; confirmado (%s &gt; %s)" " se o seu endere&ccedil;o de email est&aacute; confirmado (%s &gt; %s)"
" e termina em um dos dom&iacute;nios permitidos (%s &gt; %s)."; " e termina em um dos dom&iacute;nios permitidos (%s &gt; %s &gt; %s).";
#endif #endif
const char *Txt_You_can_register_voluntarily_in_one_group_of_type_X = // Warning: it is very important to include %s in the following sentences const char *Txt_You_can_register_voluntarily_in_one_group_of_type_X = // Warning: it is very important to include %s in the following sentences