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 ******/
.CONTEXT_MENU
{
text-align:center;
margin-bottom:10px;
text-align:center;
}
.CONTEXT_OPT
{
display:inline;
margin:0 5px;
}
/********************************* Frame 10 **********************************/

View File

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

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 *************/
/*****************************************************************************/
void ID_PutLinkToChangeUsrIDs (const struct UsrData *UsrDat)
void ID_PutLinkToChangeUsrIDs (void)
{
extern const char *Txt_Change_IDs;
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
/***** Link for changing the password *****/
if (Pwd_CheckIfICanChangeOtherUsrPassword (UsrDat->UsrCod))
if (Pwd_CheckIfICanChangeOtherUsrPassword (Gbl.Usrs.Other.UsrDat.UsrCod))
{
if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me
Act_FormStart (ActFrmUsrAcc);
else // Not me
{
Act_FormStart (ActFrmIDsOthUsr);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
}
Act_PutContextualLink ("arroba",Txt_Change_IDs,Txt_Change_IDs,Txt_Change_IDs);
if (Gbl.Usrs.Other.UsrDat.UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me
Act_PutContextualLink (ActFrmUsrAcc,NULL,
"arroba",Txt_Change_IDs);
else // Not me
Act_PutContextualLink (ActFrmIDsOthUsr,Usr_PutParamOtherUsrCodEncrypted,
"arroba",Txt_Change_IDs);
}
else
Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
@ -466,7 +464,7 @@ void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe)
else
{
Act_FormStart (ActRemIDOth);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
}
sprintf (Gbl.Title,Txt_Remove_ID_X,
UsrDat->IDs.List[NumID].ID);
@ -524,7 +522,7 @@ void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe)
else
{
Act_FormStart (ActNewIDOth);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
}
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"NewID\""
" 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_PutLinkToChangeUsrIDs (const struct UsrData *UsrDat);
void ID_PutLinkToChangeUsrIDs (void);
void ID_ShowFormOthIDs (void);
void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe);
void ID_RemoveMyUsrID (void);

View File

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

View File

@ -48,7 +48,7 @@ typedef enum
/***************************** Public prototypes *****************************/
/*****************************************************************************/
void QR_PutLinkToPrintQRCode (QR_QRType_t QRType,struct UsrData *UsrDat,bool PrintText);
void QR_PutLinkToPrintQRCode (struct UsrData *UsrDat,bool PrintText);
void QR_PrintQRCode (void);
void QR_LinkTo (unsigned Size,const char *ParamStr,long Cod);

View File

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

View File

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

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

View File

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

View File

@ -68,7 +68,10 @@ static void Asg_ShowOneAssignment (long AsgCod);
static void Asg_WriteAsgAuthor (struct Assignment *Asg);
static void Asg_WriteAssignmentFolder (struct Assignment *Asg);
static void Asg_GetParamAsgOrderType (void);
static void Asg_PutFormToCreateNewAsg (void);
static void Asg_PutFormToCreateNewAsgParams (void);
static void Asg_PutFormsToRemEditOneAsg (long AsgCod,bool Hidden);
static void Asg_GetDataOfAssignment (struct Assignment *Asg,const char *Query);
static void Asg_GetAssignmentTxtFromDB (long AsgCod,char *Txt);
@ -475,12 +478,16 @@ static void Asg_PutFormToCreateNewAsg (void)
/***** Put form to create a new assignment *****/
fprintf (Gbl.F.Out,"<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 ();
Grp_PutParamWhichGrps ();
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_WriteAttEventAuthor (struct AttendanceEvent *Att);
static void Att_GetParamAttOrderType (void);
static void Att_PutFormToListStds (void);
static void Att_PutFormToListStdsParams (void);
static void Att_PutFormToCreateNewAttEvent (void);
static void Att_PutFormToCreateNewAttEventParams (void);
static void Att_PutFormsToRemEditOneAttEvent (long AttCod,bool Hidden);
static void Att_GetListAttEvents (Att_OrderTime_t Order);
static void Att_GetDataOfAttEventByCodAndCheckCrs (struct AttendanceEvent *Att);
@ -96,8 +101,11 @@ static void Att_RemoveUsrFromAttEvent (long AttCod,long UsrCod);
static void Att_GetListSelectedUsrCods (unsigned NumStdsInList,long **LstSelectedUsrCods);
static void Att_GetListSelectedAttCods (char **StrAttCodsSelected);
static void Att_PutFormToPrintListStds (bool ShowDetails,char *StrAttCodsSelected);
static void Att_PutButtonToShowDetails (char *StrAttCodsSelected);
static void Att_PutFormToPrintListStds (void);
static void Att_PutFormToPrintListStdsParams (void);
static void Att_PutButtonToShowDetails (void);
static void Att_ListEventsToSelect (void);
static void Att_ListStdsAttendanceTable (unsigned NumStdsInList,long *LstSelectedUsrCods);
static void Att_WriteTableHeadSeveralAttEvents (void);
@ -133,7 +141,7 @@ void Att_SeeAttEvents (void)
/* Put link to my QR code */
if (Gbl.Usrs.Me.UsrDat.Nickname[0])
QR_PutLinkToPrintQRCode (QR_NICKNAME,&Gbl.Usrs.Me.UsrDat,true);
QR_PutLinkToPrintQRCode (&Gbl.Usrs.Me.UsrDat,true);
fprintf (Gbl.F.Out,"</div>");
@ -446,11 +454,15 @@ static void Att_PutFormToListStds (void)
extern const char *Txt_Attendance_list;
/***** Put form to create a new attendance event *****/
Act_FormStart (ActReqLstAttStd);
Act_PutContextualLink (ActReqLstAttStd,Att_PutFormToListStdsParams,
"list",Txt_Attendance_list);
}
static void Att_PutFormToListStdsParams (void)
{
Att_PutHiddenParamAttOrderType ();
Grp_PutParamWhichGrps ();
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
Act_PutContextualLink ("list",Txt_Attendance_list,Txt_Attendance_list,Txt_Attendance_list);
}
/*****************************************************************************/
@ -462,11 +474,15 @@ static void Att_PutFormToCreateNewAttEvent (void)
extern const char *Txt_New_event;
/***** Put form to create a new attendance event *****/
Act_FormStart (ActFrmNewAtt);
Act_PutContextualLink (ActFrmNewAtt,Att_PutFormToCreateNewAttEventParams,
"new",Txt_New_event);
}
static void Att_PutFormToCreateNewAttEventParams (void)
{
Att_PutHiddenParamAttOrderType ();
Grp_PutParamWhichGrps ();
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
Act_PutContextualLink ("new",Txt_New_event,Txt_New_event,Txt_New_event);
}
/*****************************************************************************/
@ -2684,9 +2700,7 @@ void Usr_ListAttendanceStdsCrs (void)
unsigned NumStdsInList;
long *LstSelectedUsrCods;
unsigned NumAttEvent;
char *StrAttCodsSelected;
char YN[1+1];
bool ShowDetails;
/***** Get list of attendance events *****/
Att_GetListAttEvents (Att_OLDEST_FIRST);
@ -2699,7 +2713,7 @@ void Usr_ListAttendanceStdsCrs (void)
{
/***** Get boolean parameter that indicates if details must be shown *****/
Par_GetParToText ("ShowDetails",YN,1);
ShowDetails = (Str_ConvertToUpperLetter (YN[0]) == 'Y');
Gbl.AttEvents.ShowDetails = (Str_ConvertToUpperLetter (YN[0]) == 'Y');
/***** Get list of groups selected ******/
Grp_GetParCodsSeveralGrpsToShowUsrs ();
@ -2716,11 +2730,11 @@ void Usr_ListAttendanceStdsCrs (void)
LstSelectedUsrCods,NumStdsInList);
/***** Get list of attendance events selected *****/
Att_GetListSelectedAttCods (&StrAttCodsSelected);
Att_GetListSelectedAttCods (&Gbl.AttEvents.StrAttCodsSelected);
/***** Put link to print *****/
if (Gbl.CurrentAct == ActSeeLstAttStd)
Att_PutFormToPrintListStds (ShowDetails,StrAttCodsSelected);
Att_PutFormToPrintListStds ();
/***** List events to select *****/
Att_ListEventsToSelect ();
@ -2732,13 +2746,13 @@ void Usr_ListAttendanceStdsCrs (void)
Att_ListStdsAttendanceTable (NumStdsInList,LstSelectedUsrCods);
/***** Show details or put button to show details *****/
if (ShowDetails)
if (Gbl.AttEvents.ShowDetails)
Att_ListStdsWithAttEventsDetails (NumStdsInList,LstSelectedUsrCods);
else if (Gbl.CurrentAct == ActSeeLstAttStd)
Att_PutButtonToShowDetails (StrAttCodsSelected);
Att_PutButtonToShowDetails ();
/***** Free memory for list of attendance events selected *****/
free ((void *) StrAttCodsSelected);
free ((void *) Gbl.AttEvents.StrAttCodsSelected);
/***** Free list of user codes *****/
free ((void *) LstSelectedUsrCods);
@ -2904,28 +2918,32 @@ static void Att_GetListSelectedAttCods (char **StrAttCodsSelected)
/**** Put a link (form) to list assistance of students to several events *****/
/*****************************************************************************/
static void Att_PutFormToPrintListStds (bool ShowDetails,char *StrAttCodsSelected)
static void Att_PutFormToPrintListStds (void)
{
extern const char *Txt_Print;
/***** Link to print view *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActPrnLstAttStd);
if (ShowDetails)
Act_PutContextualLink (ActPrnLstAttStd,Att_PutFormToPrintListStdsParams,
"print",Txt_Print);
fprintf (Gbl.F.Out,"</div>");
}
static void Att_PutFormToPrintListStdsParams (void)
{
if (Gbl.AttEvents.ShowDetails)
Par_PutHiddenParamChar ("ShowDetails",'Y');
Grp_PutParamsCodGrps ();
Usr_PutHiddenParUsrCodAll (ActPrnLstAttStd,Gbl.Usrs.Select.All);
if (StrAttCodsSelected[0])
Par_PutHiddenParamString ("AttCods",StrAttCodsSelected);
Act_PutContextualLink ("print",Txt_Print,Txt_Print,Txt_Print);
fprintf (Gbl.F.Out,"</div>");
if (Gbl.AttEvents.StrAttCodsSelected[0])
Par_PutHiddenParamString ("AttCods",Gbl.AttEvents.StrAttCodsSelected);
}
/*****************************************************************************/
/**** Put a link (form) to list assistance of students to several events *****/
/*****************************************************************************/
static void Att_PutButtonToShowDetails (char *StrAttCodsSelected)
static void Att_PutButtonToShowDetails (void)
{
extern const char *Txt_Show_more_details;
@ -2935,8 +2953,8 @@ static void Att_PutButtonToShowDetails (char *StrAttCodsSelected)
Par_PutHiddenParamChar ("ShowDetails",'Y');
Grp_PutParamsCodGrps ();
Usr_PutHiddenParUsrCodAll (ActSeeLstAttStd,Gbl.Usrs.Select.All);
if (StrAttCodsSelected[0])
Par_PutHiddenParamString ("AttCods",StrAttCodsSelected);
if (Gbl.AttEvents.StrAttCodsSelected[0])
Par_PutHiddenParamString ("AttCods",Gbl.AttEvents.StrAttCodsSelected);
Lay_PutConfirmButton (Txt_Show_more_details);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</div>");

View File

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

View File

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

View File

@ -103,11 +103,12 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 14.106.2 (2015/04/02)"
#define Log_PLATFORM_VERSION "SWAD 14.107 (2015/04/02)"
// Number of lines (includes comments but not blank lines) has been got with the following command:
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
/*
Version 14.107: Apr 02, 2015 Refactoring contextual menus. (183776 lines)
Version 14.106.2: Apr 02, 2015 Refactoring some contextual menus. (183747 lines)
Version 14.106.1: Apr 02, 2015 Changes in layout of icon with links. (183925 lines)
Version 14.106: Apr 02, 2015 Lot of changes in layout of icon with links. (183909 lines)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -256,7 +256,7 @@ void Nck_ShowFormChangeUsrNickname (void)
/* Link to QR code */
if (NumNick == 1 && Gbl.Usrs.Me.UsrDat.Nickname[0])
QR_PutLinkToPrintQRCode (QR_NICKNAME,&Gbl.Usrs.Me.UsrDat,false);
QR_PutLinkToPrintQRCode (&Gbl.Usrs.Me.UsrDat,false);
/* Form to change the nickname */
if (NumNick > 1)

View File

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

View File

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

View File

@ -65,6 +65,8 @@ extern struct Globals Gbl;
/***************************** Private prototypes ****************************/
/*****************************************************************************/
static void Pwd_PutLinkToSendNewPasswdParams (void);
static void Pwd_CreateANewPassword (char PlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD+1]);
static bool Pwd_CheckIfPasswdIsUsrIDorName (const char *PlainPassword);
@ -211,6 +213,23 @@ void Pwd_ActChgMyPwd2 (void)
/*************** Show form to send a new password by e-mail ******************/
/*****************************************************************************/
void Pwd_PutLinkToSendNewPasswd (void)
{
extern const char *Txt_I_forgot_my_password;
Act_PutContextualLink (ActReqSndNewPwd,Pwd_PutLinkToSendNewPasswdParams,
"key",Txt_I_forgot_my_password);
}
static void Pwd_PutLinkToSendNewPasswdParams (void)
{
Par_PutHiddenParamString ("UsrId",Gbl.Usrs.Me.UsrIdLogin);
}
/*****************************************************************************/
/*************** Show form to send a new password by e-mail ******************/
/*****************************************************************************/
void Pwd_ShowFormSendNewPwd (void)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
@ -759,7 +778,7 @@ void Pwd_ShowFormOthPwd (void)
/***** Form to change password *****/
/* Start form */
Act_FormStart (ActChgPwdOthUsr);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod);
Usr_PutParamOtherUsrCodEncrypted ();
/* New password */
Pwd_PutFormToGetNewPasswordTwice ();
@ -777,26 +796,30 @@ void Pwd_ShowFormOthPwd (void)
}
/*****************************************************************************/
/******** Put a link to the action used to request user's password ***********/
/********* Put a link to the action used to change user's password ***********/
/*****************************************************************************/
void Pwd_PutLinkToChangeUsrPassword (const struct UsrData *UsrDat)
void Pwd_PutLinkToChangeMyPassword (void)
{
extern const char *Txt_Change_password;
/***** Link for changing the password *****/
Act_PutContextualLink (ActFrmChgMyPwd,NULL,"key",Txt_Change_password);
}
/*****************************************************************************/
/********* Put a link to the action used to change user's password ***********/
/*****************************************************************************/
void Pwd_PutLinkToChangeOtherUsrPassword (void)
{
extern const char *Txt_Change_password;
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
/***** Link for changing the password *****/
if (Pwd_CheckIfICanChangeOtherUsrPassword (UsrDat->UsrCod))
{
if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me
Act_FormStart (ActFrmChgMyPwd);
else // Not me
{
Act_FormStart (ActFrmPwdOthUsr);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
}
Act_PutContextualLink ("key",Txt_Change_password,Txt_Change_password,Txt_Change_password);
}
if (Pwd_CheckIfICanChangeOtherUsrPassword (Gbl.Usrs.Other.UsrDat.UsrCod))
Act_PutContextualLink (ActFrmPwdOthUsr,Usr_PutParamOtherUsrCodEncrypted,
"key",Txt_Change_password);
else
Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
}

