Version 16.90

This commit is contained in:
Antonio Cañas Vargas 2016-12-06 21:08:28 +01:00
parent fbfac97fa6
commit 2e2f372f74
9 changed files with 366 additions and 387 deletions

View File

@ -80,7 +80,7 @@ extern struct Globals Gbl;
/************************ Internal global variables **************************/ /************************ Internal global variables **************************/
/*****************************************************************************/ /*****************************************************************************/
/* /*
1237 actions in one CGI: 1238 actions in one CGI:
0. ActAll Any action (used for statistics) 0. ActAll Any action (used for statistics)
1. ActUnk Unknown action 1. ActUnk Unknown action
2. ActHom Show home menu 2. ActHom Show home menu
@ -1331,109 +1331,110 @@ Profile:
1144. ActFrmRolSes Show form to log out and to change current role in this session 1144. ActFrmRolSes Show form to log out and to change current role in this session
1145. ActMyCrs Select one of my courses 1145. ActMyCrs Select one of my courses
1146. ActSeeMyTT Show the timetable of all courses of the logged user 1146. ActSeeMyTT Show the timetable of all courses of the logged user
1147. ActSeeMyAgd Show my agenda (personal organizer) 1147. ActSeeMyAgd Show my full agenda (personal organizer)
1148. ActFrmMyAcc Show form to the creation or change of user's account 1148. ActSeeMyPubAgd Show my public agenda (personal organizer)
1149. ActReqEdiRecCom Request the edition of the record with the personal data of the user 1149. ActFrmMyAcc Show form to the creation or change of user's account
1150. ActEdiPrf Show forms to edit preferences 1150. ActReqEdiRecCom Request the edition of the record with the personal data of the user
1151. ActAdmBrf Show the briefcase of private archives 1151. ActEdiPrf Show forms to edit preferences
1152. ActAdmBrf Show the briefcase of private archives
1152. ActReqSndNewPwd Show form to send a new password via email 1153. ActReqSndNewPwd Show form to send a new password via email
1153. ActSndNewPwd Send a new password via email 1154. ActSndNewPwd Send a new password via email
1154. ActLogOut Close session 1155. ActLogOut Close session
1155. ActLogIn Authentify user internally (directly from the platform) 1156. ActLogIn Authentify user internally (directly from the platform)
1156. ActLogInNew Authentify user internally (directly from the platform, only if user has not password) 1157. ActLogInNew Authentify user internally (directly from the platform, only if user has not password)
1157. ActLogInLan Change language to my language just after authentication 1158. ActLogInLan Change language to my language just after authentication
1158. ActAnnSee Mark announcement as seen 1159. ActAnnSee Mark announcement as seen
1159. ActChgMyRol Change type of logged user 1160. ActChgMyRol Change type of logged user
1160. ActFrmNewEvtMyAgd Form to create a new event in my agenda 1161. ActFrmNewEvtMyAgd Form to create a new event in my agenda
1161. ActEdiOneEvtMyAgd Edit one event from my agenda 1162. ActEdiOneEvtMyAgd Edit one event from my agenda
1162. ActNewEvtMyAgd Create a new event in my agenda 1163. ActNewEvtMyAgd Create a new event in my agenda
1163. ActChgEvtMyAgd Modify data of an event from my agenda 1164. ActChgEvtMyAgd Modify data of an event from my agenda
1164. ActReqRemEvtMyAgd Request the removal of an event from my agenda 1165. ActReqRemEvtMyAgd Request the removal of an event from my agenda
1165. ActRemEvtMyAgd Remove an event from my agenda 1166. ActRemEvtMyAgd Remove an event from my agenda
1166. ActHidEvtMyAgd Hide an event from my agenda 1167. ActHidEvtMyAgd Hide an event from my agenda
1167. ActShoEvtMyAgd Show an event from my agenda 1168. ActShoEvtMyAgd Show an event from my agenda
1168. ActPrvEvtMyAgd Make private an event from my agenda 1169. ActPrvEvtMyAgd Make private an event from my agenda
1169. ActPubEvtMyAgd Make public an event from my agenda 1170. ActPubEvtMyAgd Make public an event from my agenda
1170. ActChkUsrAcc Check if already exists a new account without password associated to a ID 1171. ActChkUsrAcc Check if already exists a new account without password associated to a ID
1171. ActCreUsrAcc Create new user account 1172. ActCreUsrAcc Create new user account
1172. ActRemID_Me Remove one of my user's IDs 1173. ActRemID_Me Remove one of my user's IDs
1173. ActNewIDMe Create a new user's ID for me 1174. ActNewIDMe Create a new user's ID for me
1174. ActRemOldNic Remove one of my old nicknames 1175. ActRemOldNic Remove one of my old nicknames
1175. ActChgNic Change my nickname 1176. ActChgNic Change my nickname
1176. ActRemMaiMe Remove one of my old emails 1177. ActRemMaiMe Remove one of my old emails
1177. ActNewMaiMe Change my email address 1178. ActNewMaiMe Change my email address
1178. ActCnfMai Confirm email address 1179. ActCnfMai Confirm email address
1179. ActFrmChgMyPwd Show form to the change of the password 1180. ActFrmChgMyPwd Show form to the change of the password
1180. ActChgPwd Change the password 1181. ActChgPwd Change the password
1181. ActReqRemMyAcc Request the removal of my account 1182. ActReqRemMyAcc Request the removal of my account
1182. ActRemMyAcc Remove my account 1183. ActRemMyAcc Remove my account
1183. ActChgMyData Update my personal data 1184. ActChgMyData Update my personal data
1184. ActReqMyPho Show form to send my photo 1185. ActReqMyPho Show form to send my photo
1185. ActDetMyPho Receive my photo and detect faces on it 1186. ActDetMyPho Receive my photo and detect faces on it
1186. ActUpdMyPho Update my photo 1187. ActUpdMyPho Update my photo
1187. ActReqRemMyPho Request the removal of my photo 1188. ActReqRemMyPho Request the removal of my photo
1188. ActRemMyPho Remove my photo 1189. ActRemMyPho Remove my photo
1189. ActEdiPri Edit my privacy 1190. ActEdiPri Edit my privacy
1190. ActChgPriPho Change privacy of my photo 1191. ActChgPriPho Change privacy of my photo
1191. ActChgPriPrf Change privacy of my public profile 1192. ActChgPriPrf Change privacy of my public profile
1192. ActReqEdiMyIns Request the edition of my institution, centre and department 1193. ActReqEdiMyIns Request the edition of my institution, centre and department
1193. ActChgCtyMyIns Change the country of my institution 1194. ActChgCtyMyIns Change the country of my institution
1194. ActChgMyIns Change my institution 1195. ActChgMyIns Change my institution
1195. ActChgMyCtr Change my centre 1196. ActChgMyCtr Change my centre
1196. ActChgMyDpt Change my department 1197. ActChgMyDpt Change my department
1197. ActChgMyOff Change my office 1198. ActChgMyOff Change my office
1198. ActChgMyOffPho Change my office phone 1199. ActChgMyOffPho Change my office phone
1199. ActReqEdiMyNet Request the edition of my social networks 1200. ActReqEdiMyNet Request the edition of my social networks
1200. ActChgMyNet Change my web and social networks 1201. ActChgMyNet Change my web and social networks
1201. ActChgThe Change theme 1202. ActChgThe Change theme
1202. ActReqChgLan Ask if change language 1203. ActReqChgLan Ask if change language
1203. ActChgLan Change language 1204. ActChgLan Change language
1204. ActChg1stDay Change first day of the week 1205. ActChg1stDay Change first day of the week
1205. ActChgCol Change side columns 1206. ActChgCol Change side columns
1206. ActHidLftCol Hide left side column 1207. ActHidLftCol Hide left side column
1207. ActHidRgtCol Hide right side column 1208. ActHidRgtCol Hide right side column
1208. ActShoLftCol Show left side column 1209. ActShoLftCol Show left side column
1209. ActShoRgtCol Show right side column 1210. ActShoRgtCol Show right side column
1210. ActChgIco Change icon set 1211. ActChgIco Change icon set
1211. ActChgMnu Change menu 1212. ActChgMnu Change menu
1212. ActChgNtfPrf Change whether to notify by email new messages 1213. ActChgNtfPrf Change whether to notify by email new messages
1213. ActPrnUsrQR Show my QR code ready to print 1214. ActPrnUsrQR Show my QR code ready to print
1214. ActPrnMyTT Show the timetable listo to impresión of all my courses 1215. ActPrnMyTT Show the timetable listo to impresión of all my courses
1215. ActEdiTut Edit the timetable of tutorías 1216. ActEdiTut Edit the timetable of tutorías
1216. ActChgTut Modify the timetable of tutorías 1217. ActChgTut Modify the timetable of tutorías
1217. ActChgMyTT1stDay Change first day of week and show timetable of the course 1218. ActChgMyTT1stDay Change first day of week and show timetable of the course
1218. ActReqRemFilBrf Request removal of a file of the briefcase 1219. ActReqRemFilBrf Request removal of a file of the briefcase
1219. ActRemFilBrf Remove a file of the briefcase 1220. ActRemFilBrf Remove a file of the briefcase
1220. ActRemFolBrf Remove a folder empty of the briefcase 1221. ActRemFolBrf Remove a folder empty of the briefcase
1221. ActCopBrf Set source of copy in the briefcase 1222. ActCopBrf Set source of copy in the briefcase
1222. ActPasBrf Paste a folder or file in the briefcase 1223. ActPasBrf Paste a folder or file in the briefcase
1223. ActRemTreBrf Remove a folder no empty of the briefcase 1224. ActRemTreBrf Remove a folder no empty of the briefcase
1224. ActFrmCreBrf Form to crear a folder or file in the briefcase 1225. ActFrmCreBrf Form to crear a folder or file in the briefcase
1225. ActCreFolBrf Create a new folder in the briefcase 1226. ActCreFolBrf Create a new folder in the briefcase
1226. ActCreLnkBrf Create a new link in the briefcase 1227. ActCreLnkBrf Create a new link in the briefcase
1227. ActRenFolBrf Rename a folder of the briefcase 1228. ActRenFolBrf Rename a folder of the briefcase
1228. ActRcvFilBrfDZ Receive a file in the briefcase using Dropzone.js 1229. ActRcvFilBrfDZ Receive a file in the briefcase using Dropzone.js
1229. ActRcvFilBrfCla Receive a file in the briefcase using the classic way 1230. ActRcvFilBrfCla Receive a file in the briefcase using the classic way
1230. ActExpBrf Expand a folder in briefcase 1231. ActExpBrf Expand a folder in briefcase
1231. ActConBrf Contract a folder in briefcase 1232. ActConBrf Contract a folder in briefcase
1232. ActZIPBrf Compress a folder in briefcase 1233. ActZIPBrf Compress a folder in briefcase
1233. ActReqDatBrf Ask for metadata of a file in the briefcase 1234. ActReqDatBrf Ask for metadata of a file in the briefcase
1234. ActChgDatBrf Change metadata of a file in the briefcase 1235. ActChgDatBrf Change metadata of a file in the briefcase
1235. ActDowBrf Download a file in the briefcase 1236. ActDowBrf Download a file in the briefcase
1236. ActReqRemOldBrf Ask for removing old files in the briefcase 1237. ActReqRemOldBrf Ask for removing old files in the briefcase
1237. ActRemOldBrf Remove old files in the briefcase 1238. ActRemOldBrf Remove old files in the briefcase
*/ */
struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
@ -2811,9 +2812,10 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActReqRemEvtMyAgd */{1607,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_AskRemEvent ,NULL}, /* ActReqRemEvtMyAgd */{1607,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_AskRemEvent ,NULL},
/* ActRemEvtMyAgd */{1608,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_RemoveEvent ,NULL}, /* ActRemEvtMyAgd */{1608,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_RemoveEvent ,NULL},
/* ActHidEvtMyAgd */{1612,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_HideEvent ,NULL}, /* ActHidEvtMyAgd */{1612,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_HideEvent ,NULL},
/* ActShoEvtMyAgd */{1613,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_UnhideEvent ,NULL}, /* ActShoEvtMyAgd */{1613,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_UnhideEvent ,NULL},
/* ActPrvEvtMyAgd */{1609,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_MakeEventPrivate ,NULL}, /* ActPrvEvtMyAgd */{1609,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_MakeEventPrivate ,NULL},
/* ActPubEvtMyAgd */{1610,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_MakeEventPublic ,NULL}, /* ActPubEvtMyAgd */{1610,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_MakeEventPublic ,NULL},
/* ActSeeMyPubAgd */{1617,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_ShowMyPublicAgenda ,NULL},
/* ActChkUsrAcc */{1584,-1,TabUnk,ActFrmMyAcc ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Acc_CheckIfEmptyAccountExists ,NULL}, /* ActChkUsrAcc */{1584,-1,TabUnk,ActFrmMyAcc ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Acc_CheckIfEmptyAccountExists ,NULL},
/* ActCreUsrAcc */{1163,-1,TabUnk,ActFrmMyAcc ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Acc_AfterCreationNewAccount ,NULL}, /* ActCreUsrAcc */{1163,-1,TabUnk,ActFrmMyAcc ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Acc_AfterCreationNewAccount ,NULL},
@ -4521,6 +4523,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActFrmLogInUsrAgd, // #1614 ActFrmLogInUsrAgd, // #1614
ActLogInUsrAgd, // #1615 ActLogInUsrAgd, // #1615
ActLogInUsrAgdLan, // #1616 ActLogInUsrAgdLan, // #1616
ActSeeMyPubAgd, // #1617
}; };
/*****************************************************************************/ /*****************************************************************************/

