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\">"
|
||||
"<label for=\"UsrID\" class=\"%s\">"
|
||||
"%s:"
|
||||
"</label>"
|
||||
"</td>"
|
||||
"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">",
|
||||
"</label>",
|
||||
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
|
||||
fprintf (Gbl.F.Out,"<br />");
|
||||
|
@ -674,20 +675,24 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,
|
|||
{
|
||||
/***** Write help text *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"DAT CENTER_MIDDLE\">");
|
||||
Ale_ShowAlert (Ale_INFO,Txt_The_ID_is_used_in_order_to_facilitate_);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/***** Form to enter new user's ID *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
|
||||
"<label for=\"NewID\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"REC_C2_BOT LEFT_TOP DAT\">",
|
||||
"<label for=\"NewID\" class=\"%s\">%s:</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||
UsrDat->IDs.Num ? Txt_Another_ID : // A new 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)
|
||||
Frm_StartFormAnchor (ActChgMyID,ID_ID_SECTION_ID);
|
||||
else
|
||||
|
@ -717,6 +722,7 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,
|
|||
Btn_PutCreateButtonInline (Txt_Add_this_ID);
|
||||
Frm_EndForm ();
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
}
|
||||
|
||||
|
|
|
@ -487,7 +487,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
|||
En OpenSWAD:
|
||||
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 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: 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.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)
|
||||
|
|
|
@ -5870,13 +5870,15 @@ static void Brw_IndentDependingOnLevel (unsigned Level)
|
|||
for (i = 1;
|
||||
i < Level;
|
||||
i++)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<td class=\"BM%u\">"
|
||||
"<img src=\"%s/tr16x16.gif\""
|
||||
" alt=\"\" title=\"\""
|
||||
" class=\"ICO20x20\" />"
|
||||
"</td>",
|
||||
" class=\"ICO20x20\" />",
|
||||
Gbl.RowEvenOdd,
|
||||
Cfg_URL_ICON_PUBLIC);
|
||||
Tbl_EndCell ();
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -6127,11 +6129,11 @@ static void Brw_PutIconNewFileOrFolder (void)
|
|||
fprintf (Gbl.F.Out,"<td class=\"BM%u\">"
|
||||
"<img src=\"%s/star16x16.gif\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICO20x20\" />"
|
||||
"</td>",
|
||||
" class=\"ICO20x20\" />",
|
||||
Gbl.RowEvenOdd,Cfg_URL_ICON_PUBLIC,
|
||||
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",
|
||||
Txt_Public_open_educational_resource_OER_for_everyone);
|
||||
|
||||
fprintf (Gbl.F.Out,"</div>"
|
||||
"</td>");
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
Tbl_EndCell ();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6433,10 +6435,10 @@ static void Brw_WriteFileSizeAndDate (struct FileMetadata *FileMetadata)
|
|||
else
|
||||
FileSizeStr[0] = '\0';
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||
" %s"
|
||||
"</td>",
|
||||
" %s",
|
||||
Gbl.FileBrowser.TxtStyle,Gbl.RowEvenOdd,
|
||||
FileSizeStr);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Write the date *****/
|
||||
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\">"
|
||||
"<label for=\"NewLinkURL\" class=\"%s\">"
|
||||
"%s: "
|
||||
"</label>"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_MIDDLE\">"
|
||||
"</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_URL);
|
||||
Tbl_EndCell ();
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
|
||||
"<input type=\"url\""
|
||||
" id=\"NewLinkURL\" name=\"NewLinkURL\""
|
||||
" size=\"30\" maxlength=\"%u\" value=\"\""
|
||||
" required=\"required\" />"
|
||||
"</td>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_URL,
|
||||
" required=\"required\" />",
|
||||
PATH_MAX);
|
||||
Tbl_EndCell ();
|
||||
Tbl_EndRow ();
|
||||
|
||||
/***** Link name *****/
|
||||
|
@ -8528,15 +8530,15 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
|
|||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||
"<label for=\"NewLinkName\" class=\"%s\">"
|
||||
"%s (%s): "
|
||||
"</label>"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_MIDDLE\">"
|
||||
"</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Save_as,Txt_optional);
|
||||
Tbl_EndCell ();
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
|
||||
"<input type=\"text\""
|
||||
" id=\"NewLinkName\" name=\"NewLinkName\""
|
||||
" size=\"30\" maxlength=\"%u\" value=\"\" />"
|
||||
"</td>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Save_as,Txt_optional,
|
||||
" size=\"30\" maxlength=\"%u\" value=\"\" />",
|
||||
Brw_MAX_CHARS_FOLDER);
|
||||
Tbl_EndCell ();
|
||||
Tbl_EndRow ();
|
||||
Tbl_EndTable ();
|
||||
|
||||
|
@ -9504,10 +9506,10 @@ void Brw_ShowFileMetadata (void)
|
|||
/***** Filename *****/
|
||||
Tbl_StartRow ();
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||
"%s:"
|
||||
"</td>"
|
||||
"<td class=\"DAT LEFT_MIDDLE\">",
|
||||
"%s:",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Filename);
|
||||
Tbl_EndCell ();
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
|
||||
Brw_WriteSmallLinkToDownloadFile (URL,&FileMetadata,FileNameToShow);
|
||||
Tbl_EndCell ();
|
||||
Tbl_EndRow ();
|
||||
|
@ -9515,10 +9517,10 @@ void Brw_ShowFileMetadata (void)
|
|||
/***** Publisher's data *****/
|
||||
Tbl_StartRow ();
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||
"%s:"
|
||||
"</td>"
|
||||
"<td class=\"DAT LEFT_MIDDLE\">",
|
||||
"%s:",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Uploaded_by);
|
||||
Tbl_EndCell ();
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
|
||||
if (FileHasPublisher)
|
||||
{
|
||||
/* Show photo */
|
||||
|
@ -9545,42 +9547,44 @@ void Brw_ShowFileMetadata (void)
|
|||
Fil_WriteFileSizeFull ((double) FileMetadata.Size,FileSizeStr);
|
||||
Tbl_StartRow ();
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||
"%s:"
|
||||
"</td>"
|
||||
"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</td>",
|
||||
"%s:",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||
Txt_File_size,
|
||||
Txt_File_size);
|
||||
Tbl_EndCell ();
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
"%s",
|
||||
FileSizeStr);
|
||||
Tbl_EndCell ();
|
||||
Tbl_EndRow ();
|
||||
|
||||
/***** Write the date *****/
|
||||
Tbl_StartRow ();
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||
"%s:"
|
||||
"</td>"
|
||||
"<td id=\"filedate\" class=\"DAT LEFT_MIDDLE\">"
|
||||
"%s:",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||
Txt_Date_of_creation);
|
||||
Tbl_EndCell ();
|
||||
fprintf (Gbl.F.Out,"<td id=\"filedate\" class=\"DAT LEFT_MIDDLE\">"
|
||||
"<script type=\"text/javascript\">"
|
||||
"writeLocalDateHMSFromUTC('filedate',%ld,"
|
||||
"%u,', ','%s',true,true,0x7);"
|
||||
"</script>"
|
||||
"</td>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||
Txt_Date_of_creation,
|
||||
"</script>",
|
||||
(long) FileMetadata.Time,
|
||||
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
|
||||
Tbl_EndCell ();
|
||||
Tbl_EndRow ();
|
||||
|
||||
/***** Private or public? *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||
"<label for=\"PublicFile\" class=\"%s\">"
|
||||
"%s:"
|
||||
"</label>"
|
||||
"</td>"
|
||||
"<td class=\"DAT LEFT_MIDDLE\">",
|
||||
"</label>",
|
||||
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
|
||||
{
|
||||
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 :
|
||||
Txt_Private_available_to_certain_users_identified);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/***** License *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||
"<label for=\"License\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"DAT LEFT_MIDDLE\">",
|
||||
"<label for=\"License\" class=\"%s\">%s:</label>",
|
||||
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
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<select id=\"License\" name=\"License\">");
|
||||
|
@ -9629,48 +9636,58 @@ void Brw_ShowFileMetadata (void)
|
|||
else // I can not edit file properties
|
||||
fprintf (Gbl.F.Out,"%s",Txt_LICENSES[FileMetadata.License]);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/***** Write my number of views *****/
|
||||
if (Gbl.Usrs.Me.Logged)
|
||||
{
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||
"%s:"
|
||||
"</td>"
|
||||
"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
"%u"
|
||||
"</td>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_My_views,
|
||||
"%s:",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_My_views);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
"%u",
|
||||
FileMetadata.NumMyViews);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
}
|
||||
|
||||
/***** Write number of identificated views *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||
"%s:"
|
||||
"</td>"
|
||||
"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
"%u (%u %s)"
|
||||
"</td>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Identified_views,
|
||||
"%s:",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Identified_views);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
"%u (%u %s)",
|
||||
FileMetadata.NumViewsFromLoggedUsrs,
|
||||
FileMetadata.NumLoggedUsrs,
|
||||
(FileMetadata.NumLoggedUsrs == 1) ? Txt_user[Usr_SEX_UNKNOWN] :
|
||||
Txt_users[Usr_SEX_UNKNOWN]);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/***** Write number of public views *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
|
||||
"%s:"
|
||||
"</td>"
|
||||
"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
"%u"
|
||||
"</td>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Public_views,
|
||||
"%s:",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Public_views);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
"%u",
|
||||
FileMetadata.NumPublicViews);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/***** End box *****/
|
||||
|
@ -11919,12 +11936,13 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
|
|||
CrsCod == Gbl.Hierarchy.Crs.CrsCod) ? "LIGHT_BLUE" :
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd];
|
||||
|
||||
/***** Write number of document in this search *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
/***** Write number of document in this search *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP %s\">"
|
||||
"%lu"
|
||||
"</td>",
|
||||
"%lu",
|
||||
BgColor,++(*NumDocsNotHidden));
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Write institution logo, institution short name *****/
|
||||
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;
|
||||
}
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">"
|
||||
"%s"
|
||||
"</td>",
|
||||
"%s",
|
||||
BgColor,Title);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Get the name of the file to show *****/
|
||||
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,
|
||||
Cns_MAX_BYTES_SUBJECT);
|
||||
|
||||
/***** Put an icon with post status *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
/***** Put an icon with post status *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"CONTEXT_COL %s\">"
|
||||
"<img src=\"%s/%s\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICO16x16\" />"
|
||||
"</td>",
|
||||
" class=\"ICO16x16\" />",
|
||||
NewPst ? "MSG_TIT_BG_NEW" :
|
||||
"MSG_TIT_BG",
|
||||
Cfg_URL_ICON_PUBLIC,
|
||||
|
@ -1190,6 +1190,7 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
|
|||
Txt_MSG_Open,
|
||||
NewPst ? Txt_MSG_New :
|
||||
Txt_MSG_Open);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Write post number *****/
|
||||
Msg_WriteMsgNumber ((unsigned long) PstNum,NewPst);
|
||||
|
@ -3514,48 +3515,51 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
|
|||
"<script type=\"text/javascript\">"
|
||||
"writeLocalDateHMSFromUTC('thr_date_%u',%ld,"
|
||||
"%u,'<br />','%s',true,false,0x6);"
|
||||
"</script>"
|
||||
"</td>",
|
||||
"</script>",
|
||||
UniqueId,Style,BgColor,
|
||||
UniqueId,(long) TimeUTC,
|
||||
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
|
||||
Tbl_EndCell ();
|
||||
}
|
||||
else
|
||||
for (Column = 1;
|
||||
Column <= 2;
|
||||
Column++)
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP %s\">"
|
||||
"</td>",
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP %s\">",
|
||||
Style,BgColor);
|
||||
Tbl_EndCell ();
|
||||
}
|
||||
}
|
||||
|
||||
/***** Write number of posts in this thread *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
|
||||
"%u "
|
||||
"</td>",
|
||||
"%u ",
|
||||
Style,BgColor,
|
||||
Thr.NumPosts);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Write number of new posts in this thread *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
|
||||
"%u "
|
||||
"</td>",
|
||||
"%u ",
|
||||
Style,BgColor,
|
||||
Thr.NumUnreadPosts);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Write number of users who have write posts in this thread *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
|
||||
"%u "
|
||||
"</td>",
|
||||
"%u ",
|
||||
Style,BgColor,
|
||||
Thr.NumWriters);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Write number of users who have read this thread *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
|
||||
"%u "
|
||||
"</td>",
|
||||
"%u ",
|
||||
Style,BgColor,
|
||||
Thr.NumReaders);
|
||||
Tbl_EndCell ();
|
||||
|
||||
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
|
||||
/* Subject */
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||
"<label for=\"Subject\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_MIDDLE\">"
|
||||
"<label for=\"Subject\" class=\"%s\">%s:</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Subject);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
|
||||
"<input type=\"text\" id=\"Subject\" name=\"Subject\""
|
||||
" class=\"MSG_SUBJECT\""
|
||||
" maxlength=\"%u\" value=\"%s\""
|
||||
" required=\"required\" />"
|
||||
"</td>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Subject,
|
||||
" required=\"required\" />",
|
||||
Cns_MAX_CHARS_SUBJECT,
|
||||
IsReply ? Subject :
|
||||
"");
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/* Content */
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
|
||||
"<label for=\"Content\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_TOP\">"
|
||||
"<label for=\"Content\" class=\"%s\">%s:</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Content);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"
|
||||
"<textarea id=\"Content\" name=\"Content\""
|
||||
" class=\"MSG_CONTENT\""
|
||||
" rows=\"10\">"
|
||||
"</textarea>"
|
||||
"</td>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Content);
|
||||
"</textarea>");
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
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,
|
||||
Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to rigorous HTML
|
||||
Str_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
|
||||
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">%s</div>"
|
||||
"</td>",
|
||||
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">%s</div>",
|
||||
Game.Hidden ? "DAT_LIGHT" :
|
||||
"DAT",
|
||||
Txt);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** End 2nd row of this game *****/
|
||||
Tbl_EndRow ();
|
||||
|
@ -1136,33 +1136,39 @@ static void Gam_PutFormsEditionGame (struct Game *Game,bool ItsANewGame)
|
|||
|
||||
/***** Game title *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||
"<label for=\"Title\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_MIDDLE\">"
|
||||
"<label for=\"Title\" class=\"%s\">%s:</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||
Txt_Title);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
|
||||
"<input type=\"text\" id=\"Title\" name=\"Title\""
|
||||
" size=\"45\" maxlength=\"%u\" value=\"%s\""
|
||||
" required=\"required\" />"
|
||||
"</td>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||
Txt_Title,
|
||||
" required=\"required\" />",
|
||||
Gam_MAX_CHARS_TITLE,Game->Title);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/***** Game text *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
|
||||
"<label for=\"Txt\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_TOP\">"
|
||||
"<textarea id=\"Txt\" name=\"Txt\""
|
||||
" cols=\"60\" rows=\"10\">",
|
||||
"<label for=\"Txt\" class=\"%s\">%s:</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||
Txt_Description);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"
|
||||
"<textarea id=\"Txt\" name=\"Txt\""
|
||||
" cols=\"60\" rows=\"10\">");
|
||||
if (!ItsANewGame)
|
||||
fprintf (Gbl.F.Out,"%s",Txt);
|
||||
fprintf (Gbl.F.Out,"</textarea>"
|
||||
"</td>");
|
||||
fprintf (Gbl.F.Out,"</textarea>");
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/***** End table, send button and end box *****/
|
||||
|
@ -1740,15 +1746,15 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
|
|||
|
||||
/* Write answer type (row[2]) */
|
||||
Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (row[2]);
|
||||
fprintf (Gbl.F.Out,"<div class=\"DAT_SMALL\">%s</div>"
|
||||
"</td>",
|
||||
fprintf (Gbl.F.Out,"<div class=\"DAT_SMALL\">%s</div>",
|
||||
Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/* Write question code */
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL CENTER_TOP COLOR%u\">"
|
||||
"%ld "
|
||||
"</td>",
|
||||
"%ld ",
|
||||
Gbl.RowEvenOdd,Gbl.Test.QstCod);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/* Write the question tags */
|
||||
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);
|
||||
Tbl_StartTableCenterPadding (2);
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:16px;\">"
|
||||
"<img src=\"%s/clock.svg\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"%sCONTEXT_ICO_16x16\" />"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_MIDDLE\">",
|
||||
" class=\"%sCONTEXT_ICO_16x16\" />",
|
||||
Cfg_URL_ICON_PUBLIC,
|
||||
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 :
|
||||
Txt_The_groups_will_not_automatically_open,
|
||||
Txt_The_groups_will_not_automatically_open,
|
||||
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),
|
||||
"open_time_%u",
|
||||
UniqueId);
|
||||
|
@ -1390,6 +1392,7 @@ static void Grp_ListGroupTypesForEdition (void)
|
|||
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
|
||||
true); // Submit on change
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
Tbl_EndTable ();
|
||||
Frm_EndForm ();
|
||||
|
@ -1397,9 +1400,10 @@ static void Grp_ListGroupTypesForEdition (void)
|
|||
|
||||
/* Number of groups of this type */
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
||||
"%u"
|
||||
"</td>",
|
||||
"%u",
|
||||
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].NumGrps);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
}
|
||||
|
||||
|
@ -1632,10 +1636,12 @@ static void Grp_ListGroupsForEdition (void)
|
|||
for (Role = Rol_TCH;
|
||||
Role >= Rol_STD;
|
||||
Role--)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
||||
"%d"
|
||||
"</td>",
|
||||
"%d",
|
||||
Grp->NumUsrs[Role]);
|
||||
Tbl_EndCell ();
|
||||
}
|
||||
|
||||
/***** Maximum number of students of the group (row[3]) *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
|
||||
|
@ -1762,8 +1768,8 @@ void Grp_ListGrpsToEditAsgAttSvyMch (struct GroupType *GrpTyp,long Cod,
|
|||
if (!(IBelongToThisGroup ||
|
||||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM))
|
||||
fprintf (Gbl.F.Out," disabled=\"disabled\"");
|
||||
fprintf (Gbl.F.Out," onclick=\"uncheckParent(this,'WholeCrs')\" />"
|
||||
"</td>");
|
||||
fprintf (Gbl.F.Out," onclick=\"uncheckParent(this,'WholeCrs')\" />");
|
||||
Tbl_EndCell ();
|
||||
|
||||
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)
|
||||
" disabled=\"disabled\""); // I can not register
|
||||
|
||||
fprintf (Gbl.F.Out," />"
|
||||
"</td>");
|
||||
fprintf (Gbl.F.Out," />");
|
||||
Tbl_EndCell ();
|
||||
|
||||
Grp_WriteRowGrp (Grp,IBelongToThisGroup);
|
||||
|
||||
|
@ -2260,7 +2266,8 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp,
|
|||
fprintf (Gbl.F.Out," onclick=\"checkParent(this,'AllGroups')\"");
|
||||
else
|
||||
fprintf (Gbl.F.Out," disabled=\"disabled\"");
|
||||
fprintf (Gbl.F.Out," /></td>");
|
||||
fprintf (Gbl.F.Out," />");
|
||||
Tbl_EndCell ();
|
||||
|
||||
Grp_WriteRowGrp (Grp,IBelongToThisGroup);
|
||||
|
||||
|
@ -2297,31 +2304,33 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp,
|
|||
}
|
||||
else
|
||||
fprintf (Gbl.F.Out," disabled=\"disabled\"");
|
||||
fprintf (Gbl.F.Out," onclick=\"checkParent(this,'AllGroups')\" />"
|
||||
"</td>");
|
||||
fprintf (Gbl.F.Out," onclick=\"checkParent(this,'AllGroups')\" />");
|
||||
Tbl_EndCell ();
|
||||
|
||||
/* Column closed/open */
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
|
||||
"</td>");
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||
Tbl_EndCell ();
|
||||
|
||||
/* Group name = students with no group */
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
"<label for=\"Grp%ld\">%s</label>"
|
||||
"</td>",
|
||||
"<label for=\"Grp%ld\">%s</label>",
|
||||
-(GrpTyp->GrpTypCod),Txt_users_with_no_group);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/* Classroom */
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
"</td>");
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
|
||||
Tbl_EndCell ();
|
||||
|
||||
/* Number of students who don't belong to any group of this type */
|
||||
for (Role = Rol_TCH;
|
||||
Role >= Rol_STD;
|
||||
Role--)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
||||
"%lu"
|
||||
"</td>",
|
||||
"%lu",
|
||||
Grp_CountNumUsrsInNoGrpsOfType (Role,GrpTyp->GrpTypCod));
|
||||
Tbl_EndCell ();
|
||||
}
|
||||
|
||||
/* Last empty columns for max. students and vacants */
|
||||
Tbl_PutEmptyCells (2);
|
||||
|
@ -2428,19 +2437,19 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight)
|
|||
fprintf (Gbl.F.Out,"\">"
|
||||
"<label for=\"Grp%ld\" class=\"DAT\">"
|
||||
"%s"
|
||||
"</label>"
|
||||
"</td>",
|
||||
"</label>",
|
||||
Grp->GrpCod,
|
||||
Grp->GrpName);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Classroom *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE");
|
||||
if (Highlight)
|
||||
fprintf (Gbl.F.Out," LIGHT_BLUE");
|
||||
fprintf (Gbl.F.Out,"\">"
|
||||
"%s"
|
||||
"</td>",
|
||||
"%s",
|
||||
Grp->Classroom.ShrtName);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Current number of users in this group *****/
|
||||
for (Role = Rol_TCH;
|
||||
|
@ -2451,9 +2460,9 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight)
|
|||
if (Highlight)
|
||||
fprintf (Gbl.F.Out," LIGHT_BLUE");
|
||||
fprintf (Gbl.F.Out,"\">"
|
||||
"%d"
|
||||
"</td>",
|
||||
"%d",
|
||||
Grp->NumUsrs[Role]);
|
||||
Tbl_EndCell ();
|
||||
}
|
||||
|
||||
/***** 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,"\">");
|
||||
Grp_WriteMaxStds (Grp->MaxStudents);
|
||||
fprintf (Gbl.F.Out," "
|
||||
"</td>");
|
||||
fprintf (Gbl.F.Out," ");
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Vacants in this group *****/
|
||||
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 *****/
|
||||
Tbl_StartRow ();
|
||||
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>");
|
||||
fprintf (Gbl.F.Out,"<td class=\"BM\">");
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Name of group type *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
|
||||
"<input type=\"text\" name=\"GrpTypName\""
|
||||
" size=\"12\" maxlength=\"%u\" value=\"%s\""
|
||||
" required=\"required\" />"
|
||||
"</td>",
|
||||
" required=\"required\" />",
|
||||
Grp_MAX_CHARS_GROUP_TYPE_NAME,Gbl.Crs.Grps.GrpTyp.GrpTypName);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Is it mandatory to register in any groups of this type? *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||
|
@ -2531,9 +2541,9 @@ static void Grp_PutFormToCreateGroupType (void)
|
|||
if (Gbl.Crs.Grps.GrpTyp.MandatoryEnrolment)
|
||||
fprintf (Gbl.F.Out," selected=\"selected\"");
|
||||
fprintf (Gbl.F.Out,">%s</option>"
|
||||
"</select>"
|
||||
"</td>",
|
||||
"</select>",
|
||||
Txt_It_is_mandatory_to_choose_a_group);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Is it possible to register in multiple groups of this type? *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||
|
@ -2548,27 +2558,29 @@ static void Grp_PutFormToCreateGroupType (void)
|
|||
if (Gbl.Crs.Grps.GrpTyp.MultipleEnrolment)
|
||||
fprintf (Gbl.F.Out," selected=\"selected\"");
|
||||
fprintf (Gbl.F.Out,">%s</option>"
|
||||
"</select>"
|
||||
"</td>",
|
||||
"</select>",
|
||||
Txt_A_student_can_belong_to_several_groups);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Open time *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||
Tbl_StartTablePadding (2);
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
|
||||
"<img src=\"%s/clock.svg\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"%sCONTEXT_ICO_16x16\" />"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_MIDDLE\">",
|
||||
" class=\"%sCONTEXT_ICO_16x16\" />",
|
||||
Cfg_URL_ICON_PUBLIC,
|
||||
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 :
|
||||
Txt_The_groups_will_not_automatically_open,
|
||||
Txt_The_groups_will_not_automatically_open,
|
||||
Gbl.Crs.Grps.GrpTyp.MustBeOpened ? "" :
|
||||
"ICO_HIDDEN ");
|
||||
"ICO_HIDDEN ");
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("open_time",
|
||||
"Open",
|
||||
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
|
||||
false); // Don't submit on change
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
Tbl_EndTable ();
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Number of groups of this type *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
||||
"0" // It's a new group type ==> 0 groups
|
||||
"</td>");
|
||||
"0"); // It's a new group type ==> 0 groups
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/***** End table, send button and end box *****/
|
||||
|
@ -2625,7 +2639,8 @@ static void Grp_PutFormToCreateGroup (void)
|
|||
|
||||
/***** Empty column to remove *****/
|
||||
Tbl_StartRow ();
|
||||
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>");
|
||||
fprintf (Gbl.F.Out,"<td class=\"BM\">");
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Disabled icon to open group *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"BM\">");
|
||||
|
@ -2657,16 +2672,16 @@ static void Grp_PutFormToCreateGroup (void)
|
|||
}
|
||||
|
||||
/* End selector */
|
||||
fprintf (Gbl.F.Out,"</select>"
|
||||
"</td>");
|
||||
fprintf (Gbl.F.Out,"</select>");
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Group name *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||
"<input type=\"text\" name=\"GrpName\""
|
||||
" size=\"20\" maxlength=\"%u\" value=\"%s\""
|
||||
" required=\"required\" />"
|
||||
"</td>",
|
||||
" required=\"required\" />",
|
||||
Grp_MAX_CHARS_GROUP_NAME,Gbl.Crs.Grps.GrpName);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Classroom *****/
|
||||
/* Start selector */
|
||||
|
@ -2701,24 +2716,27 @@ static void Grp_PutFormToCreateGroup (void)
|
|||
}
|
||||
|
||||
/* End selector */
|
||||
fprintf (Gbl.F.Out,"</select>"
|
||||
"</td>");
|
||||
fprintf (Gbl.F.Out,"</select>");
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Current number of users in this group *****/
|
||||
for (Role = Rol_TCH;
|
||||
Role >= Rol_STD;
|
||||
Role--)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
|
||||
"0"
|
||||
"</td>");
|
||||
"0");
|
||||
Tbl_EndCell ();
|
||||
}
|
||||
|
||||
/***** Maximum number of students *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||
"<input type=\"text\" name=\"MaxStudents\""
|
||||
" size=\"3\" maxlength=\"10\" value=\"");
|
||||
Grp_WriteMaxStds (Gbl.Crs.Grps.MaxStudents);
|
||||
fprintf (Gbl.F.Out,"\" />"
|
||||
"</td>");
|
||||
fprintf (Gbl.F.Out,"\" />");
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/***** End table, send button and end box *****/
|
||||
|
|
|
@ -274,9 +274,9 @@ static void Hlp_ShowRowHelpWhatWouldYouLikeToDo (const char *Description,
|
|||
|
||||
/***** Description *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
|
||||
"%s:"
|
||||
"</td>",
|
||||
"%s:",
|
||||
Description);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Button *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||
|
|
|
@ -104,13 +104,16 @@ void Hie_WriteMenuHierarchy (void)
|
|||
/***** Write a 1st selector
|
||||
with all the countries *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||
"<label for=\"cty\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_MIDDLE\">",
|
||||
"<label for=\"cty\" class=\"%s\">%s:</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Country);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||
Cty_WriteSelectorOfCountry ();
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
if (Gbl.Hierarchy.Cty.CtyCod > 0)
|
||||
|
@ -118,13 +121,16 @@ void Hie_WriteMenuHierarchy (void)
|
|||
/***** Write a 2nd selector
|
||||
with the institutions of selected country *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||
"<label for=\"ins\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_MIDDLE\">",
|
||||
"<label for=\"ins\" class=\"%s\">%s:</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Institution);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||
Ins_WriteSelectorOfInstitution ();
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
if (Gbl.Hierarchy.Ins.InsCod > 0)
|
||||
|
@ -132,13 +138,16 @@ void Hie_WriteMenuHierarchy (void)
|
|||
/***** Write a 3rd selector
|
||||
with all the centres of selected institution *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||
"<label for=\"ctr\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_MIDDLE\">",
|
||||
"<label for=\"ctr\" class=\"%s\">%s:</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Centre);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||
Ctr_WriteSelectorOfCentre ();
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
if (Gbl.Hierarchy.Ctr.CtrCod > 0)
|
||||
|
@ -146,13 +155,16 @@ void Hie_WriteMenuHierarchy (void)
|
|||
/***** Write a 4th selector
|
||||
with all the degrees of selected centre *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||
"<label for=\"deg\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_MIDDLE\">",
|
||||
"<label for=\"deg\" class=\"%s\">%s:</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Degree);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||
Deg_WriteSelectorOfDegree ();
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
if (Gbl.Hierarchy.Deg.DegCod > 0)
|
||||
|
@ -160,13 +172,16 @@ void Hie_WriteMenuHierarchy (void)
|
|||
/***** Write a 5th selector
|
||||
with all the courses of selected degree *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||
"<label for=\"crs\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_MIDDLE\">",
|
||||
"<label for=\"crs\" class=\"%s\">%s:</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Course);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||
Crs_WriteSelectorOfCourse ();
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -150,16 +150,19 @@ void Hld_SeeHolidays (void)
|
|||
{
|
||||
/* Write data of this holiday */
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</td>",
|
||||
"%s",
|
||||
Gbl.Hlds.Lst[NumHld].PlcCod <= 0 ? Txt_All_places :
|
||||
Gbl.Hlds.Lst[NumHld].PlaceFullName);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Dat_ConvDateToDateStr (&Gbl.Hlds.Lst[NumHld].StartDate,StrDate);
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
" %s"
|
||||
"</td>",
|
||||
" %s",
|
||||
StrDate);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
" ");
|
||||
switch (Gbl.Hlds.Lst[NumHld].HldTyp)
|
||||
|
@ -171,11 +174,13 @@ void Hld_SeeHolidays (void)
|
|||
fprintf (Gbl.F.Out,"%s",StrDate);
|
||||
break;
|
||||
}
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
" %s"
|
||||
"</td>",
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
" %s",
|
||||
Gbl.Hlds.Lst[NumHld].Name);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
}
|
||||
Tbl_EndTable ();
|
||||
|
@ -572,9 +577,9 @@ static void Hld_ListHolidaysForEdition (void)
|
|||
|
||||
/* Holiday code */
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
|
||||
"%ld "
|
||||
"</td>",
|
||||
"%ld ",
|
||||
Hld->HldCod);
|
||||
Tbl_EndCell ();
|
||||
|
||||
/* Holiday place */
|
||||
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].ShrtName);
|
||||
fprintf (Gbl.F.Out,"</select>"
|
||||
"</td>");
|
||||
fprintf (Gbl.F.Out,"</select>");
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Holiday type *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||
|
@ -1023,8 +1028,8 @@ static void Hld_PutFormToCreateHoliday (void)
|
|||
HolidayType == Hld_EditingHld->HldTyp ? " selected=\"selected\"" :
|
||||
"",
|
||||
Txt_HOLIDAY_TYPES[HolidayType]);
|
||||
fprintf (Gbl.F.Out,"</select>"
|
||||
"</td>");
|
||||
fprintf (Gbl.F.Out,"</select>");
|
||||
Tbl_EndCell ();
|
||||
|
||||
/***** Holiday date / Non school period start date *****/
|
||||
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\">"
|
||||
"<input type=\"text\" name=\"Name\""
|
||||
" size=\"20\" maxlength=\"%u\" value=\"%s\""
|
||||
" required=\"required\" />"
|
||||
"</td>",
|
||||
" required=\"required\" />",
|
||||
Hld_MAX_CHARS_HOLIDAY_NAME,Hld_EditingHld->Name);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_PutEmptyCells (1);
|
||||
|
||||
|
|
641
swad_indicator.c
641
swad_indicator.c
|
@ -121,37 +121,46 @@ void Ind_ReqIndicatorsCourses (void)
|
|||
|
||||
/* Scope */
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||
"<label for=\"ScopeInd\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_MIDDLE\">",
|
||||
"<label for=\"ScopeInd\" class=\"%s\">%s:</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
|
||||
Sco_PutSelectorScope ("ScopeInd",true);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/* Compute stats for a type of degree */
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||
"<label for=\"OthDegTypCod\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"DAT LEFT_MIDDLE\">",
|
||||
"<label for=\"OthDegTypCod\" class=\"%s\">%s:</label>",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Types_of_degree);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
|
||||
DT_WriteSelectorDegreeTypes ();
|
||||
fprintf (Gbl.F.Out," (");
|
||||
fprintf (Gbl.F.Out,Txt_only_if_the_scope_is_X,
|
||||
Cfg_PLATFORM_SHORT_NAME);
|
||||
fprintf (Gbl.F.Out,")</td>");
|
||||
fprintf (Gbl.F.Out,")");
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/* Compute stats for courses with teachers belonging to any department or to a particular departament? */
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
|
||||
"<label for=\"%s\" class=\"%s\">%s:</label>"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_MIDDLE\">",
|
||||
"<label for=\"%s\" class=\"%s\">%s:</label>",
|
||||
Dpt_PARAM_DPT_COD_NAME,
|
||||
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
|
||||
Gbl.Stat.DptCod, // Selected department
|
||||
"INDICATORS_INPUT", // Selector class
|
||||
|
@ -159,6 +168,7 @@ void Ind_ReqIndicatorsCourses (void)
|
|||
Txt_Any_department, // Text when no department selected
|
||||
true); // Submit on change
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/***** Get courses from database *****/
|
||||
|
@ -174,14 +184,17 @@ void Ind_ReqIndicatorsCourses (void)
|
|||
|
||||
/* Selection of the number of indicators */
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP %s\">"
|
||||
"%s:"
|
||||
"</td>"
|
||||
"<td class=\"LEFT_TOP\">",
|
||||
"%s:",
|
||||
The_ClassFormInBox[Gbl.Prefs.Theme],
|
||||
Txt_No_of_indicators);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
|
||||
Ind_ShowNumCoursesWithIndicators (NumCrssWithIndicatorYes,NumCrss,true);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
/* End table and form */
|
||||
|
@ -651,6 +664,7 @@ static void Ind_ShowNumCoursesWithIndicators (unsigned NumCrssWithIndicatorYes[1
|
|||
Class = Gbl.Stat.IndicatorsSelected[Ind] ? ClassHighlight :
|
||||
ClassNormal;
|
||||
Tbl_StartRow ();
|
||||
|
||||
if (PutForm)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s\">"
|
||||
|
@ -660,46 +674,54 @@ static void Ind_ShowNumCoursesWithIndicators (unsigned NumCrssWithIndicatorYes[1
|
|||
Class,Ind,Ind);
|
||||
if (Gbl.Stat.IndicatorsSelected[Ind])
|
||||
fprintf (Gbl.F.Out," checked=\"checked\"");
|
||||
fprintf (Gbl.F.Out," onchange=\"document.getElementById('%s').submit();\" />"
|
||||
"</td>",
|
||||
fprintf (Gbl.F.Out," onchange=\"document.getElementById('%s').submit();\" />",
|
||||
Gbl.Form.Id);
|
||||
Tbl_EndCell ();
|
||||
}
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s\">"
|
||||
"<label for=\"Indicators%u\">%u</label>"
|
||||
"</td>"
|
||||
"<td class=\"%s\">"
|
||||
"%u"
|
||||
"</td>"
|
||||
"<td class=\"%s\">"
|
||||
"(%.1f%%)"
|
||||
"</td>",
|
||||
"<label for=\"Indicators%u\">%u</label>",
|
||||
Class,
|
||||
Ind,Ind,
|
||||
Ind,Ind);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s\">"
|
||||
"%u",
|
||||
Class,
|
||||
NumCrssWithIndicatorYes[Ind],
|
||||
NumCrssWithIndicatorYes[Ind]);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s\">"
|
||||
"(%.1f%%)",
|
||||
Class,
|
||||
NumCrss ? (float) NumCrssWithIndicatorYes[Ind] * 100.0 / (float) NumCrss :
|
||||
0.0);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
}
|
||||
|
||||
/***** Write total of courses *****/
|
||||
Tbl_StartRow ();
|
||||
|
||||
if (PutForm)
|
||||
fprintf (Gbl.F.Out,"<td>"
|
||||
"</td>");
|
||||
Tbl_PutEmptyCells (1);
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</td>"
|
||||
"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
|
||||
"%u"
|
||||
"</td>"
|
||||
"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
|
||||
"(%.1f%%)"
|
||||
"</td>",
|
||||
Txt_Total,
|
||||
NumCrss,
|
||||
"%s",
|
||||
Txt_Total);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
|
||||
"%u",
|
||||
NumCrss);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
|
||||
"(%.1f%%)",
|
||||
100.0);
|
||||
Tbl_EndCell ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
|
||||
Tbl_EndTable ();
|
||||
|
@ -1040,117 +1062,121 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
|
|||
{
|
||||
case Ind_INDICATORS_BRIEF:
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<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=\"DAT_SMALL LEFT_MIDDLE COLOR%u\">"
|
||||
"%s",
|
||||
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
||||
"DAT_SMALL_RED"),
|
||||
Gbl.RowEvenOdd,
|
||||
row[0]);
|
||||
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[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\">"
|
||||
"%s/?crs=%ld&act=%ld"
|
||||
"</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],
|
||||
"</a>",
|
||||
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.CoursePartiallyOK ? "DAT_SMALL" :
|
||||
"DAT_SMALL_RED"),
|
||||
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,
|
||||
Indicators.ThereIsSyllabus ? Txt_YES :
|
||||
"",
|
||||
"");
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||
"%s",
|
||||
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
||||
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,
|
||||
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,
|
||||
Txt_NO);
|
||||
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,
|
||||
Txt_NO);
|
||||
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,
|
||||
Txt_NO);
|
||||
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 ();
|
||||
|
||||
Tbl_EndRow ();
|
||||
break;
|
||||
case Ind_INDICATORS_FULL:
|
||||
|
@ -1160,224 +1186,241 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
|
|||
Usr_GetNumUsrsInCrs (Rol_TCH,CrsCod); // Teachers
|
||||
|
||||
Tbl_StartRow ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<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=\"DAT_SMALL LEFT_MIDDLE COLOR%u\">"
|
||||
"%s",
|
||||
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
||||
"DAT_SMALL_RED"),
|
||||
Gbl.RowEvenOdd,
|
||||
row[0]);
|
||||
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[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\">"
|
||||
"%s/?crs=%ld&act=%ld"
|
||||
"</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],
|
||||
"</a>",
|
||||
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" :
|
||||
"DAT_SMALL_RED",
|
||||
Gbl.RowEvenOdd,
|
||||
NumTchs,
|
||||
NumTchs);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||
"%u",
|
||||
NumStds != 0 ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
Gbl.RowEvenOdd,
|
||||
NumStds,
|
||||
NumStds);
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
|
||||
"%u",
|
||||
Indicators.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||
(Indicators.CoursePartiallyOK ? "DAT_SMALL" :
|
||||
"DAT_SMALL_RED"),
|
||||
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,
|
||||
Indicators.ThereIsSyllabus ? Txt_YES :
|
||||
"",
|
||||
"");
|
||||
Tbl_EndCell ();
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE COLOR%u\">"
|
||||
"%s",
|
||||
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
||||
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" :
|
||||
"DAT_SMALL_RED",
|
||||
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" :
|
||||
"DAT_SMALL_RED",
|
||||
Gbl.RowEvenOdd,
|
||||
Txt_INFO_SRC_SHORT_TEXT[Indicators.SyllabusPraSrc],
|
||||
(Indicators.TeachingGuideSrc != Inf_INFO_SRC_NONE) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
Gbl.RowEvenOdd,
|
||||
Txt_INFO_SRC_SHORT_TEXT[Indicators.TeachingGuideSrc],
|
||||
Txt_INFO_SRC_SHORT_TEXT[Indicators.SyllabusPraSrc]);
|
||||
Tbl_EndCell ();
|
||||
|
||||
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
||||
Indicators.ThereAreAssignments ? Txt_YES :
|
||||
"",
|
||||
"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],
|
||||
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 ();
|
||||
|
||||
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 ();
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue