Version 14.107

This commit is contained in:
Antonio Cañas Vargas 2015-04-02 18:39:49 +02:00
parent b154474c74
commit 97358fffe5
51 changed files with 447 additions and 366 deletions

View File

@ -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 ******/ /****** Contextual links with small icons and text to go to some action ******/
.CONTEXT_MENU .CONTEXT_MENU
{ {
text-align:center;
margin-bottom:10px; margin-bottom:10px;
text-align:center;
}
.CONTEXT_OPT
{
display:inline;
margin:0 5px;
} }
/********************************* Frame 10 **********************************/ /********************************* Frame 10 **********************************/

View File

@ -282,8 +282,13 @@ p {margin:0;}
/****** Contextual links with small icons and text to go to some action ******/ /****** Contextual links with small icons and text to go to some action ******/
.CONTEXT_MENU .CONTEXT_MENU
{ {
text-align:center;
margin-bottom:10px; margin-bottom:10px;
text-align:center;
}
.CONTEXT_OPT
{
display:inline;
margin:0 5px;
} }
/********************************* Frame 10 **********************************/ /********************************* Frame 10 **********************************/

View File

@ -358,22 +358,20 @@ void ID_WriteUsrIDs (struct UsrData *UsrDat,bool ICanSeeUsrID)
/*********** Put a link to the action used to request user's IDs *************/ /*********** 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_Change_IDs;
extern const char *Txt_User_not_found_or_you_do_not_have_permission_; extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
/***** Link for changing the password *****/ /***** 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 if (Gbl.Usrs.Other.UsrDat.UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me
Act_FormStart (ActFrmUsrAcc); Act_PutContextualLink (ActFrmUsrAcc,NULL,
else // Not me "arroba",Txt_Change_IDs);
{ else // Not me
Act_FormStart (ActFrmIDsOthUsr); Act_PutContextualLink (ActFrmIDsOthUsr,Usr_PutParamOtherUsrCodEncrypted,
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); "arroba",Txt_Change_IDs);
}
Act_PutContextualLink ("arroba",Txt_Change_IDs,Txt_Change_IDs,Txt_Change_IDs);
} }
else else
Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_); 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 else
{ {
Act_FormStart (ActRemIDOth); Act_FormStart (ActRemIDOth);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
} }
sprintf (Gbl.Title,Txt_Remove_ID_X, sprintf (Gbl.Title,Txt_Remove_ID_X,
UsrDat->IDs.List[NumID].ID); UsrDat->IDs.List[NumID].ID);
@ -524,7 +522,7 @@ void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe)
else else
{ {
Act_FormStart (ActNewIDOth); Act_FormStart (ActNewIDOth);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
} }
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"NewID\"" fprintf (Gbl.F.Out,"<input type=\"text\" name=\"NewID\""
" size=\"16\" maxlength=\"%u\" value=\"%s\" />", " size=\"16\" maxlength=\"%u\" value=\"%s\" />",

View File

@ -66,7 +66,7 @@ bool ID_CheckIfUsrIDSeemsAValidID (const char *UsrID);
void ID_WriteUsrIDs (struct UsrData *UsrDat,bool ICanSeeUsrID); 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_ShowFormOthIDs (void);
void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe); void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe);
void ID_RemoveMyUsrID (void); void ID_RemoveMyUsrID (void);

View File

@ -70,28 +70,20 @@ static void QR_ImageQRCode (const char *QRString);
/***************** Put a link to a print view of a QR code *******************/ /***************** 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; extern const char *Txt_QR_code;
char NicknameWithArroba[Nck_MAX_BYTES_NICKNAME_WITH_ARROBA+1]; char NicknameWithArroba[Nck_MAX_BYTES_NICKNAME_WITH_ARROBA+1];
/***** Link to print view *****/ /***** Link to print view *****/
Act_FormStart (ActPrnUsrQR); Act_FormStart (ActPrnUsrQR);
switch (QRType) sprintf (NicknameWithArroba,"@%s",UsrDat->Nickname);
{ Par_PutHiddenParamString ("QRString",NicknameWithArroba);
case QR_ID: Act_LinkFormSubmit (Txt_QR_code,The_ClassFormulB[Gbl.Prefs.Theme]);
Par_PutHiddenParamString ("QRString",UsrDat->IDs.List[0].ID); // TODO: First ID? Lay_PutSendIcon ("qr",Txt_QR_code,PrintText ? Txt_QR_code :
break; NULL);
case QR_NICKNAME: Act_FormEnd ();
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);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -48,7 +48,7 @@ typedef enum
/***************************** Public prototypes *****************************/ /***************************** 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_PrintQRCode (void);
void QR_LinkTo (unsigned Size,const char *ParamStr,long Cod); void QR_LinkTo (unsigned Size,const char *ParamStr,long Cod);

View File

@ -77,6 +77,8 @@ static bool Acc_GetParamsNewAccount (char *NewNicknameWithoutArroba,
static void Acc_CreateNewEncryptedUsrCod (struct UsrData *UsrDat); static void Acc_CreateNewEncryptedUsrCod (struct UsrData *UsrDat);
static void Acc_PutLinkToRemoveMyAccount (void); static void Acc_PutLinkToRemoveMyAccount (void);
static void Acc_PutLinkToRemoveMyAccountParams (void);
static void Acc_PrintAccountSeparator (void); static void Acc_PrintAccountSeparator (void);
static void Acc_ReqDelOrDelUsrGbl (Acc_ReqDelOrDelUsr_t ReqDelOrDelUsr); static void Acc_ReqDelOrDelUsrGbl (Acc_ReqDelOrDelUsr_t ReqDelOrDelUsr);
@ -115,8 +117,7 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char *NewNicknameWith
/***** Link to log in *****/ /***** Link to log in *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActFrmLogIn); Act_PutContextualLink (ActFrmLogIn,NULL,"login",Txt_Log_in);
Act_PutContextualLink ("login",Txt_Log_in,Txt_Log_in,Txt_Log_in);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
/***** Form to enter some data of the new user *****/ /***** 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*****/ /***** Put links to change my password and to remove my account*****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Pwd_PutLinkToChangeUsrPassword (&Gbl.Usrs.Me.UsrDat); Pwd_PutLinkToChangeMyPassword ();
if (Acc_CheckIfICanEliminateAccount (true)) // ItsMe = true if (Acc_CheckIfICanEliminateAccount (true)) // ItsMe = true
Acc_PutLinkToRemoveMyAccount (); Acc_PutLinkToRemoveMyAccount ();
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
@ -242,10 +243,14 @@ static void Acc_PutLinkToRemoveMyAccount (void)
{ {
extern const char *Txt_Remove_account; extern const char *Txt_Remove_account;
Act_FormStart (ActUpdOthUsrDat); Act_PutContextualLink (ActUpdOthUsrDat,Acc_PutLinkToRemoveMyAccountParams,
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Me.UsrDat.EncryptedUsrCod); "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); 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); Rec_ShowCommonRecordUnmodifiable (&Gbl.Usrs.Other.UsrDat);
Act_FormStart (ActRemUsrGbl); Act_FormStart (ActRemUsrGbl);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
/* Ask for consent on dangerous actions */ /* Ask for consent on dangerous actions */
Pwd_AskForConfirmationOnDangerousAction (); Pwd_AskForConfirmationOnDangerousAction ();

View File

@ -4319,15 +4319,16 @@ void Act_LinkFormSubmitAnimated (const char *Title,const char *LinkStyle)
/***************** Show an icon with a link in contextual menu ***************/ /***************** Show an icon with a link in contextual menu ***************/
/*****************************************************************************/ /*****************************************************************************/
void Act_PutContextualLink (const char *Icon, void Act_PutContextualLink (Act_Action_t NextAction,void (*FuncParams) (),
const char *Title, const char *Icon,const char *Title)
const char *Alt,
const char *Text)
{ {
extern const char *The_ClassFormulB[The_NUM_THEMES]; extern const char *The_ClassFormulB[The_NUM_THEMES];
Act_FormStart (NextAction);
if (FuncParams)
FuncParams ();
Act_LinkFormSubmit (Title,The_ClassFormulB[Gbl.Prefs.Theme]); Act_LinkFormSubmit (Title,The_ClassFormulB[Gbl.Prefs.Theme]);
Lay_PutSendIcon (Icon,Alt,Text); Lay_PutSendIcon (Icon,Title,Title);
Act_FormEnd (); Act_FormEnd ();
} }

View File

@ -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_LinkFormSubmitId (const char *Title,const char *LinkStyle,const char *Id);
void Act_LinkFormSubmitAnimated (const char *Title,const char *LinkStyle); void Act_LinkFormSubmitAnimated (const char *Title,const char *LinkStyle);
void Act_PutContextualLink (const char *Icon, void Act_PutContextualLink (Act_Action_t NextAction,void (*FuncParams) (),
const char *Title, const char *Icon,const char *Title);
const char *Alt,
const char *Text);
void Act_AdjustActionWhenNoUsrLogged (void); void Act_AdjustActionWhenNoUsrLogged (void);
void Act_AdjustCurrentAction (void); void Act_AdjustCurrentAction (void);

View File

@ -77,8 +77,7 @@ void Ann_ShowAllAnnouncements (void)
if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)
{ {
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActWriAnn); Act_PutContextualLink (ActWriAnn,NULL,"new",Txt_New_announcement);
Act_PutContextualLink ("new",Txt_New_announcement,Txt_New_announcement,Txt_New_announcement);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }

View File