View File

@ -55,9 +55,9 @@ typedef enum
typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
#define Act_NUM_ACTIONS (1+9+51+14+93+73+70+249+186+159+172+36+31+95) #define Act_NUM_ACTIONS (1+9+51+14+93+73+70+249+186+159+172+36+31+96)
#define Act_MAX_ACTION_COD 1616 #define Act_MAX_ACTION_COD 1617
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 11 #define Act_MAX_OPTIONS_IN_MENU_PER_TAB 11
@ -1395,84 +1395,85 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActShoEvtMyAgd (ActSeeMyUsgRep+25) #define ActShoEvtMyAgd (ActSeeMyUsgRep+25)
#define ActPrvEvtMyAgd (ActSeeMyUsgRep+26) #define ActPrvEvtMyAgd (ActSeeMyUsgRep+26)
#define ActPubEvtMyAgd (ActSeeMyUsgRep+27) #define ActPubEvtMyAgd (ActSeeMyUsgRep+27)
#define ActChkUsrAcc (ActSeeMyUsgRep+28) #define ActSeeMyPubAgd (ActSeeMyUsgRep+28)
#define ActCreUsrAcc (ActSeeMyUsgRep+29) #define ActChkUsrAcc (ActSeeMyUsgRep+29)
#define ActRemID_Me (ActSeeMyUsgRep+30) #define ActCreUsrAcc (ActSeeMyUsgRep+30)
#define ActNewIDMe (ActSeeMyUsgRep+31) #define ActRemID_Me (ActSeeMyUsgRep+31)
#define ActRemOldNic (ActSeeMyUsgRep+32) #define ActNewIDMe (ActSeeMyUsgRep+32)
#define ActChgNic (ActSeeMyUsgRep+33) #define ActRemOldNic (ActSeeMyUsgRep+33)
#define ActRemMaiMe (ActSeeMyUsgRep+34) #define ActChgNic (ActSeeMyUsgRep+34)
#define ActNewMaiMe (ActSeeMyUsgRep+35) #define ActRemMaiMe (ActSeeMyUsgRep+35)
#define ActCnfMai (ActSeeMyUsgRep+36) #define ActNewMaiMe (ActSeeMyUsgRep+36)
#define ActFrmChgMyPwd (ActSeeMyUsgRep+37) #define ActCnfMai (ActSeeMyUsgRep+37)
#define ActChgPwd (ActSeeMyUsgRep+38) #define ActFrmChgMyPwd (ActSeeMyUsgRep+38)
#define ActReqRemMyAcc (ActSeeMyUsgRep+39) #define ActChgPwd (ActSeeMyUsgRep+39)
#define ActRemMyAcc (ActSeeMyUsgRep+40) #define ActReqRemMyAcc (ActSeeMyUsgRep+40)
#define ActRemMyAcc (ActSeeMyUsgRep+41)
#define ActChgMyData (ActSeeMyUsgRep+41) #define ActChgMyData (ActSeeMyUsgRep+42)
#define ActReqMyPho (ActSeeMyUsgRep+42) #define ActReqMyPho (ActSeeMyUsgRep+43)
#define ActDetMyPho (ActSeeMyUsgRep+43) #define ActDetMyPho (ActSeeMyUsgRep+44)
#define ActUpdMyPho (ActSeeMyUsgRep+44) #define ActUpdMyPho (ActSeeMyUsgRep+45)
#define ActReqRemMyPho (ActSeeMyUsgRep+45) #define ActReqRemMyPho (ActSeeMyUsgRep+46)
#define ActRemMyPho (ActSeeMyUsgRep+46) #define ActRemMyPho (ActSeeMyUsgRep+47)
#define ActEdiPri (ActSeeMyUsgRep+47) #define ActEdiPri (ActSeeMyUsgRep+48)
#define ActChgPriPho (ActSeeMyUsgRep+48) #define ActChgPriPho (ActSeeMyUsgRep+49)
#define ActChgPriPrf (ActSeeMyUsgRep+49) #define ActChgPriPrf (ActSeeMyUsgRep+50)
#define ActReqEdiMyIns (ActSeeMyUsgRep+50) #define ActReqEdiMyIns (ActSeeMyUsgRep+51)
#define ActChgCtyMyIns (ActSeeMyUsgRep+51) #define ActChgCtyMyIns (ActSeeMyUsgRep+52)
#define ActChgMyIns (ActSeeMyUsgRep+52) #define ActChgMyIns (ActSeeMyUsgRep+53)
#define ActChgMyCtr (ActSeeMyUsgRep+53) #define ActChgMyCtr (ActSeeMyUsgRep+54)
#define ActChgMyDpt (ActSeeMyUsgRep+54) #define ActChgMyDpt (ActSeeMyUsgRep+55)
#define ActChgMyOff (ActSeeMyUsgRep+55) #define ActChgMyOff (ActSeeMyUsgRep+56)
#define ActChgMyOffPho (ActSeeMyUsgRep+56) #define ActChgMyOffPho (ActSeeMyUsgRep+57)
#define ActReqEdiMyNet (ActSeeMyUsgRep+57) #define ActReqEdiMyNet (ActSeeMyUsgRep+58)
#define ActChgMyNet (ActSeeMyUsgRep+58) #define ActChgMyNet (ActSeeMyUsgRep+59)
#define ActChgThe (ActSeeMyUsgRep+59) #define ActChgThe (ActSeeMyUsgRep+60)
#define ActReqChgLan (ActSeeMyUsgRep+60) #define ActReqChgLan (ActSeeMyUsgRep+61)
#define ActChgLan (ActSeeMyUsgRep+61) #define ActChgLan (ActSeeMyUsgRep+62)
#define ActChg1stDay (ActSeeMyUsgRep+62) #define ActChg1stDay (ActSeeMyUsgRep+63)
#define ActChgCol (ActSeeMyUsgRep+63) #define ActChgCol (ActSeeMyUsgRep+64)
#define ActHidLftCol (ActSeeMyUsgRep+64) #define ActHidLftCol (ActSeeMyUsgRep+65)
#define ActHidRgtCol (ActSeeMyUsgRep+65) #define ActHidRgtCol (ActSeeMyUsgRep+66)
#define ActShoLftCol (ActSeeMyUsgRep+66) #define ActShoLftCol (ActSeeMyUsgRep+67)
#define ActShoRgtCol (ActSeeMyUsgRep+67) #define ActShoRgtCol (ActSeeMyUsgRep+68)
#define ActChgIco (ActSeeMyUsgRep+68) #define ActChgIco (ActSeeMyUsgRep+69)
#define ActChgMnu (ActSeeMyUsgRep+69) #define ActChgMnu (ActSeeMyUsgRep+70)
#define ActChgNtfPrf (ActSeeMyUsgRep+70) #define ActChgNtfPrf (ActSeeMyUsgRep+71)
#define ActPrnUsrQR (ActSeeMyUsgRep+71) #define ActPrnUsrQR (ActSeeMyUsgRep+72)
#define ActPrnMyTT (ActSeeMyUsgRep+72) #define ActPrnMyTT (ActSeeMyUsgRep+73)
#define ActEdiTut (ActSeeMyUsgRep+73) #define ActEdiTut (ActSeeMyUsgRep+74)
#define ActChgTut (ActSeeMyUsgRep+74) #define ActChgTut (ActSeeMyUsgRep+75)
#define ActChgMyTT1stDay (ActSeeMyUsgRep+75) #define ActChgMyTT1stDay (ActSeeMyUsgRep+76)
#define ActReqRemFilBrf (ActSeeMyUsgRep+76) #define ActReqRemFilBrf (ActSeeMyUsgRep+77)
#define ActRemFilBrf (ActSeeMyUsgRep+77) #define ActRemFilBrf (ActSeeMyUsgRep+78)
#define ActRemFolBrf (ActSeeMyUsgRep+78) #define ActRemFolBrf (ActSeeMyUsgRep+79)
#define ActCopBrf (ActSeeMyUsgRep+79) #define ActCopBrf (ActSeeMyUsgRep+80)
#define ActPasBrf (ActSeeMyUsgRep+80) #define ActPasBrf (ActSeeMyUsgRep+81)
#define ActRemTreBrf (ActSeeMyUsgRep+81) #define ActRemTreBrf (ActSeeMyUsgRep+82)
#define ActFrmCreBrf (ActSeeMyUsgRep+82) #define ActFrmCreBrf (ActSeeMyUsgRep+83)
#define ActCreFolBrf (ActSeeMyUsgRep+83) #define ActCreFolBrf (ActSeeMyUsgRep+84)
#define ActCreLnkBrf (ActSeeMyUsgRep+84) #define ActCreLnkBrf (ActSeeMyUsgRep+85)
#define ActRenFolBrf (ActSeeMyUsgRep+85) #define ActRenFolBrf (ActSeeMyUsgRep+86)
#define ActRcvFilBrfDZ (ActSeeMyUsgRep+86) #define ActRcvFilBrfDZ (ActSeeMyUsgRep+87)
#define ActRcvFilBrfCla (ActSeeMyUsgRep+87) #define ActRcvFilBrfCla (ActSeeMyUsgRep+88)
#define ActExpBrf (ActSeeMyUsgRep+88) #define ActExpBrf (ActSeeMyUsgRep+89)
#define ActConBrf (ActSeeMyUsgRep+89) #define ActConBrf (ActSeeMyUsgRep+90)
#define ActZIPBrf (ActSeeMyUsgRep+90) #define ActZIPBrf (ActSeeMyUsgRep+91)
#define ActReqDatBrf (ActSeeMyUsgRep+91) #define ActReqDatBrf (ActSeeMyUsgRep+92)
#define ActChgDatBrf (ActSeeMyUsgRep+92) #define ActChgDatBrf (ActSeeMyUsgRep+93)
#define ActDowBrf (ActSeeMyUsgRep+93) #define ActDowBrf (ActSeeMyUsgRep+94)
#define ActReqRemOldBrf (ActSeeMyUsgRep+94) #define ActReqRemOldBrf (ActSeeMyUsgRep+95)
#define ActRemOldBrf (ActSeeMyUsgRep+95) #define ActRemOldBrf (ActSeeMyUsgRep+96)
/*****************************************************************************/ /*****************************************************************************/
/******************************** Public types *******************************/ /******************************** Public types *******************************/