View File

@ -46,6 +46,8 @@ void Pwd_AssignMyPendingPasswordToMyCurrentPassword (void);
void Pwd_ActChgMyPwd1 (void);
void Pwd_ActChgMyPwd2 (void);
void Pwd_PutLinkToSendNewPasswd (void);
void Pwd_ShowFormSendNewPwd (void);
void Pwd_ChkIdLoginAndSendNewPwd (void);
int Pwd_SendNewPasswordByEmail (char NewRandomPlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD+1]);
@ -62,7 +64,10 @@ bool Pwd_FastCheckIfPasswordSeemsGood (const char *PlainPassword);
void Pwd_ShowFormChgPwd (void);
void Pwd_PutFormToGetNewPasswordTwice (void);
void Pwd_ShowFormOthPwd (void);
void Pwd_PutLinkToChangeUsrPassword (const struct UsrData *UsrDat);
void Pwd_PutLinkToChangeMyPassword (void);
void Pwd_PutLinkToChangeOtherUsrPassword (void);
bool Pwd_CheckIfICanChangeOtherUsrPassword (long UsrCod);
void Pwd_AskForConfirmationOnDangerousAction (void);

View File

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

View File

@ -81,7 +81,8 @@ typedef enum
/*****************************************************************************/
bool Pho_CheckIfICanChangeOtherUsrPhoto (long UsrCod);
void Pho_PutLinkToChangeUsrPhoto (const struct UsrData *UsrDat);
void Pho_PutLinkToChangeMyPhoto (void);
void Pho_PutLinkToChangeOtherUsrPhoto (void);
void Pho_ReqMyPhoto (void);
void Pho_ReqUsrPhoto (struct UsrData *UsrDat);
void Pho_ReqPhoto (const struct UsrData *UsrDat,bool PhotoExists,const char *PhotoURL);