@ -68,7 +68,10 @@ static void Asg_ShowOneAssignment (long AsgCod);
static void Asg_WriteAsgAuthor (struct Assignment *Asg); static void Asg_WriteAsgAuthor (struct Assignment *Asg);
static void Asg_WriteAssignmentFolder (struct Assignment *Asg); static void Asg_WriteAssignmentFolder (struct Assignment *Asg);
static void Asg_GetParamAsgOrderType (void); static void Asg_GetParamAsgOrderType (void);
static void Asg_PutFormToCreateNewAsg (void); static void Asg_PutFormToCreateNewAsg (void);
static void Asg_PutFormToCreateNewAsgParams (void);
static void Asg_PutFormsToRemEditOneAsg (long AsgCod,bool Hidden); static void Asg_PutFormsToRemEditOneAsg (long AsgCod,bool Hidden);
static void Asg_GetDataOfAssignment (struct Assignment *Asg,const char *Query); static void Asg_GetDataOfAssignment (struct Assignment *Asg,const char *Query);
static void Asg_GetAssignmentTxtFromDB (long AsgCod,char *Txt); static void Asg_GetAssignmentTxtFromDB (long AsgCod,char *Txt);
@ -475,12 +478,16 @@ static void Asg_PutFormToCreateNewAsg (void)
/***** Put form to create a new assignment *****/ /***** Put form to create a new assignment *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActFrmNewAsg); Act_PutContextualLink (ActFrmNewAsg,Asg_PutFormToCreateNewAsgParams,
"new",Txt_New_assignment);
fprintf (Gbl.F.Out,"</div>");
}
static void Asg_PutFormToCreateNewAsgParams (void)
{
Asg_PutHiddenParamAsgOrderType (); Asg_PutHiddenParamAsgOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
Act_PutContextualLink ("new",Txt_New_assignment,Txt_New_assignment,Txt_New_assignment);
fprintf (Gbl.F.Out,"</div>");
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -69,8 +69,13 @@ static void Att_PutFormToSelectWhichGroupsToShow (void);
static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAttEventComplete); static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAttEventComplete);
static void Att_WriteAttEventAuthor (struct AttendanceEvent *Att); static void Att_WriteAttEventAuthor (struct AttendanceEvent *Att);
static void Att_GetParamAttOrderType (void); static void Att_GetParamAttOrderType (void);
static void Att_PutFormToListStds (void); static void Att_PutFormToListStds (void);
static void Att_PutFormToListStdsParams (void);
static void Att_PutFormToCreateNewAttEvent (void); static void Att_PutFormToCreateNewAttEvent (void);
static void Att_PutFormToCreateNewAttEventParams (void);
static void Att_PutFormsToRemEditOneAttEvent (long AttCod,bool Hidden); static void Att_PutFormsToRemEditOneAttEvent (long AttCod,bool Hidden);
static void Att_GetListAttEvents (Att_OrderTime_t Order); static void Att_GetListAttEvents (Att_OrderTime_t Order);
static void Att_GetDataOfAttEventByCodAndCheckCrs (struct AttendanceEvent *Att); 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_GetListSelectedUsrCods (unsigned NumStdsInList,long **LstSelectedUsrCods);
static void Att_GetListSelectedAttCods (char **StrAttCodsSelected); 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_ListEventsToSelect (void);
static void Att_ListStdsAttendanceTable (unsigned NumStdsInList,long *LstSelectedUsrCods); static void Att_ListStdsAttendanceTable (unsigned NumStdsInList,long *LstSelectedUsrCods);
static void Att_WriteTableHeadSeveralAttEvents (void); static void Att_WriteTableHeadSeveralAttEvents (void);
@ -133,7 +141,7 @@ void Att_SeeAttEvents (void)
/* Put link to my QR code */ /* Put link to my QR code */
if (Gbl.Usrs.Me.UsrDat.Nickname[0]) 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,"</div>"); fprintf (Gbl.F.Out,"</div>");
@ -446,11 +454,15 @@ static void Att_PutFormToListStds (void)
extern const char *Txt_Attendance_list; extern const char *Txt_Attendance_list;
/***** Put form to create a new attendance event *****/ /***** 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 (); Att_PutHiddenParamAttOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); 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; extern const char *Txt_New_event;
/***** Put form to create a new attendance 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 (); Att_PutHiddenParamAttOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); 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; unsigned NumStdsInList;
long *LstSelectedUsrCods; long *LstSelectedUsrCods;
unsigned NumAttEvent; unsigned NumAttEvent;
char *StrAttCodsSelected;
char YN[1+1]; char YN[1+1];
bool ShowDetails;
/***** Get list of attendance events *****/ /***** Get list of attendance events *****/
Att_GetListAttEvents (Att_OLDEST_FIRST); Att_GetListAttEvents (Att_OLDEST_FIRST);
@ -2699,7 +2713,7 @@ void Usr_ListAttendanceStdsCrs (void)
{ {
/***** Get boolean parameter that indicates if details must be shown *****/ /***** Get boolean parameter that indicates if details must be shown *****/
Par_GetParToText ("ShowDetails",YN,1); Par_GetParToText ("ShowDetails",YN,1);
ShowDetails = (Str_ConvertToUpperLetter (YN[0]) == 'Y'); Gbl.AttEvents.ShowDetails = (Str_ConvertToUpperLetter (YN[0]) == 'Y');
/***** Get list of groups selected ******/ /***** Get list of groups selected ******/
Grp_GetParCodsSeveralGrpsToShowUsrs (); Grp_GetParCodsSeveralGrpsToShowUsrs ();
@ -2716,11 +2730,11 @@ void Usr_ListAttendanceStdsCrs (void)
LstSelectedUsrCods,NumStdsInList); LstSelectedUsrCods,NumStdsInList);
/***** Get list of attendance events selected *****/ /***** Get list of attendance events selected *****/
Att_GetListSelectedAttCods (&StrAttCodsSelected); Att_GetListSelectedAttCods (&Gbl.AttEvents.StrAttCodsSelected);
/***** Put link to print *****/ /***** Put link to print *****/
if (Gbl.CurrentAct == ActSeeLstAttStd) if (Gbl.CurrentAct == ActSeeLstAttStd)
Att_PutFormToPrintListStds (ShowDetails,StrAttCodsSelected); Att_PutFormToPrintListStds ();
/***** List events to select *****/ /***** List events to select *****/
Att_ListEventsToSelect (); Att_ListEventsToSelect ();
@ -2732,13 +2746,13 @@ void Usr_ListAttendanceStdsCrs (void)
Att_ListStdsAttendanceTable (NumStdsInList,LstSelectedUsrCods); Att_ListStdsAttendanceTable (NumStdsInList,LstSelectedUsrCods);
/***** Show details or put button to show details *****/ /***** Show details or put button to show details *****/
if (ShowDetails) if (Gbl.AttEvents.ShowDetails)
Att_ListStdsWithAttEventsDetails (NumStdsInList,LstSelectedUsrCods); Att_ListStdsWithAttEventsDetails (NumStdsInList,LstSelectedUsrCods);
else if (Gbl.CurrentAct == ActSeeLstAttStd) else if (Gbl.CurrentAct == ActSeeLstAttStd)
Att_PutButtonToShowDetails (StrAttCodsSelected); Att_PutButtonToShowDetails ();
/***** Free memory for list of attendance events selected *****/ /***** Free memory for list of attendance events selected *****/
free ((void *) StrAttCodsSelected); free ((void *) Gbl.AttEvents.StrAttCodsSelected);
/***** Free list of user codes *****/ /***** Free list of user codes *****/
free ((void *) LstSelectedUsrCods); 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 *****/ /**** 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; extern const char *Txt_Print;
/***** Link to print view *****/ /***** Link to print view *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActPrnLstAttStd); Act_PutContextualLink (ActPrnLstAttStd,Att_PutFormToPrintListStdsParams,
if (ShowDetails) "print",Txt_Print);
fprintf (Gbl.F.Out,"</div>");
}
static void Att_PutFormToPrintListStdsParams (void)
{
if (Gbl.AttEvents.ShowDetails)
Par_PutHiddenParamChar ("ShowDetails",'Y'); Par_PutHiddenParamChar ("ShowDetails",'Y');
Grp_PutParamsCodGrps (); Grp_PutParamsCodGrps ();
Usr_PutHiddenParUsrCodAll (ActPrnLstAttStd,Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (ActPrnLstAttStd,Gbl.Usrs.Select.All);
if (StrAttCodsSelected[0]) if (Gbl.AttEvents.StrAttCodsSelected[0])
Par_PutHiddenParamString ("AttCods",StrAttCodsSelected); Par_PutHiddenParamString ("AttCods",Gbl.AttEvents.StrAttCodsSelected);
Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print);
fprintf (Gbl.F.Out,"</div>");
} }
/*****************************************************************************/ /*****************************************************************************/
/**** Put a link (form) to list assistance of students to several events *****/ /**** 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; extern const char *Txt_Show_more_details;
@ -2935,8 +2953,8 @@ static void Att_PutButtonToShowDetails (char *StrAttCodsSelected)
Par_PutHiddenParamChar ("ShowDetails",'Y'); Par_PutHiddenParamChar ("ShowDetails",'Y');
Grp_PutParamsCodGrps (); Grp_PutParamsCodGrps ();
Usr_PutHiddenParUsrCodAll (ActSeeLstAttStd,Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (ActSeeLstAttStd,Gbl.Usrs.Select.All);
if (StrAttCodsSelected[0]) if (Gbl.AttEvents.StrAttCodsSelected[0])
Par_PutHiddenParamString ("AttCods",StrAttCodsSelected); Par_PutHiddenParamString ("AttCods",Gbl.AttEvents.StrAttCodsSelected);
Lay_PutConfirmButton (Txt_Show_more_details); Lay_PutConfirmButton (Txt_Show_more_details);
Act_FormEnd (); Act_FormEnd ();
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");

View File

@ -128,8 +128,7 @@ static void Ban_PutFormToEditBanners (void)
/***** Link to edit banners *****/ /***** Link to edit banners *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActEdiBan); Act_PutContextualLink (ActEdiBan,NULL,"edit",Txt_Edit);
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }

View File

@ -127,8 +127,7 @@ void Cal_DrawCalendar (void)
{ {
/* Link to print view */ /* Link to print view */
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActPrnCal); Act_PutContextualLink (ActPrnCal,NULL,"print",Txt_Print);
Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }
Lay_StartRoundFrameTable10 (NULL,0,NULL); Lay_StartRoundFrameTable10 (NULL,0,NULL);

View File

@ -269,12 +269,10 @@ static void Ctr_Configuration (bool PrintView)
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
/* Link to show degrees */ /* Link to show degrees */
Act_FormStart (ActSeeDeg); Act_PutContextualLink (ActSeeDeg,NULL,"deg",Txt_Degrees);
Act_PutContextualLink ("deg",Txt_Degrees,Txt_Degrees,Txt_Degrees);
/* Link to print view */ /* Link to print view */
Act_FormStart (ActPrnCtrInf); Act_PutContextualLink (ActPrnCtrInf,NULL,"print",Txt_Print);
Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print);
/* Links to upload logo and photo */ /* Links to upload logo and photo */
if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM) 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_Change_photo;
extern const char *Txt_Upload_photo; extern const char *Txt_Upload_photo;
const char *Msg;
/***** Link for changing / uploading the photo *****/ /***** Link for changing / uploading the photo *****/
Act_FormStart (ActReqCtrPho); Act_PutContextualLink (ActReqCtrPho,NULL,
Msg = PhotoExists ? Txt_Change_photo : "photo",PhotoExists ? Txt_Change_photo :
Txt_Upload_photo; Txt_Upload_photo);
Act_PutContextualLink ("photo",Msg,Msg,Msg);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -103,11 +103,12 @@
/****************************** Public constants *****************************/ /****************************** 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: // Number of lines (includes comments but not blank lines) has been got with the following command:
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1 // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
/* /*
Version 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.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.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) Version 14.106: Apr 02, 2015 Lot of changes in layout of icon with links. (183909 lines)

View File

@ -1021,7 +1021,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role)
Color); Color);
sprintf (Gbl.FormId,"form_con_%d",++Gbl.NumFormConnectedUsrs); sprintf (Gbl.FormId,"form_con_%d",++Gbl.NumFormConnectedUsrs);
Act_FormStartId (ActSeePubPrf,Gbl.FormId); Act_FormStartId (ActSeePubPrf,Gbl.FormId);
Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Act_LinkFormSubmitId (UsrDat.FullName,NULL,Gbl.FormId); Act_LinkFormSubmitId (UsrDat.FullName,NULL,Gbl.FormId);
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (&UsrDat,PhotoURL); ShowPhoto = Pho_ShowUsrPhotoIsAllowed (&UsrDat,PhotoURL);
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? 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 : Act_FormStartId ((Role == Rol_ROLE_STUDENT) ? ActSeeRecOneStd :
ActSeeRecOneTch, ActSeeRecOneTch,
Gbl.FormId); Gbl.FormId);
Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Act_LinkFormSubmitId (Txt_View_record_for_this_course,Font,Gbl.FormId); Act_LinkFormSubmitId (Txt_View_record_for_this_course,Font,Gbl.FormId);
Usr_RestrictLengthAndWriteName (&UsrDat,8); Usr_RestrictLengthAndWriteName (&UsrDat,8);
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");
@ -1231,7 +1231,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R
{ {
Act_FormStart ((Role == Rol_ROLE_STUDENT) ? ActSeeRecOneStd : Act_FormStart ((Role == Rol_ROLE_STUDENT) ? ActSeeRecOneStd :
ActSeeRecOneTch); ActSeeRecOneTch);
Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Act_LinkFormSubmit (UsrDat.FullName,Font); Act_LinkFormSubmit (UsrDat.FullName,Font);
} }
Usr_RestrictLengthAndWriteName (&UsrDat,40); Usr_RestrictLengthAndWriteName (&UsrDat,40);

View File

@ -236,15 +236,11 @@ static void Cty_Configuration (bool PrintView)
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
/* Link to show institutions */ /* Link to show institutions */
Act_FormStart (ActSeeIns); Act_PutContextualLink (ActSeeIns,NULL,"ins",Txt_Institutions);
Act_PutContextualLink ("ins",Txt_Institutions,Txt_Institutions,Txt_Institutions);
/* Link to print view */ /* Link to print view */
if (!PrintView) if (!PrintView)
{ Act_PutContextualLink (ActPrnCtyInf,NULL,"print",Txt_Print);
Act_FormStart (ActPrnCtyInf);
Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print);
}
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");