View File

@ -55,13 +55,15 @@ extern struct Globals Gbl;
/******************************* Private types *******************************/ /******************************* Private types *******************************/
/*****************************************************************************/ /*****************************************************************************/
#define Agd_NUM_AGENDA_TYPES 4 #define Agd_NUM_AGENDA_TYPES 6
typedef enum typedef enum
{ {
Agd_USR_AGENDA_TODAY, Agd_OTHER_PUBLIC_AGENDA_TODAY,
Agd_USR_AGENDA, Agd_OTHER_PUBLIC_AGENDA,
Agd_MY_AGENDA_TODAY, Agd_MY_FULL_AGENDA_TODAY,
Agd_MY_AGENDA, Agd_MY_FULL_AGENDA,
Agd_MY_PUBLIC_AGENDA_TODAY,
Agd_MY_PUBLIC_AGENDA,
} Agd_AgendaType_t; } Agd_AgendaType_t;
/*****************************************************************************/ /*****************************************************************************/
@ -73,17 +75,20 @@ typedef enum
/*****************************************************************************/ /*****************************************************************************/
static void Agd_ShowEvents (Agd_AgendaType_t AgendaType); static void Agd_ShowEvents (Agd_AgendaType_t AgendaType);
static void Agd_ShowEventsNow (Agd_AgendaType_t AgendaType); static void Agd_ShowEventsToday (Agd_AgendaType_t AgendaType);
static void Agd_WriteHeaderListEvents (Agd_AgendaType_t AgendaType); static void Agd_WriteHeaderListEvents (Agd_AgendaType_t AgendaType);
static void Agd_PutIconToViewEditMyAgenda (void); static void Agd_PutIconsMyFullAgenda (void);
static void Agd_PutIconsListEvents (void); static void Agd_PutIconsMyPublicAgenda (void);
static void Agd_PutIconToViewMyPublicAgenda (void);
static void Agd_PutIconToCreateNewEvent (void); static void Agd_PutIconToCreateNewEvent (void);
static void Agd_PutIconToViewEditMyFullAgenda (void);
static void Agd_PutIconToShowQR (void); static void Agd_PutIconToShowQR (void);
static void Agd_PutButtonToCreateNewEvent (void); static void Agd_PutButtonToCreateNewEvent (void);
static void Agd_PutParamsToCreateNewEvent (void); static void Agd_PutParamsToCreateNewEvent (void);
static void Agd_ShowFormToSelWhichEvents (Act_Action_t Action); // static void Agd_ShowFormToSelWhichEvents (Act_Action_t Action);
static void Agd_GetParamWhichEvents (void); // static void Agd_GetParamWhichEvents (void);
static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod); static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod);
static void Agd_WriteEventAuthor (struct AgendaEvent *AgdEvent); static void Agd_WriteEventAuthor (struct AgendaEvent *AgdEvent);
static void Agd_GetParamEventOrderType (void); static void Agd_GetParamEventOrderType (void);
@ -142,15 +147,15 @@ void Agd_ShowUsrAgendaAfterLogIn (void)
sprintf (Gbl.Title,Txt_Public_agenda_USER,Gbl.Usrs.Other.UsrDat.FullName); sprintf (Gbl.Title,Txt_Public_agenda_USER,Gbl.Usrs.Other.UsrDat.FullName);
ItsMe = (Gbl.Usrs.Me.UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod); ItsMe = (Gbl.Usrs.Me.UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod);
Lay_StartRoundFrame ("100%",Gbl.Title, Lay_StartRoundFrame ("100%",Gbl.Title,
ItsMe ? Agd_PutIconToViewEditMyAgenda : ItsMe ? Agd_PutIconToViewEditMyFullAgenda :
NULL, NULL,
Hlp_USERS_Teachers_agenda); Hlp_USERS_Teachers_agenda);
/***** Show the current events in the user's agenda *****/ /***** Show the current events in the user's agenda *****/
Agd_ShowEventsNow (Agd_USR_AGENDA_TODAY); Agd_ShowEventsToday (Agd_OTHER_PUBLIC_AGENDA_TODAY);
/***** Show all the visible events in the user's agenda *****/ /***** Show all the visible events in the user's agenda *****/
Agd_ShowEvents (Agd_USR_AGENDA); Agd_ShowEvents (Agd_OTHER_PUBLIC_AGENDA);
/***** End frame *****/ /***** End frame *****/
Lay_EndRoundFrame (); Lay_EndRoundFrame ();
@ -183,15 +188,15 @@ void Agd_ShowUsrAgenda (void)
sprintf (Gbl.Title,Txt_Public_agenda_USER,Gbl.Usrs.Other.UsrDat.FullName); sprintf (Gbl.Title,Txt_Public_agenda_USER,Gbl.Usrs.Other.UsrDat.FullName);
ItsMe = (Gbl.Usrs.Me.UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod); ItsMe = (Gbl.Usrs.Me.UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod);
Lay_StartRoundFrame ("100%",Gbl.Title, Lay_StartRoundFrame ("100%",Gbl.Title,
ItsMe ? Agd_PutIconToViewEditMyAgenda : ItsMe ? Agd_PutIconToViewEditMyFullAgenda :
NULL, NULL,
Hlp_USERS_Teachers_agenda); Hlp_USERS_Teachers_agenda);
/***** Show the current events in the user's agenda *****/ /***** Show the current events in the user's agenda *****/
Agd_ShowEventsNow (Agd_USR_AGENDA_TODAY); Agd_ShowEventsToday (Agd_OTHER_PUBLIC_AGENDA_TODAY);
/***** Show all the visible events in the user's agenda *****/ /***** Show all the visible events in the user's agenda *****/
Agd_ShowEvents (Agd_USR_AGENDA); Agd_ShowEvents (Agd_OTHER_PUBLIC_AGENDA);
/***** End frame *****/ /***** End frame *****/
Lay_EndRoundFrame (); Lay_EndRoundFrame ();
@ -210,36 +215,39 @@ void Agd_ShowMyAgenda (void)
extern const char *Txt_My_agenda; extern const char *Txt_My_agenda;
extern const char *Txt_Public_agenda_USER; extern const char *Txt_Public_agenda_USER;
/***** Get whether to show all events or only my events ******/
Agd_GetParamWhichEvents ();
/***** Start frame *****/ /***** Start frame *****/
switch (Gbl.Agenda.WhichEvents) Lay_StartRoundFrame ("100%",Txt_My_agenda,
{ Agd_PutIconsMyFullAgenda,Hlp_PROFILE_Agenda);
case Agd_ALL_EVENTS:
Lay_StartRoundFrame ("100%",Txt_My_agenda,
Agd_PutIconsListEvents,
Hlp_PROFILE_Agenda);
break;
case Agd_ONLY_PUBLIC_EVENTS:
sprintf (Gbl.Title,Txt_Public_agenda_USER,Gbl.Usrs.Me.UsrDat.FullName);
Lay_StartRoundFrame ("100%",Gbl.Title,
Agd_PutIconsListEvents,
Hlp_PROFILE_Agenda);
break;
}
/***** Put form to choice whether to show
all events or only public events *****/
Act_FormStart (ActSeeMyAgd);
Agd_ShowFormToSelWhichEvents (ActSeeMyAgd);
Act_FormEnd ();
/***** Show the current events in the user's agenda *****/ /***** Show the current events in the user's agenda *****/
Agd_ShowEventsNow (Agd_MY_AGENDA_TODAY); Agd_ShowEventsToday (Agd_MY_FULL_AGENDA_TODAY);
/***** Show all my events *****/ /***** Show all my events *****/
Agd_ShowEvents (Agd_MY_AGENDA); Agd_ShowEvents (Agd_MY_FULL_AGENDA);
/***** End frame *****/
Lay_EndRoundFrame ();
}
/*****************************************************************************/
/*************************** Show my public agenda ***************************/
/*****************************************************************************/
void Agd_ShowMyPublicAgenda (void)
{
extern const char *Hlp_PROFILE_Agenda;
extern const char *Txt_Public_agenda_USER;
/***** Start frame *****/
sprintf (Gbl.Title,Txt_Public_agenda_USER,Gbl.Usrs.Me.UsrDat.FullName);
Lay_StartRoundFrame ("100%",Gbl.Title,
Agd_PutIconsMyPublicAgenda,Hlp_PROFILE_Agenda);
/***** Show the current events in the user's agenda *****/
Agd_ShowEventsToday (Agd_MY_PUBLIC_AGENDA_TODAY);
/***** Show all my events *****/
Agd_ShowEvents (Agd_MY_PUBLIC_AGENDA);
/***** End frame *****/ /***** End frame *****/
Lay_EndRoundFrame (); Lay_EndRoundFrame ();
@ -259,10 +267,12 @@ static void Agd_ShowEvents (Agd_AgendaType_t AgendaType)
unsigned NumEvent; unsigned NumEvent;
Pag_WhatPaginate_t WhatPaginate[Agd_NUM_AGENDA_TYPES] = Pag_WhatPaginate_t WhatPaginate[Agd_NUM_AGENDA_TYPES] =
{ {
Pag_USR_AGENDA, // Agd_USR_AGENDA_NOW, not used Pag_OTHER_PUBLIC_AGENDA, // Agd_OTHER_PUBLIC_AGENDA_TODAY, not used
Pag_USR_AGENDA, // Agd_USR_AGENDA Pag_OTHER_PUBLIC_AGENDA, // Agd_OTHER_PUBLIC_AGENDA
Pag_MY_AGENDA, // Agd_MY_AGENDA_NOW, not used Pag_MY_FULL_AGENDA, // Agd_MY_FULL_AGENDA_TODAY, not used
Pag_MY_AGENDA, // Agd_MY_AGENDA Pag_MY_FULL_AGENDA, // Agd_MY_FULL_AGENDA
Pag_MY_PUBLIC_AGENDA, // Agd_MY_PUBLIC_AGENDA_TODAY, not used
Pag_MY_PUBLIC_AGENDA, // Agd_MY_PUBLIC_AGENDA
}; };
/***** Get parameters *****/ /***** Get parameters *****/
@ -307,8 +317,7 @@ static void Agd_ShowEvents (Agd_AgendaType_t AgendaType)
Pag_WriteLinksToPagesCentered (WhatPaginate[AgendaType],0,&Pagination); Pag_WriteLinksToPagesCentered (WhatPaginate[AgendaType],0,&Pagination);
/***** Button to create a new event *****/ /***** Button to create a new event *****/
if (AgendaType == Agd_MY_AGENDA && if (AgendaType == Agd_MY_FULL_AGENDA)
Gbl.Agenda.WhichEvents == Agd_ALL_EVENTS)
Agd_PutButtonToCreateNewEvent (); Agd_PutButtonToCreateNewEvent ();
/***** Free list of events *****/ /***** Free list of events *****/
@ -316,10 +325,10 @@ static void Agd_ShowEvents (Agd_AgendaType_t AgendaType)
} }
/*****************************************************************************/ /*****************************************************************************/
/*********************** Show current events in agenda ***********************/ /************************ Show today events in agenda ************************/
/*****************************************************************************/ /*****************************************************************************/
static void Agd_ShowEventsNow (Agd_AgendaType_t AgendaType) static void Agd_ShowEventsToday (Agd_AgendaType_t AgendaType)
{ {
extern const char *Hlp_PROFILE_Agenda; extern const char *Hlp_PROFILE_Agenda;
extern const char *Hlp_USERS_Teachers_agenda; extern const char *Hlp_USERS_Teachers_agenda;
@ -340,21 +349,20 @@ static void Agd_ShowEventsNow (Agd_AgendaType_t AgendaType)
/***** Start frame *****/ /***** Start frame *****/
switch (AgendaType) switch (AgendaType)
{ {
case Agd_USR_AGENDA_TODAY: case Agd_OTHER_PUBLIC_AGENDA_TODAY:
Lay_StartRoundFrameTableShadow (NULL,Txt_Today, Lay_StartRoundFrameTableShadow (NULL,Txt_Today,
NULL, NULL,
Hlp_USERS_Teachers_agenda, Hlp_USERS_Teachers_agenda,
2); 2);
break; break;
case Agd_USR_AGENDA: // Not applicable case Agd_MY_FULL_AGENDA_TODAY:
break; case Agd_MY_PUBLIC_AGENDA_TODAY:
case Agd_MY_AGENDA_TODAY:
Lay_StartRoundFrameTableShadow (NULL,Txt_Today, Lay_StartRoundFrameTableShadow (NULL,Txt_Today,
NULL, NULL,
Hlp_PROFILE_Agenda, Hlp_PROFILE_Agenda,
2); 2);
break; break;
case Agd_MY_AGENDA: // Not applicable default:
break; break;
} }
@ -396,17 +404,20 @@ static void Agd_WriteHeaderListEvents (Agd_AgendaType_t AgendaType)
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">");
switch (AgendaType) switch (AgendaType)
{ {
case Agd_USR_AGENDA_TODAY: case Agd_OTHER_PUBLIC_AGENDA_TODAY:
case Agd_USR_AGENDA: case Agd_OTHER_PUBLIC_AGENDA:
Act_FormStart (ActSeeUsrAgd); Act_FormStart (ActSeeUsrAgd);
Usr_PutParamOtherUsrCodEncrypted (); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
case Agd_MY_AGENDA_TODAY: case Agd_MY_FULL_AGENDA_TODAY:
case Agd_MY_AGENDA: case Agd_MY_FULL_AGENDA:
Act_FormStart (ActSeeMyAgd); Act_FormStart (ActSeeMyAgd);
break; break;
case Agd_MY_PUBLIC_AGENDA_TODAY:
case Agd_MY_PUBLIC_AGENDA:
Act_FormStart (ActSeeMyPubAgd);
break;
} }
Pag_PutHiddenParamWhichEvents (Gbl.Agenda.WhichEvents);
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
Par_PutHiddenParamUnsigned ("Order",(unsigned) Order); Par_PutHiddenParamUnsigned ("Order",(unsigned) Order);
Act_LinkFormSubmit (Txt_ASG_ATT_SVY_OR_AGD_HELP_ORDER[Order],"TIT_TBL",NULL); Act_LinkFormSubmit (Txt_ASG_ATT_SVY_OR_AGD_HELP_ORDER[Order],"TIT_TBL",NULL);
@ -431,37 +442,41 @@ static void Agd_WriteHeaderListEvents (Agd_AgendaType_t AgendaType)
} }
/*****************************************************************************/ /*****************************************************************************/
/*************** Put contextual icon to view/edit my agenda ******************/ /********************** Put contextual icons in agenda ***********************/
/*****************************************************************************/ /*****************************************************************************/
static void Agd_PutIconToViewEditMyAgenda (void) static void Agd_PutIconsMyFullAgenda (void)
{
extern const char *Txt_Edit;
/***** Put icon to view/edit my agenda *****/
Lay_PutContextualLink (ActSeeMyAgd,NULL,
"edit64x64.png",
Txt_Edit,NULL,
NULL);
}
/*****************************************************************************/
/***************** Put contextual icons in list of events ********************/
/*****************************************************************************/
static void Agd_PutIconsListEvents (void)
{ {
/***** Put icon to create a new event *****/ /***** Put icon to create a new event *****/
if (Gbl.Agenda.WhichEvents == Agd_ALL_EVENTS) Agd_PutIconToViewMyPublicAgenda ();
Agd_PutIconToCreateNewEvent ();
/***** Put icon to create a new event *****/
Agd_PutIconToCreateNewEvent ();
/***** Put icon to show QR code *****/ /***** Put icon to show QR code *****/
Agd_PutIconToShowQR (); Agd_PutIconToShowQR ();
} }
/*****************************************************************************/ static void Agd_PutIconsMyPublicAgenda (void)
/********************** Put icon to create a new event ***********************/ {
/*****************************************************************************/ /***** Put icon to view/edit my full agenda *****/
Agd_PutIconToViewEditMyFullAgenda ();
/***** Put icon to show QR code *****/
Agd_PutIconToShowQR ();
}
static void Agd_PutIconToViewMyPublicAgenda (void)
{
extern const char *Txt_Public_agenda_USER;
/***** Put form to view my public agenda *****/
sprintf (Gbl.Title,Txt_Public_agenda_USER,Gbl.Usrs.Me.UsrDat.FullName);
Lay_PutContextualLink (ActSeeMyPubAgd,NULL,
"eye-on64x64.png",
Gbl.Title,NULL,
NULL);
}
static void Agd_PutIconToCreateNewEvent (void) static void Agd_PutIconToCreateNewEvent (void)
{ {
@ -474,9 +489,16 @@ static void Agd_PutIconToCreateNewEvent (void)
NULL); NULL);
} }
/*****************************************************************************/ static void Agd_PutIconToViewEditMyFullAgenda (void)
/********************** Put icon to create a new event ***********************/ {
/*****************************************************************************/ extern const char *Txt_Edit;
/***** Put form to create a new event *****/
Lay_PutContextualLink (ActSeeMyAgd,NULL,
"edit64x64.png",
Txt_Edit,NULL,
NULL);
}
static void Agd_PutIconToShowQR (void) static void Agd_PutIconToShowQR (void)
{ {
@ -515,69 +537,6 @@ static void Agd_PutParamsToCreateNewEvent (void)
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
} }
/*****************************************************************************/
/*** Show form to choice whether to show all events or only public events ****/
/*****************************************************************************/
static void Agd_ShowFormToSelWhichEvents (Act_Action_t Action)
{
extern const char *Txt_Show_WHICH_events[2];
Agd_WhichEvents_t WhichEvents;
fprintf (Gbl.F.Out,"<div style=\"display:table-cell; padding:0 20px;\">");
for (WhichEvents = Agd_ALL_EVENTS;
WhichEvents <= Agd_ONLY_PUBLIC_EVENTS;
WhichEvents++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\" style=\"display:table-cell;\">",
WhichEvents == Gbl.Agenda.WhichEvents ? "PREF_ON" :
"PREF_OFF");
Act_FormStart (Action);
Pag_PutHiddenParamWhichEvents (WhichEvents);
fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/%s\""
" alt=\"%s\" title=\"%s\" class=\"ICO25x25\""
" style=\"margin:0 auto;\" />",
Gbl.Prefs.IconsURL,
WhichEvents == Agd_ONLY_PUBLIC_EVENTS ? "unlock64x64.png" :
"lockunlock64x64.png",
Txt_Show_WHICH_events[WhichEvents],
Txt_Show_WHICH_events[WhichEvents]);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</div>");
}
fprintf (Gbl.F.Out,"</div>");
}
/*****************************************************************************/
/****** Put hidden parameter to show all events or only public events ********/
/*****************************************************************************/
void Pag_PutHiddenParamWhichEvents (Agd_WhichEvents_t WhichEvents)
{
Par_PutHiddenParamUnsigned ("WhichEvents",(unsigned) WhichEvents);
}
/*****************************************************************************/
/*********** Get whether to show all events or only public events ************/
/*****************************************************************************/
static void Agd_GetParamWhichEvents (void)
{
char UnsignedStr[10+1];
unsigned UnsignedNum;
/***** Get which events (all events or my events) *****/
Par_GetParToText ("WhichEvents",UnsignedStr,1);
if (UnsignedStr[0])
{
if (sscanf (UnsignedStr,"%u",&UnsignedNum) != 1)
Lay_ShowErrorAndExit ("Which events to show is missing.");
if (UnsignedNum >= 2)
Lay_ShowErrorAndExit ("Wrong parameter with which events to show.");
Gbl.Agenda.WhichEvents = (Agd_WhichEvents_t) UnsignedNum;
}
}
/*****************************************************************************/ /*****************************************************************************/
/******************************* Show one event ******************************/ /******************************* Show one event ******************************/
/*****************************************************************************/ /*****************************************************************************/
@ -595,12 +554,14 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod)
AgdEvent.AgdCod = AgdCod; AgdEvent.AgdCod = AgdCod;
switch (AgendaType) switch (AgendaType)
{ {
case Agd_USR_AGENDA_TODAY: case Agd_OTHER_PUBLIC_AGENDA_TODAY:
case Agd_USR_AGENDA: case Agd_OTHER_PUBLIC_AGENDA:
AgdEvent.UsrCod = Gbl.Usrs.Other.UsrDat.UsrCod; AgdEvent.UsrCod = Gbl.Usrs.Other.UsrDat.UsrCod;
break; break;
case Agd_MY_AGENDA_TODAY: case Agd_MY_FULL_AGENDA_TODAY:
case Agd_MY_AGENDA: case Agd_MY_FULL_AGENDA:
case Agd_MY_PUBLIC_AGENDA_TODAY:
case Agd_MY_PUBLIC_AGENDA:
AgdEvent.UsrCod = Gbl.Usrs.Me.UsrDat.UsrCod; AgdEvent.UsrCod = Gbl.Usrs.Me.UsrDat.UsrCod;
break; break;
} }
@ -664,13 +625,12 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod)
/* Forms to remove/edit this event */ /* Forms to remove/edit this event */
switch (AgendaType) switch (AgendaType)
{ {
case Agd_USR_AGENDA_TODAY: case Agd_MY_FULL_AGENDA_TODAY:
case Agd_USR_AGENDA: case Agd_MY_FULL_AGENDA:
break;
case Agd_MY_AGENDA_TODAY:
case Agd_MY_AGENDA:
Agd_PutFormsToRemEditOneEvent (&AgdEvent); Agd_PutFormsToRemEditOneEvent (&AgdEvent);
break; break;
default:
break;
} }
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
@ -871,7 +831,7 @@ static void Agd_GetListEvents (Agd_AgendaType_t AgendaType)
} }
switch (AgendaType) switch (AgendaType)
{ {
case Agd_USR_AGENDA_TODAY: case Agd_OTHER_PUBLIC_AGENDA_TODAY:
sprintf (Query,"SELECT AgdCod FROM agendas" sprintf (Query,"SELECT AgdCod FROM agendas"
" WHERE UsrCod='%ld' AND Public='Y' AND Hidden='N'" " WHERE UsrCod='%ld' AND Public='Y' AND Hidden='N'"
" AND DATE(StartTime)<=CURDATE()" " AND DATE(StartTime)<=CURDATE()"
@ -879,52 +839,42 @@ static void Agd_GetListEvents (Agd_AgendaType_t AgendaType)
" ORDER BY %s", " ORDER BY %s",
Gbl.Usrs.Other.UsrDat.UsrCod,OrderBySubQuery); Gbl.Usrs.Other.UsrDat.UsrCod,OrderBySubQuery);
break; break;
case Agd_USR_AGENDA: case Agd_OTHER_PUBLIC_AGENDA:
sprintf (Query,"SELECT AgdCod FROM agendas" sprintf (Query,"SELECT AgdCod FROM agendas"
" WHERE UsrCod='%ld' AND Public='Y' AND Hidden='N'" " WHERE UsrCod='%ld' AND Public='Y' AND Hidden='N'"
" AND DATE(EndTime)>=CURDATE()" // Only today and future events " AND DATE(EndTime)>=CURDATE()" // Only today and future events
" ORDER BY %s", " ORDER BY %s",
Gbl.Usrs.Other.UsrDat.UsrCod,OrderBySubQuery); Gbl.Usrs.Other.UsrDat.UsrCod,OrderBySubQuery);
break; break;
case Agd_MY_AGENDA_TODAY: case Agd_MY_FULL_AGENDA_TODAY:
switch (Gbl.Agenda.WhichEvents) sprintf (Query,"SELECT AgdCod FROM agendas"
{ " WHERE UsrCod='%ld'"
case Agd_ALL_EVENTS: " AND DATE(StartTime)<=CURDATE()"
sprintf (Query,"SELECT AgdCod FROM agendas" " AND DATE(EndTime)>=CURDATE()" // Only today events
" WHERE UsrCod='%ld'" " ORDER BY %s",
" AND DATE(StartTime)<=CURDATE()" Gbl.Usrs.Me.UsrDat.UsrCod,OrderBySubQuery);
" AND DATE(EndTime)>=CURDATE()" // Only today events break;
" ORDER BY %s", case Agd_MY_FULL_AGENDA:
Gbl.Usrs.Me.UsrDat.UsrCod,OrderBySubQuery); sprintf (Query,"SELECT AgdCod FROM agendas"
break; " WHERE UsrCod='%ld'"
case Agd_ONLY_PUBLIC_EVENTS: " ORDER BY %s",
sprintf (Query,"SELECT AgdCod FROM agendas" Gbl.Usrs.Me.UsrDat.UsrCod,OrderBySubQuery);
" WHERE UsrCod='%ld' AND Public='Y' AND Hidden='N'" break;
" AND DATE(StartTime)<=CURDATE()" case Agd_MY_PUBLIC_AGENDA_TODAY:
" AND DATE(EndTime)>=CURDATE()" // Only today events sprintf (Query,"SELECT AgdCod FROM agendas"
" ORDER BY %s", " WHERE UsrCod='%ld' AND Public='Y' AND Hidden='N'"
Gbl.Usrs.Me.UsrDat.UsrCod,OrderBySubQuery); " AND DATE(StartTime)<=CURDATE()"
break; " AND DATE(EndTime)>=CURDATE()" // Only today events
} " ORDER BY %s",
break; Gbl.Usrs.Me.UsrDat.UsrCod,OrderBySubQuery);
case Agd_MY_AGENDA:
switch (Gbl.Agenda.WhichEvents)
{
case Agd_ALL_EVENTS:
sprintf (Query,"SELECT AgdCod FROM agendas"
" WHERE UsrCod='%ld'"
" ORDER BY %s",
Gbl.Usrs.Me.UsrDat.UsrCod,OrderBySubQuery);
break;
case Agd_ONLY_PUBLIC_EVENTS:
sprintf (Query,"SELECT AgdCod FROM agendas"
" WHERE UsrCod='%ld' AND Public='Y' AND Hidden='N'"
" AND DATE(EndTime)>=CURDATE()" // Only today and future events
" ORDER BY %s",
Gbl.Usrs.Me.UsrDat.UsrCod,OrderBySubQuery);
break;
}
break; break;
case Agd_MY_PUBLIC_AGENDA:
sprintf (Query,"SELECT AgdCod FROM agendas"
" WHERE UsrCod='%ld' AND Public='Y' AND Hidden='N'"
" AND DATE(EndTime)>=CURDATE()" // Only today and future events
" ORDER BY %s",
Gbl.Usrs.Me.UsrDat.UsrCod,OrderBySubQuery);
break;
} }
NumRows = DB_QuerySELECT (Query,&mysql_res,"can not get agenda events"); NumRows = DB_QuerySELECT (Query,&mysql_res,"can not get agenda events");
@ -1137,7 +1087,7 @@ void Agd_AskRemEvent (void)
/***** Get parameters *****/ /***** Get parameters *****/
Agd_GetParamEventOrderType (); Agd_GetParamEventOrderType ();
Pag_GetParamPagNum (Pag_MY_AGENDA); Pag_GetParamPagNum (Pag_MY_FULL_AGENDA);
/***** Get event code *****/ /***** Get event code *****/
if ((AgdEvent.AgdCod = Agd_GetParamAgdCod ()) == -1L) if ((AgdEvent.AgdCod = Agd_GetParamAgdCod ()) == -1L)
@ -1363,7 +1313,7 @@ void Agd_RequestCreatOrEditEvent (void)
/***** Get parameters *****/ /***** Get parameters *****/
Agd_GetParamEventOrderType (); Agd_GetParamEventOrderType ();
Pag_GetParamPagNum (Pag_MY_AGENDA); Pag_GetParamPagNum (Pag_MY_FULL_AGENDA);
/***** Get the code of the event *****/ /***** Get the code of the event *****/
ItsANewEvent = ((AgdEvent.AgdCod = Agd_GetParamAgdCod ()) == -1L); ItsANewEvent = ((AgdEvent.AgdCod = Agd_GetParamAgdCod ()) == -1L);