View File

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

View File

@ -153,8 +153,7 @@ static void Plg_PutFormToEditPlugins (void)
extern const char *Txt_Edit;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_FormStart (ActEdiPlg);
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
Act_PutContextualLink (ActEdiPlg,NULL,"edit",Txt_Edit);
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 *****/
Act_FormStart (ActCal1stClkTim);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]);
Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate);
Act_FormEnd ();
@ -480,7 +480,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
{
/***** Button to fetch and store number of clicks *****/
Act_FormStart (ActCalNumClk);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]);
Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate);
Act_FormEnd ();
@ -517,7 +517,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
{
/***** Button to fetch and store number of file views *****/
Act_FormStart (ActCalNumFilVie);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]);
Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate);
Act_FormEnd ();
@ -554,7 +554,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
{
/***** Button to fetch and store number of forum posts *****/
Act_FormStart (ActCalNumForPst);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]);
Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate);
Act_FormEnd ();
@ -591,7 +591,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
{
/***** Button to fetch and store number of messages sent *****/
Act_FormStart (ActCalNumMsgSnt);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormulB[Gbl.Prefs.Theme]);
Lay_PutCalculateIcon (Txt_Calculate,Txt_Calculate);
Act_FormEnd ();
@ -1506,7 +1506,7 @@ void Prf_ShowUsrInRanking (const struct UsrData *UsrDat,unsigned Rank)
if (Visible)
{
Act_FormStart (ActSeePubPrf);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_View_public_profile,"DAT_SMALL");
Usr_RestrictLengthAndWriteName (UsrDat,8);
fprintf (Gbl.F.Out,"</a>");