View File

@ -96,7 +96,9 @@ static void Crs_GetDataOfCourseFromRow (struct Course *Crs,MYSQL_ROW row);
static void Crs_EmptyCourseCompletely (long CrsCod); static void Crs_EmptyCourseCompletely (long CrsCod);
static bool Crs_RenameCourse (struct Course *Crs,Cns_ShortOrFullName_t ShortOrFullName); static bool Crs_RenameCourse (struct Course *Crs,Cns_ShortOrFullName_t ShortOrFullName);
static void Crs_PutLinkToGoToCrs (struct Course *Crs); static void Crs_PutLinkToGoToCrs (struct Course *Crs);
static void Crs_PutLinkToSearchCourses (void); static void Crs_PutLinkToSearchCourses (void);
static void Crs_PutLinkToSearchCoursesParams (void);
static void Crs_PutParamOtherCrsCod (long CrsCod); static void Crs_PutParamOtherCrsCod (long CrsCod);
static long Crs_GetParamOtherCrsCod (void); static long Crs_GetParamOtherCrsCod (void);
@ -187,8 +189,7 @@ static void Crs_Configuration (bool PrintView)
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
/* Link to print view */ /* Link to print view */
Act_FormStart (ActPrnCrsInf); Act_PutContextualLink (ActPrnCrsInf,NULL,"print",Txt_Print);
Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print);
/* Link to request enrollment in the current course */ /* Link to request enrollment in the current course */
if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_GUEST__ || if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_GUEST__ ||
@ -3006,15 +3007,20 @@ static void Crs_PutLinkToSearchCourses (void)
extern const char *Txt_Search_courses; extern const char *Txt_Search_courses;
/***** Put form to search / select courses *****/ /***** Put form to search / select courses *****/
Act_FormStart ( Gbl.CurrentCrs.Crs.CrsCod > 0 ? ActCrsReqSch : Act_PutContextualLink ( Gbl.CurrentCrs.Crs.CrsCod > 0 ? ActCrsReqSch :
(Gbl.CurrentDeg.Deg.DegCod > 0 ? ActDegReqSch : (Gbl.CurrentDeg.Deg.DegCod > 0 ? ActDegReqSch :
(Gbl.CurrentCtr.Ctr.CtrCod > 0 ? ActCtrReqSch : (Gbl.CurrentCtr.Ctr.CtrCod > 0 ? ActCtrReqSch :
(Gbl.CurrentIns.Ins.InsCod > 0 ? ActInsReqSch : (Gbl.CurrentIns.Ins.InsCod > 0 ? ActInsReqSch :
(Gbl.CurrentCty.Cty.CtyCod > 0 ? ActCtyReqSch : (Gbl.CurrentCty.Cty.CtyCod > 0 ? ActCtyReqSch :
ActSysReqSch))))); ActSysReqSch)))),
Crs_PutLinkToSearchCoursesParams,
"search",Txt_Search_courses);
}
static void Crs_PutLinkToSearchCoursesParams (void)
{
Sco_PutParamScope (Sco_SCOPE_SYS); Sco_PutParamScope (Sco_SCOPE_SYS);
Par_PutHiddenParamUnsigned ("WhatToSearch",(unsigned) Sch_SEARCH_COURSES); 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; extern const char *Txt_My_courses;
/***** Put form to search / select courses *****/ /***** Put form to search / select courses *****/
Act_FormStart (ActMyCrs); Act_PutContextualLink (ActMyCrs,NULL,"hierarchy",Txt_My_courses);
Act_PutContextualLink ("hierarchy",Txt_My_courses,Txt_My_courses,Txt_My_courses);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -307,12 +307,10 @@ static void Deg_Configuration (bool PrintView)
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
/* Link to show courses */ /* Link to show courses */
Act_FormStart (ActSeeCrs); Act_PutContextualLink (ActSeeCrs,NULL,"crs",Txt_Courses);
Act_PutContextualLink ("crs",Txt_Courses,Txt_Courses,Txt_Courses);
/* Link to print view */ /* Link to print view */
Act_FormStart (ActPrnDegInf); Act_PutContextualLink (ActPrnDegInf,NULL,"print",Txt_Print);
Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print);
/* Link to upload logo */ /* Link to upload logo */
if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM) if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM)

View File

@ -214,8 +214,7 @@ static void Dpt_PutFormToEditDpts (void)
extern const char *Txt_Edit; extern const char *Txt_Edit;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActEdiDpt); Act_PutContextualLink (ActEdiDpt,NULL,"edit",Txt_Edit);
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }

View File