View File

@ -80,8 +80,8 @@ void Agd_PutParamAgd (void);
void Agd_ShowUsrAgendaAfterLogIn (void); void Agd_ShowUsrAgendaAfterLogIn (void);
void Agd_ShowUsrAgenda (void); void Agd_ShowUsrAgenda (void);
void Agd_ShowMyAgenda (void); void Agd_ShowMyAgenda (void);
void Agd_ShowMyPublicAgenda (void);
void Pag_PutHiddenParamWhichEvents (Agd_WhichEvents_t WhichEvents);
void Agd_PutHiddenParamEventsOrderType (void); void Agd_PutHiddenParamEventsOrderType (void);
void Agd_RequestCreatOrEditEvent (void); void Agd_RequestCreatOrEditEvent (void);
void Agd_FreeListEvents (void); void Agd_FreeListEvents (void);

View File

@ -183,13 +183,17 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.89.2 (2016-12-06)" #define Log_PLATFORM_VERSION "SWAD 16.90 (2016-12-06)"
#define CSS_FILE "swad16.86.5.css" #define CSS_FILE "swad16.86.5.css"
#define JS_FILE "swad16.84.2.js" #define JS_FILE "swad16.84.2.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.90: Dec 06, 2016 Changes in layout of agenda. (210147 lines)
1 change necessary in database:
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1617','es','N','Ver mi agenda p&uacute;blica');
Version 16.89.2: Dec 06, 2016 Fixed bugs in agenda. Version 16.89.2: Dec 06, 2016 Fixed bugs in agenda.
Public agenda available for any user, not only teachers. (210167 lines) Public agenda available for any user, not only teachers. (210167 lines)
Version 16.89.1: Dec 06, 2016 Changes in help on agenda. (210166 lines) Version 16.89.1: Dec 06, 2016 Changes in help on agenda. (210166 lines)

