mirror of https://github.com/acanas/swad-core.git
Version 14.107
This commit is contained in:
parent
b154474c74
commit
97358fffe5
|
@ -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 **********************************/
|
||||
|
|
|
@ -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 **********************************/
|
||||
|
|
22
swad_ID.c
22
swad_ID.c
|
@ -358,22 +358,20 @@ void ID_WriteUsrIDs (struct UsrData *UsrDat,bool ICanSeeUsrID)
|
|||
/*********** Put a link to the action used to request user's IDs *************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void ID_PutLinkToChangeUsrIDs (const struct UsrData *UsrDat)
|
||||
void ID_PutLinkToChangeUsrIDs (void)
|
||||
{
|
||||
extern const char *Txt_Change_IDs;
|
||||
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
||||
|
||||
/***** Link for changing the password *****/
|
||||
if (Pwd_CheckIfICanChangeOtherUsrPassword (UsrDat->UsrCod))
|
||||
if (Pwd_CheckIfICanChangeOtherUsrPassword (Gbl.Usrs.Other.UsrDat.UsrCod))
|
||||
{
|
||||
if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me
|
||||
Act_FormStart (ActFrmUsrAcc);
|
||||
else // Not me
|
||||
{
|
||||
Act_FormStart (ActFrmIDsOthUsr);
|
||||
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
}
|
||||
Act_PutContextualLink ("arroba",Txt_Change_IDs,Txt_Change_IDs,Txt_Change_IDs);
|
||||
if (Gbl.Usrs.Other.UsrDat.UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me
|
||||
Act_PutContextualLink (ActFrmUsrAcc,NULL,
|
||||
"arroba",Txt_Change_IDs);
|
||||
else // Not me
|
||||
Act_PutContextualLink (ActFrmIDsOthUsr,Usr_PutParamOtherUsrCodEncrypted,
|
||||
"arroba",Txt_Change_IDs);
|
||||
}
|
||||
else
|
||||
Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
|
||||
|
@ -466,7 +464,7 @@ void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe)
|
|||
else
|
||||
{
|
||||
Act_FormStart (ActRemIDOth);
|
||||
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
}
|
||||
sprintf (Gbl.Title,Txt_Remove_ID_X,
|
||||
UsrDat->IDs.List[NumID].ID);
|
||||
|
@ -524,7 +522,7 @@ void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe)
|
|||
else
|
||||
{
|
||||
Act_FormStart (ActNewIDOth);
|
||||
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
}
|
||||
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"NewID\""
|
||||
" size=\"16\" maxlength=\"%u\" value=\"%s\" />",
|
||||
|
|
|
@ -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);
|
||||
|
|
24
swad_QR.c
24
swad_QR.c
|
@ -70,28 +70,20 @@ static void QR_ImageQRCode (const char *QRString);
|
|||
/***************** Put a link to a print view of a QR code *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void QR_PutLinkToPrintQRCode (QR_QRType_t QRType,struct UsrData *UsrDat,bool PrintText)
|
||||
void QR_PutLinkToPrintQRCode (struct UsrData *UsrDat,bool PrintText)
|
||||
{
|
||||
extern const char *The_ClassFormulB[The_NUM_THEMES];
|
||||
extern const char *Txt_QR_code;
|
||||
char NicknameWithArroba[Nck_MAX_BYTES_NICKNAME_WITH_ARROBA+1];
|
||||
|
||||
/***** Link to print view *****/
|
||||
Act_FormStart (ActPrnUsrQR);
|
||||
switch (QRType)
|
||||
{
|
||||
case QR_ID:
|
||||
Par_PutHiddenParamString ("QRString",UsrDat->IDs.List[0].ID); // TODO: First ID?
|
||||
break;
|
||||
case QR_NICKNAME:
|
||||
sprintf (NicknameWithArroba,"@%s",UsrDat->Nickname);
|
||||
Par_PutHiddenParamString ("QRString",NicknameWithArroba);
|
||||
break;
|
||||
case QR_EMAIL:
|
||||
Par_PutHiddenParamString ("QRString",UsrDat->Email);
|
||||
break;
|
||||
}
|
||||
Act_PutContextualLink ("qr",Txt_QR_code,Txt_QR_code,PrintText ? Txt_QR_code :
|
||||
NULL);
|
||||
sprintf (NicknameWithArroba,"@%s",UsrDat->Nickname);
|
||||
Par_PutHiddenParamString ("QRString",NicknameWithArroba);
|
||||
Act_LinkFormSubmit (Txt_QR_code,The_ClassFormulB[Gbl.Prefs.Theme]);
|
||||
Lay_PutSendIcon ("qr",Txt_QR_code,PrintText ? Txt_QR_code :
|
||||
NULL);
|
||||
Act_FormEnd ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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>");
|
||||
}
|
||||
|
||||
|
|
|
@ -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>");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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>");
|
||||
|
|
|
@ -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>");
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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>");
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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>");
|
||||
}
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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>");
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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>");
|
||||
}
|
||||
|
||||
|
|
|
@ -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>");
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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>");
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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>");
|
||||
}
|
||||
|
||||
|
|
|
@ -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\"> </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\"> </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\" />",
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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>");
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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_);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
91
swad_photo.c
91
swad_photo.c
|
@ -85,7 +85,9 @@ const char *Pho_StrAvgPhotoPrograms[Pho_NUM_AVERAGE_PHOTO_TYPES] =
|
|||
/***************************** Private prototypes ****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Pho_PutLinkToRemoveUsrPhoto (const struct UsrData *UsrDat);
|
||||
static void Pho_PutLinkToRemoveMyPhoto (void);
|
||||
static void Pho_PutLinkToRemoveOtherUsrPhoto (void);
|
||||
|
||||
static void Pho_UpdatePhoto1 (struct UsrData *UsrDat);
|
||||
static void Pho_UpdatePhoto2 (void);
|
||||
static void Pho_ClearPhotoName (long UsrCod);
|
||||
|
@ -102,7 +104,10 @@ static void Pho_PutSelectorForHowComputePhotoSize (void);
|
|||
static Pho_HowComputePhotoSize_t Pho_GetHowComputePhotoSizeFromForm (void);
|
||||
static void Pho_PutSelectorForHowOrderDegrees (void);
|
||||
static Pho_HowOrderDegrees_t Pho_GetHowOrderDegreesFromForm (void);
|
||||
|
||||
static void Pho_PutLinkToPrintViewOfDegreeStats (void);
|
||||
static void Pho_PutLinkToPrintViewOfDegreeStatsParams (void);
|
||||
|
||||
static void Pho_PutLinkToCalculateDegreeStats (void);
|
||||
static void Pho_GetMaxStdsPerDegree (void);
|
||||
static void Pho_ShowOrPrintClassPhotoDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint);
|
||||
|
@ -143,48 +148,60 @@ bool Pho_CheckIfICanChangeOtherUsrPhoto (long UsrCod)
|
|||
/********** Put a link to the action used to request user's photo ************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Pho_PutLinkToChangeUsrPhoto (const struct UsrData *UsrDat)
|
||||
void Pho_PutLinkToChangeMyPhoto (void)
|
||||
{
|
||||
extern const char *Txt_Change_photo;
|
||||
extern const char *Txt_Upload_photo;
|
||||
bool PhotoExists;
|
||||
|
||||
/***** Link for changing / uploading the photo *****/
|
||||
PhotoExists = Gbl.Usrs.Me.MyPhotoExists;
|
||||
Act_PutContextualLink (ActReqMyPho,NULL,
|
||||
"photo",PhotoExists ? Txt_Change_photo :
|
||||
Txt_Upload_photo);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********** Put a link to the action used to request user's photo ************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Pho_PutLinkToChangeOtherUsrPhoto (void)
|
||||
{
|
||||
extern const char *Txt_Change_photo;
|
||||
extern const char *Txt_Upload_photo;
|
||||
bool PhotoExists;
|
||||
char PhotoURL[PATH_MAX+1];
|
||||
const char *Msg;
|
||||
|
||||
/***** Link for changing / uploading the photo *****/
|
||||
if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me
|
||||
{
|
||||
PhotoExists = Gbl.Usrs.Me.MyPhotoExists;
|
||||
Act_FormStart (ActReqMyPho);
|
||||
}
|
||||
else // Not me
|
||||
{
|
||||
PhotoExists = Pho_BuildLinkToPhoto (UsrDat,PhotoURL,true);
|
||||
Act_FormStart (ActReqUsrPho);
|
||||
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
}
|
||||
Msg = PhotoExists ? Txt_Change_photo :
|
||||
Txt_Upload_photo;
|
||||
Act_PutContextualLink ("photo",Msg,Msg,Msg);
|
||||
PhotoExists = Pho_BuildLinkToPhoto (&Gbl.Usrs.Other.UsrDat,PhotoURL,true);
|
||||
Act_PutContextualLink (ActReqUsrPho,Usr_PutParamOtherUsrCodEncrypted,
|
||||
"photo",PhotoExists ? Txt_Change_photo :
|
||||
Txt_Upload_photo);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************* Put a link to remove user's photo *********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Pho_PutLinkToRemoveUsrPhoto (const struct UsrData *UsrDat)
|
||||
static void Pho_PutLinkToRemoveMyPhoto (void)
|
||||
{
|
||||
extern const char *Txt_Remove_photo;
|
||||
|
||||
/***** Link for removing the photo *****/
|
||||
if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me
|
||||
Act_FormStart (ActRemMyPho);
|
||||
else // Not me
|
||||
{
|
||||
Act_FormStart (ActRemUsrPho);
|
||||
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
}
|
||||
Act_PutContextualLink ("delon",Txt_Remove_photo,Txt_Remove_photo,Txt_Remove_photo);
|
||||
Act_PutContextualLink (ActRemMyPho,NULL,"delon",Txt_Remove_photo);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************* Put a link to remove user's photo *********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Pho_PutLinkToRemoveOtherUsrPhoto (void)
|
||||
{
|
||||
extern const char *Txt_Remove_photo;
|
||||
|
||||
/***** Link for removing the photo *****/
|
||||
Act_PutContextualLink (ActRemUsrPho,Usr_PutParamOtherUsrCodEncrypted,
|
||||
"delon",Txt_Remove_photo);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -230,9 +247,13 @@ void Pho_ReqPhoto (const struct UsrData *UsrDat,bool PhotoExists,const char *Pho
|
|||
{
|
||||
/***** Forms to remove photo and make it public *****/
|
||||
fprintf (Gbl.F.Out,"<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>");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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>");
|
||||
}
|
||||
|
||||
|
|
|
@ -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>");
|
||||
}
|
||||
|
||||
|
|
|
@ -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>");
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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>");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
14
swad_test.c
14
swad_test.c
|
@ -314,9 +314,9 @@ static void Tst_PutFormToSeeResultsOfUsersTests (void)
|
|||
{
|
||||
extern const char *Txt_Results_tests;
|
||||
|
||||
Act_FormStart (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT ? ActReqSeeMyTstExa:
|
||||
ActReqSeeUsrTstExa);
|
||||
Act_PutContextualLink ("file",Txt_Results_tests,Txt_Results_tests,Txt_Results_tests);
|
||||
Act_PutContextualLink (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT ? ActReqSeeMyTstExa :
|
||||
ActReqSeeUsrTstExa,
|
||||
NULL,"file",Txt_Results_tests);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -327,8 +327,7 @@ static void Tst_PutFormToEdit (void)
|
|||
{
|
||||
extern const char *Txt_Edit;
|
||||
|
||||
Act_FormStart (ActEdiTstQst);
|
||||
Act_PutContextualLink ("edit",Txt_Edit,Txt_Edit,Txt_Edit);
|
||||
Act_PutContextualLink (ActEdiTstQst,NULL,"edit",Txt_Edit);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -339,8 +338,7 @@ static void Tst_PutFormToConfigure (void)
|
|||
{
|
||||
extern const char *Txt_Configure;
|
||||
|
||||
Act_FormStart (ActCfgTst);
|
||||
Act_PutContextualLink ("configtest",Txt_Configure,Txt_Configure,Txt_Configure);
|
||||
Act_PutContextualLink (ActCfgTst,NULL,"configtest",Txt_Configure);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -6493,7 +6491,7 @@ static void Tst_ShowDataUsr (struct UsrData *UsrDat,unsigned NumExams)
|
|||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
Act_FormStart (UsrDat->RoleInCurrentCrsDB == Rol_ROLE_STUDENT ? ActSeeRecOneStd :
|
||||
ActSeeRecOneTch);
|
||||
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Act_LinkFormSubmit (UsrDat->FullName,"MSG_AUT");
|
||||
|
||||
/***** Show user's ID *****/
|
||||
|
|
|
@ -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 *****/
|
||||
|
|
90
swad_user.c
90
swad_user.c
|
@ -161,6 +161,11 @@ static void Usr_UpdateMyColsClassPhotoInDB (void);
|
|||
static void Usr_GetAndUpdatePrefAboutListWithPhotos (void);
|
||||
static bool Usr_GetParamListWithPhotosFromForm (void);
|
||||
static void Usr_UpdateMyPrefAboutListWithPhotosPhotoInDB (void);
|
||||
|
||||
static void Usr_PutLinkToShowGuestsAllDataParams (void);
|
||||
static void Usr_PutLinkToShowStdsAllDataParams (void);
|
||||
static void Usr_PutLinkToShowTchsAllDataParams (void);
|
||||
|
||||
static void Usr_PutLinkToListOfficialStudents (void);
|
||||
|
||||
static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType,
|
||||
|
@ -192,7 +197,7 @@ void Usr_InformAboutNumClicksBeforePhoto (void)
|
|||
Lay_ShowAlert (Lay_WARNING,Message);
|
||||
|
||||
fprintf (Gbl.F.Out,"<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);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
14
swad_zip.c
14
swad_zip.c
|
@ -100,6 +100,8 @@ extern struct Globals Gbl;
|
|||
/***************************** Internal prototypes ***************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void ZIP_PutButtonToCreateZIPAsgWrkParams (void);
|
||||
|
||||
static void ZIP_CompressFolderIntoZIP (void);
|
||||
static unsigned long long ZIP_CloneDir (const char *Path,const char *PathClone,const char *PathInTree);
|
||||
static void ZIP_ShowLinkToDownloadZIP (const char *FileName,const char *URL,
|
||||
|
@ -114,13 +116,17 @@ void ZIP_PutButtonToCreateZIPAsgWrk (void)
|
|||
extern const char *Txt_Create_ZIP_file;
|
||||
|
||||
fprintf (Gbl.F.Out,"<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;
|
||||
|
|
Loading…
Reference in New Issue