mirror of https://github.com/acanas/swad-core.git
Version 16.144.4
This commit is contained in:
parent
3dd1d4a271
commit
f6ff5d5c37
|
@ -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,"<div class=\"CENTER_MIDDLE\""
|
||||
" style=\"margin:0 auto; width:%upx;\">"
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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,"</div>");
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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,"</div>");
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
24
swad_user.c
24
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_);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue