mirror of https://github.com/acanas/swad-core.git
Version19.42.3
This commit is contained in:
parent
8824f0ba48
commit
6f566c2ab8
46
swad_HTML.c
46
swad_HTML.c
|
@ -59,6 +59,7 @@ static unsigned HTM_TABLE_NestingLevel = 0;
|
||||||
static unsigned HTM_TR_NestingLevel = 0;
|
static unsigned HTM_TR_NestingLevel = 0;
|
||||||
static unsigned HTM_TH_NestingLevel = 0;
|
static unsigned HTM_TH_NestingLevel = 0;
|
||||||
static unsigned HTM_TD_NestingLevel = 0;
|
static unsigned HTM_TD_NestingLevel = 0;
|
||||||
|
static unsigned HTM_DIV_NestingLevel = 0;
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***************************** Private prototypes ****************************/
|
/***************************** Private prototypes ****************************/
|
||||||
|
@ -73,6 +74,8 @@ static void HTM_TH_BeginAttr (const char *fmt,...);
|
||||||
|
|
||||||
static void HTM_TD_BeginWithoutAttr (void);
|
static void HTM_TD_BeginWithoutAttr (void);
|
||||||
|
|
||||||
|
static void HTM_DIV_BeginWithoutAttr (void);
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/******************************* Start/end table *****************************/
|
/******************************* Start/end table *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -447,7 +450,50 @@ void HTM_TD_ColouredEmpty (unsigned NumColumns)
|
||||||
/************************************ Divs ***********************************/
|
/************************************ Divs ***********************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void HTM_DIV_Begin (const char *fmt,...)
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
int NumBytesPrinted;
|
||||||
|
char *Attr;
|
||||||
|
|
||||||
|
if (fmt)
|
||||||
|
{
|
||||||
|
if (fmt[0])
|
||||||
|
{
|
||||||
|
va_start (ap,fmt);
|
||||||
|
NumBytesPrinted = vasprintf (&Attr,fmt,ap);
|
||||||
|
va_end (ap);
|
||||||
|
|
||||||
|
if (NumBytesPrinted < 0) // If memory allocation wasn't possible,
|
||||||
|
// or some other error occurs,
|
||||||
|
// vasprintf will return -1
|
||||||
|
Lay_NotEnoughMemoryExit ();
|
||||||
|
|
||||||
|
/***** Print HTML *****/
|
||||||
|
fprintf (Gbl.F.Out,"<div %s>",Attr);
|
||||||
|
|
||||||
|
free ((void *) Attr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
HTM_DIV_BeginWithoutAttr ();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
HTM_DIV_BeginWithoutAttr ();
|
||||||
|
|
||||||
|
HTM_DIV_NestingLevel++;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void HTM_DIV_BeginWithoutAttr (void)
|
||||||
|
{
|
||||||
|
fprintf (Gbl.F.Out,"<div>");
|
||||||
|
}
|
||||||
|
|
||||||
void HTM_DIV_End (void)
|
void HTM_DIV_End (void)
|
||||||
{
|
{
|
||||||
|
if (HTM_DIV_NestingLevel == 0) // No TH open
|
||||||
|
Ale_ShowAlert (Ale_ERROR,"Trying to close unopened DIV.");
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"</div>");
|
fprintf (Gbl.F.Out,"</div>");
|
||||||
|
|
||||||
|
HTM_TD_NestingLevel--;
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,6 +62,7 @@ void HTM_TD_End (void);
|
||||||
void HTM_TD_Empty (unsigned NumColumns);
|
void HTM_TD_Empty (unsigned NumColumns);
|
||||||
void HTM_TD_ColouredEmpty (unsigned NumColumns);
|
void HTM_TD_ColouredEmpty (unsigned NumColumns);
|
||||||
|
|
||||||
|
void HTM_DIV_Begin (const char *fmt,...);
|
||||||
void HTM_DIV_End (void);
|
void HTM_DIV_End (void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -116,7 +116,7 @@ void Acc_ShowFormMyAccount (void)
|
||||||
else // Not logged
|
else // Not logged
|
||||||
{
|
{
|
||||||
/***** Links to other actions *****/
|
/***** Links to other actions *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
Usr_PutLinkToLogin ();
|
Usr_PutLinkToLogin ();
|
||||||
Pwd_PutLinkToSendNewPasswd ();
|
Pwd_PutLinkToSendNewPasswd ();
|
||||||
Lan_PutLinkToChangeLanguage ();
|
Lan_PutLinkToChangeLanguage ();
|
||||||
|
@ -189,7 +189,7 @@ void Acc_CheckIfEmptyAccountExists (void)
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
|
|
||||||
/***** Links to other actions *****/
|
/***** Links to other actions *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
Usr_PutLinkToLogin ();
|
Usr_PutLinkToLogin ();
|
||||||
Pwd_PutLinkToSendNewPasswd ();
|
Pwd_PutLinkToSendNewPasswd ();
|
||||||
Lan_PutLinkToChangeLanguage ();
|
Lan_PutLinkToChangeLanguage ();
|
||||||
|
@ -325,7 +325,7 @@ static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct UsrD
|
||||||
void Acc_ShowFormCreateMyAccount (void)
|
void Acc_ShowFormCreateMyAccount (void)
|
||||||
{
|
{
|
||||||
/***** Links to other actions *****/
|
/***** Links to other actions *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
Usr_PutLinkToLogin ();
|
Usr_PutLinkToLogin ();
|
||||||
Pwd_PutLinkToSendNewPasswd ();
|
Pwd_PutLinkToSendNewPasswd ();
|
||||||
Lan_PutLinkToChangeLanguage ();
|
Lan_PutLinkToChangeLanguage ();
|
||||||
|
@ -486,16 +486,16 @@ void Acc_ShowFormChgMyAccount (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Start container for this user *****/
|
/***** Start container for this user *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_USR\">");
|
HTM_DIV_Begin ("class=\"REC_USR\"");
|
||||||
|
|
||||||
/***** Show form to change my password and my nickname ****/
|
/***** Show form to change my password and my nickname ****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
|
HTM_DIV_Begin ("class=\"REC_LEFT\"");
|
||||||
Pwd_ShowFormChgMyPwd ();
|
Pwd_ShowFormChgMyPwd ();
|
||||||
Nck_ShowFormChangeMyNickname (IMustCreateMyNicknameNow);
|
Nck_ShowFormChangeMyNickname (IMustCreateMyNicknameNow);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Show form to change my email and my ID *****/
|
/***** Show form to change my email and my ID *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
|
HTM_DIV_Begin ("class=\"REC_RIGHT\"");
|
||||||
Mai_ShowFormChangeMyEmail (IMustFillInMyEmailNow,IShouldConfirmMyEmailNow);
|
Mai_ShowFormChangeMyEmail (IMustFillInMyEmailNow,IShouldConfirmMyEmailNow);
|
||||||
ID_ShowFormChangeMyID (IShouldFillInMyIDNow);
|
ID_ShowFormChangeMyID (IShouldFillInMyIDNow);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -525,16 +525,16 @@ void Acc_ShowFormChgOtherUsrAccount (void)
|
||||||
&Gbl.Usrs.Other.UsrDat,NULL);
|
&Gbl.Usrs.Other.UsrDat,NULL);
|
||||||
|
|
||||||
/***** Start container for this user *****/
|
/***** Start container for this user *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_USR\">");
|
HTM_DIV_Begin ("class=\"REC_USR\"");
|
||||||
|
|
||||||
/***** Show form to change password and nickname *****/
|
/***** Show form to change password and nickname *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
|
HTM_DIV_Begin ("class=\"REC_LEFT\"");
|
||||||
Pwd_ShowFormChgOtherUsrPwd ();
|
Pwd_ShowFormChgOtherUsrPwd ();
|
||||||
Nck_ShowFormChangeOtherUsrNickname ();
|
Nck_ShowFormChangeOtherUsrNickname ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Show form to change email and ID *****/
|
/***** Show form to change email and ID *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
|
HTM_DIV_Begin ("class=\"REC_RIGHT\"");
|
||||||
Mai_ShowFormChangeOtherUsrEmail ();
|
Mai_ShowFormChangeOtherUsrEmail ();
|
||||||
ID_ShowFormChangeOtherUsrID ();
|
ID_ShowFormChangeOtherUsrID ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
|
@ -193,9 +193,9 @@ static void Agd_ShowFormToSelPast__FutureEvents (void)
|
||||||
PstFut <= Agd_FUTURE_EVENTS;
|
PstFut <= Agd_FUTURE_EVENTS;
|
||||||
PstFut++)
|
PstFut++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
(Gbl.Agenda.Past__FutureEvents & (1 << PstFut)) ? "PREF_ON" :
|
(Gbl.Agenda.Past__FutureEvents & (1 << PstFut)) ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
Frm_StartForm (ActSeeMyAgd);
|
Frm_StartForm (ActSeeMyAgd);
|
||||||
Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents ^ (1 << PstFut), // Toggle
|
Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents ^ (1 << PstFut), // Toggle
|
||||||
Gbl.Agenda.PrivatPublicEvents,
|
Gbl.Agenda.PrivatPublicEvents,
|
||||||
|
@ -229,9 +229,9 @@ static void Agd_ShowFormToSelPrivatPublicEvents (void)
|
||||||
PrvPub <= Agd_PUBLIC_EVENTS;
|
PrvPub <= Agd_PUBLIC_EVENTS;
|
||||||
PrvPub++)
|
PrvPub++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
(Gbl.Agenda.PrivatPublicEvents & (1 << PrvPub)) ? "PREF_ON" :
|
(Gbl.Agenda.PrivatPublicEvents & (1 << PrvPub)) ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
Frm_StartForm (ActSeeMyAgd);
|
Frm_StartForm (ActSeeMyAgd);
|
||||||
Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents,
|
Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents,
|
||||||
Gbl.Agenda.PrivatPublicEvents ^ (1 << PrvPub), // Toggle
|
Gbl.Agenda.PrivatPublicEvents ^ (1 << PrvPub), // Toggle
|
||||||
|
@ -265,9 +265,9 @@ static void Agd_ShowFormToSelHiddenVisiblEvents (void)
|
||||||
HidVis <= Agd_VISIBL_EVENTS;
|
HidVis <= Agd_VISIBL_EVENTS;
|
||||||
HidVis++)
|
HidVis++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
(Gbl.Agenda.HiddenVisiblEvents & (1 << HidVis)) ? "PREF_ON" :
|
(Gbl.Agenda.HiddenVisiblEvents & (1 << HidVis)) ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
Frm_StartForm (ActSeeMyAgd);
|
Frm_StartForm (ActSeeMyAgd);
|
||||||
Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents,
|
Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents,
|
||||||
Gbl.Agenda.PrivatPublicEvents,
|
Gbl.Agenda.PrivatPublicEvents,
|
||||||
|
@ -772,11 +772,9 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod)
|
||||||
|
|
||||||
/* Location */
|
/* Location */
|
||||||
HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
|
HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">"
|
HTM_DIV_Begin ("class=\"%s\"",AgdEvent.Hidden ? "ASG_TITLE_LIGHT" :
|
||||||
"%s",
|
"ASG_TITLE");
|
||||||
AgdEvent.Hidden ? "ASG_TITLE_LIGHT" :
|
fprintf (Gbl.F.Out,"%s",AgdEvent.Location);
|
||||||
"ASG_TITLE",
|
|
||||||
AgdEvent.Location);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
@ -805,11 +803,9 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod)
|
||||||
Str_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
|
Str_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
|
||||||
|
|
||||||
HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
|
HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">"
|
HTM_DIV_Begin ("class=\"PAR %s\"",AgdEvent.Hidden ? "DAT_LIGHT" :
|
||||||
"%s",
|
"DAT");
|
||||||
AgdEvent.Hidden ? "DAT_LIGHT" :
|
fprintf (Gbl.F.Out,"%s",Txt);
|
||||||
"DAT",
|
|
||||||
Txt);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
|
|
@ -413,12 +413,12 @@ static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Tx
|
||||||
fprintf (Gbl.F.Out," id=\"%s\"",IdAlert);
|
fprintf (Gbl.F.Out," id=\"%s\"",IdAlert);
|
||||||
}
|
}
|
||||||
fprintf (Gbl.F.Out," class=\"CM\">");
|
fprintf (Gbl.F.Out," class=\"CM\">");
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ALERT\">");
|
HTM_DIV_Begin ("class=\"ALERT\"");
|
||||||
|
|
||||||
/***** Icon to close the alert *****/
|
/***** Icon to close the alert *****/
|
||||||
if (AlertClosable[AlertType])
|
if (AlertClosable[AlertType])
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ALERT_CLOSE\">");
|
HTM_DIV_Begin ("class=\"ALERT_CLOSE\"");
|
||||||
fprintf (Gbl.F.Out,"<a href=\"\""
|
fprintf (Gbl.F.Out,"<a href=\"\""
|
||||||
" onclick=\"toggleDisplay('%s');return false;\" />"
|
" onclick=\"toggleDisplay('%s');return false;\" />"
|
||||||
"<img src=\"%s/close.svg\""
|
"<img src=\"%s/close.svg\""
|
||||||
|
|
|
@ -234,7 +234,7 @@ void Ann_ShowMyAnnouncementsNotMarkedAsSeen (void)
|
||||||
/***** Show the announcements *****/
|
/***** Show the announcements *****/
|
||||||
if (NumAnnouncements)
|
if (NumAnnouncements)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
|
|
||||||
for (NumAnn = 0;
|
for (NumAnn = 0;
|
||||||
NumAnn < NumAnnouncements;
|
NumAnn < NumAnnouncements;
|
||||||
|
@ -303,8 +303,7 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
|
||||||
Gbl.Announcements.AnnCod = AnnCod; // Parameter for forms
|
Gbl.Announcements.AnnCod = AnnCod; // Parameter for forms
|
||||||
|
|
||||||
/***** Start yellow note *****/
|
/***** Start yellow note *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",ContainerClass[Status]);
|
||||||
ContainerClass[Status]);
|
|
||||||
|
|
||||||
if (ICanEdit)
|
if (ICanEdit)
|
||||||
{
|
{
|
||||||
|
@ -324,17 +323,17 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Write the subject of the announcement *****/
|
/***** Write the subject of the announcement *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",SubjectClass[Status]);
|
HTM_DIV_Begin ("class=\"%s\"",SubjectClass[Status]);
|
||||||
fprintf (Gbl.F.Out,"%s",Subject);
|
fprintf (Gbl.F.Out,"%s",Subject);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Write the content of the announcement *****/
|
/***** Write the content of the announcement *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",ContentClass[Status]);
|
HTM_DIV_Begin ("class=\"%s\"",ContentClass[Status]);
|
||||||
fprintf (Gbl.F.Out,"%s",Content);
|
fprintf (Gbl.F.Out,"%s",Content);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Write form *****/
|
/***** Write form *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"NOTICE_USERS %s\">",UsersClass[Status]);
|
HTM_DIV_Begin ("class=\"NOTICE_USERS %s\"",UsersClass[Status]);
|
||||||
|
|
||||||
if (ShowAllAnnouncements)
|
if (ShowAllAnnouncements)
|
||||||
{
|
{
|
||||||
|
|
|
@ -443,9 +443,8 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
|
||||||
HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
|
HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
|
||||||
if (Gbl.Crs.Grps.NumGrps)
|
if (Gbl.Crs.Grps.NumGrps)
|
||||||
Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (&Asg);
|
Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (&Asg);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">",
|
HTM_DIV_Begin ("class=\"PAR %s\"",Asg.Hidden ? "DAT_LIGHT" :
|
||||||
Asg.Hidden ? "DAT_LIGHT" :
|
"DAT");
|
||||||
"DAT");
|
|
||||||
fprintf (Gbl.F.Out,"%s",Txt);
|
fprintf (Gbl.F.Out,"%s",Txt);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
@ -1632,12 +1631,10 @@ static void Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (struct Assignment *Asg)
|
||||||
Asg->AsgCod);
|
Asg->AsgCod);
|
||||||
|
|
||||||
/***** Write heading *****/
|
/***** Write heading *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",Asg->Hidden ? "ASG_GRP_LIGHT" :
|
||||||
Asg->Hidden ? "ASG_GRP_LIGHT" :
|
"ASG_GRP");
|
||||||
"ASG_GRP");
|
fprintf (Gbl.F.Out,"%s: ",(NumRows == 1) ? Txt_Group :
|
||||||
fprintf (Gbl.F.Out,"%s: ",
|
Txt_Groups);
|
||||||
(NumRows == 1) ? Txt_Group :
|
|
||||||
Txt_Groups);
|
|
||||||
|
|
||||||
/***** Write groups *****/
|
/***** Write groups *****/
|
||||||
if (NumRows) // Groups found...
|
if (NumRows) // Groups found...
|
||||||
|
|
|
@ -172,14 +172,14 @@ void Att_SeeAttEvents (void)
|
||||||
switch (Gbl.Usrs.Me.Role.Logged)
|
switch (Gbl.Usrs.Me.Role.Logged)
|
||||||
{
|
{
|
||||||
case Rol_STD:
|
case Rol_STD:
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
Att_PutFormToListMyAttendance ();
|
Att_PutFormToListMyAttendance ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
break;
|
break;
|
||||||
case Rol_NET:
|
case Rol_NET:
|
||||||
case Rol_TCH:
|
case Rol_TCH:
|
||||||
case Rol_SYS_ADM:
|
case Rol_SYS_ADM:
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
Att_PutFormToListStdsAttendance ();
|
Att_PutFormToListStdsAttendance ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
break;
|
break;
|
||||||
|
@ -481,9 +481,8 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
|
||||||
HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
|
HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
|
||||||
if (Gbl.Crs.Grps.NumGrps)
|
if (Gbl.Crs.Grps.NumGrps)
|
||||||
Att_GetAndWriteNamesOfGrpsAssociatedToAttEvent (Att);
|
Att_GetAndWriteNamesOfGrpsAssociatedToAttEvent (Att);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",Att->Hidden ? "DAT_LIGHT" :
|
||||||
Att->Hidden ? "DAT_LIGHT" :
|
"DAT");
|
||||||
"DAT");
|
|
||||||
fprintf (Gbl.F.Out,"%s",Description);
|
fprintf (Gbl.F.Out,"%s",Description);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
@ -1523,9 +1522,8 @@ static void Att_GetAndWriteNamesOfGrpsAssociatedToAttEvent (struct AttendanceEve
|
||||||
Att->AttCod);
|
Att->AttCod);
|
||||||
|
|
||||||
/***** Write heading *****/
|
/***** Write heading *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",Att->Hidden ? "ASG_GRP_LIGHT" :
|
||||||
Att->Hidden ? "ASG_GRP_LIGHT" :
|
"ASG_GRP");
|
||||||
"ASG_GRP");
|
|
||||||
fprintf (Gbl.F.Out,"%s: ",
|
fprintf (Gbl.F.Out,"%s: ",
|
||||||
(NumGrps == 1) ? Txt_Group :
|
(NumGrps == 1) ? Txt_Group :
|
||||||
Txt_Groups);
|
Txt_Groups);
|
||||||
|
|
|
@ -1045,7 +1045,7 @@ void Ban_WriteMenuWithBanners (void)
|
||||||
NumBan++)
|
NumBan++)
|
||||||
{
|
{
|
||||||
/* Write data of this banner */
|
/* Write data of this banner */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Frm_StartForm (ActClkBan);
|
Frm_StartForm (ActClkBan);
|
||||||
Ban_PutParamBanCod (Gbl.Banners.Lst[NumBan].BanCod);
|
Ban_PutParamBanCod (Gbl.Banners.Lst[NumBan].BanCod);
|
||||||
Par_PutHiddenParamString ("URL",Gbl.Banners.Lst[NumBan].WWW);
|
Par_PutHiddenParamString ("URL",Gbl.Banners.Lst[NumBan].WWW);
|
||||||
|
|
12
swad_box.c
12
swad_box.c
|
@ -155,18 +155,18 @@ static void Box_StartBoxInternal (const char *Width,const char *Title,
|
||||||
fprintf (Gbl.F.Out,">");
|
fprintf (Gbl.F.Out,">");
|
||||||
|
|
||||||
/***** Row for left and right icons *****/
|
/***** Row for left and right icons *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_ICO\">");
|
HTM_DIV_Begin ("class=\"FRAME_ICO\"");
|
||||||
|
|
||||||
/* Contextual icons at left */
|
/* Contextual icons at left */
|
||||||
if (FunctionToDrawContextualIcons)
|
if (FunctionToDrawContextualIcons)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_ICO_LEFT\">");
|
HTM_DIV_Begin ("class=\"FRAME_ICO_LEFT\"");
|
||||||
FunctionToDrawContextualIcons ();
|
FunctionToDrawContextualIcons ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Icons at right: help and close */
|
/* Icons at right: help and close */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_ICO_RIGHT\">");
|
HTM_DIV_Begin ("class=\"FRAME_ICO_RIGHT\"");
|
||||||
|
|
||||||
if (HelpLink) // Link to help
|
if (HelpLink) // Link to help
|
||||||
{
|
{
|
||||||
|
@ -195,9 +195,9 @@ static void Box_StartBoxInternal (const char *Width,const char *Title,
|
||||||
/***** Frame title *****/
|
/***** Frame title *****/
|
||||||
if (Title)
|
if (Title)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_TITLE %s\">",
|
HTM_DIV_Begin ("class=\"FRAME_TITLE %s\"",
|
||||||
Gbl.Box.Nested ? "FRAME_TITLE_SMALL" :
|
Gbl.Box.Nested ? "FRAME_TITLE_SMALL" :
|
||||||
"FRAME_TITLE_BIG");
|
"FRAME_TITLE_BIG");
|
||||||
fprintf (Gbl.F.Out,"%s",Title);
|
fprintf (Gbl.F.Out,"%s",Title);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,7 +99,7 @@ void Btn_PutButtonInline (Btn_Button_t Button,const char *TxtButton)
|
||||||
|
|
||||||
void Btn_PutCreateButton (const char *TxtButton)
|
void Btn_PutCreateButton (const char *TxtButton)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
fprintf (Gbl.F.Out,"<button type=\"submit\" class=\"BT_SUBMIT BT_CREATE\">"
|
fprintf (Gbl.F.Out,"<button type=\"submit\" class=\"BT_SUBMIT BT_CREATE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</button>",
|
"</button>",
|
||||||
|
@ -117,7 +117,7 @@ void Btn_PutCreateButtonInline (const char *TxtButton)
|
||||||
|
|
||||||
void Btn_PutConfirmButton (const char *TxtButton)
|
void Btn_PutConfirmButton (const char *TxtButton)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
fprintf (Gbl.F.Out,"<button type=\"submit\" class=\"BT_SUBMIT BT_CONFIRM\">"
|
fprintf (Gbl.F.Out,"<button type=\"submit\" class=\"BT_SUBMIT BT_CONFIRM\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</button>",
|
"</button>",
|
||||||
|
@ -135,7 +135,7 @@ void Btn_PutConfirmButtonInline (const char *TxtButton)
|
||||||
|
|
||||||
void Btn_PutRemoveButton (const char *TxtButton)
|
void Btn_PutRemoveButton (const char *TxtButton)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
fprintf (Gbl.F.Out,"<button type=\"submit\" class=\"BT_SUBMIT BT_REMOVE\">"
|
fprintf (Gbl.F.Out,"<button type=\"submit\" class=\"BT_SUBMIT BT_REMOVE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</button>",
|
"</button>",
|
||||||
|
|
|
@ -117,9 +117,9 @@ void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,void (*FuncParams) (vo
|
||||||
FirstDayOfWeek++)
|
FirstDayOfWeek++)
|
||||||
if (Cal_DayIsValidAsFirstDayOfWeek[FirstDayOfWeek])
|
if (Cal_DayIsValidAsFirstDayOfWeek[FirstDayOfWeek])
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
FirstDayOfWeek == Gbl.Prefs.FirstDayOfWeek ? "PREF_ON" :
|
FirstDayOfWeek == Gbl.Prefs.FirstDayOfWeek ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
Frm_StartForm (Action);
|
Frm_StartForm (Action);
|
||||||
Par_PutHiddenParamUnsigned ("FirstDayOfWeek",FirstDayOfWeek);
|
Par_PutHiddenParamUnsigned ("FirstDayOfWeek",FirstDayOfWeek);
|
||||||
if (FuncParams) // Extra parameters depending on the action
|
if (FuncParams) // Extra parameters depending on the action
|
||||||
|
@ -210,7 +210,7 @@ void Cal_DrawCurrentMonth (void)
|
||||||
|
|
||||||
/***** Draw the month in JavaScript *****/
|
/***** Draw the month in JavaScript *****/
|
||||||
/* JavaScript will write HTML here */
|
/* JavaScript will write HTML here */
|
||||||
fprintf (Gbl.F.Out,"<div id=\"CurrentMonth\">");
|
HTM_DIV_Begin ("id=\"CurrentMonth\"");
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Write script to draw the month */
|
/* Write script to draw the month */
|
||||||
|
@ -278,7 +278,7 @@ static void Cal_DrawCalendar (Act_Action_t ActionSeeCalendar,
|
||||||
|
|
||||||
/***** Draw several months *****/
|
/***** Draw several months *****/
|
||||||
/* JavaScript will write HTML here */
|
/* JavaScript will write HTML here */
|
||||||
fprintf (Gbl.F.Out,"<div id=\"calendar\">");
|
HTM_DIV_Begin ("id=\"calendar\"");
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Write script to draw the month */
|
/* Write script to draw the month */
|
||||||
|
|
|
@ -332,7 +332,7 @@ static void Ctr_Configuration (bool PrintView)
|
||||||
|
|
||||||
/***** Title *****/
|
/***** Title *****/
|
||||||
PutLink = !PrintView && Gbl.Hierarchy.Ctr.WWW[0];
|
PutLink = !PrintView && Gbl.Hierarchy.Ctr.WWW[0];
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_TITLE FRAME_TITLE_BIG\">");
|
HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG\"");
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
||||||
" class=\"FRAME_TITLE_BIG\" title=\"%s\">",
|
" class=\"FRAME_TITLE_BIG\" title=\"%s\">",
|
||||||
|
@ -352,7 +352,7 @@ static void Ctr_Configuration (bool PrintView)
|
||||||
Ctr_GetPhotoAttribution (Gbl.Hierarchy.Ctr.CtrCod,&PhotoAttribution);
|
Ctr_GetPhotoAttribution (Gbl.Hierarchy.Ctr.CtrCod,&PhotoAttribution);
|
||||||
|
|
||||||
/* Photo image */
|
/* Photo image */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"DAT_SMALL CM\">");
|
HTM_DIV_Begin ("class=\"DAT_SMALL CM\"");
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT_N\">",
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT_N\">",
|
||||||
Gbl.Hierarchy.Ctr.WWW);
|
Gbl.Hierarchy.Ctr.WWW);
|
||||||
|
@ -377,7 +377,7 @@ static void Ctr_Configuration (bool PrintView)
|
||||||
// Only centre admins, institution admins and centre admins
|
// Only centre admins, institution admins and centre admins
|
||||||
// have permission to edit photo attribution
|
// have permission to edit photo attribution
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Frm_StartForm (ActChgCtrPhoAtt);
|
Frm_StartForm (ActChgCtrPhoAtt);
|
||||||
fprintf (Gbl.F.Out,"<textarea id=\"AttributionArea\""
|
fprintf (Gbl.F.Out,"<textarea id=\"AttributionArea\""
|
||||||
" name=\"Attribution\" rows=\"2\""
|
" name=\"Attribution\" rows=\"2\""
|
||||||
|
@ -391,7 +391,7 @@ static void Ctr_Configuration (bool PrintView)
|
||||||
}
|
}
|
||||||
else if (PhotoAttribution)
|
else if (PhotoAttribution)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ATTRIBUTION\">");
|
HTM_DIV_Begin ("class=\"ATTRIBUTION\"");
|
||||||
fprintf (Gbl.F.Out,"%s",PhotoAttribution);
|
fprintf (Gbl.F.Out,"%s",PhotoAttribution);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -586,7 +586,7 @@ static void Ctr_Configuration (bool PrintView)
|
||||||
}
|
}
|
||||||
else // I can not change centre WWW
|
else // I can not change centre WWW
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_LONG\">");
|
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_LONG\"");
|
||||||
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</a>",
|
"</a>",
|
||||||
|
@ -1605,7 +1605,7 @@ static void Ctr_ListCentresForEdition (void)
|
||||||
{
|
{
|
||||||
Str_Copy (WWW,Ctr->WWW,
|
Str_Copy (WWW,Ctr->WWW,
|
||||||
Cns_MAX_BYTES_WWW);
|
Cns_MAX_BYTES_WWW);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_SHORT\">");
|
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_SHORT\"");
|
||||||
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
||||||
" class=\"DAT\" title=\"%s\">"
|
" class=\"DAT\" title=\"%s\">"
|
||||||
"%s"
|
"%s"
|
||||||
|
|
|
@ -487,7 +487,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
||||||
En OpenSWAD:
|
En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 19.42.2 (2019-10-23)"
|
#define Log_PLATFORM_VERSION "SWAD 19.42.3 (2019-10-23)"
|
||||||
#define CSS_FILE "swad19.41.3.css"
|
#define CSS_FILE "swad19.41.3.css"
|
||||||
#define JS_FILE "swad19.39.js"
|
#define JS_FILE "swad19.39.js"
|
||||||
/*
|
/*
|
||||||
|
@ -495,6 +495,7 @@ ps2pdf source.ps destination.pdf
|
||||||
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
|
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
|
||||||
// TODO: Change icon to upload file in timeline to photo-video.svg
|
// TODO: Change icon to upload file in timeline to photo-video.svg
|
||||||
|
|
||||||
|
Version 19.42.3: Oct 23, 2019 Code refactoring in HTML divs. (246052 lines)
|
||||||
Version 19.42.2: Oct 23, 2019 Code refactoring in HTML divs. (246025 lines)
|
Version 19.42.2: Oct 23, 2019 Code refactoring in HTML divs. (246025 lines)
|
||||||
Version 19.42.1: Oct 23, 2019 Code refactoring in HTML divs. (246088 lines)
|
Version 19.42.1: Oct 23, 2019 Code refactoring in HTML divs. (246088 lines)
|
||||||
Version 19.42: Oct 23, 2019 Module swad_table is renamed as swad_HTML. (245956 lines)
|
Version 19.42: Oct 23, 2019 Module swad_table is renamed as swad_HTML. (245956 lines)
|
||||||
|
|
|
@ -86,7 +86,7 @@ void Con_ShowConnectedUsrs (void)
|
||||||
/***** Link to show last clicks in real time *****/
|
/***** Link to show last clicks in real time *****/
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
Sta_PutLinkToLastClicks ();
|
Sta_PutLinkToLastClicks ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -161,7 +161,7 @@ void Con_ShowGlobalConnectedUsrs (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Container start *****/
|
/***** Container start *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONNECTED\">");
|
HTM_DIV_Begin ("class=\"CONNECTED\"");
|
||||||
|
|
||||||
/***** Number of sessions *****/
|
/***** Number of sessions *****/
|
||||||
/* Link to view more details about connected users */
|
/* Link to view more details about connected users */
|
||||||
|
@ -181,7 +181,7 @@ void Con_ShowGlobalConnectedUsrs (void)
|
||||||
|
|
||||||
if (NumUsrsTotal)
|
if (NumUsrsTotal)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONNECTED_LIST\">");
|
HTM_DIV_Begin ("class=\"CONNECTED_LIST\"");
|
||||||
|
|
||||||
/***** Write total number of users *****/
|
/***** Write total number of users *****/
|
||||||
fprintf (Gbl.F.Out,"%u %s:",
|
fprintf (Gbl.F.Out,"%u %s:",
|
||||||
|
@ -264,11 +264,11 @@ static void Con_ShowConnectedUsrsBelongingToLocation (void)
|
||||||
struct ConnectedUsrs Usrs;
|
struct ConnectedUsrs Usrs;
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONNECTED\">");
|
HTM_DIV_Begin ("class=\"CONNECTED\"");
|
||||||
|
|
||||||
/***** Number of connected users who belong to scope *****/
|
/***** Number of connected users who belong to scope *****/
|
||||||
Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_UNK,&Usrs);
|
Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_UNK,&Usrs);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONNECTED_TXT\">");
|
HTM_DIV_Begin ("class=\"CONNECTED_TXT\"");
|
||||||
fprintf (Gbl.F.Out,"%u %s ",Usrs.NumUsrs,Txt_from);
|
fprintf (Gbl.F.Out,"%u %s ",Usrs.NumUsrs,Txt_from);
|
||||||
|
|
||||||
/* Put form to change scope */
|
/* Put form to change scope */
|
||||||
|
@ -310,7 +310,7 @@ void Con_ShowConnectedUsrsBelongingToCurrentCrs (void)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONNECTED\">");
|
HTM_DIV_Begin ("class=\"CONNECTED\"");
|
||||||
|
|
||||||
/***** Number of connected users who belong to course *****/
|
/***** Number of connected users who belong to course *****/
|
||||||
/* Link to view more details about connected users */
|
/* Link to view more details about connected users */
|
||||||
|
@ -847,11 +847,13 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CON_NAME_NARROW\">"); // Limited width
|
|
||||||
|
HTM_DIV_Begin ("class=\"CON_NAME_NARROW\""); // Limited width
|
||||||
Frm_LinkFormSubmitUnique (Txt_View_record_for_this_course,Font);
|
Frm_LinkFormSubmitUnique (Txt_View_record_for_this_course,Font);
|
||||||
Usr_WriteFirstNameBRSurnames (UsrDat);
|
Usr_WriteFirstNameBRSurnames (UsrDat);
|
||||||
fprintf (Gbl.F.Out,"</a>");
|
fprintf (Gbl.F.Out,"</a>");
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
@ -859,10 +861,9 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role)
|
||||||
Font = (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].ThisCrs ? "CON_SINCE CON_CRS" :
|
Font = (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].ThisCrs ? "CON_SINCE CON_CRS" :
|
||||||
"CON_SINCE CON_NO_CRS");
|
"CON_SINCE CON_NO_CRS");
|
||||||
HTM_TD_Begin ("class=\"%s COLOR%u\"",Font,Gbl.RowEvenOdd);
|
HTM_TD_Begin ("class=\"%s COLOR%u\"",Font,Gbl.RowEvenOdd);
|
||||||
fprintf (Gbl.F.Out,"<div id=\"hm%u\">",
|
HTM_DIV_Begin ("id=\"hm%u\"",Gbl.Usrs.Connected.NumUsr); // Used for automatic update, only when displayed on right column
|
||||||
Gbl.Usrs.Connected.NumUsr); // Used for automatic update, only when displayed on right column
|
|
||||||
Dat_WriteHoursMinutesSecondsFromSeconds (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].TimeDiff);
|
Dat_WriteHoursMinutesSecondsFromSeconds (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].TimeDiff);
|
||||||
HTM_DIV_End (); // Used for automatic update, only when displayed on right column
|
HTM_DIV_End (); // Used for automatic update, only when displayed on right column
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
@ -1062,13 +1063,15 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R
|
||||||
}
|
}
|
||||||
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
|
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
|
||||||
}
|
}
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CON_NAME_WIDE\">"); // Limited width
|
|
||||||
|
HTM_DIV_Begin ("class=\"CON_NAME_WIDE\""); // Limited width
|
||||||
if (PutLinkToRecord)
|
if (PutLinkToRecord)
|
||||||
Frm_LinkFormSubmit (UsrDat.FullName,Font,NULL);
|
Frm_LinkFormSubmit (UsrDat.FullName,Font,NULL);
|
||||||
Usr_WriteFirstNameBRSurnames (&UsrDat);
|
Usr_WriteFirstNameBRSurnames (&UsrDat);
|
||||||
if (PutLinkToRecord)
|
if (PutLinkToRecord)
|
||||||
fprintf (Gbl.F.Out,"</a>");
|
fprintf (Gbl.F.Out,"</a>");
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
if (PutLinkToRecord)
|
if (PutLinkToRecord)
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
|
@ -76,9 +76,9 @@ void Coo_EditMyPrefsOnCookies (void)
|
||||||
Frm_StartFormAnchor (ActChgCooPrf,Coo_COOKIES_ID);
|
Frm_StartFormAnchor (ActChgCooPrf,Coo_COOKIES_ID);
|
||||||
|
|
||||||
/* Start container */
|
/* Start container */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
(Gbl.Usrs.Me.UsrDat.Prefs.AcceptThirdPartyCookies) ? "DAT_N LIGHT_BLUE" :
|
(Gbl.Usrs.Me.UsrDat.Prefs.AcceptThirdPartyCookies) ? "DAT_N LIGHT_BLUE" :
|
||||||
"DAT");
|
"DAT");
|
||||||
/* Check box */
|
/* Check box */
|
||||||
fprintf (Gbl.F.Out,"<label>"
|
fprintf (Gbl.F.Out,"<label>"
|
||||||
"<input type=\"checkbox\""
|
"<input type=\"checkbox\""
|
||||||
|
|
|
@ -263,7 +263,7 @@ static void Cty_Configuration (bool PrintView)
|
||||||
|
|
||||||
/***** Title *****/
|
/***** Title *****/
|
||||||
PutLink = !PrintView && Gbl.Hierarchy.Cty.WWW[Gbl.Prefs.Language][0];
|
PutLink = !PrintView && Gbl.Hierarchy.Cty.WWW[Gbl.Prefs.Language][0];
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_TITLE FRAME_TITLE_BIG\">");
|
HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG\"");
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
||||||
" class=\"FRAME_TITLE_BIG\" title=\"%s\">",
|
" class=\"FRAME_TITLE_BIG\" title=\"%s\">",
|
||||||
|
@ -281,7 +281,7 @@ static void Cty_Configuration (bool PrintView)
|
||||||
Cty_GetMapAttribution (Gbl.Hierarchy.Cty.CtyCod,&MapAttribution);
|
Cty_GetMapAttribution (Gbl.Hierarchy.Cty.CtyCod,&MapAttribution);
|
||||||
|
|
||||||
/* Map image */
|
/* Map image */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"DAT_SMALL CM\">");
|
HTM_DIV_Begin ("class=\"DAT_SMALL CM\"");
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\">",
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\">",
|
||||||
Gbl.Hierarchy.Cty.WWW[Gbl.Prefs.Language]);
|
Gbl.Hierarchy.Cty.WWW[Gbl.Prefs.Language]);
|
||||||
|
@ -294,7 +294,7 @@ static void Cty_Configuration (bool PrintView)
|
||||||
/* Map attribution */
|
/* Map attribution */
|
||||||
if (!PrintView && Cty_CheckIfICanEditCountries ())
|
if (!PrintView && Cty_CheckIfICanEditCountries ())
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Frm_StartForm (ActChgCtyMapAtt);
|
Frm_StartForm (ActChgCtyMapAtt);
|
||||||
fprintf (Gbl.F.Out,"<textarea name=\"Attribution\""
|
fprintf (Gbl.F.Out,"<textarea name=\"Attribution\""
|
||||||
" cols=\"50\" rows=\"2\""
|
" cols=\"50\" rows=\"2\""
|
||||||
|
@ -308,7 +308,7 @@ static void Cty_Configuration (bool PrintView)
|
||||||
}
|
}
|
||||||
else if (MapAttribution)
|
else if (MapAttribution)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ATTRIBUTION\">");
|
HTM_DIV_Begin ("class=\"ATTRIBUTION\"");
|
||||||
fprintf (Gbl.F.Out,"%s",MapAttribution);
|
fprintf (Gbl.F.Out,"%s",MapAttribution);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -632,7 +632,7 @@ void Cty_ListCountries2 (void)
|
||||||
/***** Div for Google Geochart *****/
|
/***** Div for Google Geochart *****/
|
||||||
if (Gbl.Action.Act == ActSeeCty)
|
if (Gbl.Action.Act == ActSeeCty)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div id=\"chart_div\">");
|
HTM_DIV_Begin ("id=\"chart_div\"");
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -815,7 +815,7 @@ void Cty_DrawCountryMapAndNameWithLink (struct Country *Cty,Act_Action_t Action,
|
||||||
/***** Begin form *****/
|
/***** Begin form *****/
|
||||||
Frm_StartFormGoTo (Action);
|
Frm_StartFormGoTo (Action);
|
||||||
Cty_PutParamCtyCod (Cty->CtyCod);
|
Cty_PutParamCtyCod (Cty->CtyCod);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassContainer);
|
HTM_DIV_Begin ("class=\"%s\"",ClassContainer);
|
||||||
|
|
||||||
/***** Link to action *****/
|
/***** Link to action *****/
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
||||||
|
|
|
@ -145,7 +145,7 @@ static void Crs_EditingCourseDestructor (void);
|
||||||
void Crs_ShowIntroduction (void)
|
void Crs_ShowIntroduction (void)
|
||||||
{
|
{
|
||||||
/***** Course configuration *****/
|
/***** Course configuration *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Crs_Configuration (false);
|
Crs_Configuration (false);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -204,7 +204,7 @@ static void Crs_Configuration (bool PrintView)
|
||||||
if (Gbl.Usrs.Me.Role.Logged == Rol_GST ||
|
if (Gbl.Usrs.Me.Role.Logged == Rol_GST ||
|
||||||
Gbl.Usrs.Me.Role.Logged == Rol_USR)
|
Gbl.Usrs.Me.Role.Logged == Rol_USR)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
Enr_PutLinkToRequestSignUp ();
|
Enr_PutLinkToRequestSignUp ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -220,7 +220,7 @@ static void Crs_Configuration (bool PrintView)
|
||||||
|
|
||||||
/***** Title *****/
|
/***** Title *****/
|
||||||
PutLink = !PrintView && Gbl.Hierarchy.Deg.WWW[0];
|
PutLink = !PrintView && Gbl.Hierarchy.Deg.WWW[0];
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_TITLE FRAME_TITLE_BIG\">");
|
HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG\"");
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
||||||
" class=\"FRAME_TITLE_BIG\" title=\"%s\">",
|
" class=\"FRAME_TITLE_BIG\" title=\"%s\">",
|
||||||
|
|
|
@ -310,10 +310,10 @@ void Dat_ShowClientLocalTime (void)
|
||||||
|
|
||||||
/***** Draw the current date and time *****/
|
/***** Draw the current date and time *****/
|
||||||
/* Start container */
|
/* Start container */
|
||||||
fprintf (Gbl.F.Out,"<div id=\"current_date\">");
|
HTM_DIV_Begin ("id=\"current_date\"");
|
||||||
|
|
||||||
/* Month with link to calendar */
|
/* Month with link to calendar */
|
||||||
fprintf (Gbl.F.Out,"<div id=\"current_month\">");
|
HTM_DIV_Begin ("id=\"current_month\"");
|
||||||
Frm_StartForm (ActSeeCal);
|
Frm_StartForm (ActSeeCal);
|
||||||
Frm_LinkFormSubmit (Txt_Show_calendar,"CURRENT_MONTH",NULL);
|
Frm_LinkFormSubmit (Txt_Show_calendar,"CURRENT_MONTH",NULL);
|
||||||
fprintf (Gbl.F.Out,"<span id=\"current_month_txt\">" // JavaScript will write HTML here
|
fprintf (Gbl.F.Out,"<span id=\"current_month_txt\">" // JavaScript will write HTML here
|
||||||
|
@ -323,7 +323,7 @@ void Dat_ShowClientLocalTime (void)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Day with link to agenda (if I am logged) */
|
/* Day with link to agenda (if I am logged) */
|
||||||
fprintf (Gbl.F.Out,"<div id=\"current_day\">");
|
HTM_DIV_Begin ("id=\"current_day\"");
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
{
|
{
|
||||||
Frm_StartForm (ActSeeMyAgd);
|
Frm_StartForm (ActSeeMyAgd);
|
||||||
|
@ -339,7 +339,7 @@ void Dat_ShowClientLocalTime (void)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Time */
|
/* Time */
|
||||||
fprintf (Gbl.F.Out,"<div id=\"current_time\">"); // JavaScript will write HTML here
|
HTM_DIV_Begin ("id=\"current_time\""); // JavaScript will write HTML here
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* End container */
|
/* End container */
|
||||||
|
|
|
@ -320,7 +320,7 @@ static void Deg_Configuration (bool PrintView)
|
||||||
|
|
||||||
/***** Title *****/
|
/***** Title *****/
|
||||||
PutLink = !PrintView && Gbl.Hierarchy.Deg.WWW[0];
|
PutLink = !PrintView && Gbl.Hierarchy.Deg.WWW[0];
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_TITLE FRAME_TITLE_BIG\">");
|
HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG\"");
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
||||||
" class=\"FRAME_TITLE_BIG\" title=\"%s\">",
|
" class=\"FRAME_TITLE_BIG\" title=\"%s\">",
|
||||||
|
@ -471,7 +471,7 @@ static void Deg_Configuration (bool PrintView)
|
||||||
}
|
}
|
||||||
else // I can not change degree WWW
|
else // I can not change degree WWW
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_LONG\">");
|
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_LONG\"");
|
||||||
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</a>",
|
"</a>",
|
||||||
|
@ -835,7 +835,7 @@ static void Deg_ListDegreesForEdition (void)
|
||||||
{
|
{
|
||||||
Str_Copy (WWW,Deg->WWW,
|
Str_Copy (WWW,Deg->WWW,
|
||||||
Cns_MAX_BYTES_WWW);
|
Cns_MAX_BYTES_WWW);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_SHORT\">");
|
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_SHORT\"");
|
||||||
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
||||||
" class=\"DAT\" title=\"%s\">"
|
" class=\"DAT\" title=\"%s\">"
|
||||||
"%s"
|
"%s"
|
||||||
|
|
|
@ -670,7 +670,7 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
|
||||||
/***** Put contextual links *****/
|
/***** Put contextual links *****/
|
||||||
if (Gbl.Hierarchy.Level == Hie_CRS) // Course selected
|
if (Gbl.Hierarchy.Level == Hie_CRS) // Course selected
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
|
|
||||||
switch (Role)
|
switch (Role)
|
||||||
{
|
{
|
||||||
|
@ -728,7 +728,7 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
|
||||||
Hlp_USERS_Administration_administer_multiple_users,Box_NOT_CLOSABLE);
|
Hlp_USERS_Administration_administer_multiple_users,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
/***** Step 1: List of students to be enroled / removed *****/
|
/***** Step 1: List of students to be enroled / removed *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s LM\">",The_ClassTitle[Gbl.Prefs.Theme]);
|
HTM_DIV_Begin ("class=\"%s LM\"",The_ClassTitle[Gbl.Prefs.Theme]);
|
||||||
fprintf (Gbl.F.Out,"%s",Txt_Step_1_Provide_a_list_of_users);
|
fprintf (Gbl.F.Out,"%s",Txt_Step_1_Provide_a_list_of_users);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -736,13 +736,13 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
|
||||||
Enr_PutAreaToEnterUsrsIDs ();
|
Enr_PutAreaToEnterUsrsIDs ();
|
||||||
|
|
||||||
/***** Step 2: Put different actions to register/remove users to/from current course *****/
|
/***** Step 2: Put different actions to register/remove users to/from current course *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s LM\">",The_ClassTitle[Gbl.Prefs.Theme]);
|
HTM_DIV_Begin ("class=\"%s LM\"",The_ClassTitle[Gbl.Prefs.Theme]);
|
||||||
fprintf (Gbl.F.Out,"%s",Txt_Step_2_Select_the_desired_action);
|
fprintf (Gbl.F.Out,"%s",Txt_Step_2_Select_the_desired_action);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
Enr_PutActionsRegRemSeveralUsrs ();
|
Enr_PutActionsRegRemSeveralUsrs ();
|
||||||
|
|
||||||
/***** Step 3: Select groups in which register / remove users *****/
|
/***** Step 3: Select groups in which register / remove users *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s LM\">",The_ClassTitle[Gbl.Prefs.Theme]);
|
HTM_DIV_Begin ("class=\"%s LM\"",The_ClassTitle[Gbl.Prefs.Theme]);
|
||||||
fprintf (Gbl.F.Out,"%s",Txt_Step_3_Optionally_select_groups);
|
fprintf (Gbl.F.Out,"%s",Txt_Step_3_Optionally_select_groups);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
if (Gbl.Hierarchy.Level == Hie_CRS) // Course selected
|
if (Gbl.Hierarchy.Level == Hie_CRS) // Course selected
|
||||||
|
@ -759,7 +759,7 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Step 4: Confirm register / remove students *****/
|
/***** Step 4: Confirm register / remove students *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s LM\">",The_ClassTitle[Gbl.Prefs.Theme]);
|
HTM_DIV_Begin ("class=\"%s LM\"",The_ClassTitle[Gbl.Prefs.Theme]);
|
||||||
fprintf (Gbl.F.Out,"%s",Txt_Step_4_Confirm_the_enrolment_removing);
|
fprintf (Gbl.F.Out,"%s",Txt_Step_4_Confirm_the_enrolment_removing);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
Pwd_AskForConfirmationOnDangerousAction ();
|
Pwd_AskForConfirmationOnDangerousAction ();
|
||||||
|
@ -2888,7 +2888,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
|
|
||||||
/***** User name *****/
|
/***** User name *****/
|
||||||
HTM_TD_Begin ("class=\"DAT LT\"");
|
HTM_TD_Begin ("class=\"DAT LT\"");
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REQUESTER_NAME\">"); // Limited width
|
HTM_DIV_Begin ("class=\"REQUESTER_NAME\""); // Limited width
|
||||||
Usr_WriteFirstNameBRSurnames (&UsrDat);
|
Usr_WriteFirstNameBRSurnames (&UsrDat);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
@ -3086,7 +3086,7 @@ void Enr_ReqRegRemStd (void)
|
||||||
if (Enr_ICanAdminOtherUsrs[Gbl.Usrs.Me.Role.Logged])
|
if (Enr_ICanAdminOtherUsrs[Gbl.Usrs.Me.Role.Logged])
|
||||||
{
|
{
|
||||||
/***** Put contextual links *****/
|
/***** Put contextual links *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
|
|
||||||
/* Put link to go to admin several students */
|
/* Put link to go to admin several students */
|
||||||
Enr_PutLinkToAdminSeveralUsrs (Rol_STD);
|
Enr_PutLinkToAdminSeveralUsrs (Rol_STD);
|
||||||
|
|
Loading…
Reference in New Issue