@ -133,8 +133,7 @@ void Enr_PutLinkToRequestSignUp (void)
extern const char *Txt_Sign_up; extern const char *Txt_Sign_up;
/***** Show the form *****/ /***** Show the form *****/
Act_FormStart (ActReqSignUp); Act_PutContextualLink (ActReqSignUp,NULL,"signup",Txt_Sign_up);
Act_PutContextualLink ("signup",Txt_Sign_up,Txt_Sign_up,Txt_Sign_up);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -287,12 +286,12 @@ void Enr_ReqAcceptRegisterInCrs (void)
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
/***** Send button to accept register in the current course *****/ /***** Send button to accept register in the current course *****/
Act_FormStart (ActAccEnrCrs); Act_PutContextualLink (ActAccEnrCrs,NULL,
Act_PutContextualLink ("ok_green",Txt_Confirm_my_enrollment,Txt_Confirm_my_enrollment,Txt_Confirm_my_enrollment); "ok_green",Txt_Confirm_my_enrollment);
/***** Send button to refuse register in the current course *****/ /***** Send button to refuse register in the current course *****/
Act_FormStart (ActRemMeCrs); Act_PutContextualLink (ActRemMeCrs,NULL,
Act_PutContextualLink ("delon",Txt_Remove_me_from_this_course,Txt_Remove_me_from_this_course,Txt_Remove_me_from_this_course); "delon",Txt_Remove_me_from_this_course);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
@ -629,8 +628,7 @@ static void Enr_PutLinkToRemOldUsrs (void)
extern const char *Txt_Remove_old_users; extern const char *Txt_Remove_old_users;
/***** Put form to remove old users *****/ /***** Put form to remove old users *****/
Act_FormStart (ActReqRemOldUsr); Act_PutContextualLink (ActReqRemOldUsr,NULL,"delon",Txt_Remove_old_users);
Act_PutContextualLink ("delon",Txt_Remove_old_users,Txt_Remove_old_users,Txt_Remove_old_users);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1710,8 +1708,8 @@ static void Enr_PutLinkToRemAllStdsThisCrs (void)
extern const char *Txt_Remove_all_students; extern const char *Txt_Remove_all_students;
/***** Put form to remove all the students in the current course *****/ /***** Put form to remove all the students in the current course *****/
Act_FormStart (ActReqRemAllStdCrs); Act_PutContextualLink (ActReqRemAllStdCrs,NULL,
Act_PutContextualLink ("delon",Txt_Remove_all_students,Txt_Remove_all_students,Txt_Remove_all_students); "delon",Txt_Remove_all_students);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2028,7 +2026,7 @@ void Enr_AskIfRejectSignUp (void)
/* Button to confirm rejection */ /* Button to confirm rejection */
Act_FormStart (ActRejSignUp); Act_FormStart (ActRejSignUp);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
Lay_PutConfirmButton (Txt_Reject); Lay_PutConfirmButton (Txt_Reject);
Act_FormEnd (); Act_FormEnd ();
@ -2496,7 +2494,7 @@ void Enr_ShowEnrollmentRequests (void)
" vertical-align:top;\">"); " vertical-align:top;\">");
Act_FormStart (ActReqMdfUsr); Act_FormStart (ActReqMdfUsr);
Crs_PutParamCrsCod (Crs.CrsCod); Crs_PutParamCrsCod (Crs.CrsCod);
Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Lay_PutCreateButton (Txt_Register); Lay_PutCreateButton (Txt_Register);
Act_FormEnd (); Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
@ -2506,7 +2504,7 @@ void Enr_ShowEnrollmentRequests (void)
" vertical-align:top;\">"); " vertical-align:top;\">");
Act_FormStart (ActReqRejSignUp); Act_FormStart (ActReqRejSignUp);
Crs_PutParamCrsCod (Crs.CrsCod); Crs_PutParamCrsCod (Crs.CrsCod);
Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Lay_PutConfirmButton (Txt_Reject); Lay_PutConfirmButton (Txt_Reject);
Act_FormEnd (); Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
@ -2575,8 +2573,8 @@ static void Enr_PutLinkToAdminOneUsr (void)
{ {
extern const char *Txt_Admin_one_user; extern const char *Txt_Admin_one_user;
Act_FormStart (ActReqMdfOneUsr); Act_PutContextualLink (ActReqMdfOneUsr,NULL,
Act_PutContextualLink ("configtest",Txt_Admin_one_user,Txt_Admin_one_user,Txt_Admin_one_user); "configtest",Txt_Admin_one_user);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2587,8 +2585,8 @@ static void Enr_PutLinkToAdminSeveralUsrs (void)
{ {
extern const char *Txt_Admin_several_users; extern const char *Txt_Admin_several_users;
Act_FormStart (ActReqMdfSevUsr); Act_PutContextualLink (ActReqMdfSevUsr,NULL,
Act_PutContextualLink ("configtest",Txt_Admin_several_users,Txt_Admin_several_users,Txt_Admin_several_users); "configtest",Txt_Admin_several_users);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2835,11 +2833,11 @@ static void Enr_ShowFormToEditOtherUsr (void)
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
if (Pwd_CheckIfICanChangeOtherUsrPassword (Gbl.Usrs.Other.UsrDat.UsrCod)) if (Pwd_CheckIfICanChangeOtherUsrPassword (Gbl.Usrs.Other.UsrDat.UsrCod))
{ {
ID_PutLinkToChangeUsrIDs (&Gbl.Usrs.Other.UsrDat); // Put link (form) to change user's IDs ID_PutLinkToChangeUsrIDs (); // Put link (form) to change user's IDs
Pwd_PutLinkToChangeUsrPassword (&Gbl.Usrs.Other.UsrDat); // Put link (form) to change user's password Pwd_PutLinkToChangeOtherUsrPassword (); // Put link (form) to change user's password
} }
if (Pho_CheckIfICanChangeOtherUsrPhoto (Gbl.Usrs.Other.UsrDat.UsrCod)) 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,"</div>"); fprintf (Gbl.F.Out,"</div>");
/***** User's record *****/ /***** 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); Rec_ShowCommonRecordUnmodifiable (&Gbl.Usrs.Other.UsrDat);
Act_FormStart (Enr_ActNewAdm[Scope]); Act_FormStart (Enr_ActNewAdm[Scope]);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
Lay_PutConfirmButton (Txt_Register_user_IN_A_COURSE_OR_DEGREE); Lay_PutConfirmButton (Txt_Register_user_IN_A_COURSE_OR_DEGREE);
Act_FormEnd (); Act_FormEnd ();
} }
@ -3426,7 +3424,7 @@ static void Enr_AskIfRemoveUsrFromCrs (struct UsrData *UsrDat,bool ItsMe)
fprintf (Gbl.F.Out,"<div style=\"text-align:center;\">"); fprintf (Gbl.F.Out,"<div style=\"text-align:center;\">");
Act_FormStart (ActRemUsrCrs); Act_FormStart (ActRemUsrCrs);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Pwd_AskForConfirmationOnDangerousAction (); Pwd_AskForConfirmationOnDangerousAction ();
Lay_PutRemoveButton (ItsMe ? Txt_Remove_me_from_this_course : Lay_PutRemoveButton (ItsMe ? Txt_Remove_me_from_this_course :
Txt_Remove_user_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); Rec_ShowCommonRecordUnmodifiable (&Gbl.Usrs.Other.UsrDat);
Act_FormStart (Enr_ActRemAdm[Scope]); Act_FormStart (Enr_ActRemAdm[Scope]);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
Lay_PutRemoveButton (ItsMe ? Txt_Remove_me_as_an_administrator : Lay_PutRemoveButton (ItsMe ? Txt_Remove_me_as_an_administrator :
Txt_Remove_user_as_an_administrator); Txt_Remove_user_as_an_administrator);
Act_FormEnd (); Act_FormEnd ();

View File

@ -443,8 +443,8 @@ static void Exa_ListExamAnnouncements (Exa_tTypeViewExamAnnouncement_t TypeViewE
case Rol_ROLE_TEACHER: case Rol_ROLE_TEACHER:
case Rol_ROLE_SYS_ADM: case Rol_ROLE_SYS_ADM:
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActEdiExaAnn); Act_PutContextualLink (ActEdiExaAnn,NULL,
Act_PutContextualLink ("new",Txt_New_announcement_OF_EXAM,Txt_New_announcement_OF_EXAM,Txt_New_announcement_OF_EXAM); "new",Txt_New_announcement_OF_EXAM);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
break; break;
default: default:

View File

@ -1332,8 +1332,11 @@ static void Brw_WriteSubtitleOfFileBrowser (void);
static void Brw_InitHiddenLevels (void); static void Brw_InitHiddenLevels (void);
static void Brw_ShowSizeOfFileTree (void); static void Brw_ShowSizeOfFileTree (void);
static void Brw_StoreSizeOfFileTreeInDB (void); static void Brw_StoreSizeOfFileTreeInDB (void);
static void Brw_PutFormToShowOrAdminParams (void);
static void Brw_PutFormToShowOrAdmin (Brw_ShowOrAdmin_t ShowOrAdmin, static void Brw_PutFormToShowOrAdmin (Brw_ShowOrAdmin_t ShowOrAdmin,
Act_Action_t Action); Act_Action_t Action);
static void Brw_WriteFormFullTree (void); static void Brw_WriteFormFullTree (void);
static bool Brw_GetFullTreeFromForm (void); static bool Brw_GetFullTreeFromForm (void);
static void Brw_GetAndUpdateDateLastAccFileBrowser (void); static void Brw_GetAndUpdateDateLastAccFileBrowser (void);
@ -3155,7 +3158,7 @@ static void Brw_ShowDataOwnerAsgWrk (struct UsrData *UsrDat)
" text-align:left; vertical-align:top;\">"); " text-align:left; vertical-align:top;\">");
Act_FormStart (UsrDat->RoleInCurrentCrsDB == Rol_ROLE_STUDENT ? ActSeeRecOneStd : Act_FormStart (UsrDat->RoleInCurrentCrsDB == Rol_ROLE_STUDENT ? ActSeeRecOneStd :
ActSeeRecOneTch); ActSeeRecOneTch);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
/***** Show user's ID *****/ /***** Show user's ID *****/
ID_WriteUsrIDs (UsrDat, ID_WriteUsrIDs (UsrDat,
@ -4273,23 +4276,29 @@ static void Brw_PutFormToShowOrAdmin (Brw_ShowOrAdmin_t ShowOrAdmin,
extern const char *Txt_Edit; extern const char *Txt_Edit;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
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) switch (ShowOrAdmin)
{ {
case Brw_SHOW: case Brw_SHOW:
Act_PutContextualLink ("visible_on",Txt_View,Txt_View,Txt_View); Act_PutContextualLink (Action,Brw_PutFormToShowOrAdminParams,
"visible_on",Txt_View);
break; break;
case Brw_ADMIN: case Brw_ADMIN:
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit); Act_PutContextualLink (Action,Brw_PutFormToShowOrAdminParams,
"edit",Txt_Edit);
break; break;
} }
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }
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 ****************/ /************** 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_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActAskRemoveFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActAskRemoveFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -5047,7 +5056,7 @@ static void Brw_PutIconRemoveDir (const char *PathInTree,const char *FileName,co
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActRemoveFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActRemoveFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -5093,7 +5102,7 @@ static void Brw_PutIconCopy (Brw_FileType_t FileType,
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActCopy[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActCopy[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -5136,7 +5145,7 @@ static void Brw_PutIconPasteOn (const char *PathInTree,const char *FileName,cons
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActPaste[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActPaste[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -5203,7 +5212,7 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,Brw_ExpandTree_
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActExpandFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActExpandFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -5232,7 +5241,7 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,Brw_ExpandTree_
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActContractFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActContractFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -5384,7 +5393,7 @@ static void Brw_PutIconFolder (unsigned Level,Brw_ExpandTree_t ExpandTree,
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActFormCreate[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActFormCreate[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -5452,7 +5461,7 @@ static void Brw_PutIconFileWithLinkToViewMetadata (unsigned Size,Brw_FileType_t
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActReqDatFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActReqDatFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; 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_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActRenameFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActRenameFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; 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_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActDowFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActDowFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -5871,7 +5880,7 @@ void Brw_AskRemFileFromTree (void)
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActRemoveFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActRemoveFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -6028,7 +6037,7 @@ static void Brw_AskConfirmRemoveFolderNotEmpty (void)
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActRemoveFolderNotEmpty[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActRemoveFolderNotEmpty[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -7631,7 +7640,7 @@ static void Brw_PutFormToCreateAFolder (const char *FileNameToShow)
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActCreateFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActCreateFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -7708,7 +7717,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow)
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActUploadFileDropzone[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActUploadFileDropzone[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -7733,7 +7742,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow)
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActRefreshAfterUploadFiles[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActRefreshAfterUploadFiles[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -7782,7 +7791,7 @@ static void Brw_PutFormToUploadOneFileClassic (const char *FileNameToShow)
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActUploadFileClassic[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActUploadFileClassic[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -7831,7 +7840,7 @@ static void Brw_PutFormToPasteAFileOrFolder (const char *FileNameToShow)
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActPaste[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActPaste[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -7878,7 +7887,7 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActCreateLink[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (Brw_ActCreateLink[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;
@ -8833,7 +8842,7 @@ void Brw_ShowFileMetadata (void)
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (Brw_ActRecDatFile[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); 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... ICanChangePublic = false; // A file in assignments or works zones can not be public...
ICanChangeLicense = true; // ...but I can change its license ICanChangeLicense = true; // ...but I can change its license
break; break;

View File

@ -141,7 +141,7 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat,
{ {
/* Form to list followed users */ /* Form to list followed users */
Act_FormStart (Action); Act_FormStart (Action);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Title, Act_LinkFormSubmit (Title,
(Gbl.CurrentAct == Action) ? "FOLLOW_B" : (Gbl.CurrentAct == Action) ? "FOLLOW_B" :
"FOLLOW"); "FOLLOW");
@ -162,7 +162,7 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat,
{ {
/* Form to list followed users */ /* Form to list followed users */
Act_FormStart (Action); Act_FormStart (Action);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Title, Act_LinkFormSubmit (Title,
(Gbl.CurrentAct == Action) ? The_ClassFormulB[Gbl.Prefs.Theme] : (Gbl.CurrentAct == Action) ? The_ClassFormulB[Gbl.Prefs.Theme] :
The_ClassFormul[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)) if (Fol_CheckUsrIsFollowerOf (Gbl.Usrs.Me.UsrDat.UsrCod,UsrDat->UsrCod))
{ {
Act_FormStart (ActUnfUsr); Act_FormStart (ActUnfUsr);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_Unfollow,NULL); Act_LinkFormSubmit (Txt_Unfollow,NULL);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\">" fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\">"
"<img src=\"%s/unfollow16x16.gif\"" "<img src=\"%s/unfollow16x16.gif\""
@ -396,7 +396,7 @@ static void Fol_ShowFollowedOrFollowed (const struct UsrData *UsrDat)
else else
{ {
Act_FormStart (ActFolUsr); Act_FormStart (ActFolUsr);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_Follow,NULL); Act_LinkFormSubmit (Txt_Follow,NULL);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\">" fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\">"
"<img src=\"%s/follow16x16.gif\"" "<img src=\"%s/follow16x16.gif\""
@ -430,7 +430,7 @@ static void Fol_ShowFollowedOrFollowed (const struct UsrData *UsrDat)
UsrDat->Nickname[0]) UsrDat->Nickname[0])
{ {
Act_FormStart (ActSeePubPrf); Act_FormStart (ActSeePubPrf);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_View_public_profile,"DAT"); Act_LinkFormSubmit (Txt_View_public_profile,"DAT");
Usr_RestrictLengthAndWriteName (UsrDat,8); Usr_RestrictLengthAndWriteName (UsrDat,8);
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");

View File

@ -547,6 +547,8 @@ struct Globals
struct AttendanceEvent *Lst; // List of attendance events struct AttendanceEvent *Lst; // List of attendance events
Att_EventsOrderType_t SelectedOrderType; Att_EventsOrderType_t SelectedOrderType;
long AttCod; long AttCod;
bool ShowDetails;
char *StrAttCodsSelected;
} AttEvents; } AttEvents;
struct struct
{ {

View File

@ -198,8 +198,7 @@ static void Hld_PutFormToEditHlds (void)
extern const char *Txt_Edit; extern const char *Txt_Edit;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActEdiHld); Act_PutContextualLink (ActEdiHld,NULL,"edit",Txt_Edit);
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }

View File

@ -412,8 +412,7 @@ static void Inf_PutFormToEditInfo (Inf_InfoType_t InfoType)
extern const char *Txt_Edit; extern const char *Txt_Edit;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (Inf_ActionsEditInfo[InfoType]); Act_PutContextualLink (Inf_ActionsEditInfo[InfoType],NULL,"edit",Txt_Edit);
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }

View File

@ -248,12 +248,10 @@ static void Ins_Configuration (bool PrintView)
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
/* Link to show centres */ /* Link to show centres */
Act_FormStart (ActSeeCtr); Act_PutContextualLink (ActSeeCtr,NULL,"ctr",Txt_Centres);
Act_PutContextualLink ("ctr",Txt_Centres,Txt_Centres,Txt_Centres);
/* Link to print view */ /* Link to print view */
Act_FormStart (ActPrnInsInf); Act_PutContextualLink (ActPrnInsInf,NULL,"print",Txt_Print);
Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print);
/* Link to upload logo */ /* Link to upload logo */
if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM)