View File

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

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_WriteStatus (struct Survey *Svy);
static void Svy_GetParamSvyOrderType (void);
static void Svy_PutFormToCreateNewSvy (void);
static void Svy_PutFormToCreateNewSvyParams (void);
static void Svy_PutFormsToRemEditOneSvy (long SvyCod,bool Visible);
static void Svy_GetSurveyTxtFromDB (long SvyCod,char *Txt);
static void Svy_PutParamSvyCod (long SvyCod);
@ -697,12 +700,16 @@ static void Svy_PutFormToCreateNewSvy (void)
extern const char *Txt_New_survey;
fprintf (Gbl.F.Out,"<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 ();
Grp_PutParamWhichGrps ();
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;
Act_FormStart (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT ? ActReqSeeMyTstExa:
ActReqSeeUsrTstExa);
Act_PutContextualLink ("file",Txt_Results_tests,Txt_Results_tests,Txt_Results_tests);
Act_PutContextualLink (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT ? ActReqSeeMyTstExa :
ActReqSeeUsrTstExa,
NULL,"file",Txt_Results_tests);
}
/*****************************************************************************/
@ -327,8 +327,7 @@ static void Tst_PutFormToEdit (void)
{
extern const char *Txt_Edit;
Act_FormStart (ActEdiTstQst);
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
Act_PutContextualLink (ActEdiTstQst,NULL,"edit",Txt_Edit);
}
/*****************************************************************************/
@ -339,8 +338,7 @@ static void Tst_PutFormToConfigure (void)
{
extern const char *Txt_Configure;
Act_FormStart (ActCfgTst);
Act_PutContextualLink ("configtest",Txt_Configure,Txt_Configure,Txt_Configure);
Act_PutContextualLink (ActCfgTst,NULL,"configtest",Txt_Configure);
}
/*****************************************************************************/
@ -6493,7 +6491,7 @@ static void Tst_ShowDataUsr (struct UsrData *UsrDat,unsigned NumExams)
Gbl.ColorRows[Gbl.RowEvenOdd]);
Act_FormStart (UsrDat->RoleInCurrentCrsDB == Rol_ROLE_STUDENT ? ActSeeRecOneStd :
ActSeeRecOneTch);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (UsrDat->FullName,"MSG_AUT");
/***** Show user's ID *****/

View File

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

View File

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

View File

@ -242,7 +242,9 @@ void Usr_WriteLoggedUsrHead (void);
void Usr_PutFormLogOut (void);
void Usr_GetParamUsrIdLogin (void);
unsigned Usr_GetParamOtherUsrIDNickOrEMailAndGetUsrCods (struct ListUsrCods *ListUsrCods);
void Usr_PutParamOtherUsrCodEncrypted (const char EncryptedUsrCod[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64+1]);
void Usr_PutParamOtherUsrCodEncrypted (void);
void Usr_PutParamUsrCodEncrypted (const char EncryptedUsrCod[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64+1]);
void Usr_GetParamOtherUsrCodEncrypted (void);
bool Usr_GetParamOtherUsrCodEncryptedAndGetUsrData (void);

View File

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