Version 16.90.3

This commit is contained in:
Antonio Cañas Vargas 2016-12-06 23:35:15 +01:00
parent d50a099692
commit c12f74e6e2
9 changed files with 156 additions and 147 deletions

View File

@ -70,12 +70,12 @@ static void QR_ImageQRCode (const char *QRString);
/***************** Put a link to a print view of a QR code *******************/
/*****************************************************************************/
void QR_PutLinkToPrintQRCode (bool PrintText)
void QR_PutLinkToPrintQRCode (Act_Action_t Action,bool PrintText)
{
extern const char *Txt_QR_code;
/***** Link to print QR *****/
Lay_PutContextualLink (ActPrnUsrQR,QR_PutParamQRString,
Lay_PutContextualLink (Action,QR_PutParamQRString,
"qr64x64.gif",
Txt_QR_code,PrintText ? Txt_QR_code :
NULL,

View File

@ -39,7 +39,7 @@
/***************************** Public prototypes *****************************/
/*****************************************************************************/
void QR_PutLinkToPrintQRCode (bool PrintText);
void QR_PutLinkToPrintQRCode (Act_Action_t Action,bool PrintText);
void QR_PrintQRCode (void);
void QR_LinkTo (unsigned Size,const char *ParamStr,long Cod);

View File

@ -80,7 +80,7 @@ extern struct Globals Gbl;
/************************ Internal global variables **************************/
/*****************************************************************************/
/*
1238 actions in one CGI:
1239 actions in one CGI:
0. ActAll Any action (used for statistics)
1. ActUnk Unknown action
2. ActHom Show home menu
@ -1358,83 +1358,84 @@ Profile:
1168. ActShoEvtMyAgd Show an event from my agenda
1169. ActPrvEvtMyAgd Make private an event from my agenda
1170. ActPubEvtMyAgd Make public an event from my agenda
1171. ActPrnAgdQR Show agenda QR code ready to print
1171. ActChkUsrAcc Check if already exists a new account without password associated to a ID
1172. ActCreUsrAcc Create new user account
1173. ActRemID_Me Remove one of my user's IDs
1174. ActNewIDMe Create a new user's ID for me
1175. ActRemOldNic Remove one of my old nicknames
1176. ActChgNic Change my nickname
1177. ActRemMaiMe Remove one of my old emails
1178. ActNewMaiMe Change my email address
1179. ActCnfMai Confirm email address
1180. ActFrmChgMyPwd Show form to the change of the password
1181. ActChgPwd Change the password
1182. ActReqRemMyAcc Request the removal of my account
1183. ActRemMyAcc Remove my account
1172. ActChkUsrAcc Check if already exists a new account without password associated to a ID
1173. ActCreUsrAcc Create new user account
1174. ActRemID_Me Remove one of my user's IDs
1175. ActNewIDMe Create a new user's ID for me
1176. ActRemOldNic Remove one of my old nicknames
1177. ActChgNic Change my nickname
1178. ActRemMaiMe Remove one of my old emails
1179. ActNewMaiMe Change my email address
1180. ActCnfMai Confirm email address
1181. ActFrmChgMyPwd Show form to the change of the password
1182. ActChgPwd Change the password
1183. ActReqRemMyAcc Request the removal of my account
1184. ActRemMyAcc Remove my account
1184. ActChgMyData Update my personal data
1185. ActChgMyData Update my personal data
1185. ActReqMyPho Show form to send my photo
1186. ActDetMyPho Receive my photo and detect faces on it
1187. ActUpdMyPho Update my photo
1188. ActReqRemMyPho Request the removal of my photo
1189. ActRemMyPho Remove my photo
1186. ActReqMyPho Show form to send my photo
1187. ActDetMyPho Receive my photo and detect faces on it
1188. ActUpdMyPho Update my photo
1189. ActReqRemMyPho Request the removal of my photo
1190. ActRemMyPho Remove my photo
1190. ActEdiPri Edit my privacy
1191. ActChgPriPho Change privacy of my photo
1192. ActChgPriPrf Change privacy of my public profile
1191. ActEdiPri Edit my privacy
1192. ActChgPriPho Change privacy of my photo
1193. ActChgPriPrf Change privacy of my public profile
1193. ActReqEdiMyIns Request the edition of my institution, centre and department
1194. ActChgCtyMyIns Change the country of my institution
1195. ActChgMyIns Change my institution
1196. ActChgMyCtr Change my centre
1197. ActChgMyDpt Change my department
1198. ActChgMyOff Change my office
1199. ActChgMyOffPho Change my office phone
1194. ActReqEdiMyIns Request the edition of my institution, centre and department
1195. ActChgCtyMyIns Change the country of my institution
1196. ActChgMyIns Change my institution
1197. ActChgMyCtr Change my centre
1198. ActChgMyDpt Change my department
1199. ActChgMyOff Change my office
1200. ActChgMyOffPho Change my office phone
1200. ActReqEdiMyNet Request the edition of my social networks
1201. ActChgMyNet Change my web and social networks
1201. ActReqEdiMyNet Request the edition of my social networks
1202. ActChgMyNet Change my web and social networks
1202. ActChgThe Change theme
1203. ActReqChgLan Ask if change language
1204. ActChgLan Change language
1205. ActChg1stDay Change first day of the week
1206. ActChgCol Change side columns
1207. ActHidLftCol Hide left side column
1208. ActHidRgtCol Hide right side column
1209. ActShoLftCol Show left side column
1210. ActShoRgtCol Show right side column
1211. ActChgIco Change icon set
1212. ActChgMnu Change menu
1213. ActChgNtfPrf Change whether to notify by email new messages
1214. ActPrnUsrQR Show my QR code ready to print
1203. ActChgThe Change theme
1204. ActReqChgLan Ask if change language
1205. ActChgLan Change language
1206. ActChg1stDay Change first day of the week
1207. ActChgCol Change side columns
1208. ActHidLftCol Hide left side column
1209. ActHidRgtCol Hide right side column
1210. ActShoLftCol Show left side column
1211. ActShoRgtCol Show right side column
1212. ActChgIco Change icon set
1213. ActChgMnu Change menu
1214. ActChgNtfPrf Change whether to notify by email new messages
1215. ActPrnUsrQR Show my QR code ready to print
1215. ActPrnMyTT Show the timetable listo to impresión of all my courses
1216. ActEdiTut Edit the timetable of tutorías
1217. ActChgTut Modify the timetable of tutorías
1218. ActChgMyTT1stDay Change first day of week and show timetable of the course
1216. ActPrnMyTT Show the timetable listo to impresión of all my courses
1217. ActEdiTut Edit the timetable of tutorías
1218. ActChgTut Modify the timetable of tutorías
1219. ActChgMyTT1stDay Change first day of week and show timetable of the course
1219. ActReqRemFilBrf Request removal of a file of the briefcase
1220. ActRemFilBrf Remove a file of the briefcase
1221. ActRemFolBrf Remove a folder empty of the briefcase
1222. ActCopBrf Set source of copy in the briefcase
1223. ActPasBrf Paste a folder or file in the briefcase
1224. ActRemTreBrf Remove a folder no empty of the briefcase
1225. ActFrmCreBrf Form to crear a folder or file in the briefcase
1226. ActCreFolBrf Create a new folder in the briefcase
1227. ActCreLnkBrf Create a new link in the briefcase
1228. ActRenFolBrf Rename a folder of the briefcase
1229. ActRcvFilBrfDZ Receive a file in the briefcase using Dropzone.js
1230. ActRcvFilBrfCla Receive a file in the briefcase using the classic way
1231. ActExpBrf Expand a folder in briefcase
1232. ActConBrf Contract a folder in briefcase
1233. ActZIPBrf Compress a folder in briefcase
1234. ActReqDatBrf Ask for metadata of a file in the briefcase
1235. ActChgDatBrf Change metadata of a file in the briefcase
1236. ActDowBrf Download a file in the briefcase
1237. ActReqRemOldBrf Ask for removing old files in the briefcase
1238. ActRemOldBrf Remove old files in the briefcase
1220. ActReqRemFilBrf Request removal of a file of the briefcase
1221. ActRemFilBrf Remove a file of the briefcase
1222. ActRemFolBrf Remove a folder empty of the briefcase
1223. ActCopBrf Set source of copy in the briefcase
1224. ActPasBrf Paste a folder or file in the briefcase
1225. ActRemTreBrf Remove a folder no empty of the briefcase
1226. ActFrmCreBrf Form to crear a folder or file in the briefcase
1227. ActCreFolBrf Create a new folder in the briefcase
1228. ActCreLnkBrf Create a new link in the briefcase
1229. ActRenFolBrf Rename a folder of the briefcase
1230. ActRcvFilBrfDZ Receive a file in the briefcase using Dropzone.js
1231. ActRcvFilBrfCla Receive a file in the briefcase using the classic way
1232. ActExpBrf Expand a folder in briefcase
1233. ActConBrf Contract a folder in briefcase
1234. ActZIPBrf Compress a folder in briefcase
1235. ActReqDatBrf Ask for metadata of a file in the briefcase
1236. ActChgDatBrf Change metadata of a file in the briefcase
1237. ActDowBrf Download a file in the briefcase
1238. ActReqRemOldBrf Ask for removing old files in the briefcase
1239. ActRemOldBrf Remove old files in the briefcase
*/
struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
@ -2816,6 +2817,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* 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},
/* ActSeeMyPubAgd */{1617,-1,TabUnk,ActSeeMyAgd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_ShowMyPublicAgenda ,NULL},
/* ActPrnAgdQR */{1618,-1,TabUnk,ActSeeMyAgd ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_BLNK_WINDOW,NULL ,QR_PrintQRCode ,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},
@ -4524,6 +4526,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActLogInUsrAgd, // #1615
ActLogInUsrAgdLan, // #1616
ActSeeMyPubAgd, // #1617
ActPrnAgdQR, // #1618
};
/*****************************************************************************/

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

View File

@ -507,7 +507,7 @@ static void Agd_PutIconToShowQR (void)
Txt_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Usrs.Me.UsrDat.Nickname);
Gbl.QR.Str = URL;
QR_PutLinkToPrintQRCode (false);
QR_PutLinkToPrintQRCode (ActPrnAgdQR,false);
}
/*****************************************************************************/