View File

@ -418,9 +418,6 @@ void Gbl_InitializeGlobals (void)
Gbl.FileBrowser.FileType = Brw_IS_UNKNOWN; Gbl.FileBrowser.FileType = Brw_IS_UNKNOWN;
Gbl.FileBrowser.UploadingWithDropzone = false; Gbl.FileBrowser.UploadingWithDropzone = false;
/* Agenda */
Gbl.Agenda.WhichEvents = Agd_ALL_EVENTS;
/* To alternate colors where listing rows */ /* To alternate colors where listing rows */
Gbl.RowEvenOdd = 0; Gbl.RowEvenOdd = 0;
Gbl.ColorRows[0] = "COLOR0"; // Darker Gbl.ColorRows[0] = "COLOR0"; // Darker

View File

@ -411,7 +411,6 @@ struct Globals
long *LstAgdCods; // List of agenda codes long *LstAgdCods; // List of agenda codes
Agd_Order_t SelectedOrderType; Agd_Order_t SelectedOrderType;
long AgdCodToEdit; // Used as parameter in contextual links long AgdCodToEdit; // Used as parameter in contextual links
Agd_WhichEvents_t WhichEvents; // All events / only public events
} Agenda; } Agenda;
struct struct
{ {

View File

@ -131,7 +131,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
Asg_PutHiddenParamAsgOrderType (); Asg_PutHiddenParamAsgOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
break; break;
case Pag_USR_AGENDA: case Pag_OTHER_PUBLIC_AGENDA:
Act_FormStart (ActSeeUsrAgd); Act_FormStart (ActSeeUsrAgd);
Pag_PutHiddenParamPagNum (1); Pag_PutHiddenParamPagNum (1);
Agd_PutHiddenParamEventsOrderType (); Agd_PutHiddenParamEventsOrderType ();
@ -170,10 +170,14 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
Asg_PutHiddenParamAsgOrderType (); Asg_PutHiddenParamAsgOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
break; break;
case Pag_MY_AGENDA: case Pag_MY_FULL_AGENDA:
Act_FormStart (ActSeeMyAgd); Act_FormStart (ActSeeMyAgd);
Pag_PutHiddenParamPagNum (1); Pag_PutHiddenParamPagNum (1);
Pag_PutHiddenParamWhichEvents (Gbl.Agenda.WhichEvents); Agd_PutHiddenParamEventsOrderType ();
break;
case Pag_MY_PUBLIC_AGENDA:
Act_FormStart (ActSeeMyPubAgd);
Pag_PutHiddenParamPagNum (1);
Agd_PutHiddenParamEventsOrderType (); Agd_PutHiddenParamEventsOrderType ();
break; break;
} }
@ -220,7 +224,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
Asg_PutHiddenParamAsgOrderType (); Asg_PutHiddenParamAsgOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
break; break;
case Pag_USR_AGENDA: case Pag_OTHER_PUBLIC_AGENDA:
Act_FormStart (ActSeeUsrAgd); Act_FormStart (ActSeeUsrAgd);
Pag_PutHiddenParamPagNum (1); Pag_PutHiddenParamPagNum (1);
Agd_PutHiddenParamEventsOrderType (); Agd_PutHiddenParamEventsOrderType ();
@ -259,10 +263,14 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
Asg_PutHiddenParamAsgOrderType (); Asg_PutHiddenParamAsgOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
break; break;
case Pag_MY_AGENDA: case Pag_MY_FULL_AGENDA:
Act_FormStart (ActSeeMyAgd); Act_FormStart (ActSeeMyAgd);
Pag_PutHiddenParamPagNum (1); Pag_PutHiddenParamPagNum (1);
Pag_PutHiddenParamWhichEvents (Gbl.Agenda.WhichEvents); Agd_PutHiddenParamEventsOrderType ();
break;
case Pag_MY_PUBLIC_AGENDA:
Act_FormStart (ActSeeMyPubAgd);
Pag_PutHiddenParamPagNum (1);
Agd_PutHiddenParamEventsOrderType (); Agd_PutHiddenParamEventsOrderType ();
break; break;
} }
@ -292,7 +300,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
Asg_PutHiddenParamAsgOrderType (); Asg_PutHiddenParamAsgOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
break; break;
case Pag_USR_AGENDA: case Pag_OTHER_PUBLIC_AGENDA:
Act_FormStart (ActSeeUsrAgd); Act_FormStart (ActSeeUsrAgd);
Pag_PutHiddenParamPagNum (Pagination->LeftPage); Pag_PutHiddenParamPagNum (Pagination->LeftPage);
Agd_PutHiddenParamEventsOrderType (); Agd_PutHiddenParamEventsOrderType ();
@ -331,10 +339,14 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
Asg_PutHiddenParamAsgOrderType (); Asg_PutHiddenParamAsgOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
break; break;
case Pag_MY_AGENDA: case Pag_MY_FULL_AGENDA:
Act_FormStart (ActSeeMyAgd); Act_FormStart (ActSeeMyAgd);
Pag_PutHiddenParamPagNum (Pagination->LeftPage); Pag_PutHiddenParamPagNum (Pagination->LeftPage);
Pag_PutHiddenParamWhichEvents (Gbl.Agenda.WhichEvents); Agd_PutHiddenParamEventsOrderType ();
break;
case Pag_MY_PUBLIC_AGENDA:
Act_FormStart (ActSeeMyPubAgd);
Pag_PutHiddenParamPagNum (Pagination->LeftPage);
Agd_PutHiddenParamEventsOrderType (); Agd_PutHiddenParamEventsOrderType ();
break; break;
} }
@ -371,7 +383,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
Asg_PutHiddenParamAsgOrderType (); Asg_PutHiddenParamAsgOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
break; break;
case Pag_USR_AGENDA: case Pag_OTHER_PUBLIC_AGENDA:
Act_FormStart (ActSeeUsrAgd); Act_FormStart (ActSeeUsrAgd);
Pag_PutHiddenParamPagNum (NumPage); Pag_PutHiddenParamPagNum (NumPage);
Agd_PutHiddenParamEventsOrderType (); Agd_PutHiddenParamEventsOrderType ();
@ -410,10 +422,14 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
Asg_PutHiddenParamAsgOrderType (); Asg_PutHiddenParamAsgOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
break; break;
case Pag_MY_AGENDA: case Pag_MY_FULL_AGENDA:
Act_FormStart (ActSeeMyAgd); Act_FormStart (ActSeeMyAgd);
Pag_PutHiddenParamPagNum (NumPage); Pag_PutHiddenParamPagNum (NumPage);
Pag_PutHiddenParamWhichEvents (Gbl.Agenda.WhichEvents); Agd_PutHiddenParamEventsOrderType ();
break;
case Pag_MY_PUBLIC_AGENDA:
Act_FormStart (ActSeeMyPubAgd);
Pag_PutHiddenParamPagNum (NumPage);
Agd_PutHiddenParamEventsOrderType (); Agd_PutHiddenParamEventsOrderType ();
break; break;
} }
@ -446,7 +462,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
Asg_PutHiddenParamAsgOrderType (); Asg_PutHiddenParamAsgOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
break; break;
case Pag_USR_AGENDA: case Pag_OTHER_PUBLIC_AGENDA:
Act_FormStart (ActSeeUsrAgd); Act_FormStart (ActSeeUsrAgd);
Pag_PutHiddenParamPagNum (Pagination->RightPage); Pag_PutHiddenParamPagNum (Pagination->RightPage);
Agd_PutHiddenParamEventsOrderType (); Agd_PutHiddenParamEventsOrderType ();
@ -485,10 +501,14 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
Asg_PutHiddenParamAsgOrderType (); Asg_PutHiddenParamAsgOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
break; break;
case Pag_MY_AGENDA: case Pag_MY_FULL_AGENDA:
Act_FormStart (ActSeeMyAgd); Act_FormStart (ActSeeMyAgd);
Pag_PutHiddenParamPagNum (Pagination->RightPage); Pag_PutHiddenParamPagNum (Pagination->RightPage);
Pag_PutHiddenParamWhichEvents (Gbl.Agenda.WhichEvents); Agd_PutHiddenParamEventsOrderType ();
break;
case Pag_MY_PUBLIC_AGENDA:
Act_FormStart (ActSeeMyPubAgd);
Pag_PutHiddenParamPagNum (Pagination->RightPage);
Agd_PutHiddenParamEventsOrderType (); Agd_PutHiddenParamEventsOrderType ();
break; break;
} }
@ -518,7 +538,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
Asg_PutHiddenParamAsgOrderType (); Asg_PutHiddenParamAsgOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
break; break;
case Pag_USR_AGENDA: case Pag_OTHER_PUBLIC_AGENDA:
Act_FormStart (ActSeeUsrAgd); Act_FormStart (ActSeeUsrAgd);
Pag_PutHiddenParamPagNum (Pagination->NumPags); Pag_PutHiddenParamPagNum (Pagination->NumPags);
Agd_PutHiddenParamEventsOrderType (); Agd_PutHiddenParamEventsOrderType ();
@ -557,10 +577,14 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
Asg_PutHiddenParamAsgOrderType (); Asg_PutHiddenParamAsgOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
break; break;
case Pag_MY_AGENDA: case Pag_MY_FULL_AGENDA:
Act_FormStart (ActSeeMyAgd); Act_FormStart (ActSeeMyAgd);
Pag_PutHiddenParamPagNum (Pagination->NumPags); Pag_PutHiddenParamPagNum (Pagination->NumPags);
Pag_PutHiddenParamWhichEvents (Gbl.Agenda.WhichEvents); Agd_PutHiddenParamEventsOrderType ();
break;
case Pag_MY_PUBLIC_AGENDA:
Act_FormStart (ActSeeMyPubAgd);
Pag_PutHiddenParamPagNum (Pagination->NumPags);
Agd_PutHiddenParamEventsOrderType (); Agd_PutHiddenParamEventsOrderType ();
break; break;
} }

View File

@ -40,14 +40,15 @@
typedef enum typedef enum
{ {
Pag_ASSIGNMENTS, Pag_ASSIGNMENTS,
Pag_USR_AGENDA, Pag_OTHER_PUBLIC_AGENDA,
Pag_ATT_EVENTS, Pag_ATT_EVENTS,
Pag_MESSAGES_RECEIVED, Pag_MESSAGES_RECEIVED,
Pag_MESSAGES_SENT, Pag_MESSAGES_SENT,
Pag_THREADS_FORUM, Pag_THREADS_FORUM,
Pag_POSTS_FORUM, Pag_POSTS_FORUM,
Pag_SURVEYS, Pag_SURVEYS,
Pag_MY_AGENDA, Pag_MY_FULL_AGENDA,
Pag_MY_PUBLIC_AGENDA,
} Pag_WhatPaginate_t; } Pag_WhatPaginate_t;
struct Pagination // Used for threads and messages pagination struct Pagination // Used for threads and messages pagination