mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-16 13:44:06 +02:00
Version 14.123
This commit is contained in:
parent
a6a3098fb2
commit
432ae9624b
|
@ -141,7 +141,7 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char *NewNicknameWith
|
||||||
"<td class=\"%s RIGHT_MIDDLE\">"
|
"<td class=\"%s RIGHT_MIDDLE\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td style=\"text-align:left;\">"
|
"<td class=\"LEFT_MIDDLE\">"
|
||||||
"<input type=\"text\" name=\"NewNick\""
|
"<input type=\"text\" name=\"NewNick\""
|
||||||
" size=\"25\" maxlength=\"%u\""
|
" size=\"25\" maxlength=\"%u\""
|
||||||
" placeholder=\"%s\" value=\"%s\" />"
|
" placeholder=\"%s\" value=\"%s\" />"
|
||||||
|
@ -158,7 +158,7 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char *NewNicknameWith
|
||||||
"<td class=\"%s RIGHT_MIDDLE\">"
|
"<td class=\"%s RIGHT_MIDDLE\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td style=\"text-align:left;\">"
|
"<td class=\"LEFT_MIDDLE\">"
|
||||||
"<input type=\"text\" name=\"NewEmail\""
|
"<input type=\"text\" name=\"NewEmail\""
|
||||||
" size=\"25\" maxlength=\"%u\""
|
" size=\"25\" maxlength=\"%u\""
|
||||||
" placeholder=\"%s\" value=\"%s\" />"
|
" placeholder=\"%s\" value=\"%s\" />"
|
||||||
|
@ -260,8 +260,7 @@ static void Acc_PrintAccountSeparator (void)
|
||||||
|
|
||||||
/***** Separator *****/
|
/***** Separator *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td colspan=\"3\""
|
"<td colspan=\"3\" class=\"CENTER_MIDDLE\">"
|
||||||
" style=\"text-align:center; vertical-align:middle;\">"
|
|
||||||
"<hr class=\"%s\" />"
|
"<hr class=\"%s\" />"
|
||||||
"</td>"
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
|
|
|
@ -4726,8 +4726,8 @@ void Act_WriteBigMFUActions (struct Act_ListMFUActions *ListMFUActions)
|
||||||
|
|
||||||
/* Icon and text */
|
/* Icon and text */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td style=\"text-align:left;"
|
"<td class=\"LEFT_MIDDLE\""
|
||||||
" vertical-align:middle; padding-left:2px;\">");
|
" style=\"padding-left:2px;\">");
|
||||||
Act_FormStart (Action);
|
Act_FormStart (Action);
|
||||||
Act_LinkFormSubmit (TabMenuStr,The_ClassFormNoWrap[Gbl.Prefs.Theme]);
|
Act_LinkFormSubmit (TabMenuStr,The_ClassFormNoWrap[Gbl.Prefs.Theme]);
|
||||||
fprintf (Gbl.F.Out,"<img src=\"%s/%s/%s64x64.gif\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/%s/%s64x64.gif\""
|
||||||
|
@ -4796,7 +4796,8 @@ void Act_WriteSmallMFUActions (struct Act_ListMFUActions *ListMFUActions)
|
||||||
Act_LinkFormSubmit (Title,"MFU_ACT");
|
Act_LinkFormSubmit (Title,"MFU_ACT");
|
||||||
fprintf (Gbl.F.Out,"<img src=\"%s/%s/%s64x64.gif\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/%s/%s64x64.gif\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"ICON16x16\" style=\"margin:1px; vertical-align:middle;\" />",
|
" class=\"ICON16x16\""
|
||||||
|
" style=\"margin:1px; vertical-align:middle;\" />",
|
||||||
Gbl.Prefs.PathIconSet,Cfg_ICON_ACTION,
|
Gbl.Prefs.PathIconSet,Cfg_ICON_ACTION,
|
||||||
Act_Actions[Action].Icon,
|
Act_Actions[Action].Icon,
|
||||||
MenuStr,TabMenuStr);
|
MenuStr,TabMenuStr);
|
||||||
|
|
|
@ -327,7 +327,7 @@ void Ann_ShowFormAnnouncement (void)
|
||||||
"<td class=\"%s RIGHT_TOP\">"
|
"<td class=\"%s RIGHT_TOP\">"
|
||||||
"%s: "
|
"%s: "
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td style=\"text-align:left;\">"
|
"<td class=\"LEFT_TOP\">"
|
||||||
"<textarea name=\"Subject\" cols=\"75\" rows=\"2\">"
|
"<textarea name=\"Subject\" cols=\"75\" rows=\"2\">"
|
||||||
"</textarea>"
|
"</textarea>"
|
||||||
"</td>"
|
"</td>"
|
||||||
|
@ -336,7 +336,7 @@ void Ann_ShowFormAnnouncement (void)
|
||||||
"<td class=\"%s RIGHT_TOP\">"
|
"<td class=\"%s RIGHT_TOP\">"
|
||||||
"%s: "
|
"%s: "
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td style=\"text-align:left;\">"
|
"<td class=\"LEFT_TOP\">"
|
||||||
"<textarea name=\"Content\" cols=\"75\" rows=\"20\">"
|
"<textarea name=\"Content\" cols=\"75\" rows=\"20\">"
|
||||||
"</textarea>"
|
"</textarea>"
|
||||||
"</td>"
|
"</td>"
|
||||||
|
@ -351,8 +351,7 @@ void Ann_ShowFormAnnouncement (void)
|
||||||
"<td class=\"%s RIGHT_TOP\">"
|
"<td class=\"%s RIGHT_TOP\">"
|
||||||
"%s: "
|
"%s: "
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td class=\"DAT\""
|
"<td class=\"DAT LEFT_TOP\">",
|
||||||
" style=\"text-align:left; vertical-align:middle;\">",
|
|
||||||
The_ClassForm[Gbl.Prefs.Theme],
|
The_ClassForm[Gbl.Prefs.Theme],
|
||||||
Txt_Users);
|
Txt_Users);
|
||||||
Rol_WriteSelectorRoles (1 << Rol_STUDENT |
|
Rol_WriteSelectorRoles (1 << Rol_STUDENT |
|
||||||
|
|
|
@ -161,8 +161,7 @@ static void Asg_ShowAllAssignments (void)
|
||||||
Order <= Asg_ORDER_BY_END_DATE;
|
Order <= Asg_ORDER_BY_END_DATE;
|
||||||
Order++)
|
Order++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<th class=\"TIT_TBL\""
|
fprintf (Gbl.F.Out,"<th class=\"TIT_TBL LEFT_MIDDLE\">");
|
||||||
" style=\"text-align:left;\">");
|
|
||||||
Act_FormStart (ActSeeAsg);
|
Act_FormStart (ActSeeAsg);
|
||||||
Grp_PutParamWhichGrps ();
|
Grp_PutParamWhichGrps ();
|
||||||
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
|
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
|
||||||
|
@ -177,13 +176,13 @@ static void Asg_ShowAllAssignments (void)
|
||||||
Act_FormEnd ();
|
Act_FormEnd ();
|
||||||
fprintf (Gbl.F.Out,"</th>");
|
fprintf (Gbl.F.Out,"</th>");
|
||||||
}
|
}
|
||||||
fprintf (Gbl.F.Out,"<th class=\"TIT_TBL\" style=\"text-align:left;\">"
|
fprintf (Gbl.F.Out,"<th class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"<th class=\"TIT_TBL\" style=\"text-align:center;\">"
|
"<th class=\"TIT_TBL CENTER_MIDDLE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"<th class=\"TIT_TBL\" style=\"text-align:center;\">"
|
"<th class=\"TIT_TBL CENTER_MIDDLE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
|
@ -240,9 +239,10 @@ static void Asg_ShowOneAssignment (long AsgCod)
|
||||||
/***** Write first row of data of this assignment *****/
|
/***** Write first row of data of this assignment *****/
|
||||||
/* Start date/time */
|
/* Start date/time */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\" style=\"text-align:left;"
|
"<td class=\"%s LEFT_TOP\""
|
||||||
" vertical-align:top; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"%02u/%02u/%02u<br />%02u:%02u h"
|
"%02u/%02u/%02u<br />"
|
||||||
|
"%02u:%02u h"
|
||||||
"</td>",
|
"</td>",
|
||||||
Asg.Hidden ? (Asg.Open ? "DATE_GREEN_LIGHT" :
|
Asg.Hidden ? (Asg.Open ? "DATE_GREEN_LIGHT" :
|
||||||
"DATE_RED_LIGHT") :
|
"DATE_RED_LIGHT") :
|
||||||
|
@ -256,9 +256,10 @@ static void Asg_ShowOneAssignment (long AsgCod)
|
||||||
Asg.DateTimes[Asg_START_TIME].Time.Minute);
|
Asg.DateTimes[Asg_START_TIME].Time.Minute);
|
||||||
|
|
||||||
/* End date/time */
|
/* End date/time */
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s\" style=\"text-align:left;"
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\""
|
||||||
" vertical-align:top; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"%02u/%02u/%02u<br />%02u:%02u h"
|
"%02u/%02u/%02u<br />"
|
||||||
|
"%02u:%02u h"
|
||||||
"</td>",
|
"</td>",
|
||||||
Asg.Hidden ? (Asg.Open ? "DATE_GREEN_LIGHT" :
|
Asg.Hidden ? (Asg.Open ? "DATE_GREEN_LIGHT" :
|
||||||
"DATE_RED_LIGHT") :
|
"DATE_RED_LIGHT") :
|
||||||
|
@ -272,8 +273,7 @@ static void Asg_ShowOneAssignment (long AsgCod)
|
||||||
Asg.DateTimes[Asg_END_TIME].Time.Minute);
|
Asg.DateTimes[Asg_END_TIME].Time.Minute);
|
||||||
|
|
||||||
/* Assignment title */
|
/* Assignment title */
|
||||||
fprintf (Gbl.F.Out,"<td style=\"text-align:left; vertical-align:top;"
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\" style=\"background-color:%s;\">"
|
||||||
" background-color:%s;\">"
|
|
||||||
"<div class=\"%s\">%s</div>",
|
"<div class=\"%s\">%s</div>",
|
||||||
Gbl.ColorRows[Gbl.RowEvenOdd],
|
Gbl.ColorRows[Gbl.RowEvenOdd],
|
||||||
Asg.Hidden ? "ASG_TITLE_LIGHT" :
|
Asg.Hidden ? "ASG_TITLE_LIGHT" :
|
||||||
|
@ -282,8 +282,8 @@ static void Asg_ShowOneAssignment (long AsgCod)
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
|
|
||||||
/* Send work? */
|
/* Send work? */
|
||||||
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"%s\" style=\"text-align:center;"
|
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"%s CENTER_TOP\""
|
||||||
" vertical-align:top; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"<img src=\"%s/%s16x16.gif\""
|
"<img src=\"%s/%s16x16.gif\""
|
||||||
" alt=\"%s\" title=\"%s\" class=\"ICON16x16\" />"
|
" alt=\"%s\" title=\"%s\" class=\"ICON16x16\" />"
|
||||||
"<br />%s"
|
"<br />%s"
|
||||||
|
@ -300,8 +300,8 @@ static void Asg_ShowOneAssignment (long AsgCod)
|
||||||
Txt_No);
|
Txt_No);
|
||||||
|
|
||||||
/* Assignment folder */
|
/* Assignment folder */
|
||||||
fprintf (Gbl.F.Out,"<td rowspan=\"2\" style=\"text-align:left;"
|
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"LEFT_TOP\""
|
||||||
" vertical-align:top; background-color:%s;\">",
|
" style=\"background-color:%s;\">",
|
||||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||||
Asg_WriteAssignmentFolder (&Asg);
|
Asg_WriteAssignmentFolder (&Asg);
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
|
@ -309,8 +309,8 @@ static void Asg_ShowOneAssignment (long AsgCod)
|
||||||
|
|
||||||
/***** Write second row of data of this assignment *****/
|
/***** Write second row of data of this assignment *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td colspan=\"2\" style=\"text-align:left;"
|
"<td colspan=\"2\" class=\"LEFT_TOP\""
|
||||||
" vertical-align:top; background-color:%s;\">",
|
" style=\"background-color:%s;\">",
|
||||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||||
|
|
||||||
/* Author of the assignment */
|
/* Author of the assignment */
|
||||||
|
@ -333,7 +333,7 @@ static void Asg_ShowOneAssignment (long AsgCod)
|
||||||
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
|
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
|
||||||
Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to recpectful HTML
|
Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to recpectful HTML
|
||||||
Str_InsertLinkInURLs (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
|
Str_InsertLinkInURLs (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
|
||||||
fprintf (Gbl.F.Out,"<td style=\"text-align:left; background-color:%s;\">",
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\" style=\"background-color:%s;\">",
|
||||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||||
|
|
||||||
if (Gbl.CurrentCrs.Grps.NumGrps)
|
if (Gbl.CurrentCrs.Grps.NumGrps)
|
||||||
|
@ -438,7 +438,7 @@ static void Asg_WriteAssignmentFolder (struct Assignment *Asg)
|
||||||
|
|
||||||
/***** Folder name *****/
|
/***** Folder name *****/
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
"<td class=\"DAT\" style=\"text-align:left;\">%s</td>"
|
"<td class=\"DAT LEFT_TOP\">%s</td>"
|
||||||
"</tr>"
|
"</tr>"
|
||||||
"</table>",
|
"</table>",
|
||||||
Asg->Folder);
|
Asg->Folder);
|
||||||
|
@ -1130,7 +1130,7 @@ void Asg_RequestCreatOrEditAsg (void)
|
||||||
"<td class=\"%s RIGHT_MIDDLE\">"
|
"<td class=\"%s RIGHT_MIDDLE\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td style=\"text-align:left;\">"
|
"<td class=\"LEFT_MIDDLE\">"
|
||||||
"<input type=\"text\" name=\"Title\" size=\"45\" maxlength=\"%u\" value=\"%s\" />"
|
"<input type=\"text\" name=\"Title\" size=\"45\" maxlength=\"%u\" value=\"%s\" />"
|
||||||
"</td>"
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
|
@ -1147,10 +1147,10 @@ void Asg_RequestCreatOrEditAsg (void)
|
||||||
"<td class=\"%s RIGHT_MIDDLE\">"
|
"<td class=\"%s RIGHT_MIDDLE\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td style=\"text-align:left;\">"
|
"<td class=\"LEFT_MIDDLE\">"
|
||||||
"<table class=\"CELLS_PAD_2\">"
|
"<table class=\"CELLS_PAD_2\">"
|
||||||
"<tr>"
|
"<tr>"
|
||||||
"<td style=\"text-align:left;\">",
|
"<td style=\"LEFT_TOP\">",
|
||||||
The_ClassForm[Gbl.Prefs.Theme],
|
The_ClassForm[Gbl.Prefs.Theme],
|
||||||
Dates[StartOrEndTime]);
|
Dates[StartOrEndTime]);
|
||||||
|
|
||||||
|
@ -1163,7 +1163,7 @@ void Asg_RequestCreatOrEditAsg (void)
|
||||||
false,false);
|
false,false);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
"<td style=\"text-align:left; vertical-align:top;\">");
|
"<td class=\"LEFT_TOP\">");
|
||||||
|
|
||||||
/* Time */
|
/* Time */
|
||||||
Dat_WriteFormHourMinute (NameSelectHour [StartOrEndTime],
|
Dat_WriteFormHourMinute (NameSelectHour [StartOrEndTime],
|
||||||
|
@ -1183,7 +1183,7 @@ void Asg_RequestCreatOrEditAsg (void)
|
||||||
"<td class=\"%s RIGHT_MIDDLE\">"
|
"<td class=\"%s RIGHT_MIDDLE\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td class=\"DAT\" style=\"text-align:left;\">"
|
"<td class=\"DAT LEFT_MIDDLE\">"
|
||||||
"%s: "
|
"%s: "
|
||||||
"<input type=\"text\" name=\"Folder\" size=\"%u\" maxlength=\"%u\" value=\"%s\" />"
|
"<input type=\"text\" name=\"Folder\" size=\"%u\" maxlength=\"%u\" value=\"%s\" />"
|
||||||
"</td>"
|
"</td>"
|
||||||
|
@ -1198,7 +1198,7 @@ void Asg_RequestCreatOrEditAsg (void)
|
||||||
"<td class=\"%s RIGHT_TOP\">"
|
"<td class=\"%s RIGHT_TOP\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td style=\"text-align:left; vertical-align:top;\">"
|
"<td class=\"LEFT_TOP\">"
|
||||||
"<textarea name=\"Txt\" cols=\"60\" rows=\"10\">",
|
"<textarea name=\"Txt\" cols=\"60\" rows=\"10\">",
|
||||||
The_ClassForm[Gbl.Prefs.Theme],
|
The_ClassForm[Gbl.Prefs.Theme],
|
||||||
Txt_Description);
|
Txt_Description);
|
||||||
|
@ -1243,15 +1243,14 @@ static void Asg_ShowLstGrpsToEditAssignment (long AsgCod)
|
||||||
"<td class=\"%s RIGHT_TOP\">"
|
"<td class=\"%s RIGHT_TOP\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td style=\"text-align:left; vertical-align:top;\">",
|
"<td class=\"LEFT_TOP\">",
|
||||||
The_ClassForm[Gbl.Prefs.Theme],
|
The_ClassForm[Gbl.Prefs.Theme],
|
||||||
Txt_Groups);
|
Txt_Groups);
|
||||||
Lay_StartRoundFrameTable ("100%",0,NULL);
|
Lay_StartRoundFrameTable ("100%",0,NULL);
|
||||||
|
|
||||||
/***** First row: checkbox to select the whole course *****/
|
/***** First row: checkbox to select the whole course *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td colspan=\"7\" class=\"DAT\""
|
"<td colspan=\"7\" class=\"DAT LEFT_MIDDLE\">"
|
||||||
" style=\"text-align:left; vertical-align:middle;\">"
|
|
||||||
"<input type=\"checkbox\" id=\"WholeCrs\" name=\"WholeCrs\" value=\"Y\"");
|
"<input type=\"checkbox\" id=\"WholeCrs\" name=\"WholeCrs\" value=\"Y\"");
|
||||||
if (!Asg_CheckIfAsgIsAssociatedToGrps (AsgCod))
|
if (!Asg_CheckIfAsgIsAssociatedToGrps (AsgCod))
|
||||||
fprintf (Gbl.F.Out," checked=\"checked\"");
|
fprintf (Gbl.F.Out," checked=\"checked\"");
|
||||||
|
|
|
@ -195,8 +195,7 @@ static void Att_ShowAllAttEvents (void)
|
||||||
Order <= Att_ORDER_BY_END_DATE;
|
Order <= Att_ORDER_BY_END_DATE;
|
||||||
Order++)
|
Order++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<th class=\"TIT_TBL\""
|
fprintf (Gbl.F.Out,"<th class=\"TIT_TBL LEFT_MIDDLE\">");
|
||||||
" style=\"text-align:left;\">");
|
|
||||||
Act_FormStart (ActSeeAtt);
|
Act_FormStart (ActSeeAtt);
|
||||||
Grp_PutParamWhichGrps ();
|
Grp_PutParamWhichGrps ();
|
||||||
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
|
Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
|
||||||
|
@ -211,10 +210,10 @@ static void Att_ShowAllAttEvents (void)
|
||||||
Act_FormEnd ();
|
Act_FormEnd ();
|
||||||
fprintf (Gbl.F.Out,"</th>");
|
fprintf (Gbl.F.Out,"</th>");
|
||||||
}
|
}
|
||||||
fprintf (Gbl.F.Out,"<th class=\"TIT_TBL\" style=\"text-align:left;\">"
|
fprintf (Gbl.F.Out,"<th class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"<th class=\"TIT_TBL\" style=\"text-align:right;\">"
|
"<th class=\"TIT_TBL RIGHT_MIDDLE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
|
@ -267,16 +266,18 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
|
||||||
|
|
||||||
/***** Start date/time *****/
|
/***** Start date/time *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>" \
|
fprintf (Gbl.F.Out,"<tr>" \
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s LEFT_TOP\"",
|
||||||
" style=\"text-align:left; vertical-align:top;",
|
|
||||||
Att->Hidden ? (Att->Open ? "DATE_GREEN_LIGHT" :
|
Att->Hidden ? (Att->Open ? "DATE_GREEN_LIGHT" :
|
||||||
"DATE_RED_LIGHT") :
|
"DATE_RED_LIGHT") :
|
||||||
(Att->Open ? "DATE_GREEN" :
|
(Att->Open ? "DATE_GREEN" :
|
||||||
"DATE_RED"));
|
"DATE_RED"));
|
||||||
if (!ShowOnlyThisAttEventComplete)
|
if (!ShowOnlyThisAttEventComplete)
|
||||||
fprintf (Gbl.F.Out," background-color:%s;",
|
fprintf (Gbl.F.Out," style=\"background-color:%s;\"",
|
||||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||||
fprintf (Gbl.F.Out,"\">%02u/%02u/%02u<br />%02u:%02u h</td>",
|
fprintf (Gbl.F.Out,">"
|
||||||
|
"%02u/%02u/%02u<br />"
|
||||||
|
"%02u:%02u h"
|
||||||
|
"</td>",
|
||||||
Att->DateTimes[Att_START_TIME].Date.Day,
|
Att->DateTimes[Att_START_TIME].Date.Day,
|
||||||
Att->DateTimes[Att_START_TIME].Date.Month,
|
Att->DateTimes[Att_START_TIME].Date.Month,
|
||||||
Att->DateTimes[Att_START_TIME].Date.Year % 100,
|
Att->DateTimes[Att_START_TIME].Date.Year % 100,
|
||||||
|
@ -284,17 +285,17 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
|
||||||
Att->DateTimes[Att_START_TIME].Time.Minute);
|
Att->DateTimes[Att_START_TIME].Time.Minute);
|
||||||
|
|
||||||
/***** End date/time *****/
|
/***** End date/time *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s\""
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\"",
|
||||||
" style=\"text-align:left; vertical-align:top;",
|
|
||||||
Att->Hidden ? (Att->Open ? "DATE_GREEN_LIGHT" :
|
Att->Hidden ? (Att->Open ? "DATE_GREEN_LIGHT" :
|
||||||
"DATE_RED_LIGHT") :
|
"DATE_RED_LIGHT") :
|
||||||
(Att->Open ? "DATE_GREEN" :
|
(Att->Open ? "DATE_GREEN" :
|
||||||
"DATE_RED"));
|
"DATE_RED"));
|
||||||
if (!ShowOnlyThisAttEventComplete)
|
if (!ShowOnlyThisAttEventComplete)
|
||||||
fprintf (Gbl.F.Out," background-color:%s;",
|
fprintf (Gbl.F.Out," style=\"background-color:%s;\"",
|
||||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||||
fprintf (Gbl.F.Out,"\">"
|
fprintf (Gbl.F.Out,">"
|
||||||
"%02u/%02u/%02u<br />%02u:%02u h"
|
"%02u/%02u/%02u<br />"
|
||||||
|
"%02u:%02u h"
|
||||||
"</td>",
|
"</td>",
|
||||||
Att->DateTimes[Att_END_TIME ].Date.Day,
|
Att->DateTimes[Att_END_TIME ].Date.Day,
|
||||||
Att->DateTimes[Att_END_TIME ].Date.Month,
|
Att->DateTimes[Att_END_TIME ].Date.Month,
|
||||||
|
@ -303,11 +304,11 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
|
||||||
Att->DateTimes[Att_END_TIME ].Time.Minute);
|
Att->DateTimes[Att_END_TIME ].Time.Minute);
|
||||||
|
|
||||||
/***** Attendance event title *****/
|
/***** Attendance event title *****/
|
||||||
fprintf (Gbl.F.Out,"<td style=\"text-align:left; vertical-align:top;");
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\"");
|
||||||
if (!ShowOnlyThisAttEventComplete)
|
if (!ShowOnlyThisAttEventComplete)
|
||||||
fprintf (Gbl.F.Out," background-color:%s;",
|
fprintf (Gbl.F.Out," style=\"background-color:%s;\"",
|
||||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||||
fprintf (Gbl.F.Out,"\">");
|
fprintf (Gbl.F.Out,">");
|
||||||
|
|
||||||
/* Put form to view attendance event */
|
/* Put form to view attendance event */
|
||||||
Act_FormStart (ActSeeOneAtt);
|
Act_FormStart (ActSeeOneAtt);
|
||||||
|
@ -320,12 +321,11 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
|
|
||||||
/***** Number of students in this event *****/
|
/***** Number of students in this event *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT_N\""
|
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\"");
|
||||||
" style=\"text-align:right; vertical-align:top;");
|
|
||||||
if (!ShowOnlyThisAttEventComplete)
|
if (!ShowOnlyThisAttEventComplete)
|
||||||
fprintf (Gbl.F.Out," background-color:%s;",
|
fprintf (Gbl.F.Out," style=\"background-color:%s;\"",
|
||||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||||
fprintf (Gbl.F.Out,"\">"
|
fprintf (Gbl.F.Out,">"
|
||||||
"%u"
|
"%u"
|
||||||
"</td>"
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
|
@ -333,8 +333,8 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
|
||||||
|
|
||||||
/***** Write second row of data of this attendance event *****/
|
/***** Write second row of data of this attendance event *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td colspan=\"2\" style=\"text-align:left;"
|
"<td colspan=\"2\" class=\"LEFT_TOP\""
|
||||||
" vertical-align:top; background-color:%s;\">",
|
" style=\"background-color:%s;\">",
|
||||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||||
|
|
||||||
/* Author of the attendance event */
|
/* Author of the attendance event */
|
||||||
|
@ -357,8 +357,8 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
|
||||||
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
|
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
|
||||||
Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to recpectful HTML
|
Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to recpectful HTML
|
||||||
Str_InsertLinkInURLs (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
|
Str_InsertLinkInURLs (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
|
||||||
fprintf (Gbl.F.Out,"<td colspan=\"2\" style=\"text-align:left;"
|
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"LEFT_TOP\""
|
||||||
" vertical-align:top; background-color:%s;\">",
|
" style=\"background-color:%s;\">",
|
||||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||||
|
|
||||||
if (Gbl.CurrentCrs.Grps.NumGrps)
|
if (Gbl.CurrentCrs.Grps.NumGrps)
|
||||||
|
@ -1090,11 +1090,10 @@ void Att_RequestCreatOrEditAttEvent (void)
|
||||||
|
|
||||||
/***** Attendance event title *****/
|
/***** Attendance event title *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"TIT_TBL\""
|
"<td class=\"TIT_TBL RIGHT_TOP\">"
|
||||||
" style=\"text-align:right; vertical-align:top;\">"
|
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td style=\"text-align:left; vertical-align:top;\">"
|
"<td class=\"LEFT_TOP\">"
|
||||||
"<input type=\"text\" name=\"Title\" size=\"45\" maxlength=\"%u\" value=\"%s\" />"
|
"<input type=\"text\" name=\"Title\" size=\"45\" maxlength=\"%u\" value=\"%s\" />"
|
||||||
"</td>"
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
|
@ -1107,14 +1106,13 @@ void Att_RequestCreatOrEditAttEvent (void)
|
||||||
StartOrEndTime++)
|
StartOrEndTime++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"TIT_TBL\""
|
"<td class=\"TIT_TBL RIGHT_TOP\">"
|
||||||
" style=\"text-align:right; vertical-align:top;\">"
|
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td style=\"text-align:left; vertical-align:top;\">"
|
"<td class=\"LEFT_TOP\">"
|
||||||
"<table class=\"CELLS_PAD_2\">"
|
"<table class=\"CELLS_PAD_2\">"
|
||||||
"<tr>"
|
"<tr>"
|
||||||
"<td style=\"text-align:left; vertical-align:top;\">",
|
"<td class=\"LEFT_TOP\">",
|
||||||
Dates[StartOrEndTime]);
|
Dates[StartOrEndTime]);
|
||||||
|
|
||||||
/* Date */
|
/* Date */
|
||||||
|
@ -1126,7 +1124,7 @@ void Att_RequestCreatOrEditAttEvent (void)
|
||||||
false,false);
|
false,false);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
"<td style=\"text-align:left; vertical-align:top;\">");
|
"<td class=\"LEFT_TOP\">");
|
||||||
|
|
||||||
/* Time */
|
/* Time */
|
||||||
Dat_WriteFormHourMinute (NameSelectHour [StartOrEndTime],
|
Dat_WriteFormHourMinute (NameSelectHour [StartOrEndTime],
|
||||||
|
@ -1141,11 +1139,10 @@ void Att_RequestCreatOrEditAttEvent (void)
|
||||||
|
|
||||||
/***** Visibility of comments *****/
|
/***** Visibility of comments *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"TIT_TBL\""
|
"<td class=\"TIT_TBL RIGHT_TOP\">"
|
||||||
" style=\"text-align:right; vertical-align:top;\">"
|
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td style=\"text-align:left; vertical-align:top;\">"
|
"<td class=\"LEFT_TOP\">"
|
||||||
"<select name=\"CommentTchVisible\">",
|
"<select name=\"CommentTchVisible\">",
|
||||||
Txt_Teachers_comment);
|
Txt_Teachers_comment);
|
||||||
|
|
||||||
|
@ -1167,11 +1164,10 @@ void Att_RequestCreatOrEditAttEvent (void)
|
||||||
|
|
||||||
/***** Attendance event description *****/
|
/***** Attendance event description *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"TIT_TBL\""
|
"<td class=\"TIT_TBL RIGHT_TOP\">"
|
||||||
" style=\"text-align:right; vertical-align:top;\">"
|
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td style=\"text-align:left; vertical-align:top;\">"
|
"<td class=\"LEFT_TOP\">"
|
||||||
"<textarea name=\"Txt\" cols=\"60\" rows=\"5\">",
|
"<textarea name=\"Txt\" cols=\"60\" rows=\"5\">",
|
||||||
Txt_Description);
|
Txt_Description);
|
||||||
if (!ItsANewAttEvent)
|
if (!ItsANewAttEvent)
|
||||||
|
@ -1213,18 +1209,16 @@ static void Att_ShowLstGrpsToEditAttEvent (long AttCod)
|
||||||
{
|
{
|
||||||
/***** Start table *****/
|
/***** Start table *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"TIT_TBL\""
|
"<td class=\"TIT_TBL RIGHT_TOP\">"
|
||||||
" style=\"text-align:right; vertical-align:top;\">"
|
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td style=\"text-align:left; vertical-align:top;\">",
|
"<td class=\"LEFT_TOP\">",
|
||||||
Txt_Groups);
|
Txt_Groups);
|
||||||
Lay_StartRoundFrameTable ("100%",0,NULL);
|
Lay_StartRoundFrameTable ("100%",0,NULL);
|
||||||
|
|
||||||
/***** First row: checkbox to select the whole course *****/
|
/***** First row: checkbox to select the whole course *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td colspan=\"7\" class=\"DAT\""
|
"<td colspan=\"7\" class=\"DAT LEFT_MIDDLE\">"
|
||||||
" style=\"text-align:left; vertical-align:middle;\">"
|
|
||||||
"<input type=\"checkbox\" id=\"WholeCrs\" name=\"WholeCrs\" value=\"Y\"");
|
"<input type=\"checkbox\" id=\"WholeCrs\" name=\"WholeCrs\" value=\"Y\"");
|
||||||
if (!Att_CheckIfAttEventIsAssociatedToGrps (AttCod))
|
if (!Att_CheckIfAttEventIsAssociatedToGrps (AttCod))
|
||||||
fprintf (Gbl.F.Out," checked=\"checked\"");
|
fprintf (Gbl.F.Out," checked=\"checked\"");
|
||||||
|
@ -1898,14 +1892,13 @@ static void Att_ListAttOnlyMeAsStudent (struct AttendanceEvent *Att)
|
||||||
"<th></th>");
|
"<th></th>");
|
||||||
if (Gbl.Usrs.Listing.WithPhotos)
|
if (Gbl.Usrs.Listing.WithPhotos)
|
||||||
fprintf (Gbl.F.Out,"<th style=\"width:18px;\"></th>");
|
fprintf (Gbl.F.Out,"<th style=\"width:18px;\"></th>");
|
||||||
fprintf (Gbl.F.Out,"<th colspan=\"2\" class=\"TIT_TBL\""
|
fprintf (Gbl.F.Out,"<th colspan=\"2\" class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||||
" style=\"text-align:left;\">"
|
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"<th class=\"TIT_TBL\" style=\"text-align:left;\">"
|
"<th class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"<th class=\"TIT_TBL\" style=\"text-align:left;\">"
|
"<th class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
|
@ -1970,14 +1963,13 @@ static void Att_ListAttStudents (struct AttendanceEvent *Att)
|
||||||
"<th></th>");
|
"<th></th>");
|
||||||
if (Gbl.Usrs.Listing.WithPhotos)
|
if (Gbl.Usrs.Listing.WithPhotos)
|
||||||
fprintf (Gbl.F.Out,"<th style=\"width:18px;\"></th>");
|
fprintf (Gbl.F.Out,"<th style=\"width:18px;\"></th>");
|
||||||
fprintf (Gbl.F.Out,"<th colspan=\"2\" class=\"TIT_TBL\""
|
fprintf (Gbl.F.Out,"<th colspan=\"2\" class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||||
" style=\"text-align:left;\">"
|
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"<th class=\"TIT_TBL\" style=\"text-align:left;\">"
|
"<th class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"<th class=\"TIT_TBL\" style=\"text-align:left;\">"
|
"<th class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
|
@ -2053,7 +2045,8 @@ static void Att_WriteRowStdToCallTheRoll (unsigned NumStd,struct UsrData *UsrDat
|
||||||
Txt_Absent);
|
Txt_Absent);
|
||||||
|
|
||||||
/***** Checkbox to select user *****/
|
/***** Checkbox to select user *****/
|
||||||
fprintf (Gbl.F.Out,"<td style=\"text-align:center; vertical-align:top; background-color:%s;\">"
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP\""
|
||||||
|
" style=\"background-color:%s;\">"
|
||||||
"<input type=\"checkbox\" name=\"UsrCodStd\" value=\"%s\"",
|
"<input type=\"checkbox\" name=\"UsrCodStd\" value=\"%s\"",
|
||||||
BgColor,UsrDat->EncryptedUsrCod);
|
BgColor,UsrDat->EncryptedUsrCod);
|
||||||
if (Present) // This student has attended to the event?
|
if (Present) // This student has attended to the event?
|
||||||
|
@ -2064,8 +2057,8 @@ static void Att_WriteRowStdToCallTheRoll (unsigned NumStd,struct UsrData *UsrDat
|
||||||
"</td>");
|
"</td>");
|
||||||
|
|
||||||
/***** Write number of student in the list *****/
|
/***** Write number of student in the list *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s\" style=\"text-align:right;"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\""
|
||||||
" vertical-align:top; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"%u"
|
"%u"
|
||||||
"</td>",
|
"</td>",
|
||||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||||
|
@ -2076,8 +2069,8 @@ static void Att_WriteRowStdToCallTheRoll (unsigned NumStd,struct UsrData *UsrDat
|
||||||
/***** Show student's photo *****/
|
/***** Show student's photo *****/
|
||||||
if (Gbl.Usrs.Listing.WithPhotos)
|
if (Gbl.Usrs.Listing.WithPhotos)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<td style=\"text-align:left; vertical-align:top;"
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\""
|
||||||
" background-color:%s;\">",
|
" style=\"background-color:%s;\">",
|
||||||
BgColor);
|
BgColor);
|
||||||
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (UsrDat,PhotoURL);
|
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (UsrDat,PhotoURL);
|
||||||
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
|
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
|
||||||
|
@ -2087,8 +2080,8 @@ static void Att_WriteRowStdToCallTheRoll (unsigned NumStd,struct UsrData *UsrDat
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Write user's ID ******/
|
/***** Write user's ID ******/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s\" style=\"text-align:left;"
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\""
|
||||||
" vertical-align:top; background-color:%s;\">",
|
" style=\"background-color:%s;\">",
|
||||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||||
"DAT_SMALL",
|
"DAT_SMALL",
|
||||||
BgColor);
|
BgColor);
|
||||||
|
@ -2096,8 +2089,8 @@ static void Att_WriteRowStdToCallTheRoll (unsigned NumStd,struct UsrData *UsrDat
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
|
|
||||||
/***** Write student's name *****/
|
/***** Write student's name *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s\" style=\"text-align:left;"
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\""
|
||||||
" vertical-align:top; background-color:%s;\">%s",
|
" style=\"background-color:%s;\">%s",
|
||||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||||
"DAT_SMALL",
|
"DAT_SMALL",
|
||||||
BgColor,
|
BgColor,
|
||||||
|
@ -2108,8 +2101,8 @@ static void Att_WriteRowStdToCallTheRoll (unsigned NumStd,struct UsrData *UsrDat
|
||||||
UsrDat->FirstName);
|
UsrDat->FirstName);
|
||||||
|
|
||||||
/***** Student's comment: write form or text */
|
/***** Student's comment: write form or text */
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL\" style=\"text-align:left;"
|
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL LEFT_TOP\""
|
||||||
" vertical-align:top; background-color:%s;\">",
|
" style=\"background-color:%s;\">",
|
||||||
BgColor);
|
BgColor);
|
||||||
if (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT && Att->Open) // Show with form
|
if (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT && Att->Open) // Show with form
|
||||||
fprintf (Gbl.F.Out,"<textarea name=\"CommentStd%ld\" cols=\"40\" rows=\"3\">%s</textarea>",
|
fprintf (Gbl.F.Out,"<textarea name=\"CommentStd%ld\" cols=\"40\" rows=\"3\">%s</textarea>",
|
||||||
|
@ -2123,8 +2116,8 @@ static void Att_WriteRowStdToCallTheRoll (unsigned NumStd,struct UsrData *UsrDat
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
|
|
||||||
/***** Teacher's comment: write form, text or nothing */
|
/***** Teacher's comment: write form, text or nothing */
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL\" style=\"text-align:left;"
|
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL LEFT_TOP\""
|
||||||
" vertical-align:top; background-color:%s;\">",
|
" style=\"background-color:%s;\">",
|
||||||
BgColor);
|
BgColor);
|
||||||
if (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER) // Show with form
|
if (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER) // Show with form
|
||||||
fprintf (Gbl.F.Out,"<textarea name=\"CommentTch%ld\" cols=\"40\" rows=\"3\">%s</textarea>",
|
fprintf (Gbl.F.Out,"<textarea name=\"CommentTch%ld\" cols=\"40\" rows=\"3\">%s</textarea>",
|
||||||
|
@ -2958,11 +2951,10 @@ static void Att_ListEventsToSelect (void)
|
||||||
|
|
||||||
/***** Heading row *****/
|
/***** Heading row *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<th colspan=\"2\" class=\"TIT_TBL\""
|
"<th colspan=\"2\" class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||||
" style=\"text-align:left;\">"
|
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"<th class=\"TIT_TBL\" style=\"text-align:right;\">"
|
"<th class=\"TIT_TBL RIGHT_MIDDLE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
|
@ -2982,8 +2974,8 @@ static void Att_ListEventsToSelect (void)
|
||||||
|
|
||||||
/* Write a row for this event */
|
/* Write a row for this event */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"DAT\""
|
"<td class=\"DAT CENTER_MIDDLE\""
|
||||||
" style=\"text-align:center; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"<input type=\"checkbox\" name=\"AttCods\" value=\"%ld\"",
|
"<input type=\"checkbox\" name=\"AttCods\" value=\"%ld\"",
|
||||||
BgColor,
|
BgColor,
|
||||||
Gbl.AttEvents.Lst[NumAttEvent].AttCod);
|
Gbl.AttEvents.Lst[NumAttEvent].AttCod);
|
||||||
|
@ -2991,16 +2983,16 @@ static void Att_ListEventsToSelect (void)
|
||||||
fprintf (Gbl.F.Out," checked=\"checked\"");
|
fprintf (Gbl.F.Out," checked=\"checked\"");
|
||||||
fprintf (Gbl.F.Out," />"
|
fprintf (Gbl.F.Out," />"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td class=\"DAT\""
|
"<td class=\"DAT RIGHT_MIDDLE\""
|
||||||
" style=\"text-align:right; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"%u:"
|
"%u:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td class=\"DAT\""
|
"<td class=\"DAT LEFT_MIDDLE\""
|
||||||
" style=\"text-align:left; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"%02u/%02u/%04u %02u:%02u h %s"
|
"%02u/%02u/%04u %02u:%02u h %s"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td class=\"DAT\""
|
"<td class=\"DAT RIGHT_MIDDLE\""
|
||||||
" style=\"text-align:right; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"%u"
|
"%u"
|
||||||
"</td>"
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
|
@ -3023,7 +3015,7 @@ static void Att_ListEventsToSelect (void)
|
||||||
if (Gbl.CurrentAct == ActSeeLstAttStd)
|
if (Gbl.CurrentAct == ActSeeLstAttStd)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td colspan=\"4\" style=\"text-align:center;\">");
|
"<td colspan=\"4\" class=\"CENTER_MIDDLE\">");
|
||||||
Act_LinkFormSubmitAnimated (Txt_Update_attendance_according_to_selected_events,The_ClassFormBold[Gbl.Prefs.Theme]);
|
Act_LinkFormSubmitAnimated (Txt_Update_attendance_according_to_selected_events,The_ClassFormBold[Gbl.Prefs.Theme]);
|
||||||
Lay_PutCalculateIconWithText (Txt_Update_attendance_according_to_selected_events,Txt_Update_attendance);
|
Lay_PutCalculateIconWithText (Txt_Update_attendance_according_to_selected_events,Txt_Update_attendance);
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
|
@ -3075,9 +3067,8 @@ static void Att_ListStdsAttendanceTable (unsigned NumStdsInList,long *LstSelecte
|
||||||
|
|
||||||
/***** Last row with the total of students present in each event *****/
|
/***** Last row with the total of students present in each event *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td colspan=\"%u\" class=\"DAT_N\""
|
"<td colspan=\"%u\" class=\"DAT_N RIGHT_MIDDLE\""
|
||||||
" style=\"text-align:right;"
|
" style=\"border-style:solid none none none;"
|
||||||
" border-style:solid none none none;"
|
|
||||||
" border-width:1px;\">"
|
" border-width:1px;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>",
|
"</td>",
|
||||||
|
@ -3089,18 +3080,16 @@ static void Att_ListStdsAttendanceTable (unsigned NumStdsInList,long *LstSelecte
|
||||||
NumAttEvent++)
|
NumAttEvent++)
|
||||||
if (Gbl.AttEvents.Lst[NumAttEvent].Selected)
|
if (Gbl.AttEvents.Lst[NumAttEvent].Selected)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT_N\""
|
fprintf (Gbl.F.Out,"<td class=\"DAT_N CENTER_MIDDLE\""
|
||||||
" style=\"text-align:center;"
|
" style=\"border-style:solid none none none;"
|
||||||
" border-style:solid none none none;"
|
|
||||||
" border-width:1px;\">"
|
" border-width:1px;\">"
|
||||||
"%u"
|
"%u"
|
||||||
"</td>",
|
"</td>",
|
||||||
Gbl.AttEvents.Lst[NumAttEvent].NumStdsFromList);
|
Gbl.AttEvents.Lst[NumAttEvent].NumStdsFromList);
|
||||||
Total += Gbl.AttEvents.Lst[NumAttEvent].NumStdsFromList;
|
Total += Gbl.AttEvents.Lst[NumAttEvent].NumStdsFromList;
|
||||||
}
|
}
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT_N\""
|
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_MIDDLE\""
|
||||||
" style=\"text-align:right;"
|
" style=\"border-style:solid none none none;"
|
||||||
" border-style:solid none none none;"
|
|
||||||
" border-width:1px;\">"
|
" border-width:1px;\">"
|
||||||
"%u"
|
"%u"
|
||||||
"</td>"
|
"</td>"
|
||||||
|
@ -3136,8 +3125,7 @@ static void Att_WriteTableHeadSeveralAttEvents (void)
|
||||||
unsigned NumAttEvent;
|
unsigned NumAttEvent;
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<th colspan=\"%u\" class=\"TIT_TBL\""
|
"<th colspan=\"%u\" class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||||
" style=\"text-align:left;\">"
|
|
||||||
"%s"
|
"%s"
|
||||||
"</th>",
|
"</th>",
|
||||||
Gbl.Usrs.Listing.WithPhotos ? 4 :
|
Gbl.Usrs.Listing.WithPhotos ? 4 :
|
||||||
|
@ -3152,15 +3140,14 @@ static void Att_WriteTableHeadSeveralAttEvents (void)
|
||||||
/***** Get data of this attendance event *****/
|
/***** Get data of this attendance event *****/
|
||||||
Att_GetDataOfAttEventByCodAndCheckCrs (&Gbl.AttEvents.Lst[NumAttEvent]);
|
Att_GetDataOfAttEventByCodAndCheckCrs (&Gbl.AttEvents.Lst[NumAttEvent]);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<th class=\"TIT_TBL\" title=\"%s\""
|
fprintf (Gbl.F.Out,"<th class=\"TIT_TBL CENTER_MIDDLE\" title=\"%s\">"
|
||||||
" style=\"text-align:center;\">"
|
|
||||||
"%u"
|
"%u"
|
||||||
"</th>",
|
"</th>",
|
||||||
Gbl.AttEvents.Lst[NumAttEvent].Title,
|
Gbl.AttEvents.Lst[NumAttEvent].Title,
|
||||||
NumAttEvent + 1);
|
NumAttEvent + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<th class=\"TIT_TBL\" style=\"text-align:right;\">"
|
fprintf (Gbl.F.Out,"<th class=\"TIT_TBL RIGHT_MIDDLE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
|
@ -3186,8 +3173,8 @@ static void Att_WriteRowStdSeveralAttEvents (unsigned NumStd,struct UsrData *Usr
|
||||||
|
|
||||||
/***** Write number of student in the list *****/
|
/***** Write number of student in the list *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\" style=\"text-align:right;"
|
"<td class=\"%s RIGHT_MIDDLE\""
|
||||||
" vertical-align:middle; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"%u"
|
"%u"
|
||||||
"</td>",
|
"</td>",
|
||||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||||
|
@ -3198,8 +3185,8 @@ static void Att_WriteRowStdSeveralAttEvents (unsigned NumStd,struct UsrData *Usr
|
||||||
/***** Show student's photo *****/
|
/***** Show student's photo *****/
|
||||||
if (Gbl.Usrs.Listing.WithPhotos)
|
if (Gbl.Usrs.Listing.WithPhotos)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<td style=\"width:18px; text-align:left;"
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\""
|
||||||
" vertical-align:middle; background-color:%s;\">",
|
" style=\"width:18px; background-color:%s;\">",
|
||||||
BgColor);
|
BgColor);
|
||||||
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (UsrDat,PhotoURL);
|
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (UsrDat,PhotoURL);
|
||||||
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
|
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
|
||||||
|
@ -3209,8 +3196,8 @@ static void Att_WriteRowStdSeveralAttEvents (unsigned NumStd,struct UsrData *Usr
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Write user's ID ******/
|
/***** Write user's ID ******/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s\" style=\"text-align:left;"
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE\""
|
||||||
" vertical-align:middle; background-color:%s;\">",
|
" style=\"background-color:%s;\">",
|
||||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||||
"DAT_SMALL",
|
"DAT_SMALL",
|
||||||
BgColor);
|
BgColor);
|
||||||
|
@ -3218,8 +3205,8 @@ static void Att_WriteRowStdSeveralAttEvents (unsigned NumStd,struct UsrData *Usr
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
|
|
||||||
/***** Write student's name *****/
|
/***** Write student's name *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s\" style=\"text-align:left;"
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE\""
|
||||||
" vertical-align:middle; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"%s",
|
"%s",
|
||||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||||
"DAT_SMALL",
|
"DAT_SMALL",
|
||||||
|
@ -3258,8 +3245,8 @@ static void Att_WriteRowStdSeveralAttEvents (unsigned NumStd,struct UsrData *Usr
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Last column with the number of times this user is present *****/
|
/***** Last column with the number of times this user is present *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT_N\" style=\"text-align:right;"
|
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_MIDDLE\""
|
||||||
" vertical-align:middle; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"%u"
|
"%u"
|
||||||
"</td>"
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
|
@ -3327,8 +3314,8 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
|
||||||
|
|
||||||
/***** Write number of student in the list *****/
|
/***** Write number of student in the list *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\" style=\"text-align:right;"
|
"<td class=\"%s RIGHT_MIDDLE\""
|
||||||
" vertical-align:middle; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"%u:"
|
"%u:"
|
||||||
"</td>",
|
"</td>",
|
||||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||||
|
@ -3337,8 +3324,8 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
|
||||||
NumStd + 1);
|
NumStd + 1);
|
||||||
|
|
||||||
/***** Show student's photo *****/
|
/***** Show student's photo *****/
|
||||||
fprintf (Gbl.F.Out,"<td style=\"width:18px; text-align:left;"
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\""
|
||||||
" vertical-align:middle; background-color:%s;\">",
|
" style=\"width:18px; background-color:%s;\">",
|
||||||
BgColor);
|
BgColor);
|
||||||
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (UsrDat,PhotoURL);
|
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (UsrDat,PhotoURL);
|
||||||
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
|
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
|
||||||
|
@ -3347,11 +3334,11 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
|
|
||||||
/***** Write user's ID ******/
|
/***** Write user's ID ******/
|
||||||
fprintf (Gbl.F.Out,"<td style=\"text-align:left; background-color:%s;\">"
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\""
|
||||||
|
" style=\"background-color:%s;\">"
|
||||||
"<table>"
|
"<table>"
|
||||||
"<tr>"
|
"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s LEFT_MIDDLE\">",
|
||||||
" style=\"text-align:left; vertical-align:middle;\">",
|
|
||||||
BgColor,
|
BgColor,
|
||||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||||
"DAT_SMALL");
|
"DAT_SMALL");
|
||||||
|
@ -3359,8 +3346,7 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
|
|
||||||
/***** Write student's name *****/
|
/***** Write student's name *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s\""
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE\">%s",
|
||||||
" style=\"text-align:left; vertical-align:middle;\">%s",
|
|
||||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||||
"DAT_SMALL",
|
"DAT_SMALL",
|
||||||
UsrDat->Surname1);
|
UsrDat->Surname1);
|
||||||
|
@ -3389,12 +3375,12 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
|
||||||
/***** Write a row for this event *****/
|
/***** Write a row for this event *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td style=\"background-color:%s;\"></td>"
|
"<td style=\"background-color:%s;\"></td>"
|
||||||
"<td class=\"DAT\""
|
"<td class=\"DAT RIGHT_MIDDLE\""
|
||||||
" style=\"text-align:right; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"%u:"
|
"%u:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td class=\"DAT\""
|
"<td class=\"DAT LEFT_MIDDLE\""
|
||||||
" style=\"text-align:left; background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"<img src=\"%s/%s16x16.gif\""
|
"<img src=\"%s/%s16x16.gif\""
|
||||||
" alt=\"%s\" title=\"%s\" class=\"ICON16x16\" />"
|
" alt=\"%s\" title=\"%s\" class=\"ICON16x16\" />"
|
||||||
" %02u/%02u/%04u %02u:%02u h %s</td>"
|
" %02u/%02u/%04u %02u:%02u h %s</td>"
|
||||||
|
@ -3424,8 +3410,8 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td style=\"background-color:%s;\"></td>"
|
"<td style=\"background-color:%s;\"></td>"
|
||||||
"<td style=\"background-color:%s;\"></td>"
|
"<td style=\"background-color:%s;\"></td>"
|
||||||
"<td class=\"DAT\" style=\"text-align:left;"
|
"<td class=\"DAT LEFT_MIDDLE\""
|
||||||
" background-color:%s;\">"
|
" style=\"background-color:%s;\">"
|
||||||
"<dl>",
|
"<dl>",
|
||||||
BgColor,
|
BgColor,
|
||||||
BgColor,
|
BgColor,
|
||||||
|
|
|
@ -103,11 +103,12 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 14.122 (2015/07/27)"
|
#define Log_PLATFORM_VERSION "SWAD 14.123 (2015/07/27)"
|
||||||
|
|
||||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
||||||
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
|
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
|
||||||
/*
|
/*
|
||||||
|
Version 14.123: Jul 28, 2015 Changes in CSS of forms. (184877 lines)
|
||||||
Version 14.122: Jul 27, 2015 Changes in CSS of forms. (184892 lines)
|
Version 14.122: Jul 27, 2015 Changes in CSS of forms. (184892 lines)
|
||||||
Version 14.121: Jul 27, 2015 Changes in CSS of forms. (184890 lines)
|
Version 14.121: Jul 27, 2015 Changes in CSS of forms. (184890 lines)
|
||||||
Version 14.120.9: Jul 27, 2015 Changes in CSS of forms. (184855 lines)
|
Version 14.120.9: Jul 27, 2015 Changes in CSS of forms. (184855 lines)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user