View File

@ -941,8 +941,7 @@ void Lay_PutFormToView (Act_Action_t Action)
extern const char *Txt_View; extern const char *Txt_View;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (Action); Act_PutContextualLink (Action,NULL,"visible_on",Txt_View);
Act_PutContextualLink ("visible_on",Txt_View,Txt_View,Txt_View);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }
@ -955,8 +954,7 @@ void Lay_PutFormToEdit (Act_Action_t Action)
extern const char *Txt_Edit; extern const char *Txt_Edit;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (Action); Act_PutContextualLink (Action,NULL,"edit",Txt_Edit);
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }
@ -967,8 +965,7 @@ void Lay_PutFormToEdit (Act_Action_t Action)
void Lay_PutSendIcon (const char *Icon,const char *Alt,const char *Text) 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 // margin is used because this form link may be placed after another one
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\"" fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT ICON_HIGHLIGHT\">"
" style=\"margin:0 5px; display:inline;\">"
"<img src=\"%s/%s16x16.gif\" alt=\"%s\"" "<img src=\"%s/%s16x16.gif\" alt=\"%s\""
" class=\"ICON16x16\" />", " class=\"ICON16x16\" />",
Gbl.Prefs.IconsURL,Icon,Alt); Gbl.Prefs.IconsURL,Icon,Alt);

View File

@ -121,8 +121,7 @@ static void Lnk_PutFormToEditLinks (void)
extern const char *Txt_Edit; extern const char *Txt_Edit;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActEdiLnk); Act_PutContextualLink (ActEdiLnk,NULL,"edit",Txt_Edit);
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }

View File

@ -179,7 +179,6 @@ void Log_PutFormToChangeLogo (Sco_Scope_t Scope)
long Cod; long Cod;
const char *Folder; const char *Folder;
const char *Icon; const char *Icon;
const char *Msg;
char PathLogo[PATH_MAX+1]; char PathLogo[PATH_MAX+1];
bool LogoExists; bool LogoExists;
@ -217,10 +216,8 @@ void Log_PutFormToChangeLogo (Sco_Scope_t Scope)
LogoExists = Fil_CheckIfPathExists (PathLogo); LogoExists = Fil_CheckIfPathExists (PathLogo);
/***** Link for changing / uploading the logo *****/ /***** Link for changing / uploading the logo *****/
Act_FormStart (Action); Act_PutContextualLink (Action,NULL,Icon,LogoExists ? Txt_Change_logo :
Msg = LogoExists ? Txt_Change_logo : Txt_Upload_logo);
Txt_Upload_logo;
Act_PutContextualLink (Icon,Msg,Msg,Msg);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -177,8 +177,7 @@ static void Mai_PutFormToEditMailDomains (void)
extern const char *Txt_Edit; extern const char *Txt_Edit;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActEdiMai); Act_PutContextualLink (ActEdiMai,NULL,"edit",Txt_Edit);
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }

View File

@ -308,7 +308,7 @@ static void Msg_PutFormMsgUsrs (const char *Content)
{ {
Par_PutHiddenParamChar ("IsReply",'Y'); Par_PutHiddenParamChar ("IsReply",'Y');
Msg_PutHiddenParamMsgCod (Gbl.Msg.RepliedMsgCod); Msg_PutHiddenParamMsgCod (Gbl.Msg.RepliedMsgCod);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
} }
/* Start table */ /* Start table */
@ -1667,8 +1667,7 @@ static void Msg_PutLinkToViewBannedUsers(void)
{ {
extern const char *Txt_Banned_users; extern const char *Txt_Banned_users;
Act_FormStart (ActLstBanUsr); Act_PutContextualLink (ActLstBanUsr,NULL,"stop",Txt_Banned_users);
Act_PutContextualLink ("stop",Txt_Banned_users,Txt_Banned_users,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 *****/ /***** Put link to request deletion of all sent or received messages *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart ((TypeOfMessages == Msg_MESSAGES_RECEIVED) ? ActReqDelAllRcvMsg : ActReqDelAllSntMsg);
Msg_PutHiddenParamsMsgsFilters ();
if (Gbl.Msg.FilterContent[0]) if (Gbl.Msg.FilterContent[0])
sprintf (StrFilterContent,", %s <strong>%s</strong>", sprintf (StrFilterContent,", %s <strong>%s</strong>",
NumMsgs == 1 ? Txt_MSG_containing_the_text : NumMsgs == 1 ? Txt_MSG_containing_the_text :
@ -2161,7 +2157,6 @@ void Msg_ShowFormDelSentOrRecMsgs (Msg_TypeOfMessages_t TypeOfMessages,unsigned
Gbl.Msg.FilterContent); Gbl.Msg.FilterContent);
else else
StrFilterContent[0] = '\0'; StrFilterContent[0] = '\0';
if (NumMsgs == 1) if (NumMsgs == 1)
sprintf (Gbl.Title,"%s %s %s, %s %s%s", sprintf (Gbl.Title,"%s %s %s, %s %s%s",
Txt_Remove_the_MESSAGE, Txt_Remove_the_MESSAGE,
@ -2184,7 +2179,10 @@ void Msg_ShowFormDelSentOrRecMsgs (Msg_TypeOfMessages_t TypeOfMessages,unsigned
Txt_from_A_COURSE, Txt_from_A_COURSE,
Gbl.Msg.FilterCrsShortName, Gbl.Msg.FilterCrsShortName,
StrFilterContent); 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,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }
@ -2955,7 +2953,7 @@ static void Msg_WriteFormToReply (long MsgCod,long CrsCod,const char *Subject,
Grp_PutParamAllGroups (); Grp_PutParamAllGroups ();
Par_PutHiddenParamChar ("IsReply",'Y'); Par_PutHiddenParamChar ("IsReply",'Y');
Msg_PutHiddenParamMsgCod (MsgCod); Msg_PutHiddenParamMsgCod (MsgCod);
Usr_PutParamOtherUsrCodEncrypted (EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (EncryptedUsrCod);
// Par_PutHiddenParamString ("UsrCodAll",EncryptedUsrCod); // Par_PutHiddenParamString ("UsrCodAll",EncryptedUsrCod);
fprintf (Gbl.F.Out,"<input type=\"hidden\" name=\"Subject\"" fprintf (Gbl.F.Out,"<input type=\"hidden\" name=\"Subject\""
" value=\"Re: %s\" />", " value=\"Re: %s\" />",
@ -3322,7 +3320,7 @@ static void Msg_PutFormToBanSender (struct UsrData *UsrDat)
Act_FormStart (ActBanUsrMsg); Act_FormStart (ActBanUsrMsg);
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Msg_PutHiddenParamsMsgsFilters (); Msg_PutHiddenParamsMsgsFilters ();
fprintf (Gbl.F.Out,"<span class=\"MSG_AUT\">&nbsp;</span>" fprintf (Gbl.F.Out,"<span class=\"MSG_AUT\">&nbsp;</span>"
"<input type=\"image\" src=\"%s/open_on16x16.gif\"" "<input type=\"image\" src=\"%s/open_on16x16.gif\""
@ -3343,7 +3341,7 @@ static void Msg_PutFormToUnbanSender (struct UsrData *UsrDat)
Act_FormStart (ActUnbUsrMsg); Act_FormStart (ActUnbUsrMsg);
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Msg_PutHiddenParamsMsgsFilters (); Msg_PutHiddenParamsMsgsFilters ();
fprintf (Gbl.F.Out,"<span class=\"MSG_AUT\">&nbsp;</span>" fprintf (Gbl.F.Out,"<span class=\"MSG_AUT\">&nbsp;</span>"
"<input type=\"image\" src=\"%s/closed_on16x16.gif\"" "<input type=\"image\" src=\"%s/closed_on16x16.gif\""
@ -3524,7 +3522,7 @@ void Msg_ListBannedUsrs (void)
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">"); "<td class=\"BM\">");
Act_FormStart (ActUnbUsrLst); Act_FormStart (ActUnbUsrLst);
Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
fprintf (Gbl.F.Out,"<input type=\"image\"" fprintf (Gbl.F.Out,"<input type=\"image\""
" src=\"%s/closed_on16x16.gif\" alt=\"%s\"" " src=\"%s/closed_on16x16.gif\" alt=\"%s\""
" title=\"%s\" class=\"ICON16x16\" />", " title=\"%s\" class=\"ICON16x16\" />",

View File

@ -256,7 +256,7 @@ void Nck_ShowFormChangeUsrNickname (void)
/* Link to QR code */ /* Link to QR code */
if (NumNick == 1 && Gbl.Usrs.Me.UsrDat.Nickname[0]) 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 */ /* Form to change the nickname */
if (NumNick > 1) if (NumNick > 1)

View File

@ -320,8 +320,7 @@ void Not_ShowNotices (Not_Listing_t TypeNoticesListing)
if (ICanEditNotices) if (ICanEditNotices)
{ {
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActWriNot); Act_PutContextualLink (ActWriNot,NULL,"new",Txt_New_notice);
Act_PutContextualLink ("new",Txt_New_notice,Txt_New_notice,Txt_New_notice);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }

View File

@ -1636,8 +1636,7 @@ static void Ntf_PutLinkToChangePrefs (void)
{ {
extern const char *Txt_Change_preferences; extern const char *Txt_Change_preferences;
Act_FormStart (ActEdiPrf); Act_PutContextualLink (ActEdiPrf,NULL,"heart",Txt_Change_preferences);
Act_PutContextualLink ("heart",Txt_Change_preferences,Txt_Change_preferences,Txt_Change_preferences);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -65,6 +65,8 @@ extern struct Globals Gbl;
/***************************** Private prototypes ****************************/ /***************************** Private prototypes ****************************/
/*****************************************************************************/ /*****************************************************************************/
static void Pwd_PutLinkToSendNewPasswdParams (void);
static void Pwd_CreateANewPassword (char PlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD+1]); static void Pwd_CreateANewPassword (char PlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD+1]);
static bool Pwd_CheckIfPasswdIsUsrIDorName (const char *PlainPassword); 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 ******************/ /*************** 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) void Pwd_ShowFormSendNewPwd (void)
{ {
extern const char *The_ClassFormul[The_NUM_THEMES]; extern const char *The_ClassFormul[The_NUM_THEMES];
@ -759,7 +778,7 @@ void Pwd_ShowFormOthPwd (void)
/***** Form to change password *****/ /***** Form to change password *****/
/* Start form */ /* Start form */
Act_FormStart (ActChgPwdOthUsr); Act_FormStart (ActChgPwdOthUsr);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
/* New password */ /* New password */
Pwd_PutFormToGetNewPasswordTwice (); 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_Change_password;
extern const char *Txt_User_not_found_or_you_do_not_have_permission_; extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
/***** Link for changing the password *****/ /***** Link for changing the password *****/
if (Pwd_CheckIfICanChangeOtherUsrPassword (UsrDat->UsrCod)) if (Pwd_CheckIfICanChangeOtherUsrPassword (Gbl.Usrs.Other.UsrDat.UsrCod))
{ Act_PutContextualLink (ActFrmPwdOthUsr,Usr_PutParamOtherUsrCodEncrypted,
if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me "key",Txt_Change_password);
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);
}
else else
Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_); Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
} }

