diff --git a/css/swad_desktop.css b/css/swad_desktop.css index 0379f0cf..8ff54ba2 100644 --- a/css/swad_desktop.css +++ b/css/swad_desktop.css @@ -318,8 +318,13 @@ hr.YELLOW_SEPARA {height:0; border-top:0; border-bottom:#BD4815 dotted 1px;} /****** Contextual links with small icons and text to go to some action ******/ .CONTEXT_MENU { - text-align:center; margin-bottom:10px; + text-align:center; + } +.CONTEXT_OPT + { + display:inline; + margin:0 5px; } /********************************* Frame 10 **********************************/ diff --git a/css/swad_mobile.css b/css/swad_mobile.css index d14fcd40..a9a96416 100644 --- a/css/swad_mobile.css +++ b/css/swad_mobile.css @@ -282,8 +282,13 @@ p {margin:0;} /****** Contextual links with small icons and text to go to some action ******/ .CONTEXT_MENU { - text-align:center; margin-bottom:10px; + text-align:center; + } +.CONTEXT_OPT + { + display:inline; + margin:0 5px; } /********************************* Frame 10 **********************************/ diff --git a/swad_ID.c b/swad_ID.c index a8a39482..1490b327 100644 --- a/swad_ID.c +++ b/swad_ID.c @@ -358,22 +358,20 @@ void ID_WriteUsrIDs (struct UsrData *UsrDat,bool ICanSeeUsrID) /*********** Put a link to the action used to request user's IDs *************/ /*****************************************************************************/ -void ID_PutLinkToChangeUsrIDs (const struct UsrData *UsrDat) +void ID_PutLinkToChangeUsrIDs (void) { extern const char *Txt_Change_IDs; extern const char *Txt_User_not_found_or_you_do_not_have_permission_; /***** Link for changing the password *****/ - if (Pwd_CheckIfICanChangeOtherUsrPassword (UsrDat->UsrCod)) + if (Pwd_CheckIfICanChangeOtherUsrPassword (Gbl.Usrs.Other.UsrDat.UsrCod)) { - if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me - Act_FormStart (ActFrmUsrAcc); - else // Not me - { - Act_FormStart (ActFrmIDsOthUsr); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); - } - Act_PutContextualLink ("arroba",Txt_Change_IDs,Txt_Change_IDs,Txt_Change_IDs); + if (Gbl.Usrs.Other.UsrDat.UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me + Act_PutContextualLink (ActFrmUsrAcc,NULL, + "arroba",Txt_Change_IDs); + else // Not me + Act_PutContextualLink (ActFrmIDsOthUsr,Usr_PutParamOtherUsrCodEncrypted, + "arroba",Txt_Change_IDs); } else Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_); @@ -466,7 +464,7 @@ void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe) else { Act_FormStart (ActRemIDOth); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); } sprintf (Gbl.Title,Txt_Remove_ID_X, UsrDat->IDs.List[NumID].ID); @@ -524,7 +522,7 @@ void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe) else { Act_FormStart (ActNewIDOth); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); } fprintf (Gbl.F.Out,"", diff --git a/swad_ID.h b/swad_ID.h index a9cb9664..e746e0e3 100644 --- a/swad_ID.h +++ b/swad_ID.h @@ -66,7 +66,7 @@ bool ID_CheckIfUsrIDSeemsAValidID (const char *UsrID); void ID_WriteUsrIDs (struct UsrData *UsrDat,bool ICanSeeUsrID); -void ID_PutLinkToChangeUsrIDs (const struct UsrData *UsrDat); +void ID_PutLinkToChangeUsrIDs (void); void ID_ShowFormOthIDs (void); void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe); void ID_RemoveMyUsrID (void); diff --git a/swad_QR.c b/swad_QR.c index 98d997c9..9b975f1a 100644 --- a/swad_QR.c +++ b/swad_QR.c @@ -70,28 +70,20 @@ static void QR_ImageQRCode (const char *QRString); /***************** Put a link to a print view of a QR code *******************/ /*****************************************************************************/ -void QR_PutLinkToPrintQRCode (QR_QRType_t QRType,struct UsrData *UsrDat,bool PrintText) +void QR_PutLinkToPrintQRCode (struct UsrData *UsrDat,bool PrintText) { + extern const char *The_ClassFormulB[The_NUM_THEMES]; extern const char *Txt_QR_code; char NicknameWithArroba[Nck_MAX_BYTES_NICKNAME_WITH_ARROBA+1]; /***** Link to print view *****/ Act_FormStart (ActPrnUsrQR); - switch (QRType) - { - case QR_ID: - Par_PutHiddenParamString ("QRString",UsrDat->IDs.List[0].ID); // TODO: First ID? - break; - case QR_NICKNAME: - sprintf (NicknameWithArroba,"@%s",UsrDat->Nickname); - Par_PutHiddenParamString ("QRString",NicknameWithArroba); - break; - case QR_EMAIL: - Par_PutHiddenParamString ("QRString",UsrDat->Email); - break; - } - Act_PutContextualLink ("qr",Txt_QR_code,Txt_QR_code,PrintText ? Txt_QR_code : - NULL); + sprintf (NicknameWithArroba,"@%s",UsrDat->Nickname); + Par_PutHiddenParamString ("QRString",NicknameWithArroba); + Act_LinkFormSubmit (Txt_QR_code,The_ClassFormulB[Gbl.Prefs.Theme]); + Lay_PutSendIcon ("qr",Txt_QR_code,PrintText ? Txt_QR_code : + NULL); + Act_FormEnd (); } /*****************************************************************************/ diff --git a/swad_QR.h b/swad_QR.h index dc92e8d8..29991720 100644 --- a/swad_QR.h +++ b/swad_QR.h @@ -48,7 +48,7 @@ typedef enum /***************************** Public prototypes *****************************/ /*****************************************************************************/ -void QR_PutLinkToPrintQRCode (QR_QRType_t QRType,struct UsrData *UsrDat,bool PrintText); +void QR_PutLinkToPrintQRCode (struct UsrData *UsrDat,bool PrintText); void QR_PrintQRCode (void); void QR_LinkTo (unsigned Size,const char *ParamStr,long Cod); diff --git a/swad_account.c b/swad_account.c index 209fedd9..686e2e13 100644 --- a/swad_account.c +++ b/swad_account.c @@ -77,6 +77,8 @@ static bool Acc_GetParamsNewAccount (char *NewNicknameWithoutArroba, static void Acc_CreateNewEncryptedUsrCod (struct UsrData *UsrDat); static void Acc_PutLinkToRemoveMyAccount (void); +static void Acc_PutLinkToRemoveMyAccountParams (void); + static void Acc_PrintAccountSeparator (void); static void Acc_ReqDelOrDelUsrGbl (Acc_ReqDelOrDelUsr_t ReqDelOrDelUsr); @@ -115,8 +117,7 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char *NewNicknameWith /***** Link to log in *****/ fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActFrmLogIn); - Act_PutContextualLink ("login",Txt_Log_in,Txt_Log_in,Txt_Log_in); + Act_PutContextualLink (ActFrmLogIn,NULL,"login",Txt_Log_in); fprintf (Gbl.F.Out,"
"); /***** Form to enter some data of the new user *****/ @@ -206,7 +207,7 @@ void Acc_ShowFormChangeMyAccount (void) /***** Put links to change my password and to remove my account*****/ fprintf (Gbl.F.Out,"
"); - Pwd_PutLinkToChangeUsrPassword (&Gbl.Usrs.Me.UsrDat); + Pwd_PutLinkToChangeMyPassword (); if (Acc_CheckIfICanEliminateAccount (true)) // ItsMe = true Acc_PutLinkToRemoveMyAccount (); fprintf (Gbl.F.Out,"
"); @@ -242,10 +243,14 @@ static void Acc_PutLinkToRemoveMyAccount (void) { extern const char *Txt_Remove_account; - Act_FormStart (ActUpdOthUsrDat); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Me.UsrDat.EncryptedUsrCod); + Act_PutContextualLink (ActUpdOthUsrDat,Acc_PutLinkToRemoveMyAccountParams, + "delon",Txt_Remove_account); + } + +static void Acc_PutLinkToRemoveMyAccountParams (void) + { + Usr_PutParamUsrCodEncrypted (Gbl.Usrs.Me.UsrDat.EncryptedUsrCod); Par_PutHiddenParamUnsigned ("RegRemAction",(unsigned) Enr_ELIMINATE_ONE_USR_FROM_PLATFORM); - Act_PutContextualLink ("delon",Txt_Remove_account,Txt_Remove_account,Txt_Remove_account); } /*****************************************************************************/ @@ -627,7 +632,7 @@ void Acc_AskIfCompletelyEliminateAccount (bool ItsMe) Rec_ShowCommonRecordUnmodifiable (&Gbl.Usrs.Other.UsrDat); Act_FormStart (ActRemUsrGbl); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); /* Ask for consent on dangerous actions */ Pwd_AskForConfirmationOnDangerousAction (); diff --git a/swad_action.c b/swad_action.c index 6111f604..d1171012 100644 --- a/swad_action.c +++ b/swad_action.c @@ -4319,15 +4319,16 @@ void Act_LinkFormSubmitAnimated (const char *Title,const char *LinkStyle) /***************** Show an icon with a link in contextual menu ***************/ /*****************************************************************************/ -void Act_PutContextualLink (const char *Icon, - const char *Title, - const char *Alt, - const char *Text) +void Act_PutContextualLink (Act_Action_t NextAction,void (*FuncParams) (), + const char *Icon,const char *Title) { extern const char *The_ClassFormulB[The_NUM_THEMES]; + Act_FormStart (NextAction); + if (FuncParams) + FuncParams (); Act_LinkFormSubmit (Title,The_ClassFormulB[Gbl.Prefs.Theme]); - Lay_PutSendIcon (Icon,Alt,Text); + Lay_PutSendIcon (Icon,Title,Title); Act_FormEnd (); } diff --git a/swad_action.h b/swad_action.h index f746044a..972c86f4 100644 --- a/swad_action.h +++ b/swad_action.h @@ -1343,10 +1343,8 @@ void Act_LinkFormSubmit (const char *Title,const char *LinkStyle); void Act_LinkFormSubmitId (const char *Title,const char *LinkStyle,const char *Id); void Act_LinkFormSubmitAnimated (const char *Title,const char *LinkStyle); -void Act_PutContextualLink (const char *Icon, - const char *Title, - const char *Alt, - const char *Text); +void Act_PutContextualLink (Act_Action_t NextAction,void (*FuncParams) (), + const char *Icon,const char *Title); void Act_AdjustActionWhenNoUsrLogged (void); void Act_AdjustCurrentAction (void); diff --git a/swad_announcement.c b/swad_announcement.c index b6340faa..5bb8332a 100644 --- a/swad_announcement.c +++ b/swad_announcement.c @@ -77,8 +77,7 @@ void Ann_ShowAllAnnouncements (void) if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) { fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActWriAnn); - Act_PutContextualLink ("new",Txt_New_announcement,Txt_New_announcement,Txt_New_announcement); + Act_PutContextualLink (ActWriAnn,NULL,"new",Txt_New_announcement); fprintf (Gbl.F.Out,"
"); } diff --git a/swad_assignment.c b/swad_assignment.c index eaa4c337..21bd26f1 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -68,7 +68,10 @@ static void Asg_ShowOneAssignment (long AsgCod); static void Asg_WriteAsgAuthor (struct Assignment *Asg); static void Asg_WriteAssignmentFolder (struct Assignment *Asg); static void Asg_GetParamAsgOrderType (void); + static void Asg_PutFormToCreateNewAsg (void); +static void Asg_PutFormToCreateNewAsgParams (void); + static void Asg_PutFormsToRemEditOneAsg (long AsgCod,bool Hidden); static void Asg_GetDataOfAssignment (struct Assignment *Asg,const char *Query); static void Asg_GetAssignmentTxtFromDB (long AsgCod,char *Txt); @@ -475,12 +478,16 @@ static void Asg_PutFormToCreateNewAsg (void) /***** Put form to create a new assignment *****/ fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActFrmNewAsg); + Act_PutContextualLink (ActFrmNewAsg,Asg_PutFormToCreateNewAsgParams, + "new",Txt_New_assignment); + fprintf (Gbl.F.Out,"
"); + } + +static void Asg_PutFormToCreateNewAsgParams (void) + { Asg_PutHiddenParamAsgOrderType (); Grp_PutParamWhichGrps (); Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); - Act_PutContextualLink ("new",Txt_New_assignment,Txt_New_assignment,Txt_New_assignment); - fprintf (Gbl.F.Out,""); } /*****************************************************************************/ diff --git a/swad_attendance.c b/swad_attendance.c index e67bbc1e..55d08703 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -69,8 +69,13 @@ static void Att_PutFormToSelectWhichGroupsToShow (void); static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAttEventComplete); static void Att_WriteAttEventAuthor (struct AttendanceEvent *Att); static void Att_GetParamAttOrderType (void); + static void Att_PutFormToListStds (void); +static void Att_PutFormToListStdsParams (void); + static void Att_PutFormToCreateNewAttEvent (void); +static void Att_PutFormToCreateNewAttEventParams (void); + static void Att_PutFormsToRemEditOneAttEvent (long AttCod,bool Hidden); static void Att_GetListAttEvents (Att_OrderTime_t Order); static void Att_GetDataOfAttEventByCodAndCheckCrs (struct AttendanceEvent *Att); @@ -96,8 +101,11 @@ static void Att_RemoveUsrFromAttEvent (long AttCod,long UsrCod); static void Att_GetListSelectedUsrCods (unsigned NumStdsInList,long **LstSelectedUsrCods); static void Att_GetListSelectedAttCods (char **StrAttCodsSelected); -static void Att_PutFormToPrintListStds (bool ShowDetails,char *StrAttCodsSelected); -static void Att_PutButtonToShowDetails (char *StrAttCodsSelected); + +static void Att_PutFormToPrintListStds (void); +static void Att_PutFormToPrintListStdsParams (void); + +static void Att_PutButtonToShowDetails (void); static void Att_ListEventsToSelect (void); static void Att_ListStdsAttendanceTable (unsigned NumStdsInList,long *LstSelectedUsrCods); static void Att_WriteTableHeadSeveralAttEvents (void); @@ -133,7 +141,7 @@ void Att_SeeAttEvents (void) /* Put link to my QR code */ if (Gbl.Usrs.Me.UsrDat.Nickname[0]) - QR_PutLinkToPrintQRCode (QR_NICKNAME,&Gbl.Usrs.Me.UsrDat,true); + QR_PutLinkToPrintQRCode (&Gbl.Usrs.Me.UsrDat,true); fprintf (Gbl.F.Out,""); @@ -446,11 +454,15 @@ static void Att_PutFormToListStds (void) extern const char *Txt_Attendance_list; /***** Put form to create a new attendance event *****/ - Act_FormStart (ActReqLstAttStd); + Act_PutContextualLink (ActReqLstAttStd,Att_PutFormToListStdsParams, + "list",Txt_Attendance_list); + } + +static void Att_PutFormToListStdsParams (void) + { Att_PutHiddenParamAttOrderType (); Grp_PutParamWhichGrps (); Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); - Act_PutContextualLink ("list",Txt_Attendance_list,Txt_Attendance_list,Txt_Attendance_list); } /*****************************************************************************/ @@ -462,11 +474,15 @@ static void Att_PutFormToCreateNewAttEvent (void) extern const char *Txt_New_event; /***** Put form to create a new attendance event *****/ - Act_FormStart (ActFrmNewAtt); + Act_PutContextualLink (ActFrmNewAtt,Att_PutFormToCreateNewAttEventParams, + "new",Txt_New_event); + } + +static void Att_PutFormToCreateNewAttEventParams (void) + { Att_PutHiddenParamAttOrderType (); Grp_PutParamWhichGrps (); Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); - Act_PutContextualLink ("new",Txt_New_event,Txt_New_event,Txt_New_event); } /*****************************************************************************/ @@ -2684,9 +2700,7 @@ void Usr_ListAttendanceStdsCrs (void) unsigned NumStdsInList; long *LstSelectedUsrCods; unsigned NumAttEvent; - char *StrAttCodsSelected; char YN[1+1]; - bool ShowDetails; /***** Get list of attendance events *****/ Att_GetListAttEvents (Att_OLDEST_FIRST); @@ -2699,7 +2713,7 @@ void Usr_ListAttendanceStdsCrs (void) { /***** Get boolean parameter that indicates if details must be shown *****/ Par_GetParToText ("ShowDetails",YN,1); - ShowDetails = (Str_ConvertToUpperLetter (YN[0]) == 'Y'); + Gbl.AttEvents.ShowDetails = (Str_ConvertToUpperLetter (YN[0]) == 'Y'); /***** Get list of groups selected ******/ Grp_GetParCodsSeveralGrpsToShowUsrs (); @@ -2716,11 +2730,11 @@ void Usr_ListAttendanceStdsCrs (void) LstSelectedUsrCods,NumStdsInList); /***** Get list of attendance events selected *****/ - Att_GetListSelectedAttCods (&StrAttCodsSelected); + Att_GetListSelectedAttCods (&Gbl.AttEvents.StrAttCodsSelected); /***** Put link to print *****/ if (Gbl.CurrentAct == ActSeeLstAttStd) - Att_PutFormToPrintListStds (ShowDetails,StrAttCodsSelected); + Att_PutFormToPrintListStds (); /***** List events to select *****/ Att_ListEventsToSelect (); @@ -2732,13 +2746,13 @@ void Usr_ListAttendanceStdsCrs (void) Att_ListStdsAttendanceTable (NumStdsInList,LstSelectedUsrCods); /***** Show details or put button to show details *****/ - if (ShowDetails) + if (Gbl.AttEvents.ShowDetails) Att_ListStdsWithAttEventsDetails (NumStdsInList,LstSelectedUsrCods); else if (Gbl.CurrentAct == ActSeeLstAttStd) - Att_PutButtonToShowDetails (StrAttCodsSelected); + Att_PutButtonToShowDetails (); /***** Free memory for list of attendance events selected *****/ - free ((void *) StrAttCodsSelected); + free ((void *) Gbl.AttEvents.StrAttCodsSelected); /***** Free list of user codes *****/ free ((void *) LstSelectedUsrCods); @@ -2904,28 +2918,32 @@ static void Att_GetListSelectedAttCods (char **StrAttCodsSelected) /**** Put a link (form) to list assistance of students to several events *****/ /*****************************************************************************/ -static void Att_PutFormToPrintListStds (bool ShowDetails,char *StrAttCodsSelected) +static void Att_PutFormToPrintListStds (void) { extern const char *Txt_Print; /***** Link to print view *****/ fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActPrnLstAttStd); - if (ShowDetails) + Act_PutContextualLink (ActPrnLstAttStd,Att_PutFormToPrintListStdsParams, + "print",Txt_Print); + fprintf (Gbl.F.Out,"
"); + } + +static void Att_PutFormToPrintListStdsParams (void) + { + if (Gbl.AttEvents.ShowDetails) Par_PutHiddenParamChar ("ShowDetails",'Y'); Grp_PutParamsCodGrps (); Usr_PutHiddenParUsrCodAll (ActPrnLstAttStd,Gbl.Usrs.Select.All); - if (StrAttCodsSelected[0]) - Par_PutHiddenParamString ("AttCods",StrAttCodsSelected); - Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print); - fprintf (Gbl.F.Out,""); + if (Gbl.AttEvents.StrAttCodsSelected[0]) + Par_PutHiddenParamString ("AttCods",Gbl.AttEvents.StrAttCodsSelected); } /*****************************************************************************/ /**** Put a link (form) to list assistance of students to several events *****/ /*****************************************************************************/ -static void Att_PutButtonToShowDetails (char *StrAttCodsSelected) +static void Att_PutButtonToShowDetails (void) { extern const char *Txt_Show_more_details; @@ -2935,8 +2953,8 @@ static void Att_PutButtonToShowDetails (char *StrAttCodsSelected) Par_PutHiddenParamChar ("ShowDetails",'Y'); Grp_PutParamsCodGrps (); Usr_PutHiddenParUsrCodAll (ActSeeLstAttStd,Gbl.Usrs.Select.All); - if (StrAttCodsSelected[0]) - Par_PutHiddenParamString ("AttCods",StrAttCodsSelected); + if (Gbl.AttEvents.StrAttCodsSelected[0]) + Par_PutHiddenParamString ("AttCods",Gbl.AttEvents.StrAttCodsSelected); Lay_PutConfirmButton (Txt_Show_more_details); Act_FormEnd (); fprintf (Gbl.F.Out,""); diff --git a/swad_banner.c b/swad_banner.c index 47125bbb..d66b9610 100644 --- a/swad_banner.c +++ b/swad_banner.c @@ -128,8 +128,7 @@ static void Ban_PutFormToEditBanners (void) /***** Link to edit banners *****/ fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActEdiBan); - Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit); + Act_PutContextualLink (ActEdiBan,NULL,"edit",Txt_Edit); fprintf (Gbl.F.Out,"
"); } diff --git a/swad_calendar.c b/swad_calendar.c index e90405c8..eb41acbf 100644 --- a/swad_calendar.c +++ b/swad_calendar.c @@ -127,8 +127,7 @@ void Cal_DrawCalendar (void) { /* Link to print view */ fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActPrnCal); - Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print); + Act_PutContextualLink (ActPrnCal,NULL,"print",Txt_Print); fprintf (Gbl.F.Out,"
"); } Lay_StartRoundFrameTable10 (NULL,0,NULL); diff --git a/swad_centre.c b/swad_centre.c index 9ad5ff45..3c28a445 100644 --- a/swad_centre.c +++ b/swad_centre.c @@ -269,12 +269,10 @@ static void Ctr_Configuration (bool PrintView) fprintf (Gbl.F.Out,"
"); /* Link to show degrees */ - Act_FormStart (ActSeeDeg); - Act_PutContextualLink ("deg",Txt_Degrees,Txt_Degrees,Txt_Degrees); + Act_PutContextualLink (ActSeeDeg,NULL,"deg",Txt_Degrees); /* Link to print view */ - Act_FormStart (ActPrnCtrInf); - Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print); + Act_PutContextualLink (ActPrnCtrInf,NULL,"print",Txt_Print); /* Links to upload logo and photo */ if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM) @@ -1827,13 +1825,11 @@ static void Ctr_PutFormToChangeCtrPhoto (bool PhotoExists) { extern const char *Txt_Change_photo; extern const char *Txt_Upload_photo; - const char *Msg; /***** Link for changing / uploading the photo *****/ - Act_FormStart (ActReqCtrPho); - Msg = PhotoExists ? Txt_Change_photo : - Txt_Upload_photo; - Act_PutContextualLink ("photo",Msg,Msg,Msg); + Act_PutContextualLink (ActReqCtrPho,NULL, + "photo",PhotoExists ? Txt_Change_photo : + Txt_Upload_photo); } /*****************************************************************************/ diff --git a/swad_changelog.h b/swad_changelog.h index 519696a2..4b6038eb 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -103,11 +103,12 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 14.106.2 (2015/04/02)" +#define Log_PLATFORM_VERSION "SWAD 14.107 (2015/04/02)" // 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 14.107: Apr 02, 2015 Refactoring contextual menus. (183776 lines) Version 14.106.2: Apr 02, 2015 Refactoring some contextual menus. (183747 lines) Version 14.106.1: Apr 02, 2015 Changes in layout of icon with links. (183925 lines) Version 14.106: Apr 02, 2015 Lot of changes in layout of icon with links. (183909 lines) diff --git a/swad_connected.c b/swad_connected.c index 0be23166..acf0b66e 100644 --- a/swad_connected.c +++ b/swad_connected.c @@ -1021,7 +1021,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role) Color); sprintf (Gbl.FormId,"form_con_%d",++Gbl.NumFormConnectedUsrs); Act_FormStartId (ActSeePubPrf,Gbl.FormId); - Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod); Act_LinkFormSubmitId (UsrDat.FullName,NULL,Gbl.FormId); ShowPhoto = Pho_ShowUsrPhotoIsAllowed (&UsrDat,PhotoURL); Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL : @@ -1039,7 +1039,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role) Act_FormStartId ((Role == Rol_ROLE_STUDENT) ? ActSeeRecOneStd : ActSeeRecOneTch, Gbl.FormId); - Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod); Act_LinkFormSubmitId (Txt_View_record_for_this_course,Font,Gbl.FormId); Usr_RestrictLengthAndWriteName (&UsrDat,8); fprintf (Gbl.F.Out,""); @@ -1231,7 +1231,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R { Act_FormStart ((Role == Rol_ROLE_STUDENT) ? ActSeeRecOneStd : ActSeeRecOneTch); - Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod); Act_LinkFormSubmit (UsrDat.FullName,Font); } Usr_RestrictLengthAndWriteName (&UsrDat,40); diff --git a/swad_country.c b/swad_country.c index 817d59c1..3cb51081 100644 --- a/swad_country.c +++ b/swad_country.c @@ -236,15 +236,11 @@ static void Cty_Configuration (bool PrintView) fprintf (Gbl.F.Out,"
"); /* Link to show institutions */ - Act_FormStart (ActSeeIns); - Act_PutContextualLink ("ins",Txt_Institutions,Txt_Institutions,Txt_Institutions); + Act_PutContextualLink (ActSeeIns,NULL,"ins",Txt_Institutions); /* Link to print view */ if (!PrintView) - { - Act_FormStart (ActPrnCtyInf); - Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print); - } + Act_PutContextualLink (ActPrnCtyInf,NULL,"print",Txt_Print); fprintf (Gbl.F.Out,"
"); diff --git a/swad_course.c b/swad_course.c index d3fb95de..8a251746 100644 --- a/swad_course.c +++ b/swad_course.c @@ -96,7 +96,9 @@ static void Crs_GetDataOfCourseFromRow (struct Course *Crs,MYSQL_ROW row); static void Crs_EmptyCourseCompletely (long CrsCod); static bool Crs_RenameCourse (struct Course *Crs,Cns_ShortOrFullName_t ShortOrFullName); static void Crs_PutLinkToGoToCrs (struct Course *Crs); + static void Crs_PutLinkToSearchCourses (void); +static void Crs_PutLinkToSearchCoursesParams (void); static void Crs_PutParamOtherCrsCod (long CrsCod); static long Crs_GetParamOtherCrsCod (void); @@ -187,8 +189,7 @@ static void Crs_Configuration (bool PrintView) fprintf (Gbl.F.Out,"
"); /* Link to print view */ - Act_FormStart (ActPrnCrsInf); - Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print); + Act_PutContextualLink (ActPrnCrsInf,NULL,"print",Txt_Print); /* Link to request enrollment in the current course */ if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_GUEST__ || @@ -3006,15 +3007,20 @@ static void Crs_PutLinkToSearchCourses (void) extern const char *Txt_Search_courses; /***** Put form to search / select courses *****/ - Act_FormStart ( Gbl.CurrentCrs.Crs.CrsCod > 0 ? ActCrsReqSch : - (Gbl.CurrentDeg.Deg.DegCod > 0 ? ActDegReqSch : - (Gbl.CurrentCtr.Ctr.CtrCod > 0 ? ActCtrReqSch : - (Gbl.CurrentIns.Ins.InsCod > 0 ? ActInsReqSch : - (Gbl.CurrentCty.Cty.CtyCod > 0 ? ActCtyReqSch : - ActSysReqSch))))); + Act_PutContextualLink ( Gbl.CurrentCrs.Crs.CrsCod > 0 ? ActCrsReqSch : + (Gbl.CurrentDeg.Deg.DegCod > 0 ? ActDegReqSch : + (Gbl.CurrentCtr.Ctr.CtrCod > 0 ? ActCtrReqSch : + (Gbl.CurrentIns.Ins.InsCod > 0 ? ActInsReqSch : + (Gbl.CurrentCty.Cty.CtyCod > 0 ? ActCtyReqSch : + ActSysReqSch)))), + Crs_PutLinkToSearchCoursesParams, + "search",Txt_Search_courses); + } + +static void Crs_PutLinkToSearchCoursesParams (void) + { Sco_PutParamScope (Sco_SCOPE_SYS); Par_PutHiddenParamUnsigned ("WhatToSearch",(unsigned) Sch_SEARCH_COURSES); - Act_PutContextualLink ("search",Txt_Search_courses,Txt_Search_courses,Txt_Search_courses); } /*****************************************************************************/ @@ -3026,8 +3032,7 @@ void Crs_PutFormToSelectMyCourses (void) extern const char *Txt_My_courses; /***** Put form to search / select courses *****/ - Act_FormStart (ActMyCrs); - Act_PutContextualLink ("hierarchy",Txt_My_courses,Txt_My_courses,Txt_My_courses); + Act_PutContextualLink (ActMyCrs,NULL,"hierarchy",Txt_My_courses); } /*****************************************************************************/ diff --git a/swad_degree.c b/swad_degree.c index b6f7ba30..aeb50424 100644 --- a/swad_degree.c +++ b/swad_degree.c @@ -307,12 +307,10 @@ static void Deg_Configuration (bool PrintView) fprintf (Gbl.F.Out,"
"); /* Link to show courses */ - Act_FormStart (ActSeeCrs); - Act_PutContextualLink ("crs",Txt_Courses,Txt_Courses,Txt_Courses); + Act_PutContextualLink (ActSeeCrs,NULL,"crs",Txt_Courses); /* Link to print view */ - Act_FormStart (ActPrnDegInf); - Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print); + Act_PutContextualLink (ActPrnDegInf,NULL,"print",Txt_Print); /* Link to upload logo */ if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM) diff --git a/swad_department.c b/swad_department.c index 8c31cec6..0c9b02c3 100644 --- a/swad_department.c +++ b/swad_department.c @@ -214,8 +214,7 @@ static void Dpt_PutFormToEditDpts (void) extern const char *Txt_Edit; fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActEdiDpt); - Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit); + Act_PutContextualLink (ActEdiDpt,NULL,"edit",Txt_Edit); fprintf (Gbl.F.Out,"
"); } diff --git a/swad_enrollment.c b/swad_enrollment.c index 278c6f3d..5a59f139 100644 --- a/swad_enrollment.c +++ b/swad_enrollment.c @@ -133,8 +133,7 @@ void Enr_PutLinkToRequestSignUp (void) extern const char *Txt_Sign_up; /***** Show the form *****/ - Act_FormStart (ActReqSignUp); - Act_PutContextualLink ("signup",Txt_Sign_up,Txt_Sign_up,Txt_Sign_up); + Act_PutContextualLink (ActReqSignUp,NULL,"signup",Txt_Sign_up); } /*****************************************************************************/ @@ -287,12 +286,12 @@ void Enr_ReqAcceptRegisterInCrs (void) fprintf (Gbl.F.Out,"
"); /***** Send button to accept register in the current course *****/ - Act_FormStart (ActAccEnrCrs); - Act_PutContextualLink ("ok_green",Txt_Confirm_my_enrollment,Txt_Confirm_my_enrollment,Txt_Confirm_my_enrollment); + Act_PutContextualLink (ActAccEnrCrs,NULL, + "ok_green",Txt_Confirm_my_enrollment); /***** Send button to refuse register in the current course *****/ - Act_FormStart (ActRemMeCrs); - Act_PutContextualLink ("delon",Txt_Remove_me_from_this_course,Txt_Remove_me_from_this_course,Txt_Remove_me_from_this_course); + Act_PutContextualLink (ActRemMeCrs,NULL, + "delon",Txt_Remove_me_from_this_course); fprintf (Gbl.F.Out,"
"); @@ -629,8 +628,7 @@ static void Enr_PutLinkToRemOldUsrs (void) extern const char *Txt_Remove_old_users; /***** Put form to remove old users *****/ - Act_FormStart (ActReqRemOldUsr); - Act_PutContextualLink ("delon",Txt_Remove_old_users,Txt_Remove_old_users,Txt_Remove_old_users); + Act_PutContextualLink (ActReqRemOldUsr,NULL,"delon",Txt_Remove_old_users); } /*****************************************************************************/ @@ -1710,8 +1708,8 @@ static void Enr_PutLinkToRemAllStdsThisCrs (void) extern const char *Txt_Remove_all_students; /***** Put form to remove all the students in the current course *****/ - Act_FormStart (ActReqRemAllStdCrs); - Act_PutContextualLink ("delon",Txt_Remove_all_students,Txt_Remove_all_students,Txt_Remove_all_students); + Act_PutContextualLink (ActReqRemAllStdCrs,NULL, + "delon",Txt_Remove_all_students); } /*****************************************************************************/ @@ -2028,7 +2026,7 @@ void Enr_AskIfRejectSignUp (void) /* Button to confirm rejection */ Act_FormStart (ActRejSignUp); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); Lay_PutConfirmButton (Txt_Reject); Act_FormEnd (); @@ -2496,7 +2494,7 @@ void Enr_ShowEnrollmentRequests (void) " vertical-align:top;\">"); Act_FormStart (ActReqMdfUsr); Crs_PutParamCrsCod (Crs.CrsCod); - Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod); Lay_PutCreateButton (Txt_Register); Act_FormEnd (); fprintf (Gbl.F.Out,""); @@ -2506,7 +2504,7 @@ void Enr_ShowEnrollmentRequests (void) " vertical-align:top;\">"); Act_FormStart (ActReqRejSignUp); Crs_PutParamCrsCod (Crs.CrsCod); - Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod); Lay_PutConfirmButton (Txt_Reject); Act_FormEnd (); fprintf (Gbl.F.Out,"" @@ -2575,8 +2573,8 @@ static void Enr_PutLinkToAdminOneUsr (void) { extern const char *Txt_Admin_one_user; - Act_FormStart (ActReqMdfOneUsr); - Act_PutContextualLink ("configtest",Txt_Admin_one_user,Txt_Admin_one_user,Txt_Admin_one_user); + Act_PutContextualLink (ActReqMdfOneUsr,NULL, + "configtest",Txt_Admin_one_user); } /*****************************************************************************/ @@ -2587,8 +2585,8 @@ static void Enr_PutLinkToAdminSeveralUsrs (void) { extern const char *Txt_Admin_several_users; - Act_FormStart (ActReqMdfSevUsr); - Act_PutContextualLink ("configtest",Txt_Admin_several_users,Txt_Admin_several_users,Txt_Admin_several_users); + Act_PutContextualLink (ActReqMdfSevUsr,NULL, + "configtest",Txt_Admin_several_users); } /*****************************************************************************/ @@ -2835,11 +2833,11 @@ static void Enr_ShowFormToEditOtherUsr (void) fprintf (Gbl.F.Out,"
"); if (Pwd_CheckIfICanChangeOtherUsrPassword (Gbl.Usrs.Other.UsrDat.UsrCod)) { - ID_PutLinkToChangeUsrIDs (&Gbl.Usrs.Other.UsrDat); // Put link (form) to change user's IDs - Pwd_PutLinkToChangeUsrPassword (&Gbl.Usrs.Other.UsrDat); // Put link (form) to change user's password + ID_PutLinkToChangeUsrIDs (); // Put link (form) to change user's IDs + Pwd_PutLinkToChangeOtherUsrPassword (); // Put link (form) to change user's password } if (Pho_CheckIfICanChangeOtherUsrPhoto (Gbl.Usrs.Other.UsrDat.UsrCod)) - Pho_PutLinkToChangeUsrPhoto (&Gbl.Usrs.Other.UsrDat); // Put link (form) to change user's photo + Pho_PutLinkToChangeOtherUsrPhoto (); // Put link (form) to change user's photo fprintf (Gbl.F.Out,"
"); /***** User's record *****/ @@ -3164,7 +3162,7 @@ static void Enr_ReqAddAdm (Sco_Scope_t Scope,long Cod,const char *InsCtrDegName) Rec_ShowCommonRecordUnmodifiable (&Gbl.Usrs.Other.UsrDat); Act_FormStart (Enr_ActNewAdm[Scope]); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); Lay_PutConfirmButton (Txt_Register_user_IN_A_COURSE_OR_DEGREE); Act_FormEnd (); } @@ -3426,7 +3424,7 @@ static void Enr_AskIfRemoveUsrFromCrs (struct UsrData *UsrDat,bool ItsMe) fprintf (Gbl.F.Out,"
"); Act_FormStart (ActRemUsrCrs); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Pwd_AskForConfirmationOnDangerousAction (); Lay_PutRemoveButton (ItsMe ? Txt_Remove_me_from_this_course : Txt_Remove_user_from_this_course); @@ -3526,7 +3524,7 @@ static void Enr_AskIfRemAdm (bool ItsMe,Sco_Scope_t Scope,const char *InsCtrDegN Rec_ShowCommonRecordUnmodifiable (&Gbl.Usrs.Other.UsrDat); Act_FormStart (Enr_ActRemAdm[Scope]); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); Lay_PutRemoveButton (ItsMe ? Txt_Remove_me_as_an_administrator : Txt_Remove_user_as_an_administrator); Act_FormEnd (); diff --git a/swad_exam.c b/swad_exam.c index aca9fe55..fdfa771a 100644 --- a/swad_exam.c +++ b/swad_exam.c @@ -443,8 +443,8 @@ static void Exa_ListExamAnnouncements (Exa_tTypeViewExamAnnouncement_t TypeViewE case Rol_ROLE_TEACHER: case Rol_ROLE_SYS_ADM: fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActEdiExaAnn); - Act_PutContextualLink ("new",Txt_New_announcement_OF_EXAM,Txt_New_announcement_OF_EXAM,Txt_New_announcement_OF_EXAM); + Act_PutContextualLink (ActEdiExaAnn,NULL, + "new",Txt_New_announcement_OF_EXAM); fprintf (Gbl.F.Out,"
"); break; default: diff --git a/swad_file_browser.c b/swad_file_browser.c index 5d4d9fa5..e59b840c 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -1332,8 +1332,11 @@ static void Brw_WriteSubtitleOfFileBrowser (void); static void Brw_InitHiddenLevels (void); static void Brw_ShowSizeOfFileTree (void); static void Brw_StoreSizeOfFileTreeInDB (void); + +static void Brw_PutFormToShowOrAdminParams (void); static void Brw_PutFormToShowOrAdmin (Brw_ShowOrAdmin_t ShowOrAdmin, Act_Action_t Action); + static void Brw_WriteFormFullTree (void); static bool Brw_GetFullTreeFromForm (void); static void Brw_GetAndUpdateDateLastAccFileBrowser (void); @@ -3155,7 +3158,7 @@ static void Brw_ShowDataOwnerAsgWrk (struct UsrData *UsrDat) " text-align:left; vertical-align:top;\">"); Act_FormStart (UsrDat->RoleInCurrentCrsDB == Rol_ROLE_STUDENT ? ActSeeRecOneStd : ActSeeRecOneTch); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); /***** Show user's ID *****/ ID_WriteUsrIDs (UsrDat, @@ -4273,23 +4276,29 @@ static void Brw_PutFormToShowOrAdmin (Brw_ShowOrAdmin_t ShowOrAdmin, extern const char *Txt_Edit; fprintf (Gbl.F.Out,"
"); - Act_FormStart (Action); - if (Gbl.FileBrowser.FullTree) - Par_PutHiddenParamChar ("FullTree",'Y'); - // It's not necessary to put a parameter with the group code... - // ...because it is stored in database switch (ShowOrAdmin) { case Brw_SHOW: - Act_PutContextualLink ("visible_on",Txt_View,Txt_View,Txt_View); + Act_PutContextualLink (Action,Brw_PutFormToShowOrAdminParams, + "visible_on",Txt_View); break; case Brw_ADMIN: - Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit); + Act_PutContextualLink (Action,Brw_PutFormToShowOrAdminParams, + "edit",Txt_Edit); break; } fprintf (Gbl.F.Out,"
"); } +static void Brw_PutFormToShowOrAdminParams (void) + { + if (Gbl.FileBrowser.FullTree) + Par_PutHiddenParamChar ("FullTree",'Y'); + + // It's not necessary to put a parameter with the group code... + // ...because it is stored in database + } + /*****************************************************************************/ /************** Write a form to select whether show full tree ****************/ /*****************************************************************************/ @@ -5002,7 +5011,7 @@ static void Brw_PutIconRemoveFile (Brw_FileType_t FileType, case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActAskRemoveFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -5047,7 +5056,7 @@ static void Brw_PutIconRemoveDir (const char *PathInTree,const char *FileName,co case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActRemoveFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -5093,7 +5102,7 @@ static void Brw_PutIconCopy (Brw_FileType_t FileType, case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActCopy[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -5136,7 +5145,7 @@ static void Brw_PutIconPasteOn (const char *PathInTree,const char *FileName,cons case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActPaste[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -5203,7 +5212,7 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,Brw_ExpandTree_ case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActExpandFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -5232,7 +5241,7 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,Brw_ExpandTree_ case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActContractFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -5384,7 +5393,7 @@ static void Brw_PutIconFolder (unsigned Level,Brw_ExpandTree_t ExpandTree, case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActFormCreate[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -5452,7 +5461,7 @@ static void Brw_PutIconFileWithLinkToViewMetadata (unsigned Size,Brw_FileType_t case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActReqDatFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -5553,7 +5562,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic,Brw_FileType_t FileT case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActRenameFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -5614,7 +5623,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic,Brw_FileType_t FileT case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActDowFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -5871,7 +5880,7 @@ void Brw_AskRemFileFromTree (void) case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActRemoveFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -6028,7 +6037,7 @@ static void Brw_AskConfirmRemoveFolderNotEmpty (void) case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActRemoveFolderNotEmpty[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -7631,7 +7640,7 @@ static void Brw_PutFormToCreateAFolder (const char *FileNameToShow) case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActCreateFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -7708,7 +7717,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow) case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActUploadFileDropzone[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -7733,7 +7742,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow) case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActRefreshAfterUploadFiles[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -7782,7 +7791,7 @@ static void Brw_PutFormToUploadOneFileClassic (const char *FileNameToShow) case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActUploadFileClassic[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -7831,7 +7840,7 @@ static void Brw_PutFormToPasteAFileOrFolder (const char *FileNameToShow) case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActPaste[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -7878,7 +7887,7 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow) case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActCreateLink[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break; @@ -8833,7 +8842,7 @@ void Brw_ShowFileMetadata (void) case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (Brw_ActRecDatFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); ICanChangePublic = false; // A file in assignments or works zones can not be public... ICanChangeLicense = true; // ...but I can change its license break; diff --git a/swad_follow.c b/swad_follow.c index 55a5528e..d91bc8dd 100644 --- a/swad_follow.c +++ b/swad_follow.c @@ -141,7 +141,7 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat, { /* Form to list followed users */ Act_FormStart (Action); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Title, (Gbl.CurrentAct == Action) ? "FOLLOW_B" : "FOLLOW"); @@ -162,7 +162,7 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat, { /* Form to list followed users */ Act_FormStart (Action); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Title, (Gbl.CurrentAct == Action) ? The_ClassFormulB[Gbl.Prefs.Theme] : The_ClassFormul[Gbl.Prefs.Theme]); @@ -382,7 +382,7 @@ static void Fol_ShowFollowedOrFollowed (const struct UsrData *UsrDat) if (Fol_CheckUsrIsFollowerOf (Gbl.Usrs.Me.UsrDat.UsrCod,UsrDat->UsrCod)) { Act_FormStart (ActUnfUsr); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Txt_Unfollow,NULL); fprintf (Gbl.F.Out,"
" "EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Txt_Follow,NULL); fprintf (Gbl.F.Out,"
" "Nickname[0]) { Act_FormStart (ActSeePubPrf); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Txt_View_public_profile,"DAT"); Usr_RestrictLengthAndWriteName (UsrDat,8); fprintf (Gbl.F.Out,""); diff --git a/swad_global.h b/swad_global.h index fc298157..3f42ba39 100644 --- a/swad_global.h +++ b/swad_global.h @@ -547,6 +547,8 @@ struct Globals struct AttendanceEvent *Lst; // List of attendance events Att_EventsOrderType_t SelectedOrderType; long AttCod; + bool ShowDetails; + char *StrAttCodsSelected; } AttEvents; struct { diff --git a/swad_holiday.c b/swad_holiday.c index d49ff87c..99573e32 100644 --- a/swad_holiday.c +++ b/swad_holiday.c @@ -198,8 +198,7 @@ static void Hld_PutFormToEditHlds (void) extern const char *Txt_Edit; fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActEdiHld); - Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit); + Act_PutContextualLink (ActEdiHld,NULL,"edit",Txt_Edit); fprintf (Gbl.F.Out,"
"); } diff --git a/swad_info.c b/swad_info.c index a4f38140..067de8a3 100644 --- a/swad_info.c +++ b/swad_info.c @@ -412,8 +412,7 @@ static void Inf_PutFormToEditInfo (Inf_InfoType_t InfoType) extern const char *Txt_Edit; fprintf (Gbl.F.Out,"
"); - Act_FormStart (Inf_ActionsEditInfo[InfoType]); - Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit); + Act_PutContextualLink (Inf_ActionsEditInfo[InfoType],NULL,"edit",Txt_Edit); fprintf (Gbl.F.Out,"
"); } diff --git a/swad_institution.c b/swad_institution.c index a1219a7d..d4fd7e82 100644 --- a/swad_institution.c +++ b/swad_institution.c @@ -248,12 +248,10 @@ static void Ins_Configuration (bool PrintView) fprintf (Gbl.F.Out,"
"); /* Link to show centres */ - Act_FormStart (ActSeeCtr); - Act_PutContextualLink ("ctr",Txt_Centres,Txt_Centres,Txt_Centres); + Act_PutContextualLink (ActSeeCtr,NULL,"ctr",Txt_Centres); /* Link to print view */ - Act_FormStart (ActPrnInsInf); - Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print); + Act_PutContextualLink (ActPrnInsInf,NULL,"print",Txt_Print); /* Link to upload logo */ if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) diff --git a/swad_layout.c b/swad_layout.c index 9343e9fa..fa3e6655 100644 --- a/swad_layout.c +++ b/swad_layout.c @@ -941,8 +941,7 @@ void Lay_PutFormToView (Act_Action_t Action) extern const char *Txt_View; fprintf (Gbl.F.Out,"
"); - Act_FormStart (Action); - Act_PutContextualLink ("visible_on",Txt_View,Txt_View,Txt_View); + Act_PutContextualLink (Action,NULL,"visible_on",Txt_View); fprintf (Gbl.F.Out,"
"); } @@ -955,8 +954,7 @@ void Lay_PutFormToEdit (Act_Action_t Action) extern const char *Txt_Edit; fprintf (Gbl.F.Out,"
"); - Act_FormStart (Action); - Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit); + Act_PutContextualLink (Action,NULL,"edit",Txt_Edit); fprintf (Gbl.F.Out,"
"); } @@ -967,8 +965,7 @@ void Lay_PutFormToEdit (Act_Action_t Action) void Lay_PutSendIcon (const char *Icon,const char *Alt,const char *Text) { // margin is used because this form link may be placed after another one - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"
" "\"%s\""", Gbl.Prefs.IconsURL,Icon,Alt); diff --git a/swad_link.c b/swad_link.c index 8c1659b7..40175233 100644 --- a/swad_link.c +++ b/swad_link.c @@ -121,8 +121,7 @@ static void Lnk_PutFormToEditLinks (void) extern const char *Txt_Edit; fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActEdiLnk); - Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit); + Act_PutContextualLink (ActEdiLnk,NULL,"edit",Txt_Edit); fprintf (Gbl.F.Out,"
"); } diff --git a/swad_logo.c b/swad_logo.c index 26e6945d..0a6d90e5 100644 --- a/swad_logo.c +++ b/swad_logo.c @@ -179,7 +179,6 @@ void Log_PutFormToChangeLogo (Sco_Scope_t Scope) long Cod; const char *Folder; const char *Icon; - const char *Msg; char PathLogo[PATH_MAX+1]; bool LogoExists; @@ -217,10 +216,8 @@ void Log_PutFormToChangeLogo (Sco_Scope_t Scope) LogoExists = Fil_CheckIfPathExists (PathLogo); /***** Link for changing / uploading the logo *****/ - Act_FormStart (Action); - Msg = LogoExists ? Txt_Change_logo : - Txt_Upload_logo; - Act_PutContextualLink (Icon,Msg,Msg,Msg); + Act_PutContextualLink (Action,NULL,Icon,LogoExists ? Txt_Change_logo : + Txt_Upload_logo); } /*****************************************************************************/ diff --git a/swad_mail.c b/swad_mail.c index 035acf35..acba17c2 100644 --- a/swad_mail.c +++ b/swad_mail.c @@ -177,8 +177,7 @@ static void Mai_PutFormToEditMailDomains (void) extern const char *Txt_Edit; fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActEdiMai); - Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit); + Act_PutContextualLink (ActEdiMai,NULL,"edit",Txt_Edit); fprintf (Gbl.F.Out,"
"); } diff --git a/swad_message.c b/swad_message.c index 13c2994f..db4d326e 100644 --- a/swad_message.c +++ b/swad_message.c @@ -308,7 +308,7 @@ static void Msg_PutFormMsgUsrs (const char *Content) { Par_PutHiddenParamChar ("IsReply",'Y'); Msg_PutHiddenParamMsgCod (Gbl.Msg.RepliedMsgCod); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); } /* Start table */ @@ -1667,8 +1667,7 @@ static void Msg_PutLinkToViewBannedUsers(void) { extern const char *Txt_Banned_users; - Act_FormStart (ActLstBanUsr); - Act_PutContextualLink ("stop",Txt_Banned_users,Txt_Banned_users,Txt_Banned_users); + Act_PutContextualLink (ActLstBanUsr,NULL,"stop",Txt_Banned_users); } /*****************************************************************************/ @@ -2151,9 +2150,6 @@ void Msg_ShowFormDelSentOrRecMsgs (Msg_TypeOfMessages_t TypeOfMessages,unsigned /***** Put link to request deletion of all sent or received messages *****/ fprintf (Gbl.F.Out,"
"); - Act_FormStart ((TypeOfMessages == Msg_MESSAGES_RECEIVED) ? ActReqDelAllRcvMsg : ActReqDelAllSntMsg); - Msg_PutHiddenParamsMsgsFilters (); - if (Gbl.Msg.FilterContent[0]) sprintf (StrFilterContent,", %s %s", NumMsgs == 1 ? Txt_MSG_containing_the_text : @@ -2161,7 +2157,6 @@ void Msg_ShowFormDelSentOrRecMsgs (Msg_TypeOfMessages_t TypeOfMessages,unsigned Gbl.Msg.FilterContent); else StrFilterContent[0] = '\0'; - if (NumMsgs == 1) sprintf (Gbl.Title,"%s %s %s, %s %s%s", Txt_Remove_the_MESSAGE, @@ -2184,7 +2179,10 @@ void Msg_ShowFormDelSentOrRecMsgs (Msg_TypeOfMessages_t TypeOfMessages,unsigned Txt_from_A_COURSE, Gbl.Msg.FilterCrsShortName, StrFilterContent); - Act_PutContextualLink ("delon",Gbl.Title,Gbl.Title,Gbl.Title); + Act_PutContextualLink ((TypeOfMessages == Msg_MESSAGES_RECEIVED) ? ActReqDelAllRcvMsg : + ActReqDelAllSntMsg, + Msg_PutHiddenParamsMsgsFilters, + "delon",Gbl.Title); fprintf (Gbl.F.Out,"
"); } @@ -2955,7 +2953,7 @@ static void Msg_WriteFormToReply (long MsgCod,long CrsCod,const char *Subject, Grp_PutParamAllGroups (); Par_PutHiddenParamChar ("IsReply",'Y'); Msg_PutHiddenParamMsgCod (MsgCod); - Usr_PutParamOtherUsrCodEncrypted (EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (EncryptedUsrCod); // Par_PutHiddenParamString ("UsrCodAll",EncryptedUsrCod); fprintf (Gbl.F.Out,"", @@ -3322,7 +3320,7 @@ static void Msg_PutFormToBanSender (struct UsrData *UsrDat) Act_FormStart (ActBanUsrMsg); Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Msg_PutHiddenParamsMsgsFilters (); fprintf (Gbl.F.Out," " "EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Msg_PutHiddenParamsMsgsFilters (); fprintf (Gbl.F.Out," " "" ""); Act_FormStart (ActUnbUsrLst); - Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod); fprintf (Gbl.F.Out,"", diff --git a/swad_nickname.c b/swad_nickname.c index 9d397f3c..eb1ffe59 100644 --- a/swad_nickname.c +++ b/swad_nickname.c @@ -256,7 +256,7 @@ void Nck_ShowFormChangeUsrNickname (void) /* Link to QR code */ if (NumNick == 1 && Gbl.Usrs.Me.UsrDat.Nickname[0]) - QR_PutLinkToPrintQRCode (QR_NICKNAME,&Gbl.Usrs.Me.UsrDat,false); + QR_PutLinkToPrintQRCode (&Gbl.Usrs.Me.UsrDat,false); /* Form to change the nickname */ if (NumNick > 1) diff --git a/swad_notice.c b/swad_notice.c index b6ec329e..85008a5d 100644 --- a/swad_notice.c +++ b/swad_notice.c @@ -320,8 +320,7 @@ void Not_ShowNotices (Not_Listing_t TypeNoticesListing) if (ICanEditNotices) { fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActWriNot); - Act_PutContextualLink ("new",Txt_New_notice,Txt_New_notice,Txt_New_notice); + Act_PutContextualLink (ActWriNot,NULL,"new",Txt_New_notice); fprintf (Gbl.F.Out,"
"); } diff --git a/swad_notification.c b/swad_notification.c index 19e10fa3..ee16b4b8 100644 --- a/swad_notification.c +++ b/swad_notification.c @@ -1636,8 +1636,7 @@ static void Ntf_PutLinkToChangePrefs (void) { extern const char *Txt_Change_preferences; - Act_FormStart (ActEdiPrf); - Act_PutContextualLink ("heart",Txt_Change_preferences,Txt_Change_preferences,Txt_Change_preferences); + Act_PutContextualLink (ActEdiPrf,NULL,"heart",Txt_Change_preferences); } /*****************************************************************************/ diff --git a/swad_password.c b/swad_password.c index 025ad867..58468e4b 100644 --- a/swad_password.c +++ b/swad_password.c @@ -65,6 +65,8 @@ extern struct Globals Gbl; /***************************** Private prototypes ****************************/ /*****************************************************************************/ +static void Pwd_PutLinkToSendNewPasswdParams (void); + static void Pwd_CreateANewPassword (char PlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD+1]); static bool Pwd_CheckIfPasswdIsUsrIDorName (const char *PlainPassword); @@ -211,6 +213,23 @@ void Pwd_ActChgMyPwd2 (void) /*************** Show form to send a new password by e-mail ******************/ /*****************************************************************************/ +void Pwd_PutLinkToSendNewPasswd (void) + { + extern const char *Txt_I_forgot_my_password; + + Act_PutContextualLink (ActReqSndNewPwd,Pwd_PutLinkToSendNewPasswdParams, + "key",Txt_I_forgot_my_password); + } + +static void Pwd_PutLinkToSendNewPasswdParams (void) + { + Par_PutHiddenParamString ("UsrId",Gbl.Usrs.Me.UsrIdLogin); + } + +/*****************************************************************************/ +/*************** Show form to send a new password by e-mail ******************/ +/*****************************************************************************/ + void Pwd_ShowFormSendNewPwd (void) { extern const char *The_ClassFormul[The_NUM_THEMES]; @@ -759,7 +778,7 @@ void Pwd_ShowFormOthPwd (void) /***** Form to change password *****/ /* Start form */ Act_FormStart (ActChgPwdOthUsr); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); /* New password */ Pwd_PutFormToGetNewPasswordTwice (); @@ -777,26 +796,30 @@ void Pwd_ShowFormOthPwd (void) } /*****************************************************************************/ -/******** Put a link to the action used to request user's password ***********/ +/********* Put a link to the action used to change user's password ***********/ /*****************************************************************************/ -void Pwd_PutLinkToChangeUsrPassword (const struct UsrData *UsrDat) +void Pwd_PutLinkToChangeMyPassword (void) + { + extern const char *Txt_Change_password; + + /***** Link for changing the password *****/ + Act_PutContextualLink (ActFrmChgMyPwd,NULL,"key",Txt_Change_password); + } + +/*****************************************************************************/ +/********* Put a link to the action used to change user's password ***********/ +/*****************************************************************************/ + +void Pwd_PutLinkToChangeOtherUsrPassword (void) { extern const char *Txt_Change_password; extern const char *Txt_User_not_found_or_you_do_not_have_permission_; /***** Link for changing the password *****/ - if (Pwd_CheckIfICanChangeOtherUsrPassword (UsrDat->UsrCod)) - { - if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me - Act_FormStart (ActFrmChgMyPwd); - else // Not me - { - Act_FormStart (ActFrmPwdOthUsr); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); - } - Act_PutContextualLink ("key",Txt_Change_password,Txt_Change_password,Txt_Change_password); - } + if (Pwd_CheckIfICanChangeOtherUsrPassword (Gbl.Usrs.Other.UsrDat.UsrCod)) + Act_PutContextualLink (ActFrmPwdOthUsr,Usr_PutParamOtherUsrCodEncrypted, + "key",Txt_Change_password); else Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_); } diff --git a/swad_password.h b/swad_password.h index 20c6c1c2..3f0417e4 100644 --- a/swad_password.h +++ b/swad_password.h @@ -46,6 +46,8 @@ void Pwd_AssignMyPendingPasswordToMyCurrentPassword (void); void Pwd_ActChgMyPwd1 (void); void Pwd_ActChgMyPwd2 (void); + +void Pwd_PutLinkToSendNewPasswd (void); void Pwd_ShowFormSendNewPwd (void); void Pwd_ChkIdLoginAndSendNewPwd (void); int Pwd_SendNewPasswordByEmail (char NewRandomPlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD+1]); @@ -62,7 +64,10 @@ bool Pwd_FastCheckIfPasswordSeemsGood (const char *PlainPassword); void Pwd_ShowFormChgPwd (void); void Pwd_PutFormToGetNewPasswordTwice (void); void Pwd_ShowFormOthPwd (void); -void Pwd_PutLinkToChangeUsrPassword (const struct UsrData *UsrDat); + +void Pwd_PutLinkToChangeMyPassword (void); +void Pwd_PutLinkToChangeOtherUsrPassword (void); + bool Pwd_CheckIfICanChangeOtherUsrPassword (long UsrCod); void Pwd_AskForConfirmationOnDangerousAction (void); diff --git a/swad_photo.c b/swad_photo.c index a6d46098..af6caf3b 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -85,7 +85,9 @@ const char *Pho_StrAvgPhotoPrograms[Pho_NUM_AVERAGE_PHOTO_TYPES] = /***************************** Private prototypes ****************************/ /*****************************************************************************/ -static void Pho_PutLinkToRemoveUsrPhoto (const struct UsrData *UsrDat); +static void Pho_PutLinkToRemoveMyPhoto (void); +static void Pho_PutLinkToRemoveOtherUsrPhoto (void); + static void Pho_UpdatePhoto1 (struct UsrData *UsrDat); static void Pho_UpdatePhoto2 (void); static void Pho_ClearPhotoName (long UsrCod); @@ -102,7 +104,10 @@ static void Pho_PutSelectorForHowComputePhotoSize (void); static Pho_HowComputePhotoSize_t Pho_GetHowComputePhotoSizeFromForm (void); static void Pho_PutSelectorForHowOrderDegrees (void); static Pho_HowOrderDegrees_t Pho_GetHowOrderDegreesFromForm (void); + static void Pho_PutLinkToPrintViewOfDegreeStats (void); +static void Pho_PutLinkToPrintViewOfDegreeStatsParams (void); + static void Pho_PutLinkToCalculateDegreeStats (void); static void Pho_GetMaxStdsPerDegree (void); static void Pho_ShowOrPrintClassPhotoDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint); @@ -143,48 +148,60 @@ bool Pho_CheckIfICanChangeOtherUsrPhoto (long UsrCod) /********** Put a link to the action used to request user's photo ************/ /*****************************************************************************/ -void Pho_PutLinkToChangeUsrPhoto (const struct UsrData *UsrDat) +void Pho_PutLinkToChangeMyPhoto (void) + { + extern const char *Txt_Change_photo; + extern const char *Txt_Upload_photo; + bool PhotoExists; + + /***** Link for changing / uploading the photo *****/ + PhotoExists = Gbl.Usrs.Me.MyPhotoExists; + Act_PutContextualLink (ActReqMyPho,NULL, + "photo",PhotoExists ? Txt_Change_photo : + Txt_Upload_photo); + } + +/*****************************************************************************/ +/********** Put a link to the action used to request user's photo ************/ +/*****************************************************************************/ + +void Pho_PutLinkToChangeOtherUsrPhoto (void) { extern const char *Txt_Change_photo; extern const char *Txt_Upload_photo; bool PhotoExists; char PhotoURL[PATH_MAX+1]; - const char *Msg; /***** Link for changing / uploading the photo *****/ - if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me - { - PhotoExists = Gbl.Usrs.Me.MyPhotoExists; - Act_FormStart (ActReqMyPho); - } - else // Not me - { - PhotoExists = Pho_BuildLinkToPhoto (UsrDat,PhotoURL,true); - Act_FormStart (ActReqUsrPho); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); - } - Msg = PhotoExists ? Txt_Change_photo : - Txt_Upload_photo; - Act_PutContextualLink ("photo",Msg,Msg,Msg); + PhotoExists = Pho_BuildLinkToPhoto (&Gbl.Usrs.Other.UsrDat,PhotoURL,true); + Act_PutContextualLink (ActReqUsrPho,Usr_PutParamOtherUsrCodEncrypted, + "photo",PhotoExists ? Txt_Change_photo : + Txt_Upload_photo); } /*****************************************************************************/ /********************* Put a link to remove user's photo *********************/ /*****************************************************************************/ -static void Pho_PutLinkToRemoveUsrPhoto (const struct UsrData *UsrDat) +static void Pho_PutLinkToRemoveMyPhoto (void) { extern const char *Txt_Remove_photo; /***** Link for removing the photo *****/ - if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me - Act_FormStart (ActRemMyPho); - else // Not me - { - Act_FormStart (ActRemUsrPho); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); - } - Act_PutContextualLink ("delon",Txt_Remove_photo,Txt_Remove_photo,Txt_Remove_photo); + Act_PutContextualLink (ActRemMyPho,NULL,"delon",Txt_Remove_photo); + } + +/*****************************************************************************/ +/********************* Put a link to remove user's photo *********************/ +/*****************************************************************************/ + +static void Pho_PutLinkToRemoveOtherUsrPhoto (void) + { + extern const char *Txt_Remove_photo; + + /***** Link for removing the photo *****/ + Act_PutContextualLink (ActRemUsrPho,Usr_PutParamOtherUsrCodEncrypted, + "delon",Txt_Remove_photo); } /*****************************************************************************/ @@ -230,9 +247,13 @@ void Pho_ReqPhoto (const struct UsrData *UsrDat,bool PhotoExists,const char *Pho { /***** Forms to remove photo and make it public *****/ fprintf (Gbl.F.Out,"
"); - Pho_PutLinkToRemoveUsrPhoto (UsrDat); if (ItsMe) + { + Pho_PutLinkToRemoveMyPhoto (); Pri_PutLinkToChangeMyPrivacy (); // Put link (form) to change my privacy + } + else + Pho_PutLinkToRemoveOtherUsrPhoto (); fprintf (Gbl.F.Out,"
"); /* Show photo */ @@ -248,7 +269,7 @@ void Pho_ReqPhoto (const struct UsrData *UsrDat,bool PhotoExists,const char *Pho else { Act_FormStart (ActDetUsrPho); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); } fprintf (Gbl.F.Out,"" "" @@ -498,7 +519,7 @@ void Pho_ReceivePhotoAndDetectFaces (bool ItsMe,const struct UsrData *UsrDat) Act_FormStart (ItsMe ? ActUpdMyPho : ActUpdUsrPho); if (!ItsMe) - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Par_PutHiddenParamString ("FileName",StrFileName); Act_FormEnd (); } @@ -962,7 +983,7 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL, if (PutLinkToPublicProfile) { Act_FormStart (ActSeePubPrf); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (NULL,NULL); } @@ -1667,15 +1688,19 @@ static void Pho_PutLinkToPrintViewOfDegreeStats (void) extern const char *Txt_Print; fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActPrnPhoDeg); + Act_PutContextualLink (ActPrnPhoDeg,Pho_PutLinkToPrintViewOfDegreeStatsParams, + "print",Txt_Print); + fprintf (Gbl.F.Out,"
"); + } + +static void Pho_PutLinkToPrintViewOfDegreeStatsParams (void) + { Pho_PutHiddenParamTypeOfAvg (); Pho_PutHiddenParamPhotoSize (); Pho_PutHiddenParamOrderDegrees (); Usr_PutParamUsrListType (Gbl.Usrs.Me.ListType); Usr_PutParamColsClassPhoto (); Usr_PutParamListWithPhotos (); - Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print); - fprintf (Gbl.F.Out,""); } /*****************************************************************************/ diff --git a/swad_photo.h b/swad_photo.h index 75a0a005..1e472b44 100644 --- a/swad_photo.h +++ b/swad_photo.h @@ -81,7 +81,8 @@ typedef enum /*****************************************************************************/ bool Pho_CheckIfICanChangeOtherUsrPhoto (long UsrCod); -void Pho_PutLinkToChangeUsrPhoto (const struct UsrData *UsrDat); +void Pho_PutLinkToChangeMyPhoto (void); +void Pho_PutLinkToChangeOtherUsrPhoto (void); void Pho_ReqMyPhoto (void); void Pho_ReqUsrPhoto (struct UsrData *UsrDat); void Pho_ReqPhoto (const struct UsrData *UsrDat,bool PhotoExists,const char *PhotoURL); diff --git a/swad_place.c b/swad_place.c index 3e3c6f68..0648de22 100644 --- a/swad_place.c +++ b/swad_place.c @@ -203,8 +203,7 @@ static void Plc_PutFormToEditPlcs (void) extern const char *Txt_Edit; fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActEdiPlc); - Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit); + Act_PutContextualLink (ActEdiPlc,NULL,"edit",Txt_Edit); fprintf (Gbl.F.Out,"
"); } diff --git a/swad_plugin.c b/swad_plugin.c index 11b69c6a..c84b191d 100644 --- a/swad_plugin.c +++ b/swad_plugin.c @@ -153,8 +153,7 @@ static void Plg_PutFormToEditPlugins (void) extern const char *Txt_Edit; fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActEdiPlg); - Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit); + Act_PutContextualLink (ActEdiPlg,NULL,"edit",Txt_Edit); fprintf (Gbl.F.Out,"
"); } diff --git a/swad_profile.c b/swad_profile.c index d3e3dd0f..c3d95a63 100644 --- a/swad_profile.c +++ b/swad_profile.c @@ -438,7 +438,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) { /***** Button to fetch and store first click time *****/ Act_FormStart (ActCal1stClkTim); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]); Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate); Act_FormEnd (); @@ -480,7 +480,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) { /***** Button to fetch and store number of clicks *****/ Act_FormStart (ActCalNumClk); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]); Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate); Act_FormEnd (); @@ -517,7 +517,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) { /***** Button to fetch and store number of file views *****/ Act_FormStart (ActCalNumFilVie); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]); Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate); Act_FormEnd (); @@ -554,7 +554,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) { /***** Button to fetch and store number of forum posts *****/ Act_FormStart (ActCalNumForPst); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]); Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate); Act_FormEnd (); @@ -591,7 +591,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) { /***** Button to fetch and store number of messages sent *****/ Act_FormStart (ActCalNumMsgSnt); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]); Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate); Act_FormEnd (); @@ -1506,7 +1506,7 @@ void Prf_ShowUsrInRanking (const struct UsrData *UsrDat,unsigned Rank) if (Visible) { Act_FormStart (ActSeePubPrf); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Txt_View_public_profile,"DAT_SMALL"); Usr_RestrictLengthAndWriteName (UsrDat,8); fprintf (Gbl.F.Out,""); diff --git a/swad_record.c b/swad_record.c index 3ce4488b..782d5343 100644 --- a/swad_record.c +++ b/swad_record.c @@ -871,8 +871,7 @@ void Rec_PutLinkToEditRecordFields (void) extern const char *Txt_Edit_record_fields; /***** Link to edit record fields *****/ - Act_FormStart (ActEdiRecFie); - Act_PutContextualLink ("edit",Txt_Edit_record_fields,Txt_Edit_record_fields,Txt_Edit_record_fields); + Act_PutContextualLink (ActEdiRecFie,NULL,"edit",Txt_Edit_record_fields); } /*****************************************************************************/ @@ -1496,7 +1495,7 @@ void Rec_ShowCrsRecord (Rec_RecordViewType_t TypeOfView,struct UsrData *UsrDat) case Rec_RECORD_LIST: DataForm = true; Act_FormStart (ActRcvRecOthUsr); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); //RecordWidth = Rec_WIDTH_COURSE_RECORD; FrameWidth = 10; ClassHead = "HEAD_REC_SMALL"; @@ -1871,7 +1870,7 @@ void Rec_ShowFormMyCommRecord (void) fprintf (Gbl.F.Out,"
"); Rec_PutLinkToChangeMyInsCtrDpt (); // Put link (form) to change my institution, centre, department... Rec_PutLinkToChangeMySocialNetworks (); // Put link (form) to change my social networks - Pho_PutLinkToChangeUsrPhoto (&Gbl.Usrs.Me.UsrDat); // Put link (form) to change my photo + Pho_PutLinkToChangeMyPhoto (); // Put link (form) to change my photo Pri_PutLinkToChangeMyPrivacy (); // Put link (form) to change my privacy fprintf (Gbl.F.Out,"
"); @@ -2194,7 +2193,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, { Act_FormStart ((UsrDat->RoleInCurrentCrsDB == Rol_ROLE_STUDENT) ? ActSeeRecOneStd : ActSeeRecOneTch); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Txt_View_record_for_this_course,NULL); fprintf (Gbl.F.Out,"
" "EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Txt_Admin_user,NULL); fprintf (Gbl.F.Out,"
" "EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); else Msg_PutHiddenParamAnotherRecipient (UsrDat); Act_LinkFormSubmit (Txt_Write_a_message,ClassData); @@ -2313,7 +2312,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, if (Fol_CheckUsrIsFollowerOf (Gbl.Usrs.Me.UsrDat.UsrCod,UsrDat->UsrCod)) { Act_FormStart (ActUnfUsr); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Txt_Unfollow,ClassData); fprintf (Gbl.F.Out,"
" "EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Txt_Follow,ClassData); fprintf (Gbl.F.Out,"
" "EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Txt_View_public_profile,"REC_NICK"); } fprintf (Gbl.F.Out,"@%s",UsrDat->Nickname); @@ -2374,11 +2373,10 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, { fprintf (Gbl.F.Out,""); Act_FormEnd (); - } - /* Link to QR code */ - if (!DataForm) - QR_PutLinkToPrintQRCode (QR_NICKNAME,UsrDat,false); + /* Link to QR code */ + QR_PutLinkToPrintQRCode (UsrDat,false); + } } fprintf (Gbl.F.Out,"
" "" @@ -2423,7 +2421,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, break; case Rec_FORM_MODIFY_RECORD_OTHER_EXISTING_USR: Act_FormStart (ActUpdOthUsrDat); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); // Existing user + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); // Existing user break; default: break; @@ -3229,8 +3227,8 @@ static void Rec_PutLinkToChangeMyInsCtrDpt (void) extern const char *Txt_Edit_my_institution; /***** Link to edit my institution, centre, department... *****/ - Act_FormStart (ActReqEdiMyIns); - Act_PutContextualLink ("institution",Txt_Edit_my_institution,Txt_Edit_my_institution,Txt_Edit_my_institution); + Act_PutContextualLink (ActReqEdiMyIns,NULL, + "institution",Txt_Edit_my_institution); } /*****************************************************************************/ @@ -3242,8 +3240,8 @@ static void Rec_PutLinkToChangeMySocialNetworks (void) extern const char *Txt_Edit_my_webs_networks; /***** Link to edit my social networks *****/ - Act_FormStart (ActReqEdiMyNet); - Act_PutContextualLink ("earth",Txt_Edit_my_webs_networks,Txt_Edit_my_webs_networks,Txt_Edit_my_webs_networks); + Act_PutContextualLink (ActReqEdiMyNet,NULL, + "earth",Txt_Edit_my_webs_networks); } /*****************************************************************************/ diff --git a/swad_survey.c b/swad_survey.c index 9220e137..bf6f876c 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -97,7 +97,10 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,bool Sh static void Svy_WriteAuthor (struct Survey *Svy); static void Svy_WriteStatus (struct Survey *Svy); static void Svy_GetParamSvyOrderType (void); + static void Svy_PutFormToCreateNewSvy (void); +static void Svy_PutFormToCreateNewSvyParams (void); + static void Svy_PutFormsToRemEditOneSvy (long SvyCod,bool Visible); static void Svy_GetSurveyTxtFromDB (long SvyCod,char *Txt); static void Svy_PutParamSvyCod (long SvyCod); @@ -697,12 +700,16 @@ static void Svy_PutFormToCreateNewSvy (void) extern const char *Txt_New_survey; fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActFrmNewSvy); + Act_PutContextualLink (ActFrmNewSvy,Svy_PutFormToCreateNewSvyParams, + "new",Txt_New_survey); + fprintf (Gbl.F.Out,"
"); + } + +static void Svy_PutFormToCreateNewSvyParams (void) + { Svy_PutHiddenParamSvyOrderType (); Grp_PutParamWhichGrps (); Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); - Act_PutContextualLink ("new",Txt_New_survey,Txt_New_survey,Txt_New_survey); - fprintf (Gbl.F.Out,"
"); } /*****************************************************************************/ diff --git a/swad_test.c b/swad_test.c index 9329d4ab..876d232e 100644 --- a/swad_test.c +++ b/swad_test.c @@ -314,9 +314,9 @@ static void Tst_PutFormToSeeResultsOfUsersTests (void) { extern const char *Txt_Results_tests; - Act_FormStart (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT ? ActReqSeeMyTstExa: - ActReqSeeUsrTstExa); - Act_PutContextualLink ("file",Txt_Results_tests,Txt_Results_tests,Txt_Results_tests); + Act_PutContextualLink (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT ? ActReqSeeMyTstExa : + ActReqSeeUsrTstExa, + NULL,"file",Txt_Results_tests); } /*****************************************************************************/ @@ -327,8 +327,7 @@ static void Tst_PutFormToEdit (void) { extern const char *Txt_Edit; - Act_FormStart (ActEdiTstQst); - Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit); + Act_PutContextualLink (ActEdiTstQst,NULL,"edit",Txt_Edit); } /*****************************************************************************/ @@ -339,8 +338,7 @@ static void Tst_PutFormToConfigure (void) { extern const char *Txt_Configure; - Act_FormStart (ActCfgTst); - Act_PutContextualLink ("configtest",Txt_Configure,Txt_Configure,Txt_Configure); + Act_PutContextualLink (ActCfgTst,NULL,"configtest",Txt_Configure); } /*****************************************************************************/ @@ -6493,7 +6491,7 @@ static void Tst_ShowDataUsr (struct UsrData *UsrDat,unsigned NumExams) Gbl.ColorRows[Gbl.RowEvenOdd]); Act_FormStart (UsrDat->RoleInCurrentCrsDB == Rol_ROLE_STUDENT ? ActSeeRecOneStd : ActSeeRecOneTch); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (UsrDat->FullName,"MSG_AUT"); /***** Show user's ID *****/ diff --git a/swad_timetable.c b/swad_timetable.c index 83b4a1df..8103b336 100644 --- a/swad_timetable.c +++ b/swad_timetable.c @@ -252,25 +252,17 @@ void TT_ShowClassTimeTable (void) fprintf (Gbl.F.Out,"
"); if (PutEditButton) - { - Act_FormStart (ActEdiCrsTimTbl); - Grp_PutParamWhichGrps (); - Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit); - } + Act_PutContextualLink (ActEdiCrsTimTbl,Grp_PutParamWhichGrps, + "edit",Txt_Edit); if (PutEditOfficeHours) - { - Act_FormStart (ActEdiTut); - Act_PutContextualLink ("edit",Txt_Edit_office_hours,Txt_Edit_office_hours,Txt_Edit_office_hours); - } + Act_PutContextualLink (ActEdiTut,NULL,"edit",Txt_Edit_office_hours); if (!PrintView) - { - Act_FormStart (Gbl.CurrentAct == ActSeeCrsTimTbl ? ActPrnCrsTimTbl : - ActPrnMyTimTbl); - Grp_PutParamWhichGrps (); - Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print); - } + Act_PutContextualLink (Gbl.CurrentAct == ActSeeCrsTimTbl ? ActPrnCrsTimTbl : + ActPrnMyTimTbl, + Grp_PutParamWhichGrps,"print",Txt_Print); + fprintf (Gbl.F.Out,"
"); } @@ -318,8 +310,7 @@ void TT_EditCrsTimeTable (void) /***** Link (form) to see my timetable *****/ fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActSeeCrsTimTbl); - Act_PutContextualLink ("clock",Txt_Show_timetable,Txt_Show_timetable,Txt_Show_timetable); + Act_PutContextualLink (ActSeeCrsTimTbl,NULL,"clock",Txt_Show_timetable); fprintf (Gbl.F.Out,"
"); /***** Start of table *****/ @@ -347,8 +338,7 @@ void TT_ShowMyTutTimeTable (void) /***** Link (form) to see my timetable *****/ fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActSeeMyTimTbl); - Act_PutContextualLink ("clock",Txt_Show_timetable,Txt_Show_timetable,Txt_Show_timetable); + Act_PutContextualLink (ActSeeMyTimTbl,NULL,"clock",Txt_Show_timetable); fprintf (Gbl.F.Out,"
"); /***** Time table *****/ diff --git a/swad_user.c b/swad_user.c index ec9e89b8..185c5473 100644 --- a/swad_user.c +++ b/swad_user.c @@ -161,6 +161,11 @@ static void Usr_UpdateMyColsClassPhotoInDB (void); static void Usr_GetAndUpdatePrefAboutListWithPhotos (void); static bool Usr_GetParamListWithPhotosFromForm (void); static void Usr_UpdateMyPrefAboutListWithPhotosPhotoInDB (void); + +static void Usr_PutLinkToShowGuestsAllDataParams (void); +static void Usr_PutLinkToShowStdsAllDataParams (void); +static void Usr_PutLinkToShowTchsAllDataParams (void); + static void Usr_PutLinkToListOfficialStudents (void); static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType, @@ -192,7 +197,7 @@ void Usr_InformAboutNumClicksBeforePhoto (void) Lay_ShowAlert (Lay_WARNING,Message); fprintf (Gbl.F.Out,"
"); - Pho_PutLinkToChangeUsrPhoto (&Gbl.Usrs.Me.UsrDat); + Pho_PutLinkToChangeMyPhoto (); fprintf (Gbl.F.Out,"
"); } } @@ -1341,15 +1346,13 @@ void Usr_WriteFormLogin (void) extern const char *Txt_nick_email_or_ID; extern const char *Txt_Password; extern const char *Txt_password; - extern const char *Txt_I_forgot_my_password; /***** Links to other actions *****/ fprintf (Gbl.F.Out,"
"); /* Link to create a new account */ - Act_FormStart (ActFrmUsrAcc); sprintf (Gbl.Title,Txt_New_on_PLATFORM_Sign_up,Cfg_PLATFORM_SHORT_NAME); - Act_PutContextualLink ("arroba",Gbl.Title,Gbl.Title,Gbl.Title); + Act_PutContextualLink (ActFrmUsrAcc,NULL,"arroba",Gbl.Title); /* Link to enter from external site */ if (Cfg_EXTERNAL_LOGIN_URL[0] && @@ -1364,9 +1367,7 @@ void Usr_WriteFormLogin (void) } /* Link to send a new password */ - Act_FormStart (ActReqSndNewPwd); - Par_PutHiddenParamString ("UsrId",Gbl.Usrs.Me.UsrIdLogin); - Act_PutContextualLink ("key",Txt_I_forgot_my_password,Txt_I_forgot_my_password,Txt_I_forgot_my_password); + Pwd_PutLinkToSendNewPasswd (); fprintf (Gbl.F.Out,"
"); @@ -1471,7 +1472,7 @@ void Usr_WelcomeUsr (void) !Gbl.Usrs.Me.MyPhotoExists) // Check if I have no photo { Lay_ShowAlert (Lay_WARNING,Txt_You_dont_have_photo); - Pho_PutLinkToChangeUsrPhoto (&Gbl.Usrs.Me.UsrDat); + Pho_PutLinkToChangeMyPhoto (); } fprintf (Gbl.F.Out,"
"); @@ -1705,7 +1706,12 @@ unsigned Usr_GetParamOtherUsrIDNickOrEMailAndGetUsrCods (struct ListUsrCods *Lis /********* Put hidden parameter encrypted user's code of other user **********/ /*****************************************************************************/ -void Usr_PutParamOtherUsrCodEncrypted (const char EncryptedUsrCod[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64+1]) +void Usr_PutParamOtherUsrCodEncrypted (void) + { + Usr_PutParamUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + } + +void Usr_PutParamUsrCodEncrypted (const char EncryptedUsrCod[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64+1]) { Par_PutHiddenParamString ("OtherUsrCod",EncryptedUsrCod); } @@ -2454,8 +2460,7 @@ void Usr_ShowFormsLogoutAndRole (void) /***** Link to log out *****/ fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActLogOut); - Act_PutContextualLink ("logout",Txt_Log_out,Txt_Log_out,Txt_Log_out); + Act_PutContextualLink (ActLogOut,NULL,"logout",Txt_Log_out); fprintf (Gbl.F.Out,"
"); /***** Write message with my new logged role *****/ @@ -4805,7 +4810,7 @@ void Usr_PutExtraParamsUsrList (Act_Action_t NextAction) { Par_PutHiddenParamChar ("IsReply",'Y'); Msg_PutHiddenParamMsgCod (Gbl.Msg.RepliedMsgCod); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); } break; case ActSeePhoDeg: @@ -6334,15 +6339,13 @@ void Usr_SeeGuests (void) { case Usr_CLASS_PHOTO: /***** Link to print view *****/ - Act_FormStart (ActPrnInvPho); - Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print); + Act_PutContextualLink (ActPrnInvPho,Usr_PutLinkToShowGuestsAllDataParams, + "print",Txt_Print); break; case Usr_LIST: /****** Link to show all the data ******/ - Act_FormStart (ActLstInvAll); - Usr_PutParamListWithPhotos (); - Usr_PutExtraParamsUsrList (ActLstInvAll); - Act_PutContextualLink ("table",Txt_Show_all_data,Txt_Show_all_data,Txt_Show_all_data); + Act_PutContextualLink (ActLstInvAll,Usr_PutLinkToShowGuestsAllDataParams, + "table",Txt_Show_all_data); break; } fprintf (Gbl.F.Out,"
"); @@ -6395,6 +6398,26 @@ void Usr_SeeGuests (void) Usr_FreeUsrsList (&Gbl.Usrs.LstGsts); } +static void Usr_PutLinkToShowGuestsAllDataParams (void) + { + Usr_PutParamListWithPhotos (); + Usr_PutExtraParamsUsrList (ActLstInvAll); + } + +static void Usr_PutLinkToShowStdsAllDataParams (void) + { + Grp_PutParamsCodGrps (); + Usr_PutParamListWithPhotos (); + Usr_PutExtraParamsUsrList (ActLstStdAll); + } + +static void Usr_PutLinkToShowTchsAllDataParams (void) + { + Sco_PutParamScope (Gbl.Scope.Current); + Usr_PutParamListWithPhotos (); + Usr_PutExtraParamsUsrList (ActLstTchAll); + } + /*****************************************************************************/ /******************** Show list or class photo of students *******************/ /*****************************************************************************/ @@ -6479,9 +6502,8 @@ void Usr_SeeStudents (void) case Usr_CLASS_PHOTO: /***** Link to print view *****/ fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActPrnStdPho); - Grp_PutParamsCodGrps (); - Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print); + Act_PutContextualLink (ActPrnStdPho,Usr_PutLinkToShowStdsAllDataParams, + "print",Txt_Print); fprintf (Gbl.F.Out,"
"); break; case Usr_LIST: @@ -6489,11 +6511,8 @@ void Usr_SeeStudents (void) { /****** Link to show all the data ******/ fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActLstStdAll); - Grp_PutParamsCodGrps (); - Usr_PutParamListWithPhotos (); - Usr_PutExtraParamsUsrList (ActLstStdAll); - Act_PutContextualLink ("table",Txt_Show_all_data,Txt_Show_all_data,Txt_Show_all_data); + Act_PutContextualLink (ActLstStdAll,Usr_PutLinkToShowStdsAllDataParams, + "table",Txt_Show_all_data); fprintf (Gbl.F.Out,"
"); } break; @@ -6621,20 +6640,17 @@ void Usr_SeeTeachers (void) { case Usr_CLASS_PHOTO: fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActPrnTchPho); - Sco_PutParamScope (Gbl.Scope.Current); - Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print); + Act_PutContextualLink (ActPrnTchPho,Usr_PutLinkToShowTchsAllDataParams, + "print",Txt_Print); fprintf (Gbl.F.Out,"
"); break; case Usr_LIST: - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_TEACHER) + if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM) { /****** Link to show all the data ******/ fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActLstTchAll); - Sco_PutParamScope (Gbl.Scope.Current); - Usr_PutParamListWithPhotos (); - Act_PutContextualLink ("table",Txt_Show_all_data,Txt_Show_all_data,Txt_Show_all_data); + Act_PutContextualLink (ActLstTchAll,Usr_PutLinkToShowTchsAllDataParams, + "table",Txt_Show_all_data); fprintf (Gbl.F.Out,"
"); } break; @@ -6712,11 +6728,9 @@ static void Usr_PutLinkToListOfficialStudents (void) Gbl.Imported.ExternalUsrId[0] && // I was authenticated from external service... Gbl.Imported.ExternalSesId[0] && Gbl.Imported.ExternalRole == Rol_ROLE_TEACHER) // ...as a teacher - { /***** Link to list official students *****/ - Act_FormStart (ActGetExtLstStd); - Act_PutContextualLink ("list",Txt_Official_students,Txt_Official_students,Txt_Official_students); - } + Act_PutContextualLink (ActGetExtLstStd,NULL, + "list",Txt_Official_students); } /*****************************************************************************/ diff --git a/swad_user.h b/swad_user.h index 263600a8..7bec5d6d 100644 --- a/swad_user.h +++ b/swad_user.h @@ -242,7 +242,9 @@ void Usr_WriteLoggedUsrHead (void); void Usr_PutFormLogOut (void); void Usr_GetParamUsrIdLogin (void); unsigned Usr_GetParamOtherUsrIDNickOrEMailAndGetUsrCods (struct ListUsrCods *ListUsrCods); -void Usr_PutParamOtherUsrCodEncrypted (const char EncryptedUsrCod[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64+1]); + +void Usr_PutParamOtherUsrCodEncrypted (void); +void Usr_PutParamUsrCodEncrypted (const char EncryptedUsrCod[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64+1]); void Usr_GetParamOtherUsrCodEncrypted (void); bool Usr_GetParamOtherUsrCodEncryptedAndGetUsrData (void); diff --git a/swad_zip.c b/swad_zip.c index 61d015d5..b53f41c9 100644 --- a/swad_zip.c +++ b/swad_zip.c @@ -100,6 +100,8 @@ extern struct Globals Gbl; /***************************** Internal prototypes ***************************/ /*****************************************************************************/ +static void ZIP_PutButtonToCreateZIPAsgWrkParams (void); + static void ZIP_CompressFolderIntoZIP (void); static unsigned long long ZIP_CloneDir (const char *Path,const char *PathClone,const char *PathInTree); static void ZIP_ShowLinkToDownloadZIP (const char *FileName,const char *URL, @@ -114,13 +116,17 @@ void ZIP_PutButtonToCreateZIPAsgWrk (void) extern const char *Txt_Create_ZIP_file; fprintf (Gbl.F.Out,"
"); - Act_FormStart (ActAdmAsgWrkCrs); + Act_PutContextualLink (ActAdmAsgWrkCrs,ZIP_PutButtonToCreateZIPAsgWrkParams, + "download",Txt_Create_ZIP_file); + fprintf (Gbl.F.Out,"
"); + } + +static void ZIP_PutButtonToCreateZIPAsgWrkParams (void) + { Usr_PutHiddenParUsrCodAll (ActAdmAsgWrkCrs,Gbl.Usrs.Select.All); if (Gbl.FileBrowser.FullTree) Par_PutHiddenParamChar ("FullTree",'Y'); Par_PutHiddenParamChar ("CreateZIP",'Y'); - Act_PutContextualLink ("download",Txt_Create_ZIP_file,Txt_Create_ZIP_file,Txt_Create_ZIP_file); - fprintf (Gbl.F.Out,""); } /*****************************************************************************/ @@ -295,7 +301,7 @@ void ZIP_PutButtonToDownloadZIPOfAFolder (const char *PathInTree,const char *Fil case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: Usr_PutHiddenParUsrCodAll (ZIP_ActZIPFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); - Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); + Usr_PutParamOtherUsrCodEncrypted (); break; default: break;