From f6ff5d5c37b4d838c9ab38cbc3d56ad8681a0796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Wed, 1 Mar 2017 18:53:51 +0100 Subject: [PATCH] Version 16.144.4 --- swad_QR.c | 9 +++------ swad_QR.h | 3 ++- swad_account.c | 5 +++-- swad_agenda.c | 2 +- swad_attendance.c | 12 +++++------- swad_changelog.h | 3 ++- swad_nickname.c | 11 +++++------ swad_record.c | 7 +------ swad_user.c | 24 ++++++++++++++++++------ 9 files changed, 40 insertions(+), 36 deletions(-) diff --git a/swad_QR.c b/swad_QR.c index 923fd578..2a2d2f32 100644 --- a/swad_QR.c +++ b/swad_QR.c @@ -60,21 +60,18 @@ extern struct Globals Gbl; /***************************** Internal prototypes ***************************/ /*****************************************************************************/ -static void QR_ImageQRCode (const char *QRString); - /*****************************************************************************/ /***************** Put a link to a print view of a QR code *******************/ /*****************************************************************************/ -void QR_PutLinkToPrintQRCode (Act_Action_t Action,bool PrintText) +void QR_PutLinkToPrintQRCode (Act_Action_t Action) { extern const char *Txt_QR_code; /***** Link to print QR *****/ Lay_PutContextualLink (Action,QR_PutParamQRString, "qr64x64.gif", - Txt_QR_code,PrintText ? Txt_QR_code : - NULL, + Txt_QR_code,NULL, NULL); } @@ -106,7 +103,7 @@ void QR_PrintQRCode (void) /******************** Write an QR (image) based on a string ******************/ /*****************************************************************************/ -static void QR_ImageQRCode (const char *QRString) +void QR_ImageQRCode (const char *QRString) { fprintf (Gbl.F.Out,"
" diff --git a/swad_QR.h b/swad_QR.h index a4c59926..95c9d5d7 100644 --- a/swad_QR.h +++ b/swad_QR.h @@ -39,10 +39,11 @@ /***************************** Public prototypes *****************************/ /*****************************************************************************/ -void QR_PutLinkToPrintQRCode (Act_Action_t Action,bool PrintText); +void QR_PutLinkToPrintQRCode (Act_Action_t Action); void QR_PutParamQRString (void); void QR_PrintQRCode (void); +void QR_ImageQRCode (const char *QRString); void QR_LinkTo (unsigned Size,const char *ParamStr,long Cod); void QR_ExamAnnnouncement (void); diff --git a/swad_account.c b/swad_account.c index 231e8836..21397ba0 100644 --- a/swad_account.c +++ b/swad_account.c @@ -520,8 +520,9 @@ static void Acc_PutLinkToRemoveMyAccount (void) static void Acc_PutParamsToRemoveMyAccount (void) { - Usr_PutParamUsrCodEncrypted (Gbl.Usrs.Me.UsrDat.EncryptedUsrCod); - Par_PutHiddenParamUnsigned ("RegRemAction",(unsigned) Enr_ELIMINATE_ONE_USR_FROM_PLATFORM); + Usr_PutParamMyUsrCodEncrypted (); + Par_PutHiddenParamUnsigned ("RegRemAction", + (unsigned) Enr_ELIMINATE_ONE_USR_FROM_PLATFORM); } /*****************************************************************************/ diff --git a/swad_agenda.c b/swad_agenda.c index 5b40b9e7..05310666 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -513,7 +513,7 @@ static void Agd_PutIconToShowQR (void) Txt_STR_LANG_ID[Gbl.Prefs.Language], Gbl.Usrs.Me.UsrDat.Nickname); Gbl.QR.Str = URL; - QR_PutLinkToPrintQRCode (ActPrnAgdQR,false); + QR_PutLinkToPrintQRCode (ActPrnAgdQR); } static void Agd_PutIconsOtherPublicAgenda (void) diff --git a/swad_attendance.c b/swad_attendance.c index 03f565f7..48217b72 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -143,7 +143,7 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat); void Att_SeeAttEvents (void) { - char NicknameWithArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1]; + extern const char *Txt_QR_code; /***** Get parameters *****/ Att_GetParamAttOrder (); @@ -175,12 +175,10 @@ void Att_SeeAttEvents (void) } /* Put link to my QR code */ - if (Gbl.Usrs.Me.UsrDat.Nickname[0]) - { - sprintf (NicknameWithArroba,"@%s",Gbl.Usrs.Me.UsrDat.Nickname); - Gbl.QR.Str = NicknameWithArroba; - QR_PutLinkToPrintQRCode (ActPrnUsrQR,true); - } + Lay_PutContextualLink (ActPrnUsrQR,Usr_PutParamMyUsrCodEncrypted, + "qr64x64.gif", + Txt_QR_code,Txt_QR_code, + NULL); fprintf (Gbl.F.Out,"
"); } diff --git a/swad_changelog.h b/swad_changelog.h index 6eef4e28..2f7cf3fc 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -198,13 +198,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.144.3 (2017-03-01)" +#define Log_PLATFORM_VERSION "SWAD 16.144.4 (2017-03-01)" #define CSS_FILE "swad16.144.css" #define JS_FILE "swad16.144.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.144.4: Mar 01, 2017 Fixed bug in link to another user's QR code from record card. (213338 lines) Version 16.144.3: Mar 01, 2017 Button to create a new place when no places have been created. (213334 lines) Version 16.144.2: Mar 01, 2017 Button to create a new group when no groups have been created. (213300 lines) Version 16.144.1: Mar 01, 2017 Zoom photo even if user has no photo. diff --git a/swad_nickname.c b/swad_nickname.c index 0810790c..f3a1d9d6 100644 --- a/swad_nickname.c +++ b/swad_nickname.c @@ -187,6 +187,7 @@ void Nck_ShowFormChangeUsrNickname (void) extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *Txt_Current_nickname; extern const char *Txt_Other_nicknames; + extern const char *Txt_QR_code; extern const char *Txt_Use_this_nickname; extern const char *Txt_New_nickname; extern const char *Txt_Nickname; @@ -197,7 +198,6 @@ void Nck_ShowFormChangeUsrNickname (void) MYSQL_ROW row; unsigned NumNicks; unsigned NumNick; - char NicknameWithArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1]; /***** Get my nicknames *****/ sprintf (Query,"SELECT Nickname FROM usr_nicknames" @@ -253,11 +253,10 @@ void Nck_ShowFormChangeUsrNickname (void) /* Link to QR code */ if (NumNick == 1 && Gbl.Usrs.Me.UsrDat.Nickname[0]) - { - sprintf (NicknameWithArroba,"@%s",Gbl.Usrs.Me.UsrDat.Nickname); - Gbl.QR.Str = NicknameWithArroba; - QR_PutLinkToPrintQRCode (ActPrnUsrQR,false); - } + Lay_PutContextualLink (ActPrnUsrQR,Usr_PutParamMyUsrCodEncrypted, + "qr64x64.gif", + Txt_QR_code,NULL, + NULL); fprintf (Gbl.F.Out,""); diff --git a/swad_record.c b/swad_record.c index 06f19e0e..c09e88cb 100644 --- a/swad_record.c +++ b/swad_record.c @@ -2346,7 +2346,6 @@ static void Rec_PutIconsCommands (void) extern const char *Txt_View_attendance; extern const char *Txt_Following_unfollow; extern const char *Txt_Follow; - char NicknameWithArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1]; bool ItsMe = (Gbl.Usrs.Me.UsrDat.UsrCod == Gbl.Record.UsrDat->UsrCod); bool IAmLoggedAsStudent = (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT); // My current role is student bool IAmLoggedAsTeacher = (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER); // My current role is teacher @@ -2470,14 +2469,10 @@ static void Rec_PutIconsCommands (void) (Gbl.CurrentCrs.Crs.CrsCod > 0 && // A course is selected Gbl.Record.UsrDat->RoleInCurrentCrsDB == Rol_STUDENT && // He/she is a student in the current course IAmLoggedAsTeacher)) // I am a teacher in the current course - { - sprintf (NicknameWithArroba,"@%s",Gbl.Record.UsrDat->Nickname); - Gbl.QR.Str = NicknameWithArroba; - Lay_PutContextualLink (ActPrnUsrQR,QR_PutParamQRString, + Lay_PutContextualLink (ActPrnUsrQR,Rec_PutParamUsrCodEncrypted, "qr64x64.gif", Txt_QR_code,NULL, NULL); - } /***** Button to send a message *****/ Lay_PutContextualLink (ActReqMsgUsr,Rec_PutParamsMsgUsr, diff --git a/swad_user.c b/swad_user.c index 5fab878c..09739a5e 100644 --- a/swad_user.c +++ b/swad_user.c @@ -8514,12 +8514,24 @@ void Usr_RemoveUsrFromUsrBanned (long UsrCod) void Usr_PrintUsrQRCode (void) { - /***** Start frame *****/ - Lay_StartRoundFrame (NULL,Gbl.Usrs.Me.UsrDat.FullName,NULL,NULL); + extern const char *Txt_User_not_found_or_you_do_not_have_permission_; + char NewNicknameWithArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1]; - /***** Print QR code ****/ - QR_PrintQRCode (); + if (Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ()) + { + /***** Start frame *****/ + Lay_StartRoundFrame (NULL,Gbl.Usrs.Other.UsrDat.FullName,NULL,NULL); - /***** End frame *****/ - Lay_EndRoundFrame (); + /***** Show QR code *****/ + if (Gbl.Usrs.Other.UsrDat.Nickname[0]) + { + sprintf (NewNicknameWithArroba,"@%s",Gbl.Usrs.Other.UsrDat.Nickname); + QR_ImageQRCode (NewNicknameWithArroba); + } + + /***** End frame *****/ + Lay_EndRoundFrame (); + } + else + Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_); }