View File

@ -46,6 +46,8 @@ void Pwd_AssignMyPendingPasswordToMyCurrentPassword (void);
void Pwd_ActChgMyPwd1 (void); void Pwd_ActChgMyPwd1 (void);
void Pwd_ActChgMyPwd2 (void); void Pwd_ActChgMyPwd2 (void);
void Pwd_PutLinkToSendNewPasswd (void);
void Pwd_ShowFormSendNewPwd (void); void Pwd_ShowFormSendNewPwd (void);
void Pwd_ChkIdLoginAndSendNewPwd (void); void Pwd_ChkIdLoginAndSendNewPwd (void);
int Pwd_SendNewPasswordByEmail (char NewRandomPlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD+1]); 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_ShowFormChgPwd (void);
void Pwd_PutFormToGetNewPasswordTwice (void); void Pwd_PutFormToGetNewPasswordTwice (void);
void Pwd_ShowFormOthPwd (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); bool Pwd_CheckIfICanChangeOtherUsrPassword (long UsrCod);
void Pwd_AskForConfirmationOnDangerousAction (void); void Pwd_AskForConfirmationOnDangerousAction (void);

View File

@ -85,7 +85,9 @@ const char *Pho_StrAvgPhotoPrograms[Pho_NUM_AVERAGE_PHOTO_TYPES] =
/***************************** Private prototypes ****************************/ /***************************** 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_UpdatePhoto1 (struct UsrData *UsrDat);
static void Pho_UpdatePhoto2 (void); static void Pho_UpdatePhoto2 (void);
static void Pho_ClearPhotoName (long UsrCod); static void Pho_ClearPhotoName (long UsrCod);
@ -102,7 +104,10 @@ static void Pho_PutSelectorForHowComputePhotoSize (void);
static Pho_HowComputePhotoSize_t Pho_GetHowComputePhotoSizeFromForm (void); static Pho_HowComputePhotoSize_t Pho_GetHowComputePhotoSizeFromForm (void);
static void Pho_PutSelectorForHowOrderDegrees (void); static void Pho_PutSelectorForHowOrderDegrees (void);
static Pho_HowOrderDegrees_t Pho_GetHowOrderDegreesFromForm (void); static Pho_HowOrderDegrees_t Pho_GetHowOrderDegreesFromForm (void);
static void Pho_PutLinkToPrintViewOfDegreeStats (void); static void Pho_PutLinkToPrintViewOfDegreeStats (void);
static void Pho_PutLinkToPrintViewOfDegreeStatsParams (void);
static void Pho_PutLinkToCalculateDegreeStats (void); static void Pho_PutLinkToCalculateDegreeStats (void);
static void Pho_GetMaxStdsPerDegree (void); static void Pho_GetMaxStdsPerDegree (void);
static void Pho_ShowOrPrintClassPhotoDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint); 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 ************/ /********** 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_Change_photo;
extern const char *Txt_Upload_photo; extern const char *Txt_Upload_photo;
bool PhotoExists; bool PhotoExists;
char PhotoURL[PATH_MAX+1]; char PhotoURL[PATH_MAX+1];
const char *Msg;
/***** Link for changing / uploading the photo *****/ /***** Link for changing / uploading the photo *****/
if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me PhotoExists = Pho_BuildLinkToPhoto (&Gbl.Usrs.Other.UsrDat,PhotoURL,true);
{ Act_PutContextualLink (ActReqUsrPho,Usr_PutParamOtherUsrCodEncrypted,
PhotoExists = Gbl.Usrs.Me.MyPhotoExists; "photo",PhotoExists ? Txt_Change_photo :
Act_FormStart (ActReqMyPho); Txt_Upload_photo);
}
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);
} }
/*****************************************************************************/ /*****************************************************************************/
/********************* Put a link to remove user's 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; extern const char *Txt_Remove_photo;
/***** Link for removing the photo *****/ /***** Link for removing the photo *****/
if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me Act_PutContextualLink (ActRemMyPho,NULL,"delon",Txt_Remove_photo);
Act_FormStart (ActRemMyPho); }
else // Not me
{ /*****************************************************************************/
Act_FormStart (ActRemUsrPho); /********************* Put a link to remove user's photo *********************/
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); /*****************************************************************************/
}
Act_PutContextualLink ("delon",Txt_Remove_photo,Txt_Remove_photo,Txt_Remove_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 *****/ /***** Forms to remove photo and make it public *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Pho_PutLinkToRemoveUsrPhoto (UsrDat);
if (ItsMe) if (ItsMe)
{
Pho_PutLinkToRemoveMyPhoto ();
Pri_PutLinkToChangeMyPrivacy (); // Put link (form) to change my privacy Pri_PutLinkToChangeMyPrivacy (); // Put link (form) to change my privacy
}
else
Pho_PutLinkToRemoveOtherUsrPhoto ();
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
/* Show photo */ /* Show photo */
@ -248,7 +269,7 @@ void Pho_ReqPhoto (const struct UsrData *UsrDat,bool PhotoExists,const char *Pho
else else
{ {
Act_FormStart (ActDetUsrPho); Act_FormStart (ActDetUsrPho);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
} }
fprintf (Gbl.F.Out,"<table style=\"margin:0 auto;\">" fprintf (Gbl.F.Out,"<table style=\"margin:0 auto;\">"
"<tr>" "<tr>"
@ -498,7 +519,7 @@ void Pho_ReceivePhotoAndDetectFaces (bool ItsMe,const struct UsrData *UsrDat)
Act_FormStart (ItsMe ? ActUpdMyPho : Act_FormStart (ItsMe ? ActUpdMyPho :
ActUpdUsrPho); ActUpdUsrPho);
if (!ItsMe) if (!ItsMe)
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Par_PutHiddenParamString ("FileName",StrFileName); Par_PutHiddenParamString ("FileName",StrFileName);
Act_FormEnd (); Act_FormEnd ();
} }
@ -962,7 +983,7 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
if (PutLinkToPublicProfile) if (PutLinkToPublicProfile)
{ {
Act_FormStart (ActSeePubPrf); Act_FormStart (ActSeePubPrf);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (NULL,NULL); Act_LinkFormSubmit (NULL,NULL);
} }
@ -1667,15 +1688,19 @@ static void Pho_PutLinkToPrintViewOfDegreeStats (void)
extern const char *Txt_Print; extern const char *Txt_Print;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActPrnPhoDeg); Act_PutContextualLink (ActPrnPhoDeg,Pho_PutLinkToPrintViewOfDegreeStatsParams,
"print",Txt_Print);
fprintf (Gbl.F.Out,"</div>");
}
static void Pho_PutLinkToPrintViewOfDegreeStatsParams (void)
{
Pho_PutHiddenParamTypeOfAvg (); Pho_PutHiddenParamTypeOfAvg ();
Pho_PutHiddenParamPhotoSize (); Pho_PutHiddenParamPhotoSize ();
Pho_PutHiddenParamOrderDegrees (); Pho_PutHiddenParamOrderDegrees ();
Usr_PutParamUsrListType (Gbl.Usrs.Me.ListType); Usr_PutParamUsrListType (Gbl.Usrs.Me.ListType);
Usr_PutParamColsClassPhoto (); Usr_PutParamColsClassPhoto ();
Usr_PutParamListWithPhotos (); Usr_PutParamListWithPhotos ();
Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print);
fprintf (Gbl.F.Out,"</div>");
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -81,7 +81,8 @@ typedef enum
/*****************************************************************************/ /*****************************************************************************/
bool Pho_CheckIfICanChangeOtherUsrPhoto (long UsrCod); 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_ReqMyPhoto (void);
void Pho_ReqUsrPhoto (struct UsrData *UsrDat); void Pho_ReqUsrPhoto (struct UsrData *UsrDat);
void Pho_ReqPhoto (const struct UsrData *UsrDat,bool PhotoExists,const char *PhotoURL); void Pho_ReqPhoto (const struct UsrData *UsrDat,bool PhotoExists,const char *PhotoURL);

View File

@ -203,8 +203,7 @@ static void Plc_PutFormToEditPlcs (void)
extern const char *Txt_Edit; extern const char *Txt_Edit;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActEdiPlc); Act_PutContextualLink (ActEdiPlc,NULL,"edit",Txt_Edit);
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }

View File

@ -153,8 +153,7 @@ static void Plg_PutFormToEditPlugins (void)
extern const char *Txt_Edit; extern const char *Txt_Edit;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActEdiPlg); Act_PutContextualLink (ActEdiPlg,NULL,"edit",Txt_Edit);
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }

View File

