mirror of https://github.com/acanas/swad-core.git
Version19.31.13
This commit is contained in:
parent
d570697b6b
commit
b093e1b9bf
18
swad_ID.c
18
swad_ID.c
|
@ -607,10 +607,11 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,
|
||||||
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
|
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
|
||||||
"<label for=\"UsrID\" class=\"%s\">"
|
"<label for=\"UsrID\" class=\"%s\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</label>"
|
"</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_ID);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_ID);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">");
|
||||||
}
|
}
|
||||||
else // NumID >= 1
|
else // NumID >= 1
|
||||||
fprintf (Gbl.F.Out,"<br />");
|
fprintf (Gbl.F.Out,"<br />");
|
||||||
|
@ -674,20 +675,24 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,
|
||||||
{
|
{
|
||||||
/***** Write help text *****/
|
/***** Write help text *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"DAT CENTER_MIDDLE\">");
|
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"DAT CENTER_MIDDLE\">");
|
||||||
Ale_ShowAlert (Ale_INFO,Txt_The_ID_is_used_in_order_to_facilitate_);
|
Ale_ShowAlert (Ale_INFO,Txt_The_ID_is_used_in_order_to_facilitate_);
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/***** Form to enter new user's ID *****/
|
/***** Form to enter new user's ID *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
|
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
|
||||||
"<label for=\"NewID\" class=\"%s\">%s:</label>"
|
"<label for=\"NewID\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"REC_C2_BOT LEFT_TOP DAT\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||||
UsrDat->IDs.Num ? Txt_Another_ID : // A new user's ID
|
UsrDat->IDs.Num ? Txt_Another_ID : // A new user's ID
|
||||||
Txt_ID); // The first user's ID
|
Txt_ID); // The first user's ID
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP DAT\">");
|
||||||
if (ItsMe)
|
if (ItsMe)
|
||||||
Frm_StartFormAnchor (ActChgMyID,ID_ID_SECTION_ID);
|
Frm_StartFormAnchor (ActChgMyID,ID_ID_SECTION_ID);
|
||||||
else
|
else
|
||||||
|
@ -717,6 +722,7 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,
|
||||||
Btn_PutCreateButtonInline (Txt_Add_this_ID);
|
Btn_PutCreateButtonInline (Txt_Add_this_ID);
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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.31.12 (2019-10-07)"
|
#define Log_PLATFORM_VERSION "SWAD 19.31.13 (2019-10-07)"
|
||||||
#define CSS_FILE "swad19.29.css"
|
#define CSS_FILE "swad19.29.css"
|
||||||
#define JS_FILE "swad19.30.js"
|
#define JS_FILE "swad19.30.js"
|
||||||
/*
|
/*
|
||||||
|
@ -495,6 +495,7 @@ ps2pdf source.ps destination.pdf
|
||||||
// TODO: Un TFG preasignado sin estudiante tiene que salir un triángulo amarillo
|
// TODO: Un TFG preasignado sin estudiante tiene que salir un triángulo amarillo
|
||||||
// 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.)
|
||||||
|
|
||||||
|
Version 19.31.13: Oct 07, 2019 Code refactoring in HTML tables. (247135 lines)
|
||||||
Version 19.31.12: Oct 07, 2019 Code refactoring in HTML tables. (247121 lines)
|
Version 19.31.12: Oct 07, 2019 Code refactoring in HTML tables. (247121 lines)
|
||||||
Version 19.31.11: Oct 07, 2019 Code refactoring in HTML tables. (247111 lines)
|
Version 19.31.11: Oct 07, 2019 Code refactoring in HTML tables. (247111 lines)
|
||||||
Version 19.31.10: Oct 07, 2019 Code refactoring in HTML tables. (247106 lines)
|
Version 19.31.10: Oct 07, 2019 Code refactoring in HTML tables. (247106 lines)
|
||||||
|
|
|
@ -5870,13 +5870,15 @@ static void Brw_IndentDependingOnLevel (unsigned Level)
|
||||||
for (i = 1;
|
for (i = 1;
|
||||||
i < Level;
|
i < Level;
|
||||||
i++)
|
i++)
|
||||||
|
{
|
||||||
fprintf (Gbl.F.Out,"<td class=\"BM%u\">"
|
fprintf (Gbl.F.Out,"<td class=\"BM%u\">"
|
||||||
"<img src=\"%s/tr16x16.gif\""
|
"<img src=\"%s/tr16x16.gif\""
|
||||||
" alt=\"\" title=\"\""
|
" alt=\"\" title=\"\""
|
||||||
" class=\"ICO20x20\" />"
|
" class=\"ICO20x20\" />",
|
||||||
"</td>",
|
|
||||||
Gbl.RowEvenOdd,
|
Gbl.RowEvenOdd,
|
||||||
Cfg_URL_ICON_PUBLIC);
|
Cfg_URL_ICON_PUBLIC);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -6127,11 +6129,11 @@ static void Brw_PutIconNewFileOrFolder (void)
|
||||||
fprintf (Gbl.F.Out,"<td class=\"BM%u\">"
|
fprintf (Gbl.F.Out,"<td class=\"BM%u\">"
|
||||||
"<img src=\"%s/star16x16.gif\""
|
"<img src=\"%s/star16x16.gif\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"ICO20x20\" />"
|
" class=\"ICO20x20\" />",
|
||||||
"</td>",
|
|
||||||
Gbl.RowEvenOdd,Cfg_URL_ICON_PUBLIC,
|
Gbl.RowEvenOdd,Cfg_URL_ICON_PUBLIC,
|
||||||
Txt_New_FILE_OR_FOLDER,
|
Txt_New_FILE_OR_FOLDER,
|
||||||
Txt_New_FILE_OR_FOLDER);
|
Txt_New_FILE_OR_FOLDER);
|
||||||
|
Tbl_EndCell ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -6314,8 +6316,8 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
|
||||||
Ico_PutIconOff ("unlock.svg",
|
Ico_PutIconOff ("unlock.svg",
|
||||||
Txt_Public_open_educational_resource_OER_for_everyone);
|
Txt_Public_open_educational_resource_OER_for_everyone);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"</div>"
|
fprintf (Gbl.F.Out,"</div>");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6433,10 +6435,10 @@ static void Brw_WriteFileSizeAndDate (struct FileMetadata *FileMetadata)
|
||||||
else
|
else
|
||||||
FileSizeStr[0] = '\0';
|
FileSizeStr[0] = '\0';
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
" %s"
|
" %s",
|
||||||
"</td>",
|
|
||||||
Gbl.FileBrowser.TxtStyle,Gbl.RowEvenOdd,
|
Gbl.FileBrowser.TxtStyle,Gbl.RowEvenOdd,
|
||||||
FileSizeStr);
|
FileSizeStr);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Write the date *****/
|
/***** Write the date *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
|
@ -8511,16 +8513,16 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"NewLinkURL\" class=\"%s\">"
|
"<label for=\"NewLinkURL\" class=\"%s\">"
|
||||||
"%s: "
|
"%s: "
|
||||||
"</label>"
|
"</label>",
|
||||||
"</td>"
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_URL);
|
||||||
"<td class=\"LEFT_MIDDLE\">"
|
Tbl_EndCell ();
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
|
||||||
"<input type=\"url\""
|
"<input type=\"url\""
|
||||||
" id=\"NewLinkURL\" name=\"NewLinkURL\""
|
" id=\"NewLinkURL\" name=\"NewLinkURL\""
|
||||||
" size=\"30\" maxlength=\"%u\" value=\"\""
|
" size=\"30\" maxlength=\"%u\" value=\"\""
|
||||||
" required=\"required\" />"
|
" required=\"required\" />",
|
||||||
"</td>",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_URL,
|
|
||||||
PATH_MAX);
|
PATH_MAX);
|
||||||
|
Tbl_EndCell ();
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/***** Link name *****/
|
/***** Link name *****/
|
||||||
|
@ -8528,15 +8530,15 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"NewLinkName\" class=\"%s\">"
|
"<label for=\"NewLinkName\" class=\"%s\">"
|
||||||
"%s (%s): "
|
"%s (%s): "
|
||||||
"</label>"
|
"</label>",
|
||||||
"</td>"
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Save_as,Txt_optional);
|
||||||
"<td class=\"LEFT_MIDDLE\">"
|
Tbl_EndCell ();
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
|
||||||
"<input type=\"text\""
|
"<input type=\"text\""
|
||||||
" id=\"NewLinkName\" name=\"NewLinkName\""
|
" id=\"NewLinkName\" name=\"NewLinkName\""
|
||||||
" size=\"30\" maxlength=\"%u\" value=\"\" />"
|
" size=\"30\" maxlength=\"%u\" value=\"\" />",
|
||||||
"</td>",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Save_as,Txt_optional,
|
|
||||||
Brw_MAX_CHARS_FOLDER);
|
Brw_MAX_CHARS_FOLDER);
|
||||||
|
Tbl_EndCell ();
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
Tbl_EndTable ();
|
Tbl_EndTable ();
|
||||||
|
|
||||||
|
@ -9504,10 +9506,10 @@ void Brw_ShowFileMetadata (void)
|
||||||
/***** Filename *****/
|
/***** Filename *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||||
"%s:"
|
"%s:",
|
||||||
"</td>"
|
|
||||||
"<td class=\"DAT LEFT_MIDDLE\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Filename);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Filename);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
|
||||||
Brw_WriteSmallLinkToDownloadFile (URL,&FileMetadata,FileNameToShow);
|
Brw_WriteSmallLinkToDownloadFile (URL,&FileMetadata,FileNameToShow);
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
@ -9515,10 +9517,10 @@ void Brw_ShowFileMetadata (void)
|
||||||
/***** Publisher's data *****/
|
/***** Publisher's data *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||||
"%s:"
|
"%s:",
|
||||||
"</td>"
|
|
||||||
"<td class=\"DAT LEFT_MIDDLE\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Uploaded_by);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Uploaded_by);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
|
||||||
if (FileHasPublisher)
|
if (FileHasPublisher)
|
||||||
{
|
{
|
||||||
/* Show photo */
|
/* Show photo */
|
||||||
|
@ -9545,42 +9547,44 @@ void Brw_ShowFileMetadata (void)
|
||||||
Fil_WriteFileSizeFull ((double) FileMetadata.Size,FileSizeStr);
|
Fil_WriteFileSizeFull ((double) FileMetadata.Size,FileSizeStr);
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||||
"%s:"
|
"%s:",
|
||||||
"</td>"
|
|
||||||
"<td class=\"DAT LEFT_MIDDLE\">"
|
|
||||||
"%s"
|
|
||||||
"</td>",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||||
Txt_File_size,
|
Txt_File_size);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||||
|
"%s",
|
||||||
FileSizeStr);
|
FileSizeStr);
|
||||||
|
Tbl_EndCell ();
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/***** Write the date *****/
|
/***** Write the date *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||||
"%s:"
|
"%s:",
|
||||||
"</td>"
|
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||||
"<td id=\"filedate\" class=\"DAT LEFT_MIDDLE\">"
|
Txt_Date_of_creation);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
fprintf (Gbl.F.Out,"<td id=\"filedate\" class=\"DAT LEFT_MIDDLE\">"
|
||||||
"<script type=\"text/javascript\">"
|
"<script type=\"text/javascript\">"
|
||||||
"writeLocalDateHMSFromUTC('filedate',%ld,"
|
"writeLocalDateHMSFromUTC('filedate',%ld,"
|
||||||
"%u,', ','%s',true,true,0x7);"
|
"%u,', ','%s',true,true,0x7);"
|
||||||
"</script>"
|
"</script>",
|
||||||
"</td>",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
|
||||||
Txt_Date_of_creation,
|
|
||||||
(long) FileMetadata.Time,
|
(long) FileMetadata.Time,
|
||||||
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
|
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
|
||||||
|
Tbl_EndCell ();
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/***** Private or public? *****/
|
/***** Private or public? *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"PublicFile\" class=\"%s\">"
|
"<label for=\"PublicFile\" class=\"%s\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</label>"
|
"</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"DAT LEFT_MIDDLE\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Availability);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Availability);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
|
||||||
if (ICanChangePublic) // I can change file to public
|
if (ICanChangePublic) // I can change file to public
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<select id=\"PublicFile\" name=\"PublicFile\">");
|
fprintf (Gbl.F.Out,"<select id=\"PublicFile\" name=\"PublicFile\">");
|
||||||
|
@ -9602,15 +9606,18 @@ void Brw_ShowFileMetadata (void)
|
||||||
FileMetadata.IsPublic ? Txt_Public_open_educational_resource_OER_for_everyone :
|
FileMetadata.IsPublic ? Txt_Public_open_educational_resource_OER_for_everyone :
|
||||||
Txt_Private_available_to_certain_users_identified);
|
Txt_Private_available_to_certain_users_identified);
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/***** License *****/
|
/***** License *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"License\" class=\"%s\">%s:</label>"
|
"<label for=\"License\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"DAT LEFT_MIDDLE\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_License);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_License);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
|
||||||
if (ICanEdit) // I can edit file properties
|
if (ICanEdit) // I can edit file properties
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<select id=\"License\" name=\"License\">");
|
fprintf (Gbl.F.Out,"<select id=\"License\" name=\"License\">");
|
||||||
|
@ -9629,48 +9636,58 @@ void Brw_ShowFileMetadata (void)
|
||||||
else // I can not edit file properties
|
else // I can not edit file properties
|
||||||
fprintf (Gbl.F.Out,"%s",Txt_LICENSES[FileMetadata.License]);
|
fprintf (Gbl.F.Out,"%s",Txt_LICENSES[FileMetadata.License]);
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/***** Write my number of views *****/
|
/***** Write my number of views *****/
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
{
|
{
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||||
"%s:"
|
"%s:",
|
||||||
"</td>"
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_My_views);
|
||||||
"<td class=\"DAT LEFT_MIDDLE\">"
|
Tbl_EndCell ();
|
||||||
"%u"
|
|
||||||
"</td>",
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_My_views,
|
"%u",
|
||||||
FileMetadata.NumMyViews);
|
FileMetadata.NumMyViews);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Write number of identificated views *****/
|
/***** Write number of identificated views *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||||
"%s:"
|
"%s:",
|
||||||
"</td>"
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Identified_views);
|
||||||
"<td class=\"DAT LEFT_MIDDLE\">"
|
Tbl_EndCell ();
|
||||||
"%u (%u %s)"
|
|
||||||
"</td>",
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Identified_views,
|
"%u (%u %s)",
|
||||||
FileMetadata.NumViewsFromLoggedUsrs,
|
FileMetadata.NumViewsFromLoggedUsrs,
|
||||||
FileMetadata.NumLoggedUsrs,
|
FileMetadata.NumLoggedUsrs,
|
||||||
(FileMetadata.NumLoggedUsrs == 1) ? Txt_user[Usr_SEX_UNKNOWN] :
|
(FileMetadata.NumLoggedUsrs == 1) ? Txt_user[Usr_SEX_UNKNOWN] :
|
||||||
Txt_users[Usr_SEX_UNKNOWN]);
|
Txt_users[Usr_SEX_UNKNOWN]);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/***** Write number of public views *****/
|
/***** Write number of public views *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||||
"%s:"
|
"%s:",
|
||||||
"</td>"
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Public_views);
|
||||||
"<td class=\"DAT LEFT_MIDDLE\">"
|
Tbl_EndCell ();
|
||||||
"%u"
|
|
||||||
"</td>",
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Public_views,
|
"%u",
|
||||||
FileMetadata.NumPublicViews);
|
FileMetadata.NumPublicViews);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/***** End box *****/
|
/***** End box *****/
|
||||||
|
@ -11919,12 +11936,13 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
|
||||||
CrsCod == Gbl.Hierarchy.Crs.CrsCod) ? "LIGHT_BLUE" :
|
CrsCod == Gbl.Hierarchy.Crs.CrsCod) ? "LIGHT_BLUE" :
|
||||||
Gbl.ColorRows[Gbl.RowEvenOdd];
|
Gbl.ColorRows[Gbl.RowEvenOdd];
|
||||||
|
|
||||||
/***** Write number of document in this search *****/
|
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
|
/***** Write number of document in this search *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP %s\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP %s\">"
|
||||||
"%lu"
|
"%lu",
|
||||||
"</td>",
|
|
||||||
BgColor,++(*NumDocsNotHidden));
|
BgColor,++(*NumDocsNotHidden));
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Write institution logo, institution short name *****/
|
/***** Write institution logo, institution short name *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">",
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">",
|
||||||
|
@ -12038,9 +12056,9 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">"
|
||||||
"%s"
|
"%s",
|
||||||
"</td>",
|
|
||||||
BgColor,Title);
|
BgColor,Title);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Get the name of the file to show *****/
|
/***** Get the name of the file to show *****/
|
||||||
Brw_GetFileNameToShow (FileMetadata.FilFolLnk.Type,
|
Brw_GetFileNameToShow (FileMetadata.FilFolLnk.Type,
|
||||||
|
|
64
swad_forum.c
64
swad_forum.c
|
@ -1174,13 +1174,13 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
|
||||||
Str_Copy (LastSubject,Subject,
|
Str_Copy (LastSubject,Subject,
|
||||||
Cns_MAX_BYTES_SUBJECT);
|
Cns_MAX_BYTES_SUBJECT);
|
||||||
|
|
||||||
/***** Put an icon with post status *****/
|
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
|
/***** Put an icon with post status *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"CONTEXT_COL %s\">"
|
fprintf (Gbl.F.Out,"<td class=\"CONTEXT_COL %s\">"
|
||||||
"<img src=\"%s/%s\""
|
"<img src=\"%s/%s\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"ICO16x16\" />"
|
" class=\"ICO16x16\" />",
|
||||||
"</td>",
|
|
||||||
NewPst ? "MSG_TIT_BG_NEW" :
|
NewPst ? "MSG_TIT_BG_NEW" :
|
||||||
"MSG_TIT_BG",
|
"MSG_TIT_BG",
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
|
@ -1190,6 +1190,7 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
|
||||||
Txt_MSG_Open,
|
Txt_MSG_Open,
|
||||||
NewPst ? Txt_MSG_New :
|
NewPst ? Txt_MSG_New :
|
||||||
Txt_MSG_Open);
|
Txt_MSG_Open);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Write post number *****/
|
/***** Write post number *****/
|
||||||
Msg_WriteMsgNumber ((unsigned long) PstNum,NewPst);
|
Msg_WriteMsgNumber ((unsigned long) PstNum,NewPst);
|
||||||
|
@ -3514,48 +3515,51 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
|
||||||
"<script type=\"text/javascript\">"
|
"<script type=\"text/javascript\">"
|
||||||
"writeLocalDateHMSFromUTC('thr_date_%u',%ld,"
|
"writeLocalDateHMSFromUTC('thr_date_%u',%ld,"
|
||||||
"%u,'<br />','%s',true,false,0x6);"
|
"%u,'<br />','%s',true,false,0x6);"
|
||||||
"</script>"
|
"</script>",
|
||||||
"</td>",
|
|
||||||
UniqueId,Style,BgColor,
|
UniqueId,Style,BgColor,
|
||||||
UniqueId,(long) TimeUTC,
|
UniqueId,(long) TimeUTC,
|
||||||
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
|
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
|
||||||
|
Tbl_EndCell ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
for (Column = 1;
|
for (Column = 1;
|
||||||
Column <= 2;
|
Column <= 2;
|
||||||
Column++)
|
Column++)
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP %s\">"
|
{
|
||||||
"</td>",
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP %s\">",
|
||||||
Style,BgColor);
|
Style,BgColor);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Write number of posts in this thread *****/
|
/***** Write number of posts in this thread *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
|
||||||
"%u "
|
"%u ",
|
||||||
"</td>",
|
|
||||||
Style,BgColor,
|
Style,BgColor,
|
||||||
Thr.NumPosts);
|
Thr.NumPosts);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Write number of new posts in this thread *****/
|
/***** Write number of new posts in this thread *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
|
||||||
"%u "
|
"%u ",
|
||||||
"</td>",
|
|
||||||
Style,BgColor,
|
Style,BgColor,
|
||||||
Thr.NumUnreadPosts);
|
Thr.NumUnreadPosts);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Write number of users who have write posts in this thread *****/
|
/***** Write number of users who have write posts in this thread *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
|
||||||
"%u "
|
"%u ",
|
||||||
"</td>",
|
|
||||||
Style,BgColor,
|
Style,BgColor,
|
||||||
Thr.NumWriters);
|
Thr.NumWriters);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Write number of users who have read this thread *****/
|
/***** Write number of users who have read this thread *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
|
||||||
"%u "
|
"%u ",
|
||||||
"</td>",
|
|
||||||
Style,BgColor,
|
Style,BgColor,
|
||||||
Thr.NumReaders);
|
Thr.NumReaders);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3963,33 +3967,39 @@ static void For_WriteFormForumPst (bool IsReply,const char *Subject)
|
||||||
// If writing a reply to a message of an existing thread ==> write subject
|
// If writing a reply to a message of an existing thread ==> write subject
|
||||||
/* Subject */
|
/* Subject */
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"Subject\" class=\"%s\">%s:</label>"
|
"<label for=\"Subject\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Subject);
|
||||||
"<td class=\"LEFT_MIDDLE\">"
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
|
||||||
"<input type=\"text\" id=\"Subject\" name=\"Subject\""
|
"<input type=\"text\" id=\"Subject\" name=\"Subject\""
|
||||||
" class=\"MSG_SUBJECT\""
|
" class=\"MSG_SUBJECT\""
|
||||||
" maxlength=\"%u\" value=\"%s\""
|
" maxlength=\"%u\" value=\"%s\""
|
||||||
" required=\"required\" />"
|
" required=\"required\" />",
|
||||||
"</td>",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Subject,
|
|
||||||
Cns_MAX_CHARS_SUBJECT,
|
Cns_MAX_CHARS_SUBJECT,
|
||||||
IsReply ? Subject :
|
IsReply ? Subject :
|
||||||
"");
|
"");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/* Content */
|
/* Content */
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
|
||||||
"<label for=\"Content\" class=\"%s\">%s:</label>"
|
"<label for=\"Content\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Content);
|
||||||
"<td class=\"LEFT_TOP\">"
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"
|
||||||
"<textarea id=\"Content\" name=\"Content\""
|
"<textarea id=\"Content\" name=\"Content\""
|
||||||
" class=\"MSG_CONTENT\""
|
" class=\"MSG_CONTENT\""
|
||||||
" rows=\"10\">"
|
" rows=\"10\">"
|
||||||
"</textarea>"
|
"</textarea>");
|
||||||
"</td>",
|
Tbl_EndCell ();
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Content);
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
Tbl_EndTable ();
|
Tbl_EndTable ();
|
||||||
|
|
46
swad_game.c
46
swad_game.c
|
@ -507,11 +507,11 @@ void Gam_ShowOneGame (long GamCod,
|
||||||
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 rigorous HTML
|
Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to rigorous HTML
|
||||||
Str_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
|
Str_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
|
||||||
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">%s</div>"
|
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">%s</div>",
|
||||||
"</td>",
|
|
||||||
Game.Hidden ? "DAT_LIGHT" :
|
Game.Hidden ? "DAT_LIGHT" :
|
||||||
"DAT",
|
"DAT",
|
||||||
Txt);
|
Txt);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** End 2nd row of this game *****/
|
/***** End 2nd row of this game *****/
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
@ -1136,33 +1136,39 @@ static void Gam_PutFormsEditionGame (struct Game *Game,bool ItsANewGame)
|
||||||
|
|
||||||
/***** Game title *****/
|
/***** Game title *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"Title\" class=\"%s\">%s:</label>"
|
"<label for=\"Title\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||||
"<td class=\"LEFT_MIDDLE\">"
|
Txt_Title);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
|
||||||
"<input type=\"text\" id=\"Title\" name=\"Title\""
|
"<input type=\"text\" id=\"Title\" name=\"Title\""
|
||||||
" size=\"45\" maxlength=\"%u\" value=\"%s\""
|
" size=\"45\" maxlength=\"%u\" value=\"%s\""
|
||||||
" required=\"required\" />"
|
" required=\"required\" />",
|
||||||
"</td>",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
|
||||||
Txt_Title,
|
|
||||||
Gam_MAX_CHARS_TITLE,Game->Title);
|
Gam_MAX_CHARS_TITLE,Game->Title);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/***** Game text *****/
|
/***** Game text *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
|
||||||
"<label for=\"Txt\" class=\"%s\">%s:</label>"
|
"<label for=\"Txt\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"LEFT_TOP\">"
|
|
||||||
"<textarea id=\"Txt\" name=\"Txt\""
|
|
||||||
" cols=\"60\" rows=\"10\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||||
Txt_Description);
|
Txt_Description);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"
|
||||||
|
"<textarea id=\"Txt\" name=\"Txt\""
|
||||||
|
" cols=\"60\" rows=\"10\">");
|
||||||
if (!ItsANewGame)
|
if (!ItsANewGame)
|
||||||
fprintf (Gbl.F.Out,"%s",Txt);
|
fprintf (Gbl.F.Out,"%s",Txt);
|
||||||
fprintf (Gbl.F.Out,"</textarea>"
|
fprintf (Gbl.F.Out,"</textarea>");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/***** End table, send button and end box *****/
|
/***** End table, send button and end box *****/
|
||||||
|
@ -1740,15 +1746,15 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
|
||||||
|
|
||||||
/* Write answer type (row[2]) */
|
/* Write answer type (row[2]) */
|
||||||
Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (row[2]);
|
Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (row[2]);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"DAT_SMALL\">%s</div>"
|
fprintf (Gbl.F.Out,"<div class=\"DAT_SMALL\">%s</div>",
|
||||||
"</td>",
|
|
||||||
Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]);
|
Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/* Write question code */
|
/* Write question code */
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL CENTER_TOP COLOR%u\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL CENTER_TOP COLOR%u\">"
|
||||||
"%ld "
|
"%ld ",
|
||||||
"</td>",
|
|
||||||
Gbl.RowEvenOdd,Gbl.Test.QstCod);
|
Gbl.RowEvenOdd,Gbl.Test.QstCod);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/* Write the question tags */
|
/* Write the question tags */
|
||||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",
|
||||||
|
|
136
swad_group.c
136
swad_group.c
|
@ -1365,19 +1365,21 @@ static void Grp_ListGroupTypesForEdition (void)
|
||||||
Grp_PutParamGrpTypCod (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod);
|
Grp_PutParamGrpTypCod (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod);
|
||||||
Tbl_StartTableCenterPadding (2);
|
Tbl_StartTableCenterPadding (2);
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:16px;\">"
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:16px;\">"
|
||||||
"<img src=\"%s/clock.svg\""
|
"<img src=\"%s/clock.svg\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"%sCONTEXT_ICO_16x16\" />"
|
" class=\"%sCONTEXT_ICO_16x16\" />",
|
||||||
"</td>"
|
|
||||||
"<td class=\"LEFT_MIDDLE\">",
|
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].MustBeOpened ? Txt_The_groups_will_automatically_open :
|
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].MustBeOpened ? Txt_The_groups_will_automatically_open :
|
||||||
Txt_The_groups_will_not_automatically_open,
|
Txt_The_groups_will_not_automatically_open,
|
||||||
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].MustBeOpened ? Txt_The_groups_will_automatically_open :
|
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].MustBeOpened ? Txt_The_groups_will_automatically_open :
|
||||||
Txt_The_groups_will_not_automatically_open,
|
Txt_The_groups_will_not_automatically_open,
|
||||||
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].MustBeOpened ? "" :
|
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].MustBeOpened ? "" :
|
||||||
"ICO_HIDDEN ");
|
"ICO_HIDDEN ");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||||
snprintf (Id,sizeof (Id),
|
snprintf (Id,sizeof (Id),
|
||||||
"open_time_%u",
|
"open_time_%u",
|
||||||
UniqueId);
|
UniqueId);
|
||||||
|
@ -1390,6 +1392,7 @@ static void Grp_ListGroupTypesForEdition (void)
|
||||||
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
|
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
|
||||||
true); // Submit on change
|
true); // Submit on change
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
Tbl_EndTable ();
|
Tbl_EndTable ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
@ -1397,9 +1400,10 @@ static void Grp_ListGroupTypesForEdition (void)
|
||||||
|
|
||||||
/* Number of groups of this type */
|
/* Number of groups of this type */
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
||||||
"%u"
|
"%u",
|
||||||
"</td>",
|
|
||||||
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].NumGrps);
|
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].NumGrps);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1632,10 +1636,12 @@ static void Grp_ListGroupsForEdition (void)
|
||||||
for (Role = Rol_TCH;
|
for (Role = Rol_TCH;
|
||||||
Role >= Rol_STD;
|
Role >= Rol_STD;
|
||||||
Role--)
|
Role--)
|
||||||
|
{
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
||||||
"%d"
|
"%d",
|
||||||
"</td>",
|
|
||||||
Grp->NumUsrs[Role]);
|
Grp->NumUsrs[Role]);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
}
|
||||||
|
|
||||||
/***** Maximum number of students of the group (row[3]) *****/
|
/***** Maximum number of students of the group (row[3]) *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
|
||||||
|
@ -1762,8 +1768,8 @@ void Grp_ListGrpsToEditAsgAttSvyMch (struct GroupType *GrpTyp,long Cod,
|
||||||
if (!(IBelongToThisGroup ||
|
if (!(IBelongToThisGroup ||
|
||||||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM))
|
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM))
|
||||||
fprintf (Gbl.F.Out," disabled=\"disabled\"");
|
fprintf (Gbl.F.Out," disabled=\"disabled\"");
|
||||||
fprintf (Gbl.F.Out," onclick=\"uncheckParent(this,'WholeCrs')\" />"
|
fprintf (Gbl.F.Out," onclick=\"uncheckParent(this,'WholeCrs')\" />");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Grp_WriteRowGrp (Grp,IBelongToThisGroup);
|
Grp_WriteRowGrp (Grp,IBelongToThisGroup);
|
||||||
|
|
||||||
|
@ -2067,8 +2073,8 @@ static bool Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
|
||||||
fprintf (Gbl.F.Out,IBelongToThisGroup ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted)
|
fprintf (Gbl.F.Out,IBelongToThisGroup ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted)
|
||||||
" disabled=\"disabled\""); // I can not register
|
" disabled=\"disabled\""); // I can not register
|
||||||
|
|
||||||
fprintf (Gbl.F.Out," />"
|
fprintf (Gbl.F.Out," />");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Grp_WriteRowGrp (Grp,IBelongToThisGroup);
|
Grp_WriteRowGrp (Grp,IBelongToThisGroup);
|
||||||
|
|
||||||
|
@ -2260,7 +2266,8 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp,
|
||||||
fprintf (Gbl.F.Out," onclick=\"checkParent(this,'AllGroups')\"");
|
fprintf (Gbl.F.Out," onclick=\"checkParent(this,'AllGroups')\"");
|
||||||
else
|
else
|
||||||
fprintf (Gbl.F.Out," disabled=\"disabled\"");
|
fprintf (Gbl.F.Out," disabled=\"disabled\"");
|
||||||
fprintf (Gbl.F.Out," /></td>");
|
fprintf (Gbl.F.Out," />");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Grp_WriteRowGrp (Grp,IBelongToThisGroup);
|
Grp_WriteRowGrp (Grp,IBelongToThisGroup);
|
||||||
|
|
||||||
|
@ -2297,31 +2304,33 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
fprintf (Gbl.F.Out," disabled=\"disabled\"");
|
fprintf (Gbl.F.Out," disabled=\"disabled\"");
|
||||||
fprintf (Gbl.F.Out," onclick=\"checkParent(this,'AllGroups')\" />"
|
fprintf (Gbl.F.Out," onclick=\"checkParent(this,'AllGroups')\" />");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/* Column closed/open */
|
/* Column closed/open */
|
||||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/* Group name = students with no group */
|
/* Group name = students with no group */
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||||
"<label for=\"Grp%ld\">%s</label>"
|
"<label for=\"Grp%ld\">%s</label>",
|
||||||
"</td>",
|
|
||||||
-(GrpTyp->GrpTypCod),Txt_users_with_no_group);
|
-(GrpTyp->GrpTypCod),Txt_users_with_no_group);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/* Classroom */
|
/* Classroom */
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/* Number of students who don't belong to any group of this type */
|
/* Number of students who don't belong to any group of this type */
|
||||||
for (Role = Rol_TCH;
|
for (Role = Rol_TCH;
|
||||||
Role >= Rol_STD;
|
Role >= Rol_STD;
|
||||||
Role--)
|
Role--)
|
||||||
|
{
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
||||||
"%lu"
|
"%lu",
|
||||||
"</td>",
|
|
||||||
Grp_CountNumUsrsInNoGrpsOfType (Role,GrpTyp->GrpTypCod));
|
Grp_CountNumUsrsInNoGrpsOfType (Role,GrpTyp->GrpTypCod));
|
||||||
|
Tbl_EndCell ();
|
||||||
|
}
|
||||||
|
|
||||||
/* Last empty columns for max. students and vacants */
|
/* Last empty columns for max. students and vacants */
|
||||||
Tbl_PutEmptyCells (2);
|
Tbl_PutEmptyCells (2);
|
||||||
|
@ -2428,19 +2437,19 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight)
|
||||||
fprintf (Gbl.F.Out,"\">"
|
fprintf (Gbl.F.Out,"\">"
|
||||||
"<label for=\"Grp%ld\" class=\"DAT\">"
|
"<label for=\"Grp%ld\" class=\"DAT\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</label>"
|
"</label>",
|
||||||
"</td>",
|
|
||||||
Grp->GrpCod,
|
Grp->GrpCod,
|
||||||
Grp->GrpName);
|
Grp->GrpName);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Classroom *****/
|
/***** Classroom *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE");
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE");
|
||||||
if (Highlight)
|
if (Highlight)
|
||||||
fprintf (Gbl.F.Out," LIGHT_BLUE");
|
fprintf (Gbl.F.Out," LIGHT_BLUE");
|
||||||
fprintf (Gbl.F.Out,"\">"
|
fprintf (Gbl.F.Out,"\">"
|
||||||
"%s"
|
"%s",
|
||||||
"</td>",
|
|
||||||
Grp->Classroom.ShrtName);
|
Grp->Classroom.ShrtName);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Current number of users in this group *****/
|
/***** Current number of users in this group *****/
|
||||||
for (Role = Rol_TCH;
|
for (Role = Rol_TCH;
|
||||||
|
@ -2451,9 +2460,9 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight)
|
||||||
if (Highlight)
|
if (Highlight)
|
||||||
fprintf (Gbl.F.Out," LIGHT_BLUE");
|
fprintf (Gbl.F.Out," LIGHT_BLUE");
|
||||||
fprintf (Gbl.F.Out,"\">"
|
fprintf (Gbl.F.Out,"\">"
|
||||||
"%d"
|
"%d",
|
||||||
"</td>",
|
|
||||||
Grp->NumUsrs[Role]);
|
Grp->NumUsrs[Role]);
|
||||||
|
Tbl_EndCell ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Max. number of students in this group *****/
|
/***** Max. number of students in this group *****/
|
||||||
|
@ -2462,8 +2471,8 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight)
|
||||||
fprintf (Gbl.F.Out," LIGHT_BLUE");
|
fprintf (Gbl.F.Out," LIGHT_BLUE");
|
||||||
fprintf (Gbl.F.Out,"\">");
|
fprintf (Gbl.F.Out,"\">");
|
||||||
Grp_WriteMaxStds (Grp->MaxStudents);
|
Grp_WriteMaxStds (Grp->MaxStudents);
|
||||||
fprintf (Gbl.F.Out," "
|
fprintf (Gbl.F.Out," ");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Vacants in this group *****/
|
/***** Vacants in this group *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE");
|
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE");
|
||||||
|
@ -2508,15 +2517,16 @@ static void Grp_PutFormToCreateGroupType (void)
|
||||||
|
|
||||||
/***** Column to remove group type, disabled here *****/
|
/***** Column to remove group type, disabled here *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>");
|
fprintf (Gbl.F.Out,"<td class=\"BM\">");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Name of group type *****/
|
/***** Name of group type *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
|
||||||
"<input type=\"text\" name=\"GrpTypName\""
|
"<input type=\"text\" name=\"GrpTypName\""
|
||||||
" size=\"12\" maxlength=\"%u\" value=\"%s\""
|
" size=\"12\" maxlength=\"%u\" value=\"%s\""
|
||||||
" required=\"required\" />"
|
" required=\"required\" />",
|
||||||
"</td>",
|
|
||||||
Grp_MAX_CHARS_GROUP_TYPE_NAME,Gbl.Crs.Grps.GrpTyp.GrpTypName);
|
Grp_MAX_CHARS_GROUP_TYPE_NAME,Gbl.Crs.Grps.GrpTyp.GrpTypName);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Is it mandatory to register in any groups of this type? *****/
|
/***** Is it mandatory to register in any groups of this type? *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||||
|
@ -2531,9 +2541,9 @@ static void Grp_PutFormToCreateGroupType (void)
|
||||||
if (Gbl.Crs.Grps.GrpTyp.MandatoryEnrolment)
|
if (Gbl.Crs.Grps.GrpTyp.MandatoryEnrolment)
|
||||||
fprintf (Gbl.F.Out," selected=\"selected\"");
|
fprintf (Gbl.F.Out," selected=\"selected\"");
|
||||||
fprintf (Gbl.F.Out,">%s</option>"
|
fprintf (Gbl.F.Out,">%s</option>"
|
||||||
"</select>"
|
"</select>",
|
||||||
"</td>",
|
|
||||||
Txt_It_is_mandatory_to_choose_a_group);
|
Txt_It_is_mandatory_to_choose_a_group);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Is it possible to register in multiple groups of this type? *****/
|
/***** Is it possible to register in multiple groups of this type? *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||||
|
@ -2548,27 +2558,29 @@ static void Grp_PutFormToCreateGroupType (void)
|
||||||
if (Gbl.Crs.Grps.GrpTyp.MultipleEnrolment)
|
if (Gbl.Crs.Grps.GrpTyp.MultipleEnrolment)
|
||||||
fprintf (Gbl.F.Out," selected=\"selected\"");
|
fprintf (Gbl.F.Out," selected=\"selected\"");
|
||||||
fprintf (Gbl.F.Out,">%s</option>"
|
fprintf (Gbl.F.Out,">%s</option>"
|
||||||
"</select>"
|
"</select>",
|
||||||
"</td>",
|
|
||||||
Txt_A_student_can_belong_to_several_groups);
|
Txt_A_student_can_belong_to_several_groups);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Open time *****/
|
/***** Open time *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||||
Tbl_StartTablePadding (2);
|
Tbl_StartTablePadding (2);
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
|
||||||
"<img src=\"%s/clock.svg\""
|
"<img src=\"%s/clock.svg\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"%sCONTEXT_ICO_16x16\" />"
|
" class=\"%sCONTEXT_ICO_16x16\" />",
|
||||||
"</td>"
|
|
||||||
"<td class=\"LEFT_MIDDLE\">",
|
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
Gbl.Crs.Grps.GrpTyp.MustBeOpened ? Txt_The_groups_will_automatically_open :
|
Gbl.Crs.Grps.GrpTyp.MustBeOpened ? Txt_The_groups_will_automatically_open :
|
||||||
Txt_The_groups_will_not_automatically_open,
|
Txt_The_groups_will_not_automatically_open,
|
||||||
Gbl.Crs.Grps.GrpTyp.MustBeOpened ? Txt_The_groups_will_automatically_open :
|
Gbl.Crs.Grps.GrpTyp.MustBeOpened ? Txt_The_groups_will_automatically_open :
|
||||||
Txt_The_groups_will_not_automatically_open,
|
Txt_The_groups_will_not_automatically_open,
|
||||||
Gbl.Crs.Grps.GrpTyp.MustBeOpened ? "" :
|
Gbl.Crs.Grps.GrpTyp.MustBeOpened ? "" :
|
||||||
"ICO_HIDDEN ");
|
"ICO_HIDDEN ");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||||
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("open_time",
|
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("open_time",
|
||||||
"Open",
|
"Open",
|
||||||
Gbl.Crs.Grps.GrpTyp.OpenTimeUTC,
|
Gbl.Crs.Grps.GrpTyp.OpenTimeUTC,
|
||||||
|
@ -2578,14 +2590,16 @@ static void Grp_PutFormToCreateGroupType (void)
|
||||||
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
|
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
|
||||||
false); // Don't submit on change
|
false); // Don't submit on change
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
Tbl_EndTable ();
|
Tbl_EndTable ();
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Number of groups of this type *****/
|
/***** Number of groups of this type *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
||||||
"0" // It's a new group type ==> 0 groups
|
"0"); // It's a new group type ==> 0 groups
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/***** End table, send button and end box *****/
|
/***** End table, send button and end box *****/
|
||||||
|
@ -2625,7 +2639,8 @@ static void Grp_PutFormToCreateGroup (void)
|
||||||
|
|
||||||
/***** Empty column to remove *****/
|
/***** Empty column to remove *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>");
|
fprintf (Gbl.F.Out,"<td class=\"BM\">");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Disabled icon to open group *****/
|
/***** Disabled icon to open group *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"BM\">");
|
fprintf (Gbl.F.Out,"<td class=\"BM\">");
|
||||||
|
@ -2657,16 +2672,16 @@ static void Grp_PutFormToCreateGroup (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* End selector */
|
/* End selector */
|
||||||
fprintf (Gbl.F.Out,"</select>"
|
fprintf (Gbl.F.Out,"</select>");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Group name *****/
|
/***** Group name *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||||
"<input type=\"text\" name=\"GrpName\""
|
"<input type=\"text\" name=\"GrpName\""
|
||||||
" size=\"20\" maxlength=\"%u\" value=\"%s\""
|
" size=\"20\" maxlength=\"%u\" value=\"%s\""
|
||||||
" required=\"required\" />"
|
" required=\"required\" />",
|
||||||
"</td>",
|
|
||||||
Grp_MAX_CHARS_GROUP_NAME,Gbl.Crs.Grps.GrpName);
|
Grp_MAX_CHARS_GROUP_NAME,Gbl.Crs.Grps.GrpName);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Classroom *****/
|
/***** Classroom *****/
|
||||||
/* Start selector */
|
/* Start selector */
|
||||||
|
@ -2701,24 +2716,27 @@ static void Grp_PutFormToCreateGroup (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* End selector */
|
/* End selector */
|
||||||
fprintf (Gbl.F.Out,"</select>"
|
fprintf (Gbl.F.Out,"</select>");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Current number of users in this group *****/
|
/***** Current number of users in this group *****/
|
||||||
for (Role = Rol_TCH;
|
for (Role = Rol_TCH;
|
||||||
Role >= Rol_STD;
|
Role >= Rol_STD;
|
||||||
Role--)
|
Role--)
|
||||||
|
{
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
||||||
"0"
|
"0");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
}
|
||||||
|
|
||||||
/***** Maximum number of students *****/
|
/***** Maximum number of students *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||||
"<input type=\"text\" name=\"MaxStudents\""
|
"<input type=\"text\" name=\"MaxStudents\""
|
||||||
" size=\"3\" maxlength=\"10\" value=\"");
|
" size=\"3\" maxlength=\"10\" value=\"");
|
||||||
Grp_WriteMaxStds (Gbl.Crs.Grps.MaxStudents);
|
Grp_WriteMaxStds (Gbl.Crs.Grps.MaxStudents);
|
||||||
fprintf (Gbl.F.Out,"\" />"
|
fprintf (Gbl.F.Out,"\" />");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/***** End table, send button and end box *****/
|
/***** End table, send button and end box *****/
|
||||||
|
|
|
@ -274,9 +274,9 @@ static void Hlp_ShowRowHelpWhatWouldYouLikeToDo (const char *Description,
|
||||||
|
|
||||||
/***** Description *****/
|
/***** Description *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
|
||||||
"%s:"
|
"%s:",
|
||||||
"</td>",
|
|
||||||
Description);
|
Description);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Button *****/
|
/***** Button *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||||
|
|
|
@ -104,13 +104,16 @@ void Hie_WriteMenuHierarchy (void)
|
||||||
/***** Write a 1st selector
|
/***** Write a 1st selector
|
||||||
with all the countries *****/
|
with all the countries *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"cty\" class=\"%s\">%s:</label>"
|
"<label for=\"cty\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"LEFT_MIDDLE\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Country);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Country);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||||
Cty_WriteSelectorOfCountry ();
|
Cty_WriteSelectorOfCountry ();
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
if (Gbl.Hierarchy.Cty.CtyCod > 0)
|
if (Gbl.Hierarchy.Cty.CtyCod > 0)
|
||||||
|
@ -118,13 +121,16 @@ void Hie_WriteMenuHierarchy (void)
|
||||||
/***** Write a 2nd selector
|
/***** Write a 2nd selector
|
||||||
with the institutions of selected country *****/
|
with the institutions of selected country *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"ins\" class=\"%s\">%s:</label>"
|
"<label for=\"ins\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"LEFT_MIDDLE\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Institution);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Institution);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||||
Ins_WriteSelectorOfInstitution ();
|
Ins_WriteSelectorOfInstitution ();
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
if (Gbl.Hierarchy.Ins.InsCod > 0)
|
if (Gbl.Hierarchy.Ins.InsCod > 0)
|
||||||
|
@ -132,13 +138,16 @@ void Hie_WriteMenuHierarchy (void)
|
||||||
/***** Write a 3rd selector
|
/***** Write a 3rd selector
|
||||||
with all the centres of selected institution *****/
|
with all the centres of selected institution *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"ctr\" class=\"%s\">%s:</label>"
|
"<label for=\"ctr\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"LEFT_MIDDLE\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Centre);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Centre);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||||
Ctr_WriteSelectorOfCentre ();
|
Ctr_WriteSelectorOfCentre ();
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
if (Gbl.Hierarchy.Ctr.CtrCod > 0)
|
if (Gbl.Hierarchy.Ctr.CtrCod > 0)
|
||||||
|
@ -146,13 +155,16 @@ void Hie_WriteMenuHierarchy (void)
|
||||||
/***** Write a 4th selector
|
/***** Write a 4th selector
|
||||||
with all the degrees of selected centre *****/
|
with all the degrees of selected centre *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"deg\" class=\"%s\">%s:</label>"
|
"<label for=\"deg\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"LEFT_MIDDLE\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Degree);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Degree);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||||
Deg_WriteSelectorOfDegree ();
|
Deg_WriteSelectorOfDegree ();
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
if (Gbl.Hierarchy.Deg.DegCod > 0)
|
if (Gbl.Hierarchy.Deg.DegCod > 0)
|
||||||
|
@ -160,13 +172,16 @@ void Hie_WriteMenuHierarchy (void)
|
||||||
/***** Write a 5th selector
|
/***** Write a 5th selector
|
||||||
with all the courses of selected degree *****/
|
with all the courses of selected degree *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"crs\" class=\"%s\">%s:</label>"
|
"<label for=\"crs\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"LEFT_MIDDLE\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Course);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Course);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||||
Crs_WriteSelectorOfCourse ();
|
Crs_WriteSelectorOfCourse ();
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -150,16 +150,19 @@ void Hld_SeeHolidays (void)
|
||||||
{
|
{
|
||||||
/* Write data of this holiday */
|
/* Write data of this holiday */
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||||
"%s"
|
"%s",
|
||||||
"</td>",
|
|
||||||
Gbl.Hlds.Lst[NumHld].PlcCod <= 0 ? Txt_All_places :
|
Gbl.Hlds.Lst[NumHld].PlcCod <= 0 ? Txt_All_places :
|
||||||
Gbl.Hlds.Lst[NumHld].PlaceFullName);
|
Gbl.Hlds.Lst[NumHld].PlaceFullName);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Dat_ConvDateToDateStr (&Gbl.Hlds.Lst[NumHld].StartDate,StrDate);
|
Dat_ConvDateToDateStr (&Gbl.Hlds.Lst[NumHld].StartDate,StrDate);
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||||
" %s"
|
" %s",
|
||||||
"</td>",
|
|
||||||
StrDate);
|
StrDate);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||||
" ");
|
" ");
|
||||||
switch (Gbl.Hlds.Lst[NumHld].HldTyp)
|
switch (Gbl.Hlds.Lst[NumHld].HldTyp)
|
||||||
|
@ -171,11 +174,13 @@ void Hld_SeeHolidays (void)
|
||||||
fprintf (Gbl.F.Out,"%s",StrDate);
|
fprintf (Gbl.F.Out,"%s",StrDate);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
Tbl_EndCell ();
|
||||||
"<td class=\"DAT LEFT_MIDDLE\">"
|
|
||||||
" %s"
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||||
"</td>",
|
" %s",
|
||||||
Gbl.Hlds.Lst[NumHld].Name);
|
Gbl.Hlds.Lst[NumHld].Name);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
}
|
}
|
||||||
Tbl_EndTable ();
|
Tbl_EndTable ();
|
||||||
|
@ -572,9 +577,9 @@ static void Hld_ListHolidaysForEdition (void)
|
||||||
|
|
||||||
/* Holiday code */
|
/* Holiday code */
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
|
||||||
"%ld "
|
"%ld ",
|
||||||
"</td>",
|
|
||||||
Hld->HldCod);
|
Hld->HldCod);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/* Holiday place */
|
/* Holiday place */
|
||||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
|
||||||
|
@ -1009,8 +1014,8 @@ static void Hld_PutFormToCreateHoliday (void)
|
||||||
Gbl.Plcs.Lst[NumPlc].PlcCod == Hld_EditingHld->PlcCod ? " selected=\"selected\"" :
|
Gbl.Plcs.Lst[NumPlc].PlcCod == Hld_EditingHld->PlcCod ? " selected=\"selected\"" :
|
||||||
"",
|
"",
|
||||||
Gbl.Plcs.Lst[NumPlc].ShrtName);
|
Gbl.Plcs.Lst[NumPlc].ShrtName);
|
||||||
fprintf (Gbl.F.Out,"</select>"
|
fprintf (Gbl.F.Out,"</select>");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Holiday type *****/
|
/***** Holiday type *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||||
|
@ -1023,8 +1028,8 @@ static void Hld_PutFormToCreateHoliday (void)
|
||||||
HolidayType == Hld_EditingHld->HldTyp ? " selected=\"selected\"" :
|
HolidayType == Hld_EditingHld->HldTyp ? " selected=\"selected\"" :
|
||||||
"",
|
"",
|
||||||
Txt_HOLIDAY_TYPES[HolidayType]);
|
Txt_HOLIDAY_TYPES[HolidayType]);
|
||||||
fprintf (Gbl.F.Out,"</select>"
|
fprintf (Gbl.F.Out,"</select>");
|
||||||
"</td>");
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Holiday date / Non school period start date *****/
|
/***** Holiday date / Non school period start date *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
|
||||||
|
@ -1048,9 +1053,9 @@ static void Hld_PutFormToCreateHoliday (void)
|
||||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||||
"<input type=\"text\" name=\"Name\""
|
"<input type=\"text\" name=\"Name\""
|
||||||
" size=\"20\" maxlength=\"%u\" value=\"%s\""
|
" size=\"20\" maxlength=\"%u\" value=\"%s\""
|
||||||
" required=\"required\" />"
|
" required=\"required\" />",
|
||||||
"</td>",
|
|
||||||
Hld_MAX_CHARS_HOLIDAY_NAME,Hld_EditingHld->Name);
|
Hld_MAX_CHARS_HOLIDAY_NAME,Hld_EditingHld->Name);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_PutEmptyCells (1);
|
Tbl_PutEmptyCells (1);
|
||||||
|
|
||||||
|
|
641
swad_indicator.c
641
swad_indicator.c
|
@ -121,37 +121,46 @@ void Ind_ReqIndicatorsCourses (void)
|
||||||
|
|
||||||
/* Scope */
|
/* Scope */
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"ScopeInd\" class=\"%s\">%s:</label>"
|
"<label for=\"ScopeInd\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"LEFT_MIDDLE\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||||
Sco_PutSelectorScope ("ScopeInd",true);
|
Sco_PutSelectorScope ("ScopeInd",true);
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/* Compute stats for a type of degree */
|
/* Compute stats for a type of degree */
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"OthDegTypCod\" class=\"%s\">%s:</label>"
|
"<label for=\"OthDegTypCod\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"DAT LEFT_MIDDLE\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Types_of_degree);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Types_of_degree);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
|
||||||
DT_WriteSelectorDegreeTypes ();
|
DT_WriteSelectorDegreeTypes ();
|
||||||
fprintf (Gbl.F.Out," (");
|
fprintf (Gbl.F.Out," (");
|
||||||
fprintf (Gbl.F.Out,Txt_only_if_the_scope_is_X,
|
fprintf (Gbl.F.Out,Txt_only_if_the_scope_is_X,
|
||||||
Cfg_PLATFORM_SHORT_NAME);
|
Cfg_PLATFORM_SHORT_NAME);
|
||||||
fprintf (Gbl.F.Out,")</td>");
|
fprintf (Gbl.F.Out,")");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/* Compute stats for courses with teachers belonging to any department or to a particular departament? */
|
/* Compute stats for courses with teachers belonging to any department or to a particular departament? */
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||||
"<label for=\"%s\" class=\"%s\">%s:</label>"
|
"<label for=\"%s\" class=\"%s\">%s:</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"LEFT_MIDDLE\">",
|
|
||||||
Dpt_PARAM_DPT_COD_NAME,
|
Dpt_PARAM_DPT_COD_NAME,
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Department);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Department);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||||
Dpt_WriteSelectorDepartment (Gbl.Hierarchy.Ins.InsCod, // Departments in current insitution
|
Dpt_WriteSelectorDepartment (Gbl.Hierarchy.Ins.InsCod, // Departments in current insitution
|
||||||
Gbl.Stat.DptCod, // Selected department
|
Gbl.Stat.DptCod, // Selected department
|
||||||
"INDICATORS_INPUT", // Selector class
|
"INDICATORS_INPUT", // Selector class
|
||||||
|
@ -159,6 +168,7 @@ void Ind_ReqIndicatorsCourses (void)
|
||||||
Txt_Any_department, // Text when no department selected
|
Txt_Any_department, // Text when no department selected
|
||||||
true); // Submit on change
|
true); // Submit on change
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/***** Get courses from database *****/
|
/***** Get courses from database *****/
|
||||||
|
@ -174,14 +184,17 @@ void Ind_ReqIndicatorsCourses (void)
|
||||||
|
|
||||||
/* Selection of the number of indicators */
|
/* Selection of the number of indicators */
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP %s\">"
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP %s\">"
|
||||||
"%s:"
|
"%s:",
|
||||||
"</td>"
|
|
||||||
"<td class=\"LEFT_TOP\">",
|
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||||
Txt_No_of_indicators);
|
Txt_No_of_indicators);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
|
||||||
Ind_ShowNumCoursesWithIndicators (NumCrssWithIndicatorYes,NumCrss,true);
|
Ind_ShowNumCoursesWithIndicators (NumCrssWithIndicatorYes,NumCrss,true);
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
/* End table and form */
|
/* End table and form */
|
||||||
|
@ -651,6 +664,7 @@ static void Ind_ShowNumCoursesWithIndicators (unsigned NumCrssWithIndicatorYes[1
|
||||||
Class = Gbl.Stat.IndicatorsSelected[Ind] ? ClassHighlight :
|
Class = Gbl.Stat.IndicatorsSelected[Ind] ? ClassHighlight :
|
||||||
ClassNormal;
|
ClassNormal;
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
if (PutForm)
|
if (PutForm)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s\">"
|
||||||
|
@ -660,46 +674,54 @@ static void Ind_ShowNumCoursesWithIndicators (unsigned NumCrssWithIndicatorYes[1
|
||||||
Class,Ind,Ind);
|
Class,Ind,Ind);
|
||||||
if (Gbl.Stat.IndicatorsSelected[Ind])
|
if (Gbl.Stat.IndicatorsSelected[Ind])
|
||||||
fprintf (Gbl.F.Out," checked=\"checked\"");
|
fprintf (Gbl.F.Out," checked=\"checked\"");
|
||||||
fprintf (Gbl.F.Out," onchange=\"document.getElementById('%s').submit();\" />"
|
fprintf (Gbl.F.Out," onchange=\"document.getElementById('%s').submit();\" />",
|
||||||
"</td>",
|
|
||||||
Gbl.Form.Id);
|
Gbl.Form.Id);
|
||||||
|
Tbl_EndCell ();
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s\">"
|
||||||
"<label for=\"Indicators%u\">%u</label>"
|
"<label for=\"Indicators%u\">%u</label>",
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s\">"
|
|
||||||
"%u"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s\">"
|
|
||||||
"(%.1f%%)"
|
|
||||||
"</td>",
|
|
||||||
Class,
|
Class,
|
||||||
Ind,Ind,
|
Ind,Ind);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s\">"
|
||||||
|
"%u",
|
||||||
Class,
|
Class,
|
||||||
NumCrssWithIndicatorYes[Ind],
|
NumCrssWithIndicatorYes[Ind]);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s\">"
|
||||||
|
"(%.1f%%)",
|
||||||
Class,
|
Class,
|
||||||
NumCrss ? (float) NumCrssWithIndicatorYes[Ind] * 100.0 / (float) NumCrss :
|
NumCrss ? (float) NumCrssWithIndicatorYes[Ind] * 100.0 / (float) NumCrss :
|
||||||
0.0);
|
0.0);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Write total of courses *****/
|
/***** Write total of courses *****/
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
if (PutForm)
|
if (PutForm)
|
||||||
fprintf (Gbl.F.Out,"<td>"
|
Tbl_PutEmptyCells (1);
|
||||||
"</td>");
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
|
||||||
"%s"
|
"%s",
|
||||||
"</td>"
|
Txt_Total);
|
||||||
"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
|
Tbl_EndCell ();
|
||||||
"%u"
|
|
||||||
"</td>"
|
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
|
||||||
"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
|
"%u",
|
||||||
"(%.1f%%)"
|
NumCrss);
|
||||||
"</td>",
|
Tbl_EndCell ();
|
||||||
Txt_Total,
|
|
||||||
NumCrss,
|
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
|
||||||
|
"(%.1f%%)",
|
||||||
100.0);
|
100.0);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
|
|
||||||
Tbl_EndTable ();
|
Tbl_EndTable ();
|
||||||
|
@ -1040,117 +1062,121 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
|
||||||
{
|
{
|
||||||
case Ind_INDICATORS_BRIEF:
|
case Ind_INDICATORS_BRIEF:
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
||||||
"%s"
|
"%s",
|
||||||
"</td>"
|
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||||
"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
||||||
"%s"
|
"DAT_SMALL_RED"),
|
||||||
"</td>"
|
Gbl.RowEvenOdd,
|
||||||
"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
row[0]);
|
||||||
"%s"
|
Tbl_EndCell ();
|
||||||
"</td>"
|
|
||||||
"<td class=\"DAT_SMALL LEFT_MIDDLE COLOR%u\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||||
|
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
||||||
|
"DAT_SMALL_RED"),
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
row[1]);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||||
|
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
||||||
|
"DAT_SMALL_RED"),
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
row[3]);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL LEFT_MIDDLE COLOR%u\">"
|
||||||
"<a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
"<a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
||||||
"%s/?crs=%ld&act=%ld"
|
"%s/?crs=%ld&act=%ld"
|
||||||
"</a>"
|
"</a>",
|
||||||
"</td>"
|
|
||||||
|
|
||||||
"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
|
||||||
"%u"
|
|
||||||
"</td>"
|
|
||||||
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>",
|
|
||||||
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
|
||||||
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
|
||||||
"DAT_SMALL_RED"),
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
row[0],
|
|
||||||
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
|
||||||
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
|
||||||
"DAT_SMALL_RED"),
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
row[1],
|
|
||||||
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
|
||||||
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
|
||||||
"DAT_SMALL_RED"),
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
row[3],
|
|
||||||
Gbl.RowEvenOdd,Cfg_URL_SWAD_CGI,CrsCod,ActCod,
|
Gbl.RowEvenOdd,Cfg_URL_SWAD_CGI,CrsCod,ActCod,
|
||||||
Cfg_URL_SWAD_CGI,CrsCod,ActCod,
|
Cfg_URL_SWAD_CGI,CrsCod,ActCod);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
|
"%u",
|
||||||
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||||
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
||||||
"DAT_SMALL_RED"),
|
"DAT_SMALL_RED"),
|
||||||
Gbl.RowEvenOdd,
|
Gbl.RowEvenOdd,
|
||||||
Indicators.NumIndicators,
|
Indicators.NumIndicators);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereIsSyllabus ? Txt_YES :
|
Indicators.ThereIsSyllabus ? Txt_YES :
|
||||||
"",
|
"");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereIsSyllabus ? "" :
|
Indicators.ThereIsSyllabus ? "" :
|
||||||
Txt_NO,
|
Txt_NO);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereAreAssignments ? Txt_YES :
|
Indicators.ThereAreAssignments ? Txt_YES :
|
||||||
"",
|
"");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereAreAssignments ? "" :
|
Indicators.ThereAreAssignments ? "" :
|
||||||
Txt_NO,
|
Txt_NO);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereIsOnlineTutoring ? Txt_YES :
|
Indicators.ThereIsOnlineTutoring ? Txt_YES :
|
||||||
"",
|
"");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereIsOnlineTutoring ? "" :
|
Indicators.ThereIsOnlineTutoring ? "" :
|
||||||
Txt_NO,
|
Txt_NO);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereAreMaterials ? Txt_YES :
|
Indicators.ThereAreMaterials ? Txt_YES :
|
||||||
"",
|
"");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereAreMaterials ? "" :
|
Indicators.ThereAreMaterials ? "" :
|
||||||
Txt_NO,
|
Txt_NO);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereIsAssessment ? Txt_YES :
|
Indicators.ThereIsAssessment ? Txt_YES :
|
||||||
"",
|
"");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereIsAssessment ? "" :
|
Indicators.ThereIsAssessment ? "" :
|
||||||
Txt_NO);
|
Txt_NO);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
break;
|
break;
|
||||||
case Ind_INDICATORS_FULL:
|
case Ind_INDICATORS_FULL:
|
||||||
|
@ -1160,224 +1186,241 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
|
||||||
Usr_GetNumUsrsInCrs (Rol_TCH,CrsCod); // Teachers
|
Usr_GetNumUsrsInCrs (Rol_TCH,CrsCod); // Teachers
|
||||||
|
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
||||||
"%s"
|
"%s",
|
||||||
"</td>"
|
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||||
"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
||||||
"%s"
|
"DAT_SMALL_RED"),
|
||||||
"</td>"
|
Gbl.RowEvenOdd,
|
||||||
"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
row[0]);
|
||||||
"%s"
|
Tbl_EndCell ();
|
||||||
"</td>"
|
|
||||||
"<td class=\"DAT_SMALL LEFT_MIDDLE COLOR%u\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||||
|
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
||||||
|
"DAT_SMALL_RED"),
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
row[1]);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||||
|
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
||||||
|
"DAT_SMALL_RED"),
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
row[3]);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL LEFT_MIDDLE COLOR%u\">"
|
||||||
"<a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
"<a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
||||||
"%s/?crs=%ld&act=%ld"
|
"%s/?crs=%ld&act=%ld"
|
||||||
"</a>"
|
"</a>",
|
||||||
"</td>"
|
|
||||||
|
|
||||||
"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
|
||||||
"%u"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
|
||||||
"%u"
|
|
||||||
"</td>"
|
|
||||||
|
|
||||||
"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
|
||||||
"%u"
|
|
||||||
"</td>"
|
|
||||||
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
|
||||||
"%u"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
|
||||||
"%lu"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
|
||||||
"%lu"
|
|
||||||
"</td>"
|
|
||||||
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
|
||||||
"%u"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
|
||||||
"%u"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
|
||||||
"%u"
|
|
||||||
"</td>"
|
|
||||||
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
|
||||||
"%lu"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
|
||||||
"%lu"
|
|
||||||
"</td>"
|
|
||||||
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
|
||||||
"%s"
|
|
||||||
"</td>",
|
|
||||||
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
|
||||||
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
|
||||||
"DAT_SMALL_RED"),
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
row[0],
|
|
||||||
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
|
||||||
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
|
||||||
"DAT_SMALL_RED"),
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
row[1],
|
|
||||||
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
|
||||||
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
|
||||||
"DAT_SMALL_RED"),
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
row[3],
|
|
||||||
Gbl.RowEvenOdd,Cfg_URL_SWAD_CGI,CrsCod,ActCod,
|
Gbl.RowEvenOdd,Cfg_URL_SWAD_CGI,CrsCod,ActCod,
|
||||||
Cfg_URL_SWAD_CGI,CrsCod,ActCod,
|
Cfg_URL_SWAD_CGI,CrsCod,ActCod);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
|
"%u",
|
||||||
NumTchs != 0 ? "DAT_SMALL_GREEN" :
|
NumTchs != 0 ? "DAT_SMALL_GREEN" :
|
||||||
"DAT_SMALL_RED",
|
"DAT_SMALL_RED",
|
||||||
Gbl.RowEvenOdd,
|
Gbl.RowEvenOdd,
|
||||||
NumTchs,
|
NumTchs);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
|
"%u",
|
||||||
NumStds != 0 ? "DAT_SMALL_GREEN" :
|
NumStds != 0 ? "DAT_SMALL_GREEN" :
|
||||||
"DAT_SMALL_RED",
|
"DAT_SMALL_RED",
|
||||||
Gbl.RowEvenOdd,
|
Gbl.RowEvenOdd,
|
||||||
NumStds,
|
NumStds);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
|
"%u",
|
||||||
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||||
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
||||||
"DAT_SMALL_RED"),
|
"DAT_SMALL_RED"),
|
||||||
Gbl.RowEvenOdd,
|
Gbl.RowEvenOdd,
|
||||||
Indicators.NumIndicators,
|
Indicators.NumIndicators);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereIsSyllabus ? Txt_YES :
|
Indicators.ThereIsSyllabus ? Txt_YES :
|
||||||
"",
|
"");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereIsSyllabus ? "" :
|
Indicators.ThereIsSyllabus ? "" :
|
||||||
Txt_NO,
|
Txt_NO);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
(Indicators.SyllabusLecSrc != Inf_INFO_SRC_NONE) ? "DAT_SMALL_GREEN" :
|
(Indicators.SyllabusLecSrc != Inf_INFO_SRC_NONE) ? "DAT_SMALL_GREEN" :
|
||||||
"DAT_SMALL_RED",
|
"DAT_SMALL_RED",
|
||||||
Gbl.RowEvenOdd,
|
Gbl.RowEvenOdd,
|
||||||
Txt_INFO_SRC_SHORT_TEXT[Indicators.SyllabusLecSrc],
|
Txt_INFO_SRC_SHORT_TEXT[Indicators.SyllabusLecSrc]);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
(Indicators.SyllabusPraSrc != Inf_INFO_SRC_NONE) ? "DAT_SMALL_GREEN" :
|
(Indicators.SyllabusPraSrc != Inf_INFO_SRC_NONE) ? "DAT_SMALL_GREEN" :
|
||||||
"DAT_SMALL_RED",
|
"DAT_SMALL_RED",
|
||||||
Gbl.RowEvenOdd,
|
Gbl.RowEvenOdd,
|
||||||
Txt_INFO_SRC_SHORT_TEXT[Indicators.SyllabusPraSrc],
|
Txt_INFO_SRC_SHORT_TEXT[Indicators.SyllabusPraSrc]);
|
||||||
(Indicators.TeachingGuideSrc != Inf_INFO_SRC_NONE) ? "DAT_SMALL_GREEN" :
|
Tbl_EndCell ();
|
||||||
"DAT_SMALL_RED",
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
Txt_INFO_SRC_SHORT_TEXT[Indicators.TeachingGuideSrc],
|
|
||||||
|
|
||||||
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
||||||
Indicators.ThereAreAssignments ? Txt_YES :
|
"%s",
|
||||||
"",
|
|
||||||
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
|
||||||
Indicators.ThereAreAssignments ? "" :
|
|
||||||
Txt_NO,
|
|
||||||
(Indicators.NumAssignments != 0) ? "DAT_SMALL_GREEN" :
|
|
||||||
"DAT_SMALL_RED",
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
Indicators.NumAssignments,
|
|
||||||
(Indicators.NumFilesAssignments != 0) ? "DAT_SMALL_GREEN" :
|
|
||||||
"DAT_SMALL_RED",
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
Indicators.NumFilesAssignments,
|
|
||||||
(Indicators.NumFilesWorks != 0) ? "DAT_SMALL_GREEN" :
|
|
||||||
"DAT_SMALL_RED",
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
Indicators.NumFilesWorks,
|
|
||||||
|
|
||||||
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
|
||||||
Indicators.ThereIsOnlineTutoring ? Txt_YES :
|
|
||||||
"",
|
|
||||||
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
|
||||||
Indicators.ThereIsOnlineTutoring ? "" :
|
|
||||||
Txt_NO,
|
|
||||||
(Indicators.NumThreads != 0) ? "DAT_SMALL_GREEN" :
|
|
||||||
"DAT_SMALL_RED",
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
Indicators.NumThreads,
|
|
||||||
(Indicators.NumPosts != 0) ? "DAT_SMALL_GREEN" :
|
|
||||||
"DAT_SMALL_RED",
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
Indicators.NumPosts,
|
|
||||||
(Indicators.NumMsgsSentByTchs != 0) ? "DAT_SMALL_GREEN" :
|
|
||||||
"DAT_SMALL_RED",
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
Indicators.NumMsgsSentByTchs,
|
|
||||||
|
|
||||||
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
|
||||||
Indicators.ThereAreMaterials ? Txt_YES :
|
|
||||||
"",
|
|
||||||
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
|
||||||
Indicators.ThereAreMaterials ? "" :
|
|
||||||
Txt_NO,
|
|
||||||
(Indicators.NumFilesInDocumentZones != 0) ? "DAT_SMALL_GREEN" :
|
|
||||||
"DAT_SMALL_RED",
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
Indicators.NumFilesInDocumentZones,
|
|
||||||
(Indicators.NumFilesInSharedZones != 0) ? "DAT_SMALL_GREEN" :
|
|
||||||
"DAT_SMALL_RED",
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
Indicators.NumFilesInSharedZones,
|
|
||||||
|
|
||||||
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
|
||||||
Indicators.ThereIsAssessment ? Txt_YES :
|
|
||||||
"",
|
|
||||||
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
|
||||||
Indicators.ThereIsAssessment ? "" :
|
|
||||||
Txt_NO,
|
|
||||||
(Indicators.AssessmentSrc != Inf_INFO_SRC_NONE) ? "DAT_SMALL_GREEN" :
|
|
||||||
"DAT_SMALL_RED",
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
Txt_INFO_SRC_SHORT_TEXT[Indicators.AssessmentSrc],
|
|
||||||
(Indicators.TeachingGuideSrc != Inf_INFO_SRC_NONE) ? "DAT_SMALL_GREEN" :
|
(Indicators.TeachingGuideSrc != Inf_INFO_SRC_NONE) ? "DAT_SMALL_GREEN" :
|
||||||
"DAT_SMALL_RED",
|
"DAT_SMALL_RED",
|
||||||
Gbl.RowEvenOdd,
|
Gbl.RowEvenOdd,
|
||||||
Txt_INFO_SRC_SHORT_TEXT[Indicators.TeachingGuideSrc]);
|
Txt_INFO_SRC_SHORT_TEXT[Indicators.TeachingGuideSrc]);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
||||||
|
Indicators.ThereAreAssignments ? Txt_YES :
|
||||||
|
"");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
||||||
|
Indicators.ThereAreAssignments ? "" :
|
||||||
|
Txt_NO);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
|
"%u",
|
||||||
|
(Indicators.NumAssignments != 0) ? "DAT_SMALL_GREEN" :
|
||||||
|
"DAT_SMALL_RED",
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
Indicators.NumAssignments);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
|
"%lu",
|
||||||
|
(Indicators.NumFilesAssignments != 0) ? "DAT_SMALL_GREEN" :
|
||||||
|
"DAT_SMALL_RED",
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
Indicators.NumFilesAssignments);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
|
"%lu",
|
||||||
|
(Indicators.NumFilesWorks != 0) ? "DAT_SMALL_GREEN" :
|
||||||
|
"DAT_SMALL_RED",
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
Indicators.NumFilesWorks);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
||||||
|
Indicators.ThereIsOnlineTutoring ? Txt_YES :
|
||||||
|
"");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
||||||
|
Indicators.ThereIsOnlineTutoring ? "" :
|
||||||
|
Txt_NO);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
|
"%u",
|
||||||
|
(Indicators.NumThreads != 0) ? "DAT_SMALL_GREEN" :
|
||||||
|
"DAT_SMALL_RED",
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
Indicators.NumThreads);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
|
"%u",
|
||||||
|
(Indicators.NumPosts != 0) ? "DAT_SMALL_GREEN" :
|
||||||
|
"DAT_SMALL_RED",
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
Indicators.NumPosts);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
|
"%u",
|
||||||
|
(Indicators.NumMsgsSentByTchs != 0) ? "DAT_SMALL_GREEN" :
|
||||||
|
"DAT_SMALL_RED",
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
Indicators.NumMsgsSentByTchs);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
||||||
|
Indicators.ThereAreMaterials ? Txt_YES :
|
||||||
|
"");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
||||||
|
Indicators.ThereAreMaterials ? "" :
|
||||||
|
Txt_NO);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
|
"%lu",
|
||||||
|
(Indicators.NumFilesInDocumentZones != 0) ? "DAT_SMALL_GREEN" :
|
||||||
|
"DAT_SMALL_RED",
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
Indicators.NumFilesInDocumentZones);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||||
|
"%lu",
|
||||||
|
(Indicators.NumFilesInSharedZones != 0) ? "DAT_SMALL_GREEN" :
|
||||||
|
"DAT_SMALL_RED",
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
Indicators.NumFilesInSharedZones);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
||||||
|
Indicators.ThereIsAssessment ? Txt_YES :
|
||||||
|
"");
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
||||||
|
Indicators.ThereIsAssessment ? "" :
|
||||||
|
Txt_NO);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
(Indicators.AssessmentSrc != Inf_INFO_SRC_NONE) ? "DAT_SMALL_GREEN" :
|
||||||
|
"DAT_SMALL_RED",
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
Txt_INFO_SRC_SHORT_TEXT[Indicators.AssessmentSrc]);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
|
||||||
|
"%s",
|
||||||
|
(Indicators.TeachingGuideSrc != Inf_INFO_SRC_NONE) ? "DAT_SMALL_GREEN" :
|
||||||
|
"DAT_SMALL_RED",
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
Txt_INFO_SRC_SHORT_TEXT[Indicators.TeachingGuideSrc]);
|
||||||
|
Tbl_EndCell ();
|
||||||
|
|
||||||
Tbl_EndRow ();
|
Tbl_EndRow ();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue