mirror of https://github.com/acanas/swad-core.git
Version 21.83: Jan 09, 2022 Working on design of dark theme.
This commit is contained in:
parent
52ea25d9db
commit
9260cb7538
|
@ -1430,7 +1430,7 @@ a:hover img.CENTER_PHOTO_SHOW
|
|||
{
|
||||
box-sizing:border-box;
|
||||
margin-bottom:15px;
|
||||
color:#A0A0A0;
|
||||
color:#a0a0a0;
|
||||
font-size:8pt;
|
||||
text-align:center;
|
||||
}
|
||||
|
@ -1965,7 +1965,7 @@ a:hover img.CENTER_PHOTO_SHOW
|
|||
.GREEN_ICO_BLUE {filter: invert(31%) sepia(16%) saturate(3727%) hue-rotate(60deg) brightness(94%) contrast(104%);} /* #246600 */
|
||||
.GREEN_ICO_YELLOW {filter: invert(31%) sepia(16%) saturate(3727%) hue-rotate(60deg) brightness(94%) contrast(104%);} /* #246600 */
|
||||
.GREEN_ICO_PINK {filter: invert(31%) sepia(16%) saturate(3727%) hue-rotate(60deg) brightness(94%) contrast(104%);} /* #246600 */
|
||||
.GREEN_ICO_DARK {filter: invert(49%) sepia(97%) saturate(781%) hue-rotate(55deg) brightness(95%) contrast(104%);} /* #50b800 */
|
||||
.GREEN_ICO_DARK {filter: invert(75%) sepia(13%) saturate(1915%) hue-rotate(46deg) brightness(89%) contrast(89%);} /* #80c040 */
|
||||
|
||||
.RED_ICO_WHITE {filter: invert(8%) sepia(61%) saturate(5373%) hue-rotate(0deg) brightness(92%) contrast(114%);} /* #660000 */
|
||||
.RED_ICO_GREY {filter: invert(8%) sepia(61%) saturate(5373%) hue-rotate(0deg) brightness(92%) contrast(114%);} /* #660000 */
|
||||
|
@ -2566,7 +2566,6 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;}
|
|||
.DAT_LIGHT_PINK {color:#a0a0a0; font-size:13pt;}
|
||||
.DAT_LIGHT_DARK {color:#909090; font-size:13pt;}
|
||||
|
||||
.DAT_SMALL {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#404040; font-size:12pt;}
|
||||
.DAT_SMALL_WHITE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#404040; font-size:12pt;}
|
||||
.DAT_SMALL_GREY {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#404040; font-size:12pt;}
|
||||
.DAT_SMALL_PURPLE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#404040; font-size:12pt;}
|
||||
|
@ -2575,33 +2574,29 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;}
|
|||
.DAT_SMALL_PINK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#404040; font-size:12pt;}
|
||||
.DAT_SMALL_DARK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#d0d0d0; font-size:12pt;}
|
||||
|
||||
.DAT_SMALL_N {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;}
|
||||
.DAT_SMALL_N_WHITE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;}
|
||||
.DAT_SMALL_N_GREY {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;}
|
||||
.DAT_SMALL_N_PURPLE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;}
|
||||
.DAT_SMALL_N_BLUE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;}
|
||||
.DAT_SMALL_N_YELLOW {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;}
|
||||
.DAT_SMALL_N_PINK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;}
|
||||
.DAT_SMALL_N_DARK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:white; font-size:12pt;}
|
||||
.DAT_SMALL_STRONG_WHITE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;}
|
||||
.DAT_SMALL_STRONG_GREY {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;}
|
||||
.DAT_SMALL_STRONG_PURPLE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;}
|
||||
.DAT_SMALL_STRONG_BLUE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;}
|
||||
.DAT_SMALL_STRONG_YELLOW {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;}
|
||||
.DAT_SMALL_STRONG_PINK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;}
|
||||
.DAT_SMALL_STRONG_DARK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:white; font-size:12pt;}
|
||||
|
||||
.DAT_SMALL_NOBR {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#404040; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_WHITE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#404040; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_GREY {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#404040; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_PURPLE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#404040; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_BLUE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#404040; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_YELLOW {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#404040; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_PINK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#404040; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_DARK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#404040; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#d0d0d0; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_DARK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#d0d0d0; font-size:12pt; white-space:nowrap;}
|
||||
|
||||
.DAT_SMALL_NOBR_N {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_N_WHITE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_N_GREY {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_N_PURPLE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_N_BLUE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_N_YELLOW {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_N_PINK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_N_DARK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:white; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_STRONG_WHITE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_STRONG_GREY {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_STRONG_PURPLE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_STRONG_BLUE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_STRONG_YELLOW {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_STRONG_PINK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;}
|
||||
.DAT_SMALL_NOBR_STRONG_DARK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:white; font-size:12pt; white-space:nowrap;}
|
||||
|
||||
.DAT_GREEN {color:#246600; font-size:13pt;}
|
||||
.DAT_RED {color:#660000; font-size:13pt;}
|
||||
|
@ -2631,13 +2626,45 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;}
|
|||
border-width:1px;
|
||||
}
|
||||
|
||||
.DAT_SMALL_LIGHT {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#A0A0A0; font-size:12pt;}
|
||||
.DAT_SMALL_LIGHT_WHITE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#A0A0A0; font-size:12pt;}
|
||||
.DAT_SMALL_LIGHT_GREY {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#A0A0A0; font-size:12pt;}
|
||||
.DAT_SMALL_LIGHT_PURPLE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#A0A0A0; font-size:12pt;}
|
||||
.DAT_SMALL_LIGHT_BLUE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#A0A0A0; font-size:12pt;}
|
||||
.DAT_SMALL_LIGHT_YELLOW {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#A0A0A0; font-size:12pt;}
|
||||
.DAT_SMALL_LIGHT_PINK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#A0A0A0; font-size:12pt;}
|
||||
.DAT_SMALL_LIGHT_DARK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#A0A0A0; font-size:12pt;}
|
||||
|
||||
.DAT_SMALL_GREY {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#707070; font-size:12pt;}
|
||||
.DAT_SMALL_RED {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#660000; font-size:12pt;}
|
||||
.DAT_SMALL_GREEN {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#246600; font-size:12pt;}
|
||||
.DAT_SMALL_BLUE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#0080FF; font-size:12pt;}
|
||||
.DAT_SMALL_YELLOW {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#C0C000; font-size:12pt;}
|
||||
.DAT_SMALL_BLUE_WHITE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#0080FF; font-size:12pt;}
|
||||
.DAT_SMALL_BLUE_GREY {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#0080FF; font-size:12pt;}
|
||||
.DAT_SMALL_BLUE_PURPLE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#0080FF; font-size:12pt;}
|
||||
.DAT_SMALL_BLUE_BLUE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#0080FF; font-size:12pt;}
|
||||
.DAT_SMALL_BLUE_YELLOW {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#0080FF; font-size:12pt;}
|
||||
.DAT_SMALL_BLUE_PINK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#0080FF; font-size:12pt;}
|
||||
.DAT_SMALL_BLUE_DARK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#0080FF; font-size:12pt;}
|
||||
|
||||
.DAT_SMALL_GREEN_WHITE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#246600; font-size:12pt;}
|
||||
.DAT_SMALL_GREEN_GREY {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#246600; font-size:12pt;}
|
||||
.DAT_SMALL_GREEN_PURPLE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#246600; font-size:12pt;}
|
||||
.DAT_SMALL_GREEN_BLUE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#246600; font-size:12pt;}
|
||||
.DAT_SMALL_GREEN_YELLOW {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#246600; font-size:12pt;}
|
||||
.DAT_SMALL_GREEN_PINK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#246600; font-size:12pt;}
|
||||
.DAT_SMALL_GREEN_DARK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#246600; font-size:12pt;}
|
||||
|
||||
.DAT_SMALL_RED_WHITE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#660000; font-size:12pt;}
|
||||
.DAT_SMALL_RED_GREY {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#660000; font-size:12pt;}
|
||||
.DAT_SMALL_RED_PURPLE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#660000; font-size:12pt;}
|
||||
.DAT_SMALL_RED_BLUE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#660000; font-size:12pt;}
|
||||
.DAT_SMALL_RED_YELLOW {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#660000; font-size:12pt;}
|
||||
.DAT_SMALL_RED_PINK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#660000; font-size:12pt;}
|
||||
.DAT_SMALL_RED_DARK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#660000; font-size:12pt;}
|
||||
|
||||
.DAT_SMALL_YELLOW_WHITE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#C0C000; font-size:12pt;}
|
||||
.DAT_SMALL_YELLOW_GREY {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#C0C000; font-size:12pt;}
|
||||
.DAT_SMALL_YELLOW_PURPLE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#C0C000; font-size:12pt;}
|
||||
.DAT_SMALL_YELLOW_BLUE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#C0C000; font-size:12pt;}
|
||||
.DAT_SMALL_YELLOW_YELLOW {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#C0C000; font-size:12pt;}
|
||||
.DAT_SMALL_YELLOW_PINK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#C0C000; font-size:12pt;}
|
||||
.DAT_SMALL_YELLOW_DARK {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#C0C000; font-size:12pt;}
|
||||
|
||||
/******************************** User's IDs *********************************/
|
||||
.USR_ID {font-size:18pt; font-weight:bold;}
|
||||
|
@ -3650,16 +3677,31 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;}
|
|||
display:inline-block;
|
||||
font-size:13pt;
|
||||
font-weight:bold;
|
||||
color:darkgreen;
|
||||
}
|
||||
.ATT_CHECK {color:#246600;}
|
||||
.ATT_CHECK_WHITE {color:#246600;}
|
||||
.ATT_CHECK_GREY {color:#246600;}
|
||||
.ATT_CHECK_PURPLE {color:#246600;}
|
||||
.ATT_CHECK_BLUE {color:#246600;}
|
||||
.ATT_CHECK_YELLOW {color:#246600;}
|
||||
.ATT_CHECK_PINK {color:#246600;}
|
||||
.ATT_CHECK_DARK {color:#80c040;}
|
||||
|
||||
.ATT_CROSS
|
||||
{
|
||||
display:inline-block;
|
||||
font-size:13pt;
|
||||
font-weight:bold;
|
||||
color:darkred;
|
||||
opacity:0.1;
|
||||
opacity:0.2;
|
||||
}
|
||||
.ATT_CROSS {color:#660000;}
|
||||
.ATT_CROSS_WHITE {color:#660000;}
|
||||
.ATT_CROSS_GREY {color:#660000;}
|
||||
.ATT_CROSS_PURPLE {color:#660000;}
|
||||
.ATT_CROSS_BLUE {color:#660000;}
|
||||
.ATT_CROSS_YELLOW {color:#660000;}
|
||||
.ATT_CROSS_PINK {color:#660000;}
|
||||
.ATT_CROSS_DARK {color:#ff8080;}
|
||||
|
||||
/********************* Edition of attendance events, games *******************/
|
||||
.TITLE_DESCRIPTION_WIDTH
|
|
@ -1697,6 +1697,9 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
|
|||
{
|
||||
extern const char *The_ClassDat[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatStrong[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
|
||||
extern const char *The_ClassInput[The_NUM_THEMES];
|
||||
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
|
||||
{
|
||||
[PhoSha_SHAPE_CIRCLE ] = "PHOTOC45x60",
|
||||
|
@ -1746,7 +1749,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
|
|||
HTM_TR_Begin (NULL);
|
||||
|
||||
/***** Icon to show if the user is already present *****/
|
||||
HTM_TD_Begin ("class=\"BT%u\"",Gbl.RowEvenOdd);
|
||||
HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_LABEL_Begin ("for=\"Std%u\"",NumUsr);
|
||||
Att_PutCheckOrCross (Present);
|
||||
HTM_LABEL_End ();
|
||||
|
@ -1758,7 +1761,8 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
|
|||
"id=\"Std%u\" value=\"%s\"%s%s",
|
||||
NumUsr,UsrDat->EnUsrCod,
|
||||
Present ? " checked=\"checked\"" : "",
|
||||
ICanChangeStdAttendance ? "" : " disabled=\"disabled\"");
|
||||
ICanChangeStdAttendance ? "" :
|
||||
" disabled=\"disabled\"");
|
||||
HTM_TD_End ();
|
||||
|
||||
/***** Write number of student in the list *****/
|
||||
|
@ -1772,7 +1776,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
|
|||
/***** Show student's photo *****/
|
||||
if (Gbl.Usrs.Listing.WithPhotos)
|
||||
{
|
||||
HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s LT\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
Pho_ShowUsrPhotoIfAllowed (UsrDat,
|
||||
ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM,
|
||||
false);
|
||||
|
@ -1780,17 +1784,17 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
|
|||
}
|
||||
|
||||
/***** Write user's ID ******/
|
||||
HTM_TD_Begin ("class=\"%s LT %s\"",
|
||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||
"DAT_SMALL",
|
||||
HTM_TD_Begin ("class=\"%s %s LT\"",
|
||||
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
ID_WriteUsrIDs (UsrDat,NULL);
|
||||
HTM_TD_End ();
|
||||
|
||||
/***** Write student's name *****/
|
||||
HTM_TD_Begin ("class=\"%s LT %s\"",
|
||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||
"DAT_SMALL",
|
||||
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (UsrDat->Surname1);
|
||||
if (UsrDat->Surname2[0])
|
||||
|
@ -1799,11 +1803,16 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
|
|||
HTM_TD_End ();
|
||||
|
||||
/***** Student's comment: write form or text */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s LT %s\"",
|
||||
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (ICanEditStdComment) // Show with form
|
||||
{
|
||||
HTM_TEXTAREA_Begin ("name=\"CommentStd%s\" cols=\"40\" rows=\"3\"",
|
||||
UsrDat->EnUsrCod);
|
||||
HTM_TEXTAREA_Begin ("name=\"CommentStd%s\" cols=\"40\" rows=\"3\""
|
||||
" class=\"%s\"",
|
||||
UsrDat->EnUsrCod,
|
||||
The_ClassInput[Gbl.Prefs.Theme]);
|
||||
HTM_Txt (CommentStd);
|
||||
HTM_TEXTAREA_End ();
|
||||
}
|
||||
|
@ -1816,11 +1825,16 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
|
|||
HTM_TD_End ();
|
||||
|
||||
/***** Teacher's comment: write form, text or nothing */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s LT %s\"",
|
||||
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (ICanEditTchComment) // Show with form
|
||||
{
|
||||
HTM_TEXTAREA_Begin ("name=\"CommentTch%s\" cols=\"40\" rows=\"3\"",
|
||||
UsrDat->EnUsrCod);
|
||||
HTM_TEXTAREA_Begin ("name=\"CommentTch%s\" cols=\"40\" rows=\"3\""
|
||||
" class=\"%s\"",
|
||||
UsrDat->EnUsrCod,
|
||||
The_ClassInput[Gbl.Prefs.Theme]);
|
||||
HTM_Txt (CommentTch);
|
||||
HTM_TEXTAREA_End ();
|
||||
}
|
||||
|
@ -2947,6 +2961,8 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events,
|
|||
{
|
||||
extern const char *The_ClassDat[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatStrong[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
|
||||
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
|
||||
{
|
||||
[PhoSha_SHAPE_CIRCLE ] = "PHOTOC21x28",
|
||||
|
@ -2980,16 +2996,16 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events,
|
|||
|
||||
/***** Write user's ID ******/
|
||||
HTM_TD_Begin ("class=\"%s LM %s\"",
|
||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||
"DAT_SMALL",
|
||||
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
ID_WriteUsrIDs (UsrDat,NULL);
|
||||
HTM_TD_End ();
|
||||
|
||||
/***** Write user's name *****/
|
||||
HTM_TD_Begin ("class=\"%s LM %s\"",
|
||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||
"DAT_SMALL",
|
||||
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (UsrDat->Surname1);
|
||||
if (UsrDat->Surname2[0])
|
||||
|
@ -3009,7 +3025,7 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events,
|
|||
UsrDat->UsrCod);
|
||||
|
||||
/* Write check or cross */
|
||||
HTM_TD_Begin ("class=\"BM%u\"",Gbl.RowEvenOdd);
|
||||
HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
Att_PutCheckOrCross (Present);
|
||||
HTM_TD_End ();
|
||||
|
||||
|
@ -3035,17 +3051,20 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events,
|
|||
|
||||
static void Att_PutCheckOrCross (bool Present)
|
||||
{
|
||||
extern const char *The_Colors[The_NUM_THEMES];
|
||||
extern const char *Txt_Present;
|
||||
extern const char *Txt_Absent;
|
||||
|
||||
if (Present)
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"ATT_CHECK\" title=\"%s\"",Txt_Present);
|
||||
HTM_DIV_Begin ("class=\"ATT_CHECK ATT_CHECK_%s\" title=\"%s\"",
|
||||
The_Colors[Gbl.Prefs.Theme],Txt_Present);
|
||||
HTM_Txt ("✓");
|
||||
}
|
||||
else
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"ATT_CROSS\" title=\"%s\"",Txt_Absent);
|
||||
HTM_DIV_Begin ("class=\"ATT_CROSS ATT_CROSS_%s\" title=\"%s\"",
|
||||
The_Colors[Gbl.Prefs.Theme],Txt_Absent);
|
||||
HTM_Txt ("✗");
|
||||
}
|
||||
|
||||
|
@ -3110,6 +3129,9 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events,
|
|||
{
|
||||
extern const char *The_ClassDat[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatStrong[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
|
||||
extern const char *The_Colors[The_NUM_THEMES];
|
||||
extern const char *Txt_Student_comment;
|
||||
extern const char *Txt_Teachers_comment;
|
||||
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
|
||||
|
@ -3154,15 +3176,15 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events,
|
|||
|
||||
/***** Write user's ID ******/
|
||||
HTM_TD_Begin ("class=\"%s LM\"",
|
||||
UsrDat->Accepted ? The_ClassDatStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDat[Gbl.Prefs.Theme]);
|
||||
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
ID_WriteUsrIDs (UsrDat,NULL);
|
||||
HTM_TD_End ();
|
||||
|
||||
/***** Write student's name *****/
|
||||
HTM_TD_Begin ("class=\"%s LM\"",
|
||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||
"DAT_SMALL");
|
||||
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_Txt (UsrDat->Surname1);
|
||||
if (UsrDat->Surname2[0])
|
||||
HTM_TxtF (" %s",UsrDat->Surname2);
|
||||
|
@ -3205,7 +3227,7 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events,
|
|||
HTM_TxtF ("%u:",NumAttEvent + 1);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"BT%u\"",Gbl.RowEvenOdd);
|
||||
HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
Att_PutCheckOrCross (Present);
|
||||
HTM_TD_End ();
|
||||
|
||||
|
|
|
@ -439,7 +439,6 @@ static void CtrCfg_Altitude (void)
|
|||
static void CtrCfg_Photo (bool PrintView,bool PutForm,bool PutLink,
|
||||
const char PathPhoto[PATH_MAX + 1])
|
||||
{
|
||||
extern const char *The_ClassDatStrong[The_NUM_THEMES];
|
||||
char *PhotoAttribution = NULL;
|
||||
char *URL;
|
||||
char *Icon;
|
||||
|
@ -454,10 +453,9 @@ static void CtrCfg_Photo (bool PrintView,bool PutForm,bool PutLink,
|
|||
CtrCfg_GetPhotoAttr (Gbl.Hierarchy.Ctr.CtrCod,&PhotoAttribution);
|
||||
|
||||
/***** Photo image *****/
|
||||
HTM_DIV_Begin ("class=\"DAT_SMALL CM\"");
|
||||
HTM_DIV_Begin ("class=\"CM\"");
|
||||
if (PutLink)
|
||||
HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"%s\"",
|
||||
Gbl.Hierarchy.Ctr.WWW,The_ClassDatStrong[Gbl.Prefs.Theme]);
|
||||
HTM_A_Begin ("href=\"%s\" target=\"_blank\"",Gbl.Hierarchy.Ctr.WWW);
|
||||
if (asprintf (&URL,"%s/%02u/%u",
|
||||
Cfg_URL_CTR_PUBLIC,
|
||||
(unsigned) (Gbl.Hierarchy.Ctr.CtrCod % 100),
|
||||
|
|
|
@ -602,10 +602,11 @@ TODO: FIX BUG, URGENT! En las fechas como par
|
|||
|
||||
TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo.
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 21.82 (2022-01-03)"
|
||||
#define CSS_FILE "swad21.81.css"
|
||||
#define Log_PLATFORM_VERSION "SWAD 21.83 (2022-01-09)"
|
||||
#define CSS_FILE "swad21.83.css"
|
||||
#define JS_FILE "swad21.78.2.js"
|
||||
/*
|
||||
Version 21.83: Jan 09, 2022 Working on design of dark theme. (322857 lines)
|
||||
Version 21.82: Jan 03, 2022 Functions moved from swad_figure to other modules. (322550 lines)
|
||||
Version 21.81.2: Jan 02, 2022 Functions moved from swad_figure to other modules. (322523 lines)
|
||||
Version 21.81.1: Jan 02, 2022 Fixed bug in projects. (322460 lines)
|
||||
|
|
|
@ -320,7 +320,7 @@ static void CtyCfg_MapImage (bool PrintView,bool PutLink)
|
|||
CtyCfg_GetMapAttr (Gbl.Hierarchy.Cty.CtyCod,&MapAttribution);
|
||||
|
||||
/***** Map image *****/
|
||||
HTM_DIV_Begin ("class=\"DAT_SMALL CM\"");
|
||||
HTM_DIV_Begin ("class=\"CM\"");
|
||||
if (PutLink)
|
||||
HTM_A_Begin ("href=\"%s\" target=\"_blank\"",
|
||||
Gbl.Hierarchy.Cty.WWW[Gbl.Prefs.Language]);
|
||||
|
|
|
@ -214,6 +214,11 @@ static void ExaLog_LogUsrAgent (long LogCod,long PrnCod)
|
|||
|
||||
void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallLight[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallGreen[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallRed[The_NUM_THEMES];
|
||||
extern const char *Txt_Hits;
|
||||
extern const char *Txt_Click;
|
||||
extern const char *Txt_Date_and_time;
|
||||
|
@ -242,11 +247,11 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
|
|||
char *UserAgent;
|
||||
const char *Class[ExaLog_NUM_ACTIONS] =
|
||||
{
|
||||
[ExaLog_UNKNOWN_ACTION ] = "DAT_SMALL_LIGHT",
|
||||
[ExaLog_START_EXAM ] = "DAT_SMALL_N",
|
||||
[ExaLog_RESUME_EXAM ] = "DAT_SMALL_N",
|
||||
[ExaLog_ANSWER_QUESTION] = "DAT_SMALL",
|
||||
[ExaLog_FINISH_EXAM ] = "DAT_SMALL_N",
|
||||
[ExaLog_UNKNOWN_ACTION ] = The_ClassDatSmallLight[Gbl.Prefs.Theme],
|
||||
[ExaLog_START_EXAM ] = The_ClassDatSmallStrong[Gbl.Prefs.Theme],
|
||||
[ExaLog_RESUME_EXAM ] = The_ClassDatSmallStrong[Gbl.Prefs.Theme],
|
||||
[ExaLog_ANSWER_QUESTION] = The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
[ExaLog_FINISH_EXAM ] = The_ClassDatSmallStrong[Gbl.Prefs.Theme],
|
||||
};
|
||||
|
||||
/***** Get print log from database *****/
|
||||
|
@ -319,9 +324,9 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
|
|||
HTM_TR_Begin (NULL);
|
||||
|
||||
/* Write number of click */
|
||||
HTM_TD_Begin ("class=\"RT %s %s\"",
|
||||
UsrCouldAnswer ? "DAT_SMALL" :
|
||||
"DAT_SMALL_LIGHT",
|
||||
HTM_TD_Begin ("class=\"%s %s RT\"",
|
||||
UsrCouldAnswer ? The_ClassDatSmall[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallLight[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (NumClick + 1);
|
||||
HTM_TD_End ();
|
||||
|
@ -329,8 +334,10 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
|
|||
/* Write click time */
|
||||
if (asprintf (&Id,"click_date_%u",NumClick) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"LT %s %s\"",
|
||||
Id,Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"%s %s LT\"",
|
||||
Id,
|
||||
Class[Action],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
Dat_WriteLocalDateHMSFromUTC (Id,ClickTimeUTC,
|
||||
Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA,
|
||||
true,true,true,0x7);
|
||||
|
@ -338,29 +345,29 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
|
|||
HTM_TD_End ();
|
||||
|
||||
/* Write action */
|
||||
HTM_TD_Begin ("class=\"LT %s %s\"",
|
||||
HTM_TD_Begin ("class=\"%s %s LT\"",
|
||||
Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (Txt_EXAM_LOG_ACTIONS[Action]);
|
||||
HTM_TD_End ();
|
||||
|
||||
/* Write number of question */
|
||||
HTM_TD_Begin ("class=\"RT %s %s\"",
|
||||
HTM_TD_Begin ("class=\"%s %s RT\"",
|
||||
Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (QstInd >= 0)
|
||||
HTM_Unsigned ((unsigned) QstInd + 1);
|
||||
HTM_TD_End ();
|
||||
|
||||
/* Write if exam print was open and accesible to answer */
|
||||
HTM_TD_Begin ("class=\"CT %s %s\"",
|
||||
UsrCouldAnswer ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
HTM_TD_Begin ("class=\"%s %s CT\"",
|
||||
UsrCouldAnswer ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (UsrCouldAnswer ? "✓" :
|
||||
"✗");
|
||||
HTM_TD_End ();
|
||||
|
||||
/* Write IP */
|
||||
HTM_TD_Begin ("class=\"LT %s %s\"",
|
||||
HTM_TD_Begin ("class=\"%s %s LT\"",
|
||||
Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
Length = strlen (IP);
|
||||
if (Length > 6)
|
||||
|
@ -379,7 +386,7 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
|
|||
HTM_TD_End ();
|
||||
|
||||
/* Write session id */
|
||||
HTM_TD_Begin ("class=\"LT %s %s\"",
|
||||
HTM_TD_Begin ("class=\"%s %s LT\"",
|
||||
Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (SessionId[0])
|
||||
{
|
||||
|
@ -401,7 +408,7 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
|
|||
HTM_TD_End ();
|
||||
|
||||
/* Write user agent (row[6]) */
|
||||
HTM_TD_Begin ("class=\"LT %s %s\"",
|
||||
HTM_TD_Begin ("class=\"%s %s LT\"",
|
||||
Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (UserAgent[0])
|
||||
HTM_Txt (UserAgent);
|
||||
|
|
|
@ -629,6 +629,7 @@ static void ExaPrn_ShowExamPrintToFillIt (struct Exa_Exams *Exams,
|
|||
|
||||
static void ExaPrn_GetAndWriteDescription (long ExaCod)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
char Txt[Cns_MAX_BYTES_TEXT + 1];
|
||||
|
||||
/***** Get description from database *****/
|
||||
|
@ -638,7 +639,8 @@ static void ExaPrn_GetAndWriteDescription (long ExaCod)
|
|||
ALn_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
|
||||
|
||||
/***** Write description *****/
|
||||
HTM_DIV_Begin ("class=\"EXA_PRN_DESC DAT_SMALL\"");
|
||||
HTM_DIV_Begin ("class=\"EXA_PRN_DESC %s\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_Txt (Txt);
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
|
@ -694,6 +696,7 @@ static void ExaPrn_WriteQstAndAnsToFill (const struct ExaPrn_Print *Print,
|
|||
unsigned QstInd,
|
||||
struct Qst_Question *Question)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
static struct ExaSet_Set CurrentSet =
|
||||
{
|
||||
.ExaCod = -1L,
|
||||
|
@ -723,7 +726,8 @@ static void ExaPrn_WriteQstAndAnsToFill (const struct ExaPrn_Print *Print,
|
|||
/***** Number of question and answer type *****/
|
||||
HTM_TD_Begin ("class=\"RT\"");
|
||||
Qst_WriteNumQst (QstInd + 1,"BIG_INDEX");
|
||||
Qst_WriteAnswerType (Question->Answer.Type,"DAT_SMALL");
|
||||
Qst_WriteAnswerType (Question->Answer.Type,
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_TD_End ();
|
||||
|
||||
/***** Stem, media and answers *****/
|
||||
|
|
|
@ -1863,25 +1863,27 @@ static void ExaRes_WriteQstAndAnsExam (struct UsrData *UsrDat,
|
|||
struct Qst_Question *Question,
|
||||
unsigned Visibility)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallRed[The_NUM_THEMES];
|
||||
extern const char *Txt_Score;
|
||||
extern const char *Txt_Invalid_question;
|
||||
bool ICanView[TstVis_NUM_ITEMS_VISIBILITY];
|
||||
static char *ClassNumQst[Qst_NUM_VALIDITIES] =
|
||||
static const char *ClassNumQst[Qst_NUM_VALIDITIES] =
|
||||
{
|
||||
[Qst_INVALID_QUESTION] = "BIG_INDEX_RED",
|
||||
[Qst_VALID_QUESTION ] = "BIG_INDEX",
|
||||
};
|
||||
static char *ClassAnswerType[Qst_NUM_VALIDITIES] =
|
||||
const char *ClassAnswerType[Qst_NUM_VALIDITIES] =
|
||||
{
|
||||
[Qst_INVALID_QUESTION] = "DAT_SMALL_RED",
|
||||
[Qst_VALID_QUESTION ] = "DAT_SMALL",
|
||||
[Qst_INVALID_QUESTION] = The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
[Qst_VALID_QUESTION ] = The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
};
|
||||
static char *ClassTxt[Qst_NUM_VALIDITIES] =
|
||||
static const char *ClassTxt[Qst_NUM_VALIDITIES] =
|
||||
{
|
||||
[Qst_INVALID_QUESTION] = "TEST_TXT_RED",
|
||||
[Qst_VALID_QUESTION ] = "TEST_TXT",
|
||||
};
|
||||
static char *ClassFeedback[Qst_NUM_VALIDITIES] =
|
||||
static const char *ClassFeedback[Qst_NUM_VALIDITIES] =
|
||||
{
|
||||
[Qst_INVALID_QUESTION] = "TEST_TXT_LIGHT_RED",
|
||||
[Qst_VALID_QUESTION ] = "TEST_TXT_LIGHT",
|
||||
|
@ -1947,13 +1949,14 @@ static void ExaRes_WriteQstAndAnsExam (struct UsrData *UsrDat,
|
|||
/* Write score retrieved from database */
|
||||
if (ICanView[TstVis_VISIBLE_EACH_QST_SCORE])
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"DAT_SMALL LM\"");
|
||||
HTM_DIV_Begin ("class=\"%s LM\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_TxtColonNBSP (Txt_Score);
|
||||
HTM_SPAN_Begin ("class=\"%s\"",
|
||||
Print->PrintedQuestions[QstInd].StrAnswers[0] ?
|
||||
(Print->PrintedQuestions[QstInd].Score > 0 ? "ANS_OK" : // Correct/semicorrect
|
||||
(Print->PrintedQuestions[QstInd].Score > 0 ? "ANS_OK" : // Correct/semicorrect
|
||||
"ANS_BAD") : // Wrong
|
||||
"ANS_0"); // Blank answer
|
||||
"ANS_0"); // Blank answer
|
||||
HTM_Double2Decimals (Print->PrintedQuestions[QstInd].Score);
|
||||
if (Question->Validity == Qst_INVALID_QUESTION)
|
||||
HTM_TxtF (" (%s)",Txt_Invalid_question);
|
||||
|
|
|
@ -1188,22 +1188,24 @@ void ExaSet_GetQstDataFromDB (struct Qst_Question *Question)
|
|||
static void ExaSet_ListQuestionForEdition (struct Qst_Question *Question,
|
||||
unsigned QstInd,const char *Anchor)
|
||||
{
|
||||
static char *ClassNumQst[Qst_NUM_VALIDITIES] =
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallRed[The_NUM_THEMES];
|
||||
static const char *ClassNumQst[Qst_NUM_VALIDITIES] =
|
||||
{
|
||||
[Qst_INVALID_QUESTION] = "BIG_INDEX_RED",
|
||||
[Qst_VALID_QUESTION ] = "BIG_INDEX",
|
||||
};
|
||||
static char *ClassAnswerType[Qst_NUM_VALIDITIES] =
|
||||
const char *ClassAnswerType[Qst_NUM_VALIDITIES] =
|
||||
{
|
||||
[Qst_INVALID_QUESTION] = "DAT_SMALL_RED",
|
||||
[Qst_VALID_QUESTION ] = "DAT_SMALL",
|
||||
[Qst_INVALID_QUESTION] = The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
[Qst_VALID_QUESTION ] = The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
};
|
||||
static char *ClassTxt[Qst_NUM_VALIDITIES] =
|
||||
static const char *ClassTxt[Qst_NUM_VALIDITIES] =
|
||||
{
|
||||
[Qst_INVALID_QUESTION] = "TEST_TXT_RED",
|
||||
[Qst_VALID_QUESTION ] = "TEST_TXT",
|
||||
};
|
||||
static char *ClassFeedback[Qst_NUM_VALIDITIES] =
|
||||
static const char *ClassFeedback[Qst_NUM_VALIDITIES] =
|
||||
{
|
||||
[Qst_INVALID_QUESTION] = "TEST_TXT_LIGHT_RED",
|
||||
[Qst_VALID_QUESTION ] = "TEST_TXT_LIGHT",
|
||||
|
|
|
@ -661,6 +661,7 @@ void Hie_ResetHierarchy (void)
|
|||
|
||||
void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
|
||||
{
|
||||
extern const char *The_ClassDatSmallNoBR[The_NUM_THEMES];
|
||||
extern const char *Txt_all_degrees;
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
|
@ -686,8 +687,10 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
|
|||
HTM_TD_End ();
|
||||
|
||||
/***** Write institution, center, degree *****/
|
||||
HTM_TD_Begin ("colspan=\"%u\" class=\"DAT_SMALL_NOBR LT %s\"",
|
||||
ColSpan - 1,Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("colspan=\"%u\" class=\"%s %s LT\"",
|
||||
ColSpan - 1,
|
||||
The_ClassDatSmallNoBR[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
|
||||
/* Get next institution, center, degree */
|
||||
row = mysql_fetch_row (mysql_res);
|
||||
|
|
177
swad_indicator.c
177
swad_indicator.c
|
@ -537,6 +537,9 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I
|
|||
Ind_IndicatorsLayout_t IndicatorsLayout,
|
||||
unsigned NumCrss,MYSQL_RES *mysql_res)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallGreen[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallRed[The_NUM_THEMES];
|
||||
extern const char *Txt_Degree;
|
||||
extern const char *Txt_Course;
|
||||
extern const char *Txt_Institutional_BR_code;
|
||||
|
@ -708,30 +711,31 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I
|
|||
HTM_TR_Begin (NULL);
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
|
||||
"DAT_SMALL_RED"),
|
||||
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (row[0]);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
|
||||
"DAT_SMALL_RED"),
|
||||
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (row[1]);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
|
||||
"DAT_SMALL_RED"),
|
||||
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (row[3]);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL %s LM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_A_Begin ("href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\"",
|
||||
Cfg_URL_SWAD_CGI,CrsCod,ActCod);
|
||||
|
@ -741,68 +745,78 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I
|
|||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
|
||||
"DAT_SMALL_RED"),
|
||||
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (IndicatorsCrs.NumIndicators);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_GREEN %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (IndicatorsCrs.ThereIsSyllabus)
|
||||
HTM_Txt (Txt_YES);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_RED %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (!IndicatorsCrs.ThereIsSyllabus)
|
||||
HTM_Txt (Txt_NO);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_GREEN %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (IndicatorsCrs.ThereAreAssignments)
|
||||
HTM_Txt (Txt_YES);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_RED %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (!IndicatorsCrs.ThereAreAssignments)
|
||||
HTM_Txt (Txt_NO);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_GREEN %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (IndicatorsCrs.ThereIsOnlineTutoring)
|
||||
HTM_Txt (Txt_YES);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_RED %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (!IndicatorsCrs.ThereIsOnlineTutoring)
|
||||
HTM_Txt (Txt_NO);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_GREEN %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (IndicatorsCrs.ThereAreMaterials)
|
||||
HTM_Txt (Txt_YES);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_RED %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (!IndicatorsCrs.ThereAreMaterials)
|
||||
HTM_Txt (Txt_NO);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_GREEN %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (IndicatorsCrs.ThereIsAssessment)
|
||||
HTM_Txt (Txt_YES);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_RED %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (!IndicatorsCrs.ThereIsAssessment)
|
||||
HTM_Txt (Txt_NO);
|
||||
|
@ -821,30 +835,31 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I
|
|||
HTM_TR_Begin (NULL);
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
|
||||
"DAT_SMALL_RED"),
|
||||
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (row[0]);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
|
||||
"DAT_SMALL_RED"),
|
||||
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (row[1]);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
|
||||
"DAT_SMALL_RED"),
|
||||
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (row[3]);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL %s LM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_A_Begin ("href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\"",
|
||||
Cfg_URL_SWAD_CGI,CrsCod,ActCod);
|
||||
|
@ -854,174 +869,184 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I
|
|||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
NumTchs != 0 ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
NumTchs != 0 ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (NumTchs);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
NumStds != 0 ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
NumStds != 0 ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (NumStds);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
|
||||
"DAT_SMALL_RED"),
|
||||
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (IndicatorsCrs.NumIndicators);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_GREEN %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (IndicatorsCrs.ThereIsSyllabus)
|
||||
HTM_Txt (Txt_YES);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_RED %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (!IndicatorsCrs.ThereIsSyllabus)
|
||||
HTM_Txt (Txt_NO);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
(IndicatorsCrs.SyllabusLecSrc != Inf_NONE) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
(IndicatorsCrs.SyllabusLecSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.SyllabusLecSrc]);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
(IndicatorsCrs.SyllabusPraSrc != Inf_NONE) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
(IndicatorsCrs.SyllabusPraSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.SyllabusPraSrc]);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
(IndicatorsCrs.TeachingGuideSrc != Inf_NONE) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
(IndicatorsCrs.TeachingGuideSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.TeachingGuideSrc]);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_GREEN %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (IndicatorsCrs.ThereAreAssignments)
|
||||
HTM_Txt (Txt_YES);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_RED %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (!IndicatorsCrs.ThereAreAssignments)
|
||||
HTM_Txt (Txt_NO);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
(IndicatorsCrs.NumAssignments != 0) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
(IndicatorsCrs.NumAssignments != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (IndicatorsCrs.NumAssignments);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
(IndicatorsCrs.NumFilesAssignments != 0) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
(IndicatorsCrs.NumFilesAssignments != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (IndicatorsCrs.NumFilesAssignments);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
(IndicatorsCrs.NumFilesWorks != 0) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
(IndicatorsCrs.NumFilesWorks != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (IndicatorsCrs.NumFilesWorks);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_GREEN %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (IndicatorsCrs.ThereIsOnlineTutoring)
|
||||
HTM_Txt (Txt_YES);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_RED %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (!IndicatorsCrs.ThereIsOnlineTutoring)
|
||||
HTM_Txt (Txt_NO);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
(IndicatorsCrs.NumThreads != 0) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
(IndicatorsCrs.NumThreads != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (IndicatorsCrs.NumThreads);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
(IndicatorsCrs.NumPosts != 0) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
(IndicatorsCrs.NumPosts != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (IndicatorsCrs.NumPosts);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
(IndicatorsCrs.NumMsgsSentByTchs != 0) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
(IndicatorsCrs.NumMsgsSentByTchs != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (IndicatorsCrs.NumMsgsSentByTchs);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_GREEN %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (IndicatorsCrs.ThereAreMaterials)
|
||||
HTM_Txt (Txt_YES);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_RED %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (!IndicatorsCrs.ThereAreMaterials)
|
||||
HTM_Txt (Txt_NO);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
(IndicatorsCrs.NumFilesInDocumentZones != 0) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
(IndicatorsCrs.NumFilesInDocumentZones != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (IndicatorsCrs.NumFilesInDocumentZones);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
(IndicatorsCrs.NumFilesInSharedZones != 0) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
(IndicatorsCrs.NumFilesInSharedZones != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (IndicatorsCrs.NumFilesInSharedZones);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_GREEN %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (IndicatorsCrs.ThereIsAssessment)
|
||||
HTM_Txt (Txt_YES);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL_RED %s CM\"",
|
||||
HTM_TD_Begin ("class=\"%s %s CM\"",
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (!IndicatorsCrs.ThereIsAssessment)
|
||||
HTM_Txt (Txt_NO);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
(IndicatorsCrs.AssessmentSrc != Inf_NONE) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
(IndicatorsCrs.AssessmentSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.AssessmentSrc]);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
(IndicatorsCrs.TeachingGuideSrc != Inf_NONE) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED",
|
||||
(IndicatorsCrs.TeachingGuideSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.TeachingGuideSrc]);
|
||||
HTM_TD_End ();
|
||||
|
|
15
swad_log.c
15
swad_log.c
|
@ -159,6 +159,11 @@ void Log_ShowLastClicks (void)
|
|||
|
||||
void Log_GetAndShowLastClicks (void)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallBlue[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallGreen[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallRed[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallYellow[The_NUM_THEMES];
|
||||
extern const char *Txt_Click;
|
||||
extern const char *Txt_ELAPSED_TIME;
|
||||
extern const char *Txt_Role;
|
||||
|
@ -207,12 +212,12 @@ void Log_GetAndShowLastClicks (void)
|
|||
Action = Act_GetActionFromActCod (ActCod);
|
||||
|
||||
/* Use a special color for this row depending on the action */
|
||||
ClassRow = (Act_GetBrowserTab (Action) == Act_DOWNLD_FILE) ? "DAT_SMALL_YELLOW" :
|
||||
ClassRow = (Act_GetBrowserTab (Action) == Act_DOWNLD_FILE) ? The_ClassDatSmallYellow[Gbl.Prefs.Theme] :
|
||||
(ActCod == Act_GetActCod (ActLogIn ) ||
|
||||
ActCod == Act_GetActCod (ActLogInNew)) ? "DAT_SMALL_GREEN" :
|
||||
(ActCod == Act_GetActCod (ActLogOut )) ? "DAT_SMALL_RED" :
|
||||
(ActCod == Act_GetActCod (ActWebSvc )) ? "DAT_SMALL_BLUE" :
|
||||
"DAT_SMALL_GREY";
|
||||
ActCod == Act_GetActCod (ActLogInNew)) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
(ActCod == Act_GetActCod (ActLogOut )) ? The_ClassDatSmallRed[Gbl.Prefs.Theme] :
|
||||
(ActCod == Act_GetActCod (ActWebSvc )) ? The_ClassDatSmallBlue[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme];
|
||||
|
||||
/* Compute elapsed time from last access */
|
||||
if (sscanf (row[2],"%ld",&TimeDiff) != 1)
|
||||
|
|
|
@ -798,6 +798,7 @@ static void Mai_ListEmails (__attribute__((unused)) void *Args)
|
|||
extern const char *Hlp_COMMUNICATION_Email;
|
||||
extern const char *The_ClassFormOutBoxBold[The_NUM_THEMES];
|
||||
extern const char *The_ClassDat[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *Txt_Email_addresses;
|
||||
extern const char *Txt_X_users_who_have_email;
|
||||
extern const char *Txt_X_users_who_have_accepted_and_who_have_email;
|
||||
|
@ -815,7 +816,7 @@ static void Mai_ListEmails (__attribute__((unused)) void *Args)
|
|||
Hlp_COMMUNICATION_Email,Box_NOT_CLOSABLE);
|
||||
|
||||
/***** Begin list with users' email addresses *****/
|
||||
HTM_DIV_Begin ("class=\"DAT_SMALL CM\"");
|
||||
HTM_DIV_Begin ("class=\"%s CM\"",The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
|
||||
/***** Initialize structure with user's data *****/
|
||||
Usr_UsrDataConstructor (&UsrDat);
|
||||
|
|
13
swad_match.c
13
swad_match.c
|
@ -2721,9 +2721,12 @@ static void Mch_PutCheckboxResult (const struct Mch_Match *Match)
|
|||
|
||||
static void Mch_PutIfAnswered (const struct Mch_Match *Match,bool Answered)
|
||||
{
|
||||
extern const char *The_ClassDatSmallGreen[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallRed[The_NUM_THEMES];
|
||||
extern const char *Txt_View_my_answer;
|
||||
extern const char *Txt_MATCH_QUESTION_Answered;
|
||||
extern const char *Txt_MATCH_QUESTION_Unanswered;
|
||||
char *Class;
|
||||
|
||||
/***** Begin container *****/
|
||||
HTM_DIV_Begin ("class=\"MCH_SHOW_ANSWERED\"");
|
||||
|
@ -2737,8 +2740,10 @@ static void Mch_PutIfAnswered (const struct Mch_Match *Match,bool Answered)
|
|||
Frm_BeginForm (ActSeeMchAnsQstStd);
|
||||
Mch_PutParamMchCod (Match->MchCod); // Current match being played
|
||||
|
||||
HTM_BUTTON_OnMouseDown_Begin (Txt_View_my_answer,
|
||||
"BT_LINK DAT_SMALL_GREEN");
|
||||
if (asprintf (&Class,"BT_LINK %s",The_ClassDatSmallGreen[Gbl.Prefs.Theme]) < 0) // Background
|
||||
Err_NotEnoughMemoryExit ();
|
||||
HTM_BUTTON_OnMouseDown_Begin (Txt_View_my_answer,Class);
|
||||
free (Class);
|
||||
HTM_TxtF ("<i class=\"%s\"></i>","fas fa-check-circle");
|
||||
HTM_TxtF (" %s",Txt_MATCH_QUESTION_Answered);
|
||||
HTM_BUTTON_End ();
|
||||
|
@ -2748,8 +2753,8 @@ static void Mch_PutIfAnswered (const struct Mch_Match *Match,bool Answered)
|
|||
}
|
||||
else
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",Answered ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMALL_RED");
|
||||
HTM_DIV_Begin ("class=\"%s\"",Answered ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallRed[Gbl.Prefs.Theme]);
|
||||
HTM_TxtF ("<i class=\"%s\" title=\"%s\"></i>",
|
||||
Answered ? "fas fa-check-circle" :
|
||||
"fas fa-exclamation-circle",
|
||||
|
|
|
@ -485,6 +485,8 @@ static void Msg_PutHiddenParamsSubjectAndContent (void)
|
|||
|
||||
static void Msg_ShowOneUniqueRecipient (void)
|
||||
{
|
||||
extern const char *The_ClassDatSmallNoBR[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallNoBRStrong[The_NUM_THEMES];
|
||||
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
|
||||
{
|
||||
[PhoSha_SHAPE_CIRCLE ] = "PHOTOC21x28",
|
||||
|
@ -500,15 +502,15 @@ static void Msg_ShowOneUniqueRecipient (void)
|
|||
|
||||
/****** Write user's IDs ******/
|
||||
HTM_DIV_Begin ("class=\"MSG_TO_ONE_RCP %s\"",
|
||||
Gbl.Usrs.Other.UsrDat.Accepted ? "DAT_SMALL_NOBR_N" :
|
||||
"DAT_SMALL_NOBR");
|
||||
Gbl.Usrs.Other.UsrDat.Accepted ? The_ClassDatSmallNoBRStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallNoBR[Gbl.Prefs.Theme]);
|
||||
ID_WriteUsrIDs (&Gbl.Usrs.Other.UsrDat,NULL);
|
||||
HTM_DIV_End ();
|
||||
|
||||
/***** Write user's name *****/
|
||||
HTM_DIV_Begin ("class=\"MSG_TO_ONE_RCP %s\"",
|
||||
Gbl.Usrs.Other.UsrDat.Accepted ? "DAT_SMALL_NOBR_N" :
|
||||
"DAT_SMALL_NOBR");
|
||||
Gbl.Usrs.Other.UsrDat.Accepted ? The_ClassDatSmallNoBRStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallNoBR[Gbl.Prefs.Theme]);
|
||||
HTM_Txt (Gbl.Usrs.Other.UsrDat.FullName);
|
||||
HTM_DIV_End ();
|
||||
|
||||
|
|
|
@ -241,7 +241,8 @@ void Net_ShowFormMyWebsAndSocialNets (void)
|
|||
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
|
||||
HTM_INPUT_URL (StrName,URL,HTM_DONT_SUBMIT_ON_CHANGE,
|
||||
"id=\"%s\" class=\"REC_C2_BOT_INPUT %s\"",
|
||||
StrName,The_ClassInput[Gbl.Prefs.Theme]);
|
||||
StrName,
|
||||
The_ClassInput[Gbl.Prefs.Theme]);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TR_End ();
|
||||
|
|
32
swad_photo.c
32
swad_photo.c
|
@ -1062,6 +1062,8 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
|
|||
{
|
||||
extern const char *Rol_Icons[Rol_NUM_ROLES];
|
||||
extern const char *The_ClassDatStrong[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
|
||||
extern const char *Txt_Following;
|
||||
extern const char *Txt_Followers;
|
||||
unsigned NumFollowing;
|
||||
|
@ -1107,9 +1109,10 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
|
|||
/* Nickname */
|
||||
if (UsrDat->Nickname[0])
|
||||
{
|
||||
if (asprintf (&Caption.Nick,"<div class=\"ZOOM_TXT_LINE DAT_SMALL_N\">"
|
||||
if (asprintf (&Caption.Nick,"<div class=\"ZOOM_TXT_LINE %s\">"
|
||||
"@%s"
|
||||
"</div>",
|
||||
The_ClassDatSmallStrong[Gbl.Prefs.Theme],
|
||||
UsrDat->Nickname) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
}
|
||||
|
@ -1124,9 +1127,10 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
|
|||
Ins_GetShrtNameAndCtyOfInstitution (&Ins,CtyName);
|
||||
|
||||
/* Write institution short name and country name */
|
||||
if (asprintf (&Caption.InsCty,"<div class=\"ZOOM_TXT_LINE DAT_SMALL\">"
|
||||
if (asprintf (&Caption.InsCty,"<div class=\"ZOOM_TXT_LINE %s\">"
|
||||
"%s (%s)"
|
||||
"</div>",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Ins.ShrtName,CtyName) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
}
|
||||
|
@ -1136,10 +1140,11 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
|
|||
Cty_GetCountryName (UsrDat->CtyCod,Gbl.Prefs.Language,CtyName);
|
||||
|
||||
/* Write country name */
|
||||
if (asprintf (&Caption.InsCty,"<div class=\"ZOOM_TXT_LINE DAT_SMALL\">"
|
||||
if (asprintf (&Caption.InsCty,"<div class=\"ZOOM_TXT_LINE %s\">"
|
||||
"%s"
|
||||
"</div>",
|
||||
CtyName) < 0)
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
CtyName) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
}
|
||||
else if (asprintf (&Caption.InsCty,"%s","") < 0)
|
||||
|
@ -1149,13 +1154,15 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
|
|||
Deg_GetUsrMainDeg (UsrDat->UsrCod,MainDegreeShrtName,&MaxRole);
|
||||
if (MainDegreeShrtName[0])
|
||||
{
|
||||
if (asprintf (&Caption.MainDeg,"<div class=\"ZOOM_TXT_LINE DAT_SMALL\">"
|
||||
"<div class=\"ZOOM_DEG\" style=\"background-image:url('%s/%s');\">"
|
||||
if (asprintf (&Caption.MainDeg,"<div class=\"ZOOM_TXT_LINE %s\">"
|
||||
"<div class=\"ZOOM_DEG\""
|
||||
" style=\"background-image:url('%s/%s');\">"
|
||||
"%s"
|
||||
"</div>"
|
||||
"</div>",
|
||||
Cfg_URL_ICON_PUBLIC,Rol_Icons[MaxRole],
|
||||
MainDegreeShrtName) < 0)
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Cfg_URL_ICON_PUBLIC,Rol_Icons[MaxRole],
|
||||
MainDegreeShrtName) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
}
|
||||
else if (asprintf (&Caption.MainDeg,"%s","") < 0)
|
||||
|
@ -1169,21 +1176,23 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
|
|||
"<span class=\"%s BOLD\">"
|
||||
"%u"
|
||||
"</span>"
|
||||
"<span class=\"DAT_SMALL\">"
|
||||
"<span class=\"%s\">"
|
||||
" %s "
|
||||
"</span>"
|
||||
"<span class=\"%s BOLD\">"
|
||||
"%u"
|
||||
"</span>"
|
||||
"<span class=\"DAT_SMALL\">"
|
||||
"<span class=\"%s\">"
|
||||
" %s"
|
||||
"</span>"
|
||||
"</div>",
|
||||
The_ClassDatStrong[Gbl.Prefs.Theme],
|
||||
NumFollowing,
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Txt_Following,
|
||||
The_ClassDatStrong[Gbl.Prefs.Theme],
|
||||
NumFollowers,
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Txt_Followers) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
}
|
||||
|
@ -2334,13 +2343,14 @@ static void Pho_GetNumStdsInDegree (long DegCod,Usr_Sex_t Sex,
|
|||
static void Pho_ShowDegreeStat (int NumStds,int NumStdsWithPhoto)
|
||||
{
|
||||
extern const char *The_ClassDat[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *Txt_photos;
|
||||
|
||||
HTM_SPAN_Begin ("class=\"%s\"",The_ClassDat[Gbl.Prefs.Theme]);
|
||||
HTM_TxtF ("%d ",NumStds);
|
||||
HTM_SPAN_End ();
|
||||
|
||||
HTM_SPAN_Begin ("class=\"DAT_SMALL\"");
|
||||
HTM_SPAN_Begin ("class=\"%s\"",The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_TxtF ("(%d %s, %d%%)",
|
||||
NumStdsWithPhoto,Txt_photos,
|
||||
NumStds > 0 ? (int) (((NumStdsWithPhoto * 100.0) / NumStds) + 0.5) :
|
||||
|
|
|
@ -1170,6 +1170,8 @@ static void Prf_GetAndShowRankingFigure (const char *FieldName)
|
|||
|
||||
void Prf_ShowRankingFigure (MYSQL_RES **mysql_res,unsigned NumUsrs)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
|
||||
MYSQL_ROW row;
|
||||
unsigned NumUsr;
|
||||
unsigned Rank;
|
||||
|
@ -1212,9 +1214,9 @@ void Prf_ShowRankingFigure (MYSQL_RES **mysql_res,unsigned NumUsrs)
|
|||
/***** Show row *****/
|
||||
HTM_TR_Begin (NULL);
|
||||
Prf_ShowUsrInRanking (&UsrDat,Rank,ItsMe);
|
||||
HTM_TD_Begin ("class=\"RM %s %s\"",
|
||||
ItsMe ? "DAT_SMALL_N" :
|
||||
"DAT_SMALL",
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
ItsMe ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Long (Figure);
|
||||
HTM_TD_End ();
|
||||
|
@ -1237,6 +1239,8 @@ void Prf_ShowRankingFigure (MYSQL_RES **mysql_res,unsigned NumUsrs)
|
|||
|
||||
void Prf_GetAndShowRankingClicksPerDay (void)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
unsigned NumUsrs = 0; // Initialized to avoid warning
|
||||
|
@ -1280,9 +1284,9 @@ void Prf_GetAndShowRankingClicksPerDay (void)
|
|||
/***** Show row *****/
|
||||
HTM_TR_Begin (NULL);
|
||||
Prf_ShowUsrInRanking (&UsrDat,Rank,ItsMe);
|
||||
HTM_TD_Begin ("class=\"RM %s %s\"",
|
||||
ItsMe ? "DAT_SMALL_N" :
|
||||
"DAT_SMALL",
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
ItsMe ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_DoubleFewDigits (NumClicksPerDay);
|
||||
HTM_TD_End ();
|
||||
|
@ -1305,6 +1309,8 @@ void Prf_GetAndShowRankingClicksPerDay (void)
|
|||
|
||||
static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank,bool ItsMe)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
|
||||
{
|
||||
|
@ -1315,9 +1321,9 @@ static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank,bool ItsM
|
|||
};
|
||||
bool Visible = Pri_ShowingIsAllowed (UsrDat->BaPrfVisibility,UsrDat);
|
||||
|
||||
HTM_TD_Begin ("class=\"RM %s %s\"",
|
||||
ItsMe ? "DAT_SMALL_N" :
|
||||
"DAT_SMALL",
|
||||
HTM_TD_Begin ("class=\"%s %s RM\"",
|
||||
ItsMe ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TxtF ("#%u",Rank);
|
||||
HTM_TD_End ();
|
||||
|
@ -1333,8 +1339,8 @@ static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank,bool ItsM
|
|||
|
||||
/***** Put form to go to public profile *****/
|
||||
HTM_TD_Begin ("class=\"RANK_USR %s %s\"", // Limited width
|
||||
ItsMe ? "DAT_SMALL_N" :
|
||||
"DAT_SMALL",
|
||||
ItsMe ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (Visible)
|
||||
{
|
||||
|
|
|
@ -519,17 +519,21 @@ void Qst_ListQuestionForEdition (struct Qst_Question *Question,
|
|||
const char *Anchor)
|
||||
{
|
||||
extern const char *The_ClassDatLight[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *Txt_Question_removed;
|
||||
|
||||
/***** Number of question and answer type (row[1]) *****/
|
||||
HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
Qst_WriteNumQst (QstInd,"BIG_INDEX");
|
||||
if (QuestionExists)
|
||||
Qst_WriteAnswerType (Question->Answer.Type,"DAT_SMALL");
|
||||
Qst_WriteAnswerType (Question->Answer.Type,
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_TD_End ();
|
||||
|
||||
/***** Write question code *****/
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s %s CT\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TxtF ("%ld ",Question->QstCod);
|
||||
HTM_TD_End ();
|
||||
|
||||
|
@ -963,7 +967,9 @@ void Qst_WriteHeadingRowQuestionsForEdition (struct Qst_Questions *Questions)
|
|||
|
||||
void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
static unsigned UniqueId = 0;
|
||||
char *Class;
|
||||
char *Id;
|
||||
|
||||
/***** Get and show question data *****/
|
||||
|
@ -988,19 +994,27 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd)
|
|||
/* Number of question and answer type */
|
||||
HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
Qst_WriteNumQst (QstInd + 1,"BIG_INDEX");
|
||||
Qst_WriteAnswerType (Questions->Question.Answer.Type,"DAT_SMALL");
|
||||
if (asprintf (&Class,"%s",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Qst_WriteAnswerType (Questions->Question.Answer.Type,Class);
|
||||
free (Class);
|
||||
HTM_TD_End ();
|
||||
|
||||
/* Question code */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s %s CT\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TxtF ("%ld ",Questions->Question.QstCod);
|
||||
HTM_TD_End ();
|
||||
|
||||
/* Date (row[0] has the UTC date-time) */
|
||||
if (asprintf (&Id,"tst_date_%u",++UniqueId) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"DAT_SMALL CT %s\"",
|
||||
Id,Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"%s %s CT\"",
|
||||
Id,
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
Dat_WriteLocalDateHMSFromUTC (Id,Questions->Question.EditTime,
|
||||
Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK,
|
||||
true,true,false,0x7);
|
||||
|
@ -1013,7 +1027,9 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd)
|
|||
HTM_TD_End ();
|
||||
|
||||
/* Shuffle (row[2]) */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s %s CT\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (Questions->Question.Answer.Type == Qst_ANS_UNIQUE_CHOICE ||
|
||||
Questions->Question.Answer.Type == Qst_ANS_MULTIPLE_CHOICE)
|
||||
{
|
||||
|
@ -1044,12 +1060,16 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd)
|
|||
HTM_TD_End ();
|
||||
|
||||
/* Number of times this question has been answered */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s %s CT\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_UnsignedLong (Questions->Question.NumHits);
|
||||
HTM_TD_End ();
|
||||
|
||||
/* Average score */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s %s CT\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (Questions->Question.NumHits)
|
||||
HTM_Double2Decimals (Questions->Question.Score /
|
||||
(double) Questions->Question.NumHits);
|
||||
|
@ -1058,12 +1078,16 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd)
|
|||
HTM_TD_End ();
|
||||
|
||||
/* Number of times this question has been answered (not blank) */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s %s CT\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_UnsignedLong (Questions->Question.NumHitsNotBlank);
|
||||
HTM_TD_End ();
|
||||
|
||||
/* Average score (not blank) */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s %s CT\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (Questions->Question.NumHitsNotBlank)
|
||||
HTM_Double2Decimals (Questions->Question.Score /
|
||||
(double) Questions->Question.NumHitsNotBlank);
|
||||
|
@ -1268,6 +1292,7 @@ void Qst_PutCheckboxToSelectAllQuestions (void)
|
|||
void Qst_WriteQuestionRowForSelection (unsigned QstInd,
|
||||
struct Qst_Question *Question)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *Txt_TST_STR_ANSWER_TYPES[Qst_NUM_ANS_TYPES];
|
||||
static unsigned UniqueId = 0;
|
||||
char *Id;
|
||||
|
@ -1286,20 +1311,26 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd,
|
|||
HTM_TD_End ();
|
||||
|
||||
/* Write number of question */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s %s CT\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TxtF ("%u ",QstInd + 1);
|
||||
HTM_TD_End ();
|
||||
|
||||
/* Write question code */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s %s CT\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TxtF ("%ld ",Question->QstCod);
|
||||
HTM_TD_End ();
|
||||
|
||||
/* Write the date (row[0] has the UTC date-time) */
|
||||
if (asprintf (&Id,"tst_date_%u",++UniqueId) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"DAT_SMALL CT %s\">",
|
||||
Id,Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"%s %s CT\">",
|
||||
Id,
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
Dat_WriteLocalDateHMSFromUTC (Id,Question->EditTime,
|
||||
Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK,
|
||||
true,true,false,0x7);
|
||||
|
@ -1312,12 +1343,16 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd,
|
|||
HTM_TD_End ();
|
||||
|
||||
/* Write the question type */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s %s CT\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TxtF ("%s ",Txt_TST_STR_ANSWER_TYPES[Question->Answer.Type]);
|
||||
HTM_TD_End ();
|
||||
|
||||
/* Write if shuffle is enabled */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s %s CT\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_INPUT_CHECKBOX ("Shuffle",HTM_DONT_SUBMIT_ON_CHANGE,
|
||||
"value=\"Y\"%s disabled=\"disabled\"",
|
||||
Question->Answer.Shuffle ? " checked=\"checked\"" :
|
||||
|
|
|
@ -854,6 +854,8 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem,
|
|||
const struct Qst_Question *Question,
|
||||
bool QuestionExists)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallLight[The_NUM_THEMES];
|
||||
extern const char *Txt_Existing_question;
|
||||
extern const char *Txt_New_question;
|
||||
extern const char *Txt_no_tags;
|
||||
|
@ -871,8 +873,8 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem,
|
|||
size_t AnswerTextLength;
|
||||
char *AnswerFeedback;
|
||||
size_t AnswerFeedbackLength;
|
||||
const char *ClassData = QuestionExists ? "DAT_SMALL_LIGHT" :
|
||||
"DAT_SMALL";
|
||||
const char *ClassData = QuestionExists ? The_ClassDatSmallLight[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme];
|
||||
const char *ClassStem = QuestionExists ? "TEST_TXT_LIGHT" :
|
||||
"TEST_TXT";
|
||||
|
||||
|
@ -892,13 +894,14 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem,
|
|||
HTM_TD_End ();
|
||||
|
||||
/***** Write number of question *****/
|
||||
HTM_TD_Begin ("class=\"%s CT %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s %s CT\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
if (!QuestionExists)
|
||||
HTM_TxtF ("%u ",++NumNonExistingQst);
|
||||
HTM_TD_End ();
|
||||
|
||||
/***** Write the question tags *****/
|
||||
HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s LT\"",
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
|
||||
if (Question->Tags.Num)
|
||||
{
|
||||
|
|
|
@ -1569,6 +1569,8 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
|
|||
extern const char *Hlp_USERS_Students_course_record_card;
|
||||
extern const char *The_ClassDatStrong[The_NUM_THEMES];
|
||||
extern const char *The_ClassFormInBox[The_NUM_THEMES];
|
||||
extern const char *The_ClassInput[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *Txt_RECORD_FIELD_VISIBILITY_RECORD[Rec_NUM_TYPES_VISIBILITY];
|
||||
extern const char *Txt_Save_changes;
|
||||
const char *Rec_RecordHelp[Rec_COURSE_NUM_VIEW_TYPES] =
|
||||
|
@ -1716,9 +1718,11 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
|
|||
if (TypeOfView == Rec_CRS_LIST_ONE_RECORD ||
|
||||
TypeOfView == Rec_CRS_LIST_SEVERAL_RECORDS)
|
||||
{
|
||||
HTM_SPAN_Begin ("class=\"DAT_SMALL\"");
|
||||
HTM_SPAN_Begin ("class=\"%s\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_NBSP ();
|
||||
HTM_TxtF ("(%s)",Txt_RECORD_FIELD_VISIBILITY_RECORD[Gbl.Crs.Records.LstFields.Lst[NumField].Visibility]);
|
||||
HTM_TxtF ("(%s)",
|
||||
Txt_RECORD_FIELD_VISIBILITY_RECORD[Gbl.Crs.Records.LstFields.Lst[NumField].Visibility]);
|
||||
HTM_SPAN_End ();
|
||||
}
|
||||
HTM_TD_End ();
|
||||
|
@ -1742,9 +1746,10 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
|
|||
if (ICanEditThisField) // Show with form
|
||||
{
|
||||
HTM_TEXTAREA_Begin ("name=\"Field%ld\" rows=\"%u\""
|
||||
" class=\"REC_C2_BOT_INPUT\"",
|
||||
" class=\"REC_C2_BOT_INPUT %s\"",
|
||||
Gbl.Crs.Records.LstFields.Lst[NumField].FieldCod,
|
||||
Gbl.Crs.Records.LstFields.Lst[NumField].NumLines);
|
||||
Gbl.Crs.Records.LstFields.Lst[NumField].NumLines,
|
||||
The_ClassInput[Gbl.Prefs.Theme]);
|
||||
if (ThisFieldHasText)
|
||||
HTM_Txt (row[0]);
|
||||
HTM_TEXTAREA_End ();
|
||||
|
@ -3289,7 +3294,8 @@ static void Rec_ShowPhone (struct UsrData *UsrDat,bool ShowData,bool PutForm,
|
|||
HTM_INPUT_TEL (Name,UsrDat->Phone[NumPhone],
|
||||
HTM_DONT_SUBMIT_ON_CHANGE,
|
||||
"id=\"%s\" class=\"REC_C2_BOT_INPUT %s\"",
|
||||
Name,The_ClassInput[Gbl.Prefs.Theme]);
|
||||
Name,
|
||||
The_ClassInput[Gbl.Prefs.Theme]);
|
||||
else if (UsrDat->Phone[NumPhone][0])
|
||||
{
|
||||
HTM_A_Begin ("href=\"tel:%s\" class=\"%s\"",
|
||||
|
|
|
@ -751,6 +751,7 @@ void Sta_SeeCrsAccesses (void)
|
|||
|
||||
static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *Txt_You_must_select_one_ore_more_users;
|
||||
extern const char *Txt_There_is_no_knowing_how_many_users_not_logged_have_accessed;
|
||||
extern const char *Txt_The_date_range_must_be_less_than_or_equal_to_X_days;
|
||||
|
@ -1043,7 +1044,8 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
|
|||
case Sta_CLICKS_GBL_PER_HOUR:
|
||||
case Sta_CLICKS_CRS_PER_MINUTE:
|
||||
case Sta_CLICKS_GBL_PER_MINUTE:
|
||||
HTM_TxtF ("<p class=\"DAT_SMALL CM\">%s: %s</p>",
|
||||
HTM_TxtF ("<p class=\"%s CM\">%s: %s</p>",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Txt_Time_zone_used_in_the_calculation_of_these_statistics,
|
||||
BrowserTimeZone);
|
||||
break;
|
||||
|
@ -2368,9 +2370,12 @@ static void Sta_ShowNumHitsPerHour (unsigned NumHits,
|
|||
|
||||
static void Sta_WriteAccessHour (unsigned Hour,struct Sta_Hits *Hits,unsigned ColumnWidth)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
unsigned BarHeight;
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CB\" style=\"width:%upx;\"",ColumnWidth);
|
||||
HTM_TD_Begin ("class=\"%s CB\" style=\"width:%upx;\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
ColumnWidth);
|
||||
|
||||
/* Draw bar with a height porportional to the number of clicks */
|
||||
if (Hits->Num > 0.0)
|
||||
|
|
|
@ -2747,6 +2747,7 @@ static void Svy_ListSvyQuestions (struct Svy_Surveys *Surveys,
|
|||
{
|
||||
extern const char *Hlp_ASSESSMENT_Surveys_questions;
|
||||
extern const char *The_ClassDat[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *Txt_Questions;
|
||||
extern const char *Txt_No_INDEX;
|
||||
extern const char *Txt_Type;
|
||||
|
@ -2833,13 +2834,15 @@ static void Svy_ListSvyQuestions (struct Svy_Surveys *Surveys,
|
|||
}
|
||||
|
||||
/* Write index of question inside survey */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",
|
||||
HTM_TD_Begin ("class=\"%s CT %s\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Unsigned (SvyQst.QstInd + 1);
|
||||
HTM_TD_End ();
|
||||
|
||||
/* Write the question type (row[2]) */
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",
|
||||
HTM_TD_Begin ("class=\"%s CT %s\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_Txt (Txt_SURVEY_STR_ANSWER_TYPES[SvyQst.AnswerType]);
|
||||
HTM_TD_End ();
|
||||
|
|
|
@ -509,6 +509,7 @@ static void Tag_PutIconDisable (long TagCod,const char *TagTxt)
|
|||
|
||||
void Tag_GetAndWriteTagsQst (long QstCod)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *Txt_no_tags;
|
||||
unsigned NumTags;
|
||||
unsigned NumTag;
|
||||
|
@ -518,7 +519,8 @@ void Tag_GetAndWriteTagsQst (long QstCod)
|
|||
if ((NumTags = Tag_DB_GetTagsQst (&mysql_res,QstCod)))
|
||||
{
|
||||
/***** Write the tags *****/
|
||||
HTM_UL_Begin ("class=\"TEST_TAG_LIST DAT_SMALL\"");
|
||||
HTM_UL_Begin ("class=\"TEST_TAG_LIST %s\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
for (NumTag = 0;
|
||||
NumTag < NumTags;
|
||||
NumTag++)
|
||||
|
@ -532,7 +534,8 @@ void Tag_GetAndWriteTagsQst (long QstCod)
|
|||
}
|
||||
else
|
||||
{
|
||||
HTM_SPAN_Begin ("class=\"DAT_SMALL\"");
|
||||
HTM_SPAN_Begin ("class=\"%s\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_TxtF ("(%s)",Txt_no_tags);
|
||||
HTM_SPAN_End ();
|
||||
}
|
||||
|
|
|
@ -285,13 +285,16 @@ static void TstPrn_WriteQstAndAnsToFill (struct TstPrn_PrintedQuestion *PrintedQ
|
|||
unsigned QstInd,
|
||||
struct Qst_Question *Question)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
|
||||
/***** Begin row *****/
|
||||
HTM_TR_Begin (NULL);
|
||||
|
||||
/***** Number of question and answer type *****/
|
||||
HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
Qst_WriteNumQst (QstInd + 1,"BIG_INDEX");
|
||||
Qst_WriteAnswerType (Question->Answer.Type,"DAT_SMALL");
|
||||
Qst_WriteAnswerType (Question->Answer.Type,
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_TD_End ();
|
||||
|
||||
/***** Stem, media and answers *****/
|
||||
|
@ -588,6 +591,7 @@ static void TstPrn_WriteQstAndAnsExam (struct UsrData *UsrDat,
|
|||
bool QuestionExists,
|
||||
unsigned Visibility)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *Txt_Score;
|
||||
extern const char *Txt_Question_removed;
|
||||
extern const char *Txt_Question_modified;
|
||||
|
@ -636,7 +640,8 @@ static void TstPrn_WriteQstAndAnsExam (struct UsrData *UsrDat,
|
|||
HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
Qst_WriteNumQst (QstInd + 1,"BIG_INDEX");
|
||||
if (QuestionUneditedAfterExam)
|
||||
Qst_WriteAnswerType (Question->Answer.Type,"DAT_SMALL");
|
||||
Qst_WriteAnswerType (Question->Answer.Type,
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_TD_End ();
|
||||
|
||||
/***** Stem, media and answers *****/
|
||||
|
@ -668,7 +673,7 @@ static void TstPrn_WriteQstAndAnsExam (struct UsrData *UsrDat,
|
|||
/* Write score retrieved from database */
|
||||
if (ICanView[TstVis_VISIBLE_EACH_QST_SCORE])
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"DAT_SMALL LM\"");
|
||||
HTM_DIV_Begin ("class=\"%s LM\"",The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_TxtColonNBSP (Txt_Score);
|
||||
HTM_SPAN_Begin ("class=\"%s\"",
|
||||
PrintedQuestions[QstInd].StrAnswers[0] ?
|
||||
|
@ -1620,14 +1625,15 @@ static void TstPrn_WriteTxtAnsPrint (struct UsrData *UsrDat,
|
|||
|
||||
static void TstPrn_WriteHeadUserCorrect (struct UsrData *UsrDat)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *Txt_User[Usr_NUM_SEXS];
|
||||
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CM\"");
|
||||
HTM_TD_Begin ("class=\"%s CM\"",The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_Txt (Txt_User[UsrDat->Sex]);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL CM\"");
|
||||
HTM_TD_Begin ("class=\"%s CM\"",The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_Txt (Txt_ROLES_PLURAL_Abc[Rol_TCH][Usr_SEX_UNKNOWN]);
|
||||
HTM_TD_End ();
|
||||
}
|
||||
|
|
99
swad_theme.c
99
swad_theme.c
|
@ -221,6 +221,105 @@ const char *The_ClassDatLight[The_NUM_THEMES] =
|
|||
[The_THEME_DARK ] = "DAT_LIGHT_DARK",
|
||||
};
|
||||
|
||||
const char *The_ClassDatSmall[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "DAT_SMALL_WHITE",
|
||||
[The_THEME_GREY ] = "DAT_SMALL_GREY",
|
||||
[The_THEME_PURPLE] = "DAT_SMALL_PURPLE",
|
||||
[The_THEME_BLUE ] = "DAT_SMALL_BLUE",
|
||||
[The_THEME_YELLOW] = "DAT_SMALL_YELLOW",
|
||||
[The_THEME_PINK ] = "DAT_SMALL_PINK",
|
||||
[The_THEME_DARK ] = "DAT_SMALL_DARK",
|
||||
};
|
||||
|
||||
const char *The_ClassDatSmallLight[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "DAT_SMALL_LIGHT_WHITE",
|
||||
[The_THEME_GREY ] = "DAT_SMALL_LIGHT_GREY",
|
||||
[The_THEME_PURPLE] = "DAT_SMALL_LIGHT_PURPLE",
|
||||
[The_THEME_BLUE ] = "DAT_SMALL_LIGHT_BLUE",
|
||||
[The_THEME_YELLOW] = "DAT_SMALL_LIGHT_YELLOW",
|
||||
[The_THEME_PINK ] = "DAT_SMALL_LIGHT_PINK",
|
||||
[The_THEME_DARK ] = "DAT_SMALL_LIGHT_DARK",
|
||||
};
|
||||
|
||||
const char *The_ClassDatSmallStrong[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "DAT_SMALL_STRONG_WHITE",
|
||||
[The_THEME_GREY ] = "DAT_SMALL_STRONG_GREY",
|
||||
[The_THEME_PURPLE] = "DAT_SMALL_STRONG_PURPLE",
|
||||
[The_THEME_BLUE ] = "DAT_SMALL_STRONG_BLUE",
|
||||
[The_THEME_YELLOW] = "DAT_SMALL_STRONG_YELLOW",
|
||||
[The_THEME_PINK ] = "DAT_SMALL_STRONG_PINK",
|
||||
[The_THEME_DARK ] = "DAT_SMALL_STRONG_DARK",
|
||||
};
|
||||
|
||||
const char *The_ClassDatSmallRed[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "DAT_SMALL_RED_WHITE",
|
||||
[The_THEME_GREY ] = "DAT_SMALL_RED_GREY",
|
||||
[The_THEME_PURPLE] = "DAT_SMALL_RED_PURPLE",
|
||||
[The_THEME_BLUE ] = "DAT_SMALL_RED_BLUE",
|
||||
[The_THEME_YELLOW] = "DAT_SMALL_RED_YELLOW",
|
||||
[The_THEME_PINK ] = "DAT_SMALL_RED_PINK",
|
||||
[The_THEME_DARK ] = "DAT_SMALL_RED_DARK",
|
||||
};
|
||||
|
||||
const char *The_ClassDatSmallGreen[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "DAT_SMALL_GREEN_WHITE",
|
||||
[The_THEME_GREY ] = "DAT_SMALL_GREEN_GREY",
|
||||
[The_THEME_PURPLE] = "DAT_SMALL_GREEN_PURPLE",
|
||||
[The_THEME_BLUE ] = "DAT_SMALL_GREEN_BLUE",
|
||||
[The_THEME_YELLOW] = "DAT_SMALL_GREEN_YELLOW",
|
||||
[The_THEME_PINK ] = "DAT_SMALL_GREEN_PINK",
|
||||
[The_THEME_DARK ] = "DAT_SMALL_GREEN_DARK",
|
||||
};
|
||||
|
||||
const char *The_ClassDatSmallBlue[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "DAT_SMALL_BLUE_WHITE",
|
||||
[The_THEME_GREY ] = "DAT_SMALL_BLUE_GREY",
|
||||
[The_THEME_PURPLE] = "DAT_SMALL_BLUE_PURPLE",
|
||||
[The_THEME_BLUE ] = "DAT_SMALL_BLUE_BLUE",
|
||||
[The_THEME_YELLOW] = "DAT_SMALL_BLUE_YELLOW",
|
||||
[The_THEME_PINK ] = "DAT_SMALL_BLUE_PINK",
|
||||
[The_THEME_DARK ] = "DAT_SMALL_BLUE_DARK",
|
||||
};
|
||||
|
||||
const char *The_ClassDatSmallYellow[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "DAT_SMALL_YELLOW_WHITE",
|
||||
[The_THEME_GREY ] = "DAT_SMALL_YELLOW_GREY",
|
||||
[The_THEME_PURPLE] = "DAT_SMALL_YELLOW_PURPLE",
|
||||
[The_THEME_BLUE ] = "DAT_SMALL_YELLOW_BLUE",
|
||||
[The_THEME_YELLOW] = "DAT_SMALL_YELLOW_YELLOW",
|
||||
[The_THEME_PINK ] = "DAT_SMALL_YELLOW_PINK",
|
||||
[The_THEME_DARK ] = "DAT_SMALL_YELLOW_DARK",
|
||||
};
|
||||
|
||||
const char *The_ClassDatSmallNoBR[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "DAT_SMALL_NOBR_WHITE",
|
||||
[The_THEME_GREY ] = "DAT_SMALL_NOBR_GREY",
|
||||
[The_THEME_PURPLE] = "DAT_SMALL_NOBR_PURPLE",
|
||||
[The_THEME_BLUE ] = "DAT_SMALL_NOBR_BLUE",
|
||||
[The_THEME_YELLOW] = "DAT_SMALL_NOBR_YELLOW",
|
||||
[The_THEME_PINK ] = "DAT_SMALL_NOBR_PINK",
|
||||
[The_THEME_DARK ] = "DAT_SMALL_NOBR_DARK",
|
||||
};
|
||||
|
||||
const char *The_ClassDatSmallNoBRStrong[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "DAT_SMALL_NOBR_STRONG_WHITE",
|
||||
[The_THEME_GREY ] = "DAT_SMALL_NOBR_STRONG_GREY",
|
||||
[The_THEME_PURPLE] = "DAT_SMALL_NOBR_STRONG_PURPLE",
|
||||
[The_THEME_BLUE ] = "DAT_SMALL_NOBR_STRONG_BLUE",
|
||||
[The_THEME_YELLOW] = "DAT_SMALL_NOBR_STRONG_YELLOW",
|
||||
[The_THEME_PINK ] = "DAT_SMALL_NOBR_STRONG_PINK",
|
||||
[The_THEME_DARK ] = "DAT_SMALL_NOBR_STRONG_DARK",
|
||||
};
|
||||
|
||||
const char *The_ClassInput[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "INPUT_WHITE",
|
||||
|
|
|
@ -1303,6 +1303,7 @@ static void Tmt_TimeTableDrawCell (const struct Tmt_Timetable *Timetable,
|
|||
long CrsCod,Tmt_IntervalType_t IntervalType,Tmt_ClassType_t ClassType,
|
||||
unsigned DurationNumIntervals,long GrpCod,const char *Info)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *Tmt_DB_ClassType[Tmt_NUM_CLASS_TYPES];
|
||||
extern const char *Txt_unknown_removed_course;
|
||||
extern const char *Txt_TIMETABLE_CLASS_TYPES[Tmt_NUM_CLASS_TYPES];
|
||||
|
@ -1386,12 +1387,16 @@ static void Tmt_TimeTableDrawCell (const struct Tmt_Timetable *Timetable,
|
|||
}
|
||||
if (ClassType == Tmt_FREE)
|
||||
{
|
||||
if (asprintf (&ClassStr,"%s%u",TimeTableClasses[ClassType],Interval % 4) < 0)
|
||||
if (asprintf (&ClassStr,"%s%u",
|
||||
TimeTableClasses[ClassType],
|
||||
Interval % 4) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (asprintf (&ClassStr,"%s CM DAT_SMALL",TimeTableClasses[ClassType]) < 0)
|
||||
if (asprintf (&ClassStr,"%s %s CM",
|
||||
TimeTableClasses[ClassType],
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
}
|
||||
|
||||
|
@ -1598,7 +1603,9 @@ static void Tmt_TimeTableDrawCell (const struct Tmt_Timetable *Timetable,
|
|||
{
|
||||
/***** Info *****/
|
||||
HTM_BR ();
|
||||
HTM_LABEL_Begin ("for=\"TTInf%s\" class=\"DAT_SMALL\"",CellStr);
|
||||
HTM_LABEL_Begin ("for=\"TTInf%s\" class=\"%s\"",
|
||||
CellStr,
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]);
|
||||
HTM_Txt (Txt_Info);
|
||||
HTM_LABEL_End ();
|
||||
HTM_INPUT_TEXT ("TTInf",Tmt_MAX_CHARS_INFO,Info,
|
||||
|
|
63
swad_user.c
63
swad_user.c
|
@ -2154,6 +2154,8 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
|
|||
bool PutCheckBoxToSelectUsr,Rol_Role_t Role,
|
||||
struct SelectedUsrs *SelectedUsrs)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
|
||||
extern const char *The_Colors[The_NUM_THEMES];
|
||||
extern const char *Txt_Enrolment_confirmed;
|
||||
extern const char *Txt_Enrolment_not_confirmed;
|
||||
|
@ -2227,9 +2229,9 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
|
|||
}
|
||||
|
||||
/****** Write user's IDs ******/
|
||||
HTM_TD_Begin ("class=\"%s LM %s\"",
|
||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||
"DAT_SMALL",
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
BgColor);
|
||||
ID_WriteUsrIDs (UsrDat,NULL);
|
||||
HTM_TD_End ();
|
||||
|
@ -2253,6 +2255,7 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
|
|||
|
||||
static void Usr_WriteRowGstAllData (struct UsrData *UsrDat)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
|
||||
{
|
||||
[PhoSha_SHAPE_CIRCLE ] = "PHOTOC21x28",
|
||||
|
@ -2270,7 +2273,7 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat)
|
|||
if (Gbl.Usrs.Listing.WithPhotos)
|
||||
{
|
||||
/***** Show guest's photo *****/
|
||||
HTM_TD_Begin ("class=\"LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s LM\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
Pho_ShowUsrPhotoIfAllowed (UsrDat,
|
||||
ClassPhoto[Gbl.Prefs.PhotoShape],Pho_NO_ZOOM,
|
||||
false);
|
||||
|
@ -2278,7 +2281,9 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat)
|
|||
}
|
||||
|
||||
/****** Write user's ID ******/
|
||||
HTM_TD_Begin ("class=\"DAT_SMALL LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
ID_WriteUsrIDs (UsrDat,NULL);
|
||||
HTM_NBSP ();
|
||||
HTM_TD_End ();
|
||||
|
@ -2342,6 +2347,9 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat)
|
|||
|
||||
static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
|
||||
extern const char *The_Colors[The_NUM_THEMES];
|
||||
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
|
||||
{
|
||||
[PhoSha_SHAPE_CIRCLE ] = "PHOTOC21x28",
|
||||
|
@ -2371,9 +2379,9 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames)
|
|||
}
|
||||
|
||||
/****** Write user's ID ******/
|
||||
HTM_TD_Begin ("class=\"%s LM %s\"",
|
||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||
"DAT_SMALL",
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
ID_WriteUsrIDs (UsrDat,NULL);
|
||||
HTM_NBSP ();
|
||||
|
@ -2453,6 +2461,9 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames)
|
|||
|
||||
static void Usr_WriteRowTchAllData (struct UsrData *UsrDat)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
|
||||
extern const char *The_Colors[The_NUM_THEMES];
|
||||
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
|
||||
{
|
||||
[PhoSha_SHAPE_CIRCLE ] = "PHOTOC21x28",
|
||||
|
@ -2480,9 +2491,9 @@ static void Usr_WriteRowTchAllData (struct UsrData *UsrDat)
|
|||
}
|
||||
|
||||
/****** Write the user's ID ******/
|
||||
HTM_TD_Begin ("class=\"%s LM %s\"",
|
||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||
"DAT_SMALL",
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
ID_WriteUsrIDs (UsrDat,NULL);
|
||||
HTM_NBSP ();
|
||||
|
@ -2534,6 +2545,9 @@ static void Usr_WriteRowTchAllData (struct UsrData *UsrDat)
|
|||
|
||||
static void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
|
||||
extern const char *The_Colors[The_NUM_THEMES];
|
||||
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
|
||||
{
|
||||
[PhoSha_SHAPE_CIRCLE ] = "PHOTOC21x28",
|
||||
|
@ -2563,9 +2577,9 @@ static void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat)
|
|||
}
|
||||
|
||||
/****** Write the user's ID ******/
|
||||
HTM_TD_Begin ("class=\"%s LM %s\"",
|
||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
||||
"DAT_SMALL",
|
||||
HTM_TD_Begin ("class=\"%s %s LM\"",
|
||||
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme],
|
||||
Gbl.ColorRows[Gbl.RowEvenOdd]);
|
||||
ID_WriteUsrIDs (UsrDat,NULL);
|
||||
HTM_NBSP ();
|
||||
|
@ -2643,15 +2657,18 @@ static void Usr_WriteUsrData (const char *BgColor,
|
|||
const char *Data,const char *Link,
|
||||
bool NonBreak,bool Accepted)
|
||||
{
|
||||
extern const char *The_ClassDatSmall[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallNoBR[The_NUM_THEMES];
|
||||
extern const char *The_ClassDatSmallNoBRStrong[The_NUM_THEMES];
|
||||
extern const char *The_Colors[The_NUM_THEMES];
|
||||
|
||||
/***** Begin table cell *****/
|
||||
HTM_TD_Begin ("class=\"%s_%s LM %s\"",
|
||||
Accepted ? (NonBreak ? "DAT_SMALL_NOBR_N" :
|
||||
"DAT_SMALL_N") :
|
||||
(NonBreak ? "DAT_SMALL_NOBR" :
|
||||
"DAT_SMALL"),
|
||||
The_Colors[Gbl.Prefs.Theme],
|
||||
HTM_TD_Begin ("class=\"%s LM %s\"",
|
||||
Accepted ? (NonBreak ? The_ClassDatSmallNoBRStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallStrong[Gbl.Prefs.Theme]) :
|
||||
(NonBreak ? The_ClassDatSmallNoBR[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmall[Gbl.Prefs.Theme]),
|
||||
BgColor);
|
||||
|
||||
/***** Container to limit length *****/
|
||||
|
@ -2660,8 +2677,8 @@ static void Usr_WriteUsrData (const char *BgColor,
|
|||
/***** Begin link *****/
|
||||
if (Link)
|
||||
HTM_A_Begin ("href=\"%s\" class=\"%s\" target=\"_blank\"",
|
||||
Link,Accepted ? "DAT_SMALL_NOBR_N" :
|
||||
"DAT_SMALL_NOBR");
|
||||
Link,Accepted ? The_ClassDatSmallNoBRStrong[Gbl.Prefs.Theme] :
|
||||
The_ClassDatSmallNoBR[Gbl.Prefs.Theme]);
|
||||
|
||||
/***** Write data *****/
|
||||
HTM_Txt (Data);
|
||||
|
@ -6485,7 +6502,7 @@ void Usr_PutWhoIcon (Usr_Who_t Who)
|
|||
{
|
||||
extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES];
|
||||
extern const char *Txt_WHO[Usr_NUM_WHO];
|
||||
static char *Icon[Usr_NUM_WHO] =
|
||||
static const char *Icon[Usr_NUM_WHO] =
|
||||
{
|
||||
[Usr_WHO_UNKNOWN ] = NULL,
|
||||
[Usr_WHO_ME ] = NULL,
|
||||
|
|
Loading…
Reference in New Issue