@ -438,7 +438,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
{ {
/***** Button to fetch and store first click time *****/ /***** Button to fetch and store first click time *****/
Act_FormStart (ActCal1stClkTim); Act_FormStart (ActCal1stClkTim);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]); Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]);
Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate); Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate);
Act_FormEnd (); Act_FormEnd ();
@ -480,7 +480,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
{ {
/***** Button to fetch and store number of clicks *****/ /***** Button to fetch and store number of clicks *****/
Act_FormStart (ActCalNumClk); Act_FormStart (ActCalNumClk);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]); Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]);
Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate); Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate);
Act_FormEnd (); Act_FormEnd ();
@ -517,7 +517,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
{ {
/***** Button to fetch and store number of file views *****/ /***** Button to fetch and store number of file views *****/
Act_FormStart (ActCalNumFilVie); Act_FormStart (ActCalNumFilVie);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]); Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]);
Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate); Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate);
Act_FormEnd (); Act_FormEnd ();
@ -554,7 +554,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
{ {
/***** Button to fetch and store number of forum posts *****/ /***** Button to fetch and store number of forum posts *****/
Act_FormStart (ActCalNumForPst); Act_FormStart (ActCalNumForPst);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]); Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]);
Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate); Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate);
Act_FormEnd (); Act_FormEnd ();
@ -591,7 +591,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
{ {
/***** Button to fetch and store number of messages sent *****/ /***** Button to fetch and store number of messages sent *****/
Act_FormStart (ActCalNumMsgSnt); Act_FormStart (ActCalNumMsgSnt);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]); Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]);
Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate); Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate);
Act_FormEnd (); Act_FormEnd ();
@ -1506,7 +1506,7 @@ void Prf_ShowUsrInRanking (const struct UsrData *UsrDat,unsigned Rank)
if (Visible) if (Visible)
{ {
Act_FormStart (ActSeePubPrf); Act_FormStart (ActSeePubPrf);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_View_public_profile,"DAT_SMALL"); Act_LinkFormSubmit (Txt_View_public_profile,"DAT_SMALL");
Usr_RestrictLengthAndWriteName (UsrDat,8); Usr_RestrictLengthAndWriteName (UsrDat,8);
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");

View File

@ -871,8 +871,7 @@ void Rec_PutLinkToEditRecordFields (void)
extern const char *Txt_Edit_record_fields; extern const char *Txt_Edit_record_fields;
/***** Link to edit record fields *****/ /***** Link to edit record fields *****/
Act_FormStart (ActEdiRecFie); Act_PutContextualLink (ActEdiRecFie,NULL,"edit",Txt_Edit_record_fields);
Act_PutContextualLink ("edit",Txt_Edit_record_fields,Txt_Edit_record_fields,Txt_Edit_record_fields);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1496,7 +1495,7 @@ void Rec_ShowCrsRecord (Rec_RecordViewType_t TypeOfView,struct UsrData *UsrDat)
case Rec_RECORD_LIST: case Rec_RECORD_LIST:
DataForm = true; DataForm = true;
Act_FormStart (ActRcvRecOthUsr); Act_FormStart (ActRcvRecOthUsr);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
//RecordWidth = Rec_WIDTH_COURSE_RECORD; //RecordWidth = Rec_WIDTH_COURSE_RECORD;
FrameWidth = 10; FrameWidth = 10;
ClassHead = "HEAD_REC_SMALL"; ClassHead = "HEAD_REC_SMALL";
@ -1871,7 +1870,7 @@ void Rec_ShowFormMyCommRecord (void)
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Rec_PutLinkToChangeMyInsCtrDpt (); // Put link (form) to change my institution, centre, department... Rec_PutLinkToChangeMyInsCtrDpt (); // Put link (form) to change my institution, centre, department...
Rec_PutLinkToChangeMySocialNetworks (); // Put link (form) to change my social networks 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 Pri_PutLinkToChangeMyPrivacy (); // Put link (form) to change my privacy
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
@ -2194,7 +2193,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
{ {
Act_FormStart ((UsrDat->RoleInCurrentCrsDB == Rol_ROLE_STUDENT) ? ActSeeRecOneStd : Act_FormStart ((UsrDat->RoleInCurrentCrsDB == Rol_ROLE_STUDENT) ? ActSeeRecOneStd :
ActSeeRecOneTch); ActSeeRecOneTch);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_View_record_for_this_course,NULL); Act_LinkFormSubmit (Txt_View_record_for_this_course,NULL);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >" fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >"
"<img src=\"%s/card16x16.gif\"" "<img src=\"%s/card16x16.gif\""
@ -2215,7 +2214,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)
{ {
Act_FormStart (ActReqMdfUsr); Act_FormStart (ActReqMdfUsr);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_Admin_user,NULL); Act_LinkFormSubmit (Txt_Admin_user,NULL);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >" fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >"
"<img src=\"%s/config16x16.gif\"" "<img src=\"%s/config16x16.gif\""
@ -2293,7 +2292,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Act_FormStart (ActReqMsgUsr); Act_FormStart (ActReqMsgUsr);
Grp_PutParamAllGroups (); Grp_PutParamAllGroups ();
if (HeBelongsToCurrentCrs) if (HeBelongsToCurrentCrs)
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
else else
Msg_PutHiddenParamAnotherRecipient (UsrDat); Msg_PutHiddenParamAnotherRecipient (UsrDat);
Act_LinkFormSubmit (Txt_Write_a_message,ClassData); 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)) if (Fol_CheckUsrIsFollowerOf (Gbl.Usrs.Me.UsrDat.UsrCod,UsrDat->UsrCod))
{ {
Act_FormStart (ActUnfUsr); Act_FormStart (ActUnfUsr);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_Unfollow,ClassData); Act_LinkFormSubmit (Txt_Unfollow,ClassData);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >" fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >"
"<img src=\"%s/unfollow16x16.gif\"" "<img src=\"%s/unfollow16x16.gif\""
@ -2327,7 +2326,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
else else
{ {
Act_FormStart (ActFolUsr); Act_FormStart (ActFolUsr);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_Follow,ClassData); Act_LinkFormSubmit (Txt_Follow,ClassData);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >" fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >"
"<img src=\"%s/follow16x16.gif\"" "<img src=\"%s/follow16x16.gif\""
@ -2366,7 +2365,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
{ {
/* Put form to go to public profile */ /* Put form to go to public profile */
Act_FormStart (ActSeePubPrf); Act_FormStart (ActSeePubPrf);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_View_public_profile,"REC_NICK"); Act_LinkFormSubmit (Txt_View_public_profile,"REC_NICK");
} }
fprintf (Gbl.F.Out,"@%s",UsrDat->Nickname); fprintf (Gbl.F.Out,"@%s",UsrDat->Nickname);
@ -2374,11 +2373,10 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
{ {
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");
Act_FormEnd (); Act_FormEnd ();
}
/* Link to QR code */ /* Link to QR code */
if (!DataForm) QR_PutLinkToPrintQRCode (UsrDat,false);
QR_PutLinkToPrintQRCode (QR_NICKNAME,UsrDat,false); }
} }
fprintf (Gbl.F.Out,"</div>" fprintf (Gbl.F.Out,"</div>"
"</td>" "</td>"
@ -2423,7 +2421,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
break; break;
case Rec_FORM_MODIFY_RECORD_OTHER_EXISTING_USR: case Rec_FORM_MODIFY_RECORD_OTHER_EXISTING_USR:
Act_FormStart (ActUpdOthUsrDat); Act_FormStart (ActUpdOthUsrDat);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); // Existing user Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); // Existing user
break; break;
default: default:
break; break;
@ -3229,8 +3227,8 @@ static void Rec_PutLinkToChangeMyInsCtrDpt (void)
extern const char *Txt_Edit_my_institution; extern const char *Txt_Edit_my_institution;
/***** Link to edit my institution, centre, department... *****/ /***** Link to edit my institution, centre, department... *****/
Act_FormStart (ActReqEdiMyIns); Act_PutContextualLink (ActReqEdiMyIns,NULL,
Act_PutContextualLink ("institution",Txt_Edit_my_institution,Txt_Edit_my_institution,Txt_Edit_my_institution); "institution",Txt_Edit_my_institution);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -3242,8 +3240,8 @@ static void Rec_PutLinkToChangeMySocialNetworks (void)
extern const char *Txt_Edit_my_webs_networks; extern const char *Txt_Edit_my_webs_networks;
/***** Link to edit my social networks *****/ /***** Link to edit my social networks *****/
Act_FormStart (ActReqEdiMyNet); Act_PutContextualLink (ActReqEdiMyNet,NULL,
Act_PutContextualLink ("earth",Txt_Edit_my_webs_networks,Txt_Edit_my_webs_networks,Txt_Edit_my_webs_networks); "earth",Txt_Edit_my_webs_networks);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -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_WriteAuthor (struct Survey *Svy);
static void Svy_WriteStatus (struct Survey *Svy); static void Svy_WriteStatus (struct Survey *Svy);
static void Svy_GetParamSvyOrderType (void); static void Svy_GetParamSvyOrderType (void);
static void Svy_PutFormToCreateNewSvy (void); static void Svy_PutFormToCreateNewSvy (void);
static void Svy_PutFormToCreateNewSvyParams (void);
static void Svy_PutFormsToRemEditOneSvy (long SvyCod,bool Visible); static void Svy_PutFormsToRemEditOneSvy (long SvyCod,bool Visible);
static void Svy_GetSurveyTxtFromDB (long SvyCod,char *Txt); static void Svy_GetSurveyTxtFromDB (long SvyCod,char *Txt);
static void Svy_PutParamSvyCod (long SvyCod); static void Svy_PutParamSvyCod (long SvyCod);
@ -697,12 +700,16 @@ static void Svy_PutFormToCreateNewSvy (void)
extern const char *Txt_New_survey; extern const char *Txt_New_survey;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActFrmNewSvy); Act_PutContextualLink (ActFrmNewSvy,Svy_PutFormToCreateNewSvyParams,
"new",Txt_New_survey);
fprintf (Gbl.F.Out,"</div>");
}
static void Svy_PutFormToCreateNewSvyParams (void)
{
Svy_PutHiddenParamSvyOrderType (); Svy_PutHiddenParamSvyOrderType ();
Grp_PutParamWhichGrps (); Grp_PutParamWhichGrps ();
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
Act_PutContextualLink ("new",Txt_New_survey,Txt_New_survey,Txt_New_survey);
fprintf (Gbl.F.Out,"</div>");
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -314,9 +314,9 @@ static void Tst_PutFormToSeeResultsOfUsersTests (void)
{ {
extern const char *Txt_Results_tests; extern const char *Txt_Results_tests;
Act_FormStart (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT ? ActReqSeeMyTstExa: Act_PutContextualLink (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT ? ActReqSeeMyTstExa :
ActReqSeeUsrTstExa); ActReqSeeUsrTstExa,
Act_PutContextualLink ("file",Txt_Results_tests,Txt_Results_tests,Txt_Results_tests); NULL,"file",Txt_Results_tests);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -327,8 +327,7 @@ static void Tst_PutFormToEdit (void)
{ {
extern const char *Txt_Edit; extern const char *Txt_Edit;
Act_FormStart (ActEdiTstQst); Act_PutContextualLink (ActEdiTstQst,NULL,"edit",Txt_Edit);
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -339,8 +338,7 @@ static void Tst_PutFormToConfigure (void)
{ {
extern const char *Txt_Configure; extern const char *Txt_Configure;
Act_FormStart (ActCfgTst); Act_PutContextualLink (ActCfgTst,NULL,"configtest",Txt_Configure);
Act_PutContextualLink ("configtest",Txt_Configure,Txt_Configure,Txt_Configure);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -6493,7 +6491,7 @@ static void Tst_ShowDataUsr (struct UsrData *UsrDat,unsigned NumExams)
Gbl.ColorRows[Gbl.RowEvenOdd]); Gbl.ColorRows[Gbl.RowEvenOdd]);
Act_FormStart (UsrDat->RoleInCurrentCrsDB == Rol_ROLE_STUDENT ? ActSeeRecOneStd : Act_FormStart (UsrDat->RoleInCurrentCrsDB == Rol_ROLE_STUDENT ? ActSeeRecOneStd :
ActSeeRecOneTch); ActSeeRecOneTch);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (UsrDat->FullName,"MSG_AUT"); Act_LinkFormSubmit (UsrDat->FullName,"MSG_AUT");
/***** Show user's ID *****/ /***** Show user's ID *****/

View File

@ -252,25 +252,17 @@ void TT_ShowClassTimeTable (void)
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
if (PutEditButton) if (PutEditButton)
{ Act_PutContextualLink (ActEdiCrsTimTbl,Grp_PutParamWhichGrps,
Act_FormStart (ActEdiCrsTimTbl); "edit",Txt_Edit);
Grp_PutParamWhichGrps ();
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
}
if (PutEditOfficeHours) if (PutEditOfficeHours)
{ Act_PutContextualLink (ActEdiTut,NULL,"edit",Txt_Edit_office_hours);
Act_FormStart (ActEdiTut);
Act_PutContextualLink ("edit",Txt_Edit_office_hours,Txt_Edit_office_hours,Txt_Edit_office_hours);
}
if (!PrintView) if (!PrintView)
{ Act_PutContextualLink (Gbl.CurrentAct == ActSeeCrsTimTbl ? ActPrnCrsTimTbl :
Act_FormStart (Gbl.CurrentAct == ActSeeCrsTimTbl ? ActPrnCrsTimTbl : ActPrnMyTimTbl,
ActPrnMyTimTbl); Grp_PutParamWhichGrps,"print",Txt_Print);
Grp_PutParamWhichGrps ();
Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print);
}
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }
@ -318,8 +310,7 @@ void TT_EditCrsTimeTable (void)
/***** Link (form) to see my timetable *****/ /***** Link (form) to see my timetable *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActSeeCrsTimTbl); Act_PutContextualLink (ActSeeCrsTimTbl,NULL,"clock",Txt_Show_timetable);
Act_PutContextualLink ("clock",Txt_Show_timetable,Txt_Show_timetable,Txt_Show_timetable);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
/***** Start of table *****/ /***** Start of table *****/
@ -347,8 +338,7 @@ void TT_ShowMyTutTimeTable (void)
/***** Link (form) to see my timetable *****/ /***** Link (form) to see my timetable *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActSeeMyTimTbl); Act_PutContextualLink (ActSeeMyTimTbl,NULL,"clock",Txt_Show_timetable);
Act_PutContextualLink ("clock",Txt_Show_timetable,Txt_Show_timetable,Txt_Show_timetable);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
/***** Time table *****/ /***** Time table *****/

View File

@ -161,6 +161,11 @@ static void Usr_UpdateMyColsClassPhotoInDB (void);
static void Usr_GetAndUpdatePrefAboutListWithPhotos (void); static void Usr_GetAndUpdatePrefAboutListWithPhotos (void);
static bool Usr_GetParamListWithPhotosFromForm (void); static bool Usr_GetParamListWithPhotosFromForm (void);
static void Usr_UpdateMyPrefAboutListWithPhotosPhotoInDB (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_PutLinkToListOfficialStudents (void);
static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType, static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType,
@ -192,7 +197,7 @@ void Usr_InformAboutNumClicksBeforePhoto (void)
Lay_ShowAlert (Lay_WARNING,Message); Lay_ShowAlert (Lay_WARNING,Message);
fprintf (Gbl.F.Out,"<div style=\"text-align:center;\">"); fprintf (Gbl.F.Out,"<div style=\"text-align:center;\">");
Pho_PutLinkToChangeUsrPhoto (&Gbl.Usrs.Me.UsrDat); Pho_PutLinkToChangeMyPhoto ();
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }
} }
@ -1341,15 +1346,13 @@ void Usr_WriteFormLogin (void)
extern const char *Txt_nick_email_or_ID; extern const char *Txt_nick_email_or_ID;
extern const char *Txt_Password; extern const char *Txt_Password;
extern const char *Txt_password; extern const char *Txt_password;
extern const char *Txt_I_forgot_my_password;
/***** Links to other actions *****/ /***** Links to other actions *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
/* Link to create a new account */ /* Link to create a new account */
Act_FormStart (ActFrmUsrAcc);
sprintf (Gbl.Title,Txt_New_on_PLATFORM_Sign_up,Cfg_PLATFORM_SHORT_NAME); 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 */ /* Link to enter from external site */
if (Cfg_EXTERNAL_LOGIN_URL[0] && if (Cfg_EXTERNAL_LOGIN_URL[0] &&
@ -1364,9 +1367,7 @@ void Usr_WriteFormLogin (void)
} }
/* Link to send a new password */ /* Link to send a new password */
Act_FormStart (ActReqSndNewPwd); Pwd_PutLinkToSendNewPasswd ();
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);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
@ -1471,7 +1472,7 @@ void Usr_WelcomeUsr (void)
!Gbl.Usrs.Me.MyPhotoExists) // Check if I have no photo !Gbl.Usrs.Me.MyPhotoExists) // Check if I have no photo
{ {
Lay_ShowAlert (Lay_WARNING,Txt_You_dont_have_photo); Lay_ShowAlert (Lay_WARNING,Txt_You_dont_have_photo);
Pho_PutLinkToChangeUsrPhoto (&Gbl.Usrs.Me.UsrDat); Pho_PutLinkToChangeMyPhoto ();
} }
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
@ -1705,7 +1706,12 @@ unsigned Usr_GetParamOtherUsrIDNickOrEMailAndGetUsrCods (struct ListUsrCods *Lis
/********* Put hidden parameter encrypted user's code of other user **********/ /********* 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); Par_PutHiddenParamString ("OtherUsrCod",EncryptedUsrCod);
} }
@ -2454,8 +2460,7 @@ void Usr_ShowFormsLogoutAndRole (void)
/***** Link to log out *****/ /***** Link to log out *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActLogOut); Act_PutContextualLink (ActLogOut,NULL,"logout",Txt_Log_out);
Act_PutContextualLink ("logout",Txt_Log_out,Txt_Log_out,Txt_Log_out);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
/***** Write message with my new logged role *****/ /***** Write message with my new logged role *****/
@ -4805,7 +4810,7 @@ void Usr_PutExtraParamsUsrList (Act_Action_t NextAction)
{ {
Par_PutHiddenParamChar ("IsReply",'Y'); Par_PutHiddenParamChar ("IsReply",'Y');
Msg_PutHiddenParamMsgCod (Gbl.Msg.RepliedMsgCod); Msg_PutHiddenParamMsgCod (Gbl.Msg.RepliedMsgCod);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
} }
break; break;
case ActSeePhoDeg: case ActSeePhoDeg:
@ -6334,15 +6339,13 @@ void Usr_SeeGuests (void)
{ {
case Usr_CLASS_PHOTO: case Usr_CLASS_PHOTO:
/***** Link to print view *****/ /***** Link to print view *****/
Act_FormStart (ActPrnInvPho); Act_PutContextualLink (ActPrnInvPho,Usr_PutLinkToShowGuestsAllDataParams,
Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print); "print",Txt_Print);
break; break;
case Usr_LIST: case Usr_LIST:
/****** Link to show all the data ******/ /****** Link to show all the data ******/
Act_FormStart (ActLstInvAll); Act_PutContextualLink (ActLstInvAll,Usr_PutLinkToShowGuestsAllDataParams,
Usr_PutParamListWithPhotos (); "table",Txt_Show_all_data);
Usr_PutExtraParamsUsrList (ActLstInvAll);
Act_PutContextualLink ("table",Txt_Show_all_data,Txt_Show_all_data,Txt_Show_all_data);
break; break;
} }
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
@ -6395,6 +6398,26 @@ void Usr_SeeGuests (void)
Usr_FreeUsrsList (&Gbl.Usrs.LstGsts); 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 *******************/ /******************** Show list or class photo of students *******************/
/*****************************************************************************/ /*****************************************************************************/
@ -6479,9 +6502,8 @@ void Usr_SeeStudents (void)
case Usr_CLASS_PHOTO: case Usr_CLASS_PHOTO:
/***** Link to print view *****/ /***** Link to print view *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActPrnStdPho); Act_PutContextualLink (ActPrnStdPho,Usr_PutLinkToShowStdsAllDataParams,
Grp_PutParamsCodGrps (); "print",Txt_Print);
Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
break; break;
case Usr_LIST: case Usr_LIST:
@ -6489,11 +6511,8 @@ void Usr_SeeStudents (void)
{ {
/****** Link to show all the data ******/ /****** Link to show all the data ******/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActLstStdAll); Act_PutContextualLink (ActLstStdAll,Usr_PutLinkToShowStdsAllDataParams,
Grp_PutParamsCodGrps (); "table",Txt_Show_all_data);
Usr_PutParamListWithPhotos ();
Usr_PutExtraParamsUsrList (ActLstStdAll);
Act_PutContextualLink ("table",Txt_Show_all_data,Txt_Show_all_data,Txt_Show_all_data);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }
break; break;
@ -6621,20 +6640,17 @@ void Usr_SeeTeachers (void)
{ {
case Usr_CLASS_PHOTO: case Usr_CLASS_PHOTO:
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActPrnTchPho); Act_PutContextualLink (ActPrnTchPho,Usr_PutLinkToShowTchsAllDataParams,
Sco_PutParamScope (Gbl.Scope.Current); "print",Txt_Print);
Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
break; break;
case Usr_LIST: 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 ******/ /****** Link to show all the data ******/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActLstTchAll); Act_PutContextualLink (ActLstTchAll,Usr_PutLinkToShowTchsAllDataParams,
Sco_PutParamScope (Gbl.Scope.Current); "table",Txt_Show_all_data);
Usr_PutParamListWithPhotos ();
Act_PutContextualLink ("table",Txt_Show_all_data,Txt_Show_all_data,Txt_Show_all_data);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }
break; break;
@ -6712,11 +6728,9 @@ static void Usr_PutLinkToListOfficialStudents (void)
Gbl.Imported.ExternalUsrId[0] && // I was authenticated from external service... Gbl.Imported.ExternalUsrId[0] && // I was authenticated from external service...
Gbl.Imported.ExternalSesId[0] && Gbl.Imported.ExternalSesId[0] &&
Gbl.Imported.ExternalRole == Rol_ROLE_TEACHER) // ...as a teacher Gbl.Imported.ExternalRole == Rol_ROLE_TEACHER) // ...as a teacher
{
/***** Link to list official students *****/ /***** Link to list official students *****/
Act_FormStart (ActGetExtLstStd); Act_PutContextualLink (ActGetExtLstStd,NULL,
Act_PutContextualLink ("list",Txt_Official_students,Txt_Official_students,Txt_Official_students); "list",Txt_Official_students);
}
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -242,7 +242,9 @@ void Usr_WriteLoggedUsrHead (void);
void Usr_PutFormLogOut (void); void Usr_PutFormLogOut (void);
void Usr_GetParamUsrIdLogin (void); void Usr_GetParamUsrIdLogin (void);
unsigned Usr_GetParamOtherUsrIDNickOrEMailAndGetUsrCods (struct ListUsrCods *ListUsrCods); 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); void Usr_GetParamOtherUsrCodEncrypted (void);
bool Usr_GetParamOtherUsrCodEncryptedAndGetUsrData (void); bool Usr_GetParamOtherUsrCodEncryptedAndGetUsrData (void);