View File

@ -176,7 +176,7 @@ void Att_SeeAttEvents (void)
{
sprintf (NicknameWithArroba,"@%s",Gbl.Usrs.Me.UsrDat.Nickname);
Gbl.QR.Str = NicknameWithArroba;
QR_PutLinkToPrintQRCode (true);
QR_PutLinkToPrintQRCode (ActPrnUsrQR,true);
}
fprintf (Gbl.F.Out,"</div>");

View File

@ -183,13 +183,17 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.90.2 (2016-12-06)"
#define Log_PLATFORM_VERSION "SWAD 16.90.3 (2016-12-06)"
#define CSS_FILE "swad16.86.5.css"
#define JS_FILE "swad16.90.2.js"
// 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
/*
Version 16.90.3: Dec 06, 2016 Changes related with agenda QR. (210156 lines)
1 change necessary in database:
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1618','es','N','Imprimir c&oacute;digo QR agenda');
Version 16.90.2: Dec 06, 2016 Changes in JavaScript code to write date-time. (210149 lines)
Version 16.90.1: Dec 06, 2016 Code refactoring in agenda. (210147 lines)
Version 16.90: Dec 06, 2016 Changes in layout of agenda. (210147 lines)

View File

@ -254,7 +254,7 @@ void Nck_ShowFormChangeUsrNickname (void)
{
sprintf (NicknameWithArroba,"@%s",Gbl.Usrs.Me.UsrDat.Nickname);
Gbl.QR.Str = NicknameWithArroba;
QR_PutLinkToPrintQRCode (false);
QR_PutLinkToPrintQRCode (ActPrnUsrQR,false);
}
fprintf (Gbl.F.Out,"</div>");

View File

@ -2616,7 +2616,7 @@ static void Rec_ShowNickname (struct UsrData *UsrDat,bool PutFormLinks)
/* Link to QR code */
sprintf (NicknameWithArroba,"@%s",UsrDat->Nickname);
Gbl.QR.Str = NicknameWithArroba;
QR_PutLinkToPrintQRCode (false);
QR_PutLinkToPrintQRCode (ActPrnUsrQR,false);
}
}
fprintf (Gbl.F.Out,"</div>"