View File

@ -100,6 +100,8 @@ extern struct Globals Gbl;
/***************************** Internal prototypes ***************************/ /***************************** Internal prototypes ***************************/
/*****************************************************************************/ /*****************************************************************************/
static void ZIP_PutButtonToCreateZIPAsgWrkParams (void);
static void ZIP_CompressFolderIntoZIP (void); static void ZIP_CompressFolderIntoZIP (void);
static unsigned long long ZIP_CloneDir (const char *Path,const char *PathClone,const char *PathInTree); 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, 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; extern const char *Txt_Create_ZIP_file;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">"); fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActAdmAsgWrkCrs); Act_PutContextualLink (ActAdmAsgWrkCrs,ZIP_PutButtonToCreateZIPAsgWrkParams,
"download",Txt_Create_ZIP_file);
fprintf (Gbl.F.Out,"</div>");
}
static void ZIP_PutButtonToCreateZIPAsgWrkParams (void)
{
Usr_PutHiddenParUsrCodAll (ActAdmAsgWrkCrs,Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (ActAdmAsgWrkCrs,Gbl.Usrs.Select.All);
if (Gbl.FileBrowser.FullTree) if (Gbl.FileBrowser.FullTree)
Par_PutHiddenParamChar ("FullTree",'Y'); Par_PutHiddenParamChar ("FullTree",'Y');
Par_PutHiddenParamChar ("CreateZIP",'Y'); Par_PutHiddenParamChar ("CreateZIP",'Y');
Act_PutContextualLink ("download",Txt_Create_ZIP_file,Txt_Create_ZIP_file,Txt_Create_ZIP_file);
fprintf (Gbl.F.Out,"</div>");
} }
/*****************************************************************************/ /*****************************************************************************/
@ -295,7 +301,7 @@ void ZIP_PutButtonToDownloadZIPOfAFolder (const char *PathInTree,const char *Fil
case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_CRS: case Brw_ADMI_WORKS_CRS:
Usr_PutHiddenParUsrCodAll (ZIP_ActZIPFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All); Usr_PutHiddenParUsrCodAll (ZIP_ActZIPFolder[Gbl.FileBrowser.Type],Gbl.Usrs.Select.All);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); Usr_PutParamOtherUsrCodEncrypted ();
break; break;
default: default:
break; break;