mirror of https://github.com/acanas/swad-core.git
Version19.90.1
This commit is contained in:
parent
dfb91731a6
commit
42bf6362da
|
@ -901,7 +901,7 @@ a:hover /* Default ==> underlined */
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:100%;
|
width:100%;
|
||||||
}
|
}
|
||||||
#main_horizontal .MENU_LIST_CONTAINER
|
#main_horizontal .MENU_LIST_CONT
|
||||||
{
|
{
|
||||||
width:100%;
|
width:100%;
|
||||||
}
|
}
|
||||||
|
@ -961,7 +961,7 @@ a:hover /* Default ==> underlined */
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:100%;
|
width:100%;
|
||||||
}
|
}
|
||||||
#main_vertical .MENU_LIST_CONTAINER
|
#main_vertical .MENU_LIST_CONT
|
||||||
{
|
{
|
||||||
width:100%;
|
width:100%;
|
||||||
}
|
}
|
||||||
|
@ -1023,7 +1023,7 @@ a:hover /* Default ==> underlined */
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:100%;
|
width:100%;
|
||||||
}
|
}
|
||||||
#main_vertical .MENU_LIST_CONTAINER
|
#main_vertical .MENU_LIST_CONT
|
||||||
{
|
{
|
||||||
display:table-cell;
|
display:table-cell;
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
|
@ -1321,7 +1321,7 @@ a:hover /* Default ==> underlined */
|
||||||
margin:0 auto;
|
margin:0 auto;
|
||||||
border-spacing:12px 0;
|
border-spacing:12px 0;
|
||||||
}
|
}
|
||||||
.MONTH_CONTAINER
|
.MONTH_CONT
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:148px;
|
width:148px;
|
||||||
|
@ -1509,7 +1509,7 @@ a:hover /* Default ==> underlined */
|
||||||
{
|
{
|
||||||
to {background-color:white;}
|
to {background-color:white;}
|
||||||
}
|
}
|
||||||
.NOTICE_CONTAINER_ACTIVE
|
.NOTICE_CONT_ACTIVE
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
margin:0 auto 10px auto;
|
margin:0 auto 10px auto;
|
||||||
|
@ -1520,7 +1520,7 @@ a:hover /* Default ==> underlined */
|
||||||
text-align:left;
|
text-align:left;
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
}
|
}
|
||||||
.NOTICE_CONTAINER_OBSOLETE
|
.NOTICE_CONT_OBSOLETE
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
margin:0 auto 10px auto;
|
margin:0 auto 10px auto;
|
||||||
|
@ -1531,8 +1531,8 @@ a:hover /* Default ==> underlined */
|
||||||
text-align:left;
|
text-align:left;
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
}
|
}
|
||||||
.NOTICE_CONTAINER_NARROW {width:148px;}
|
.NOTICE_CONT_NARROW {width:148px;}
|
||||||
.NOTICE_CONTAINER_WIDE {width:500px;}
|
.NOTICE_CONT_WIDE {width:500px;}
|
||||||
.NOTICE_DATE_ACTIVE
|
.NOTICE_DATE_ACTIVE
|
||||||
{
|
{
|
||||||
float:right;
|
float:right;
|
||||||
|
@ -1719,7 +1719,7 @@ a:hover /* Default ==> underlined */
|
||||||
.BANNER_SMALL {width:75px; height:25px;}
|
.BANNER_SMALL {width:75px; height:25px;}
|
||||||
|
|
||||||
.ICO_BLACK {color:#404040;}
|
.ICO_BLACK {color:#404040;}
|
||||||
.ICO_RED {color:#660000;}
|
.ICO_DARKRED {color:#660000;}
|
||||||
|
|
||||||
/****** Contextual links with small icons and text to go to some action ******/
|
/****** Contextual links with small icons and text to go to some action ******/
|
||||||
.CONTEXT_MENU
|
.CONTEXT_MENU
|
||||||
|
@ -1761,7 +1761,7 @@ a:hover /* Default ==> underlined */
|
||||||
margin:0 8px;
|
margin:0 8px;
|
||||||
vertical-align:top;
|
vertical-align:top;
|
||||||
}
|
}
|
||||||
.FRAME_CONTAINER
|
.FRAME_CONT
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:100%;
|
width:100%;
|
||||||
|
@ -2166,10 +2166,10 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
.RB {text-align:right; vertical-align:bottom;} /* Right Bottom */
|
.RB {text-align:right; vertical-align:bottom;} /* Right Bottom */
|
||||||
|
|
||||||
/***************** Colors used in headers,backgrounds,etc. *****************/
|
/***************** Colors used in headers,backgrounds,etc. *****************/
|
||||||
.COLOR0 {background-color:#F4F2EA;}
|
.COLOR0 {background-color:#F4F2EA;}
|
||||||
.COLOR1 {background-color:#FBFAF7;}
|
.COLOR1 {background-color:#FBFAF7;}
|
||||||
.LIGHT_GREEN {background-color:#C0FF40;}
|
.LIGHT_GREEN {background-color:#C0FF40;}
|
||||||
.LIGHT_BLUE {background-color:#DDECF1;}
|
.LIGHT_BLUE {background-color:#DDECF1;}
|
||||||
.VERY_LIGHT_BLUE {background-color:#EAF3F6;}
|
.VERY_LIGHT_BLUE {background-color:#EAF3F6;}
|
||||||
|
|
||||||
/********************************* Course info *******************************/
|
/********************************* Course info *******************************/
|
||||||
|
@ -2574,7 +2574,7 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
margin:0 0 0 1em;
|
margin:0 0 0 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.TEST_MED_SHOW_CONTAINER
|
.TEST_MED_SHOW_CONT
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:100%;
|
width:100%;
|
||||||
|
@ -2586,7 +2586,7 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
width:100%;
|
width:100%;
|
||||||
border-radius:4px;
|
border-radius:4px;
|
||||||
}
|
}
|
||||||
.TEST_MED_EDIT_LIST_CONTAINER
|
.TEST_MED_EDIT_LIST_CONT
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:100%;
|
width:100%;
|
||||||
|
@ -2613,7 +2613,7 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
width:400px;
|
width:400px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.TEST_MED_EDIT_ONE_CONTAINER
|
.TEST_MED_EDIT_ONE_CONT
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:100%;
|
width:100%;
|
||||||
|
@ -2731,14 +2731,14 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
font-size:16pt;
|
font-size:16pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.MCH_BUTTONS_CONTAINER
|
.MCH_BUTTONS_CONT
|
||||||
{
|
{
|
||||||
display:table;
|
display:table;
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:100%;
|
width:100%;
|
||||||
padding:20px 0;
|
padding:20px 0;
|
||||||
}
|
}
|
||||||
.MCH_BUTTON_LEFT_CONTAINER
|
.MCH_BUTTON_LEFT_CONT
|
||||||
{
|
{
|
||||||
display:table;
|
display:table;
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
|
@ -2746,7 +2746,7 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
width:35%;
|
width:35%;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
.MCH_BUTTON_CENTER_CONTAINER
|
.MCH_BUTTON_CENTER_CONT
|
||||||
{
|
{
|
||||||
display:table;
|
display:table;
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
|
@ -2754,7 +2754,7 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
width:30%;
|
width:30%;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
.MCH_BUTTON_RIGHT_CONTAINER
|
.MCH_BUTTON_RIGHT_CONT
|
||||||
{
|
{
|
||||||
display:table;
|
display:table;
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
|
@ -2763,29 +2763,27 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.MCH_BUTTON_CONTAINER
|
.MCH_BIGBUTTON_CONT
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
display:table-cell;
|
display:inline-block;
|
||||||
width:100%;
|
|
||||||
height:64px;
|
|
||||||
font-size:28pt;
|
font-size:28pt;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
padding:2px;
|
padding:2px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
}
|
}
|
||||||
.MCH_SMALLBUTTON_CONTAINER
|
.MCH_SMALLBUTTON_CONT
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
display:table-cell;
|
display:inline-block;
|
||||||
width:100%;
|
font-size:16pt;
|
||||||
font-size:18pt;
|
font-weight:bold;
|
||||||
padding:2px;
|
padding:2px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
}
|
}
|
||||||
.MCH_BUTTON_ON
|
.MCH_BUTTON_ON, .MCH_BUTTON_OFF
|
||||||
{
|
{
|
||||||
display:table-cell;
|
display:table-cell;
|
||||||
width:100%;
|
width:100%;
|
||||||
|
@ -2797,7 +2795,8 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
{
|
{
|
||||||
opacity:1;
|
opacity:1;
|
||||||
}
|
}
|
||||||
.MCH_BUTTON_OFF
|
|
||||||
|
.MCH_BUTTON_HIDDEN
|
||||||
{
|
{
|
||||||
display:table-cell;
|
display:table-cell;
|
||||||
width:100%;
|
width:100%;
|
||||||
|
@ -2806,6 +2805,11 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
opacity:0.1;
|
opacity:0.1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.MCH_RED {color:#913b00;}
|
||||||
|
.MCH_YELLOW {color:#a27600;}
|
||||||
|
.MCH_LIMEGREEN {color:#636e00;}
|
||||||
|
.MCH_GREEN {color:#246600;}
|
||||||
|
|
||||||
.MCH_TCH_STEM
|
.MCH_TCH_STEM
|
||||||
{
|
{
|
||||||
color:#202020;
|
color:#202020;
|
||||||
|
@ -2818,7 +2822,7 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
font-size:24pt;
|
font-size:24pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.MCH_WAIT_CONTAINER
|
.MCH_WAIT_CONT
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
|
@ -3046,12 +3050,12 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************* Preference ********************************/
|
/********************************* Preference ********************************/
|
||||||
.PREF_CONTAINERS
|
.PREF_CONTS
|
||||||
{
|
{
|
||||||
margin:0 auto;
|
margin:0 auto;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
.PREF_CONTAINER
|
.PREF_CONT
|
||||||
{
|
{
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
margin:0 10px;
|
margin:0 10px;
|
||||||
|
@ -3573,7 +3577,7 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************ Forum **********************************/
|
/************************************ Forum **********************************/
|
||||||
.FOR_IMG_CONTAINER
|
.FOR_IMG_CONT
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:100%;
|
width:100%;
|
||||||
|
@ -3600,7 +3604,7 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
text-align:left;
|
text-align:left;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
}
|
}
|
||||||
.MSG_IMG_CONTAINER
|
.MSG_IMG_CONT
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:100%;
|
width:100%;
|
||||||
|
@ -3786,7 +3790,7 @@ a.PAG:hover, .PAG_CUR
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************** Public user's profile *************************/
|
/***************************** Public user's profile *************************/
|
||||||
.PRF_FIG_LEFT_CONTAINER
|
.PRF_FIG_LEFT_CONT
|
||||||
{
|
{
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
|
@ -3795,7 +3799,7 @@ a.PAG:hover, .PAG_CUR
|
||||||
text-align:right;
|
text-align:right;
|
||||||
vertical-align:top;
|
vertical-align:top;
|
||||||
}
|
}
|
||||||
.PRF_FIG_RIGHT_CONTAINER
|
.PRF_FIG_RIGHT_CONT
|
||||||
{
|
{
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
|
@ -4015,7 +4019,7 @@ a.PAG:hover, .PAG_CUR
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.FOOT_LIST_CONTAINER
|
.FOOT_LIST_CONT
|
||||||
{
|
{
|
||||||
position:relative;
|
position:relative;
|
||||||
float:left;
|
float:left;
|
|
@ -1,5 +1,5 @@
|
||||||
<div>
|
<div>
|
||||||
<div class="FOOT_LIST_CONTAINER" style="width:20%;">
|
<div class="FOOT_LIST_CONT" style="width:20%;">
|
||||||
<h2 title="Information" class="FOOT_LIST_TITLE">Information</h2>
|
<h2 title="Information" class="FOOT_LIST_TITLE">Information</h2>
|
||||||
<ul class="FOOT_LIST">
|
<ul class="FOOT_LIST">
|
||||||
<li><a href="https://openswad.org/info/" target="_blank" class="FOOT_LINK" title="What is SWAD?">
|
<li><a href="https://openswad.org/info/" target="_blank" class="FOOT_LINK" title="What is SWAD?">
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
Shop</a></li>
|
Shop</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="FOOT_LIST_CONTAINER" style="width:20%;">
|
<div class="FOOT_LIST_CONT" style="width:20%;">
|
||||||
<h2 title="Documentation" class="FOOT_LIST_TITLE">Documentation</h2>
|
<h2 title="Documentation" class="FOOT_LIST_TITLE">Documentation</h2>
|
||||||
<ul class="FOOT_LIST">
|
<ul class="FOOT_LIST">
|
||||||
<li><a href="https://openswad.org/SWAD-manual-EN.pdf" target="_blank" class="FOOT_LINK" title="Manual (EN)">
|
<li><a href="https://openswad.org/SWAD-manual-EN.pdf" target="_blank" class="FOOT_LINK" title="Manual (EN)">
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
Tools</a></li>
|
Tools</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="FOOT_LIST_CONTAINER" style="width:20%;">
|
<div class="FOOT_LIST_CONT" style="width:20%;">
|
||||||
<h2 title="Information" class="FOOT_LIST_TITLE">Social</h2>
|
<h2 title="Information" class="FOOT_LIST_TITLE">Social</h2>
|
||||||
<ul class="FOOT_LIST">
|
<ul class="FOOT_LIST">
|
||||||
<li><a href="http://twitter.com/openswad" target="_blank" class="FOOT_LINK" title="Twitter">
|
<li><a href="http://twitter.com/openswad" target="_blank" class="FOOT_LINK" title="Twitter">
|
||||||
|
@ -54,7 +54,7 @@
|
||||||
Open HUB</a></li>
|
Open HUB</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="FOOT_LIST_CONTAINER" style="width:20%;">
|
<div class="FOOT_LIST_CONT" style="width:20%;">
|
||||||
<h2 title="Free software" class="FOOT_LIST_TITLE">Free software</h2>
|
<h2 title="Free software" class="FOOT_LIST_TITLE">Free software</h2>
|
||||||
<ul class="FOOT_LIST">
|
<ul class="FOOT_LIST">
|
||||||
<li><a href="https://openswad.org/source/" target="_blank" class="FOOT_LINK" title="Source code">
|
<li><a href="https://openswad.org/source/" target="_blank" class="FOOT_LINK" title="Source code">
|
||||||
|
@ -79,7 +79,7 @@
|
||||||
Final Year Projects</a></li>
|
Final Year Projects</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="FOOT_LIST_CONTAINER" style="width:20%;">
|
<div class="FOOT_LIST_CONT" style="width:20%;">
|
||||||
<h2 title="Mobile" class="FOOT_LIST_TITLE">Mobile</h2>
|
<h2 title="Mobile" class="FOOT_LIST_TITLE">Mobile</h2>
|
||||||
<ul class="FOOT_LIST">
|
<ul class="FOOT_LIST">
|
||||||
<li>
|
<li>
|
||||||
|
|
|
@ -467,12 +467,12 @@ function writeClockConnected () {
|
||||||
if (H != 0) {
|
if (H != 0) {
|
||||||
StrM = ((M < 10) ? '0' : '') + M;
|
StrM = ((M < 10) ? '0' : '') + M;
|
||||||
StrS = ((S < 10) ? '0' : '') + S;
|
StrS = ((S < 10) ? '0' : '') + S;
|
||||||
PrintableClock = H + ':' + StrM + ''' + StrS + '"';
|
PrintableClock = H + ':' + StrM + '′' + StrS + '″';
|
||||||
} else if (M != 0) {
|
} else if (M != 0) {
|
||||||
StrS = ((S < 10) ? '0' : '') + S;
|
StrS = ((S < 10) ? '0' : '') + S;
|
||||||
PrintableClock = M + ''' + StrS + '"';
|
PrintableClock = M + '′' + StrS + '″';
|
||||||
} else
|
} else
|
||||||
PrintableClock = S + '"';
|
PrintableClock = S + '″';
|
||||||
BoxClock.innerHTML = PrintableClock;
|
BoxClock.innerHTML = PrintableClock;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1191,7 +1191,7 @@ function toggleDisplay (elementID) {
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
// idCaption must be the id of a hidden div with the caption in innerHTML
|
// idCaption must be the id of a hidden div with the caption in innerHTML
|
||||||
// (this allows showing ' and ")
|
// (this allows showing ′ and ″)
|
||||||
function zoom (img,urlPhoto,idCaption) {
|
function zoom (img,urlPhoto,idCaption) {
|
||||||
var zoomImgWidth = 186; // big photo
|
var zoomImgWidth = 186; // big photo
|
||||||
var zoomImgHeight = 248; // big photo
|
var zoomImgHeight = 248; // big photo
|
||||||
|
@ -1580,7 +1580,7 @@ function DrawMonth (id,FirstDayOfWeek,YearToDraw,MonthToDraw,CurrentMonth,Curren
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Start of month *****/
|
/***** Start of month *****/
|
||||||
Gbl_HTMLContent += '<div class="MONTH_CONTAINER">';
|
Gbl_HTMLContent += '<div class="MONTH_CONT">';
|
||||||
|
|
||||||
/***** Month name *****/
|
/***** Month name *****/
|
||||||
if (DrawingCalendar)
|
if (DrawingCalendar)
|
||||||
|
|
|
@ -279,8 +279,8 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
|
||||||
extern const char *Txt_Do_not_show_again;
|
extern const char *Txt_Do_not_show_again;
|
||||||
static const char *ContainerClass[Ann_NUM_STATUS] =
|
static const char *ContainerClass[Ann_NUM_STATUS] =
|
||||||
{
|
{
|
||||||
[Ann_ACTIVE_ANNOUNCEMENT ] = "NOTICE_CONTAINER_ACTIVE NOTICE_CONTAINER_WIDE",
|
[Ann_ACTIVE_ANNOUNCEMENT ] = "NOTICE_CONT_ACTIVE NOTICE_CONT_WIDE",
|
||||||
[Ann_OBSOLETE_ANNOUNCEMENT] = "NOTICE_CONTAINER_OBSOLETE NOTICE_CONTAINER_WIDE",
|
[Ann_OBSOLETE_ANNOUNCEMENT] = "NOTICE_CONT_OBSOLETE NOTICE_CONT_WIDE",
|
||||||
};
|
};
|
||||||
static const char *SubjectClass[Ann_NUM_STATUS] =
|
static const char *SubjectClass[Ann_NUM_STATUS] =
|
||||||
{
|
{
|
||||||
|
|
|
@ -144,10 +144,10 @@ static void Box_BoxInternalBegin (const char *Width,const char *Title,
|
||||||
/* Create unique id for alert */
|
/* Create unique id for alert */
|
||||||
Frm_SetUniqueId (Gbl.Box.Ids[Gbl.Box.Nested]);
|
Frm_SetUniqueId (Gbl.Box.Ids[Gbl.Box.Nested]);
|
||||||
|
|
||||||
HTM_DIV_Begin ("class=\"FRAME_CONTAINER\" id=\"%s\"",Gbl.Box.Ids[Gbl.Box.Nested]);
|
HTM_DIV_Begin ("class=\"FRAME_CONT\" id=\"%s\"",Gbl.Box.Ids[Gbl.Box.Nested]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
HTM_DIV_Begin ("class=\"FRAME_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"FRAME_CONT\"");
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
if (Width)
|
if (Width)
|
||||||
|
|
|
@ -490,13 +490,14 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
||||||
En OpenSWAD:
|
En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 19.90 (2019-12-12)"
|
#define Log_PLATFORM_VERSION "SWAD 19.90.1 (2019-12-12)"
|
||||||
#define CSS_FILE "swad19.90.css"
|
#define CSS_FILE "swad19.90.1.css"
|
||||||
#define JS_FILE "swad19.70.js"
|
#define JS_FILE "swad19.90.js"
|
||||||
/*
|
/*
|
||||||
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
|
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
|
||||||
// TODO: Impedir la creación y edición de proyectos si no son editables.
|
// TODO: Impedir la creación y edición de proyectos si no son editables.
|
||||||
|
|
||||||
|
Version 19.90.1: Dec 12, 2019 Changes in CSS. (248391 lines)
|
||||||
Version 19.90: Dec 12, 2019 Hourglass to start countdown. (248373 lines)
|
Version 19.90: Dec 12, 2019 Hourglass to start countdown. (248373 lines)
|
||||||
2 changes necessary in database:
|
2 changes necessary in database:
|
||||||
ALTER TABLE mch_matches ADD COLUMN Countdown INT NOT NULL DEFAULT -1 AFTER Showing;
|
ALTER TABLE mch_matches ADD COLUMN Countdown INT NOT NULL DEFAULT -1 AFTER Showing;
|
||||||
|
|
|
@ -495,8 +495,8 @@
|
||||||
#define Cfg_TIME_TO_REFRESH_TIMELINE ((time_t)( 2UL * 1000UL)) // Initial refresh period of social timeline in miliseconds
|
#define Cfg_TIME_TO_REFRESH_TIMELINE ((time_t)( 2UL * 1000UL)) // Initial refresh period of social timeline in miliseconds
|
||||||
// This delay is increased 1 second on each refresh
|
// This delay is increased 1 second on each refresh
|
||||||
|
|
||||||
#define Cfg_SECONDS_TO_REFRESH_MATCH_TCH 1 // Refresh period of match being played in seconds (for teachers)
|
#define Cfg_SECONDS_TO_REFRESH_MATCH_TCH 1 // Refresh period of match being played in seconds (for teachers)
|
||||||
#define Cfg_SECONDS_TO_REFRESH_MATCH_STD 3 // Refresh period of match being played in seconds (for students)
|
#define Cfg_SECONDS_TO_REFRESH_MATCH_STD 3 // Refresh period of match being played in seconds (for students)
|
||||||
#define Cfg_TIME_TO_REFRESH_MATCH_TCH ((time_t)(Cfg_SECONDS_TO_REFRESH_MATCH_TCH * 1000UL)) // Refresh period of match being played in miliseconds (for teachers)
|
#define Cfg_TIME_TO_REFRESH_MATCH_TCH ((time_t)(Cfg_SECONDS_TO_REFRESH_MATCH_TCH * 1000UL)) // Refresh period of match being played in miliseconds (for teachers)
|
||||||
#define Cfg_TIME_TO_REFRESH_MATCH_STD ((time_t)(Cfg_SECONDS_TO_REFRESH_MATCH_STD * 1000UL)) // Refresh period of match being played in miliseconds (for students)
|
#define Cfg_TIME_TO_REFRESH_MATCH_STD ((time_t)(Cfg_SECONDS_TO_REFRESH_MATCH_STD * 1000UL)) // Refresh period of match being played in miliseconds (for students)
|
||||||
|
|
||||||
|
|
16
swad_date.c
16
swad_date.c
|
@ -677,7 +677,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
|
||||||
Minute < 60;
|
Minute < 60;
|
||||||
Minute += MinutesIInterval[FormSeconds])
|
Minute += MinutesIInterval[FormSeconds])
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&Minute,false,false,
|
HTM_OPTION (HTM_Type_UNSIGNED,&Minute,false,false,
|
||||||
"%02u '",Minute);
|
"%02u ′",Minute);
|
||||||
HTM_SELECT_End ();
|
HTM_SELECT_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
@ -701,7 +701,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
|
||||||
Second <= 59;
|
Second <= 59;
|
||||||
Second++)
|
Second++)
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&Second,false,false,
|
HTM_OPTION (HTM_Type_UNSIGNED,&Second,false,false,
|
||||||
"%02u "",Second);
|
"%02u ″",Second);
|
||||||
HTM_SELECT_End ();
|
HTM_SELECT_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
}
|
}
|
||||||
|
@ -1614,11 +1614,11 @@ void Dat_WriteHoursMinutesSecondsFromSeconds (time_t Seconds)
|
||||||
|
|
||||||
Seconds %= 60;
|
Seconds %= 60;
|
||||||
if (Hours)
|
if (Hours)
|
||||||
HTM_TxtF ("%ld:%02ld'%02ld"",(long) Hours,(long) Minutes,(long) Seconds);
|
HTM_TxtF ("%ld:%02ld′%02ld″",(long) Hours,(long) Minutes,(long) Seconds);
|
||||||
else if (Minutes)
|
else if (Minutes)
|
||||||
HTM_TxtF ("%ld'%02ld"",(long) Minutes,(long) Seconds);
|
HTM_TxtF ("%ld′%02ld″",(long) Minutes,(long) Seconds);
|
||||||
else
|
else
|
||||||
HTM_TxtF ("%ld"",(long) Seconds);
|
HTM_TxtF ("%ld″",(long) Seconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1628,11 +1628,11 @@ void Dat_WriteHoursMinutesSecondsFromSeconds (time_t Seconds)
|
||||||
void Dat_WriteHoursMinutesSeconds (struct Time *Time)
|
void Dat_WriteHoursMinutesSeconds (struct Time *Time)
|
||||||
{
|
{
|
||||||
if (Time->Hour)
|
if (Time->Hour)
|
||||||
HTM_TxtF ("%u:%02u'%02u"",Time->Hour,Time->Minute,Time->Second);
|
HTM_TxtF ("%u:%02u′%02u″",Time->Hour,Time->Minute,Time->Second);
|
||||||
else if (Time->Minute)
|
else if (Time->Minute)
|
||||||
HTM_TxtF ("%u'%02u"",Time->Minute,Time->Second);
|
HTM_TxtF ("%u′%02u″",Time->Minute,Time->Second);
|
||||||
else
|
else
|
||||||
HTM_TxtF ("%u"",Time->Second);
|
HTM_TxtF ("%u″",Time->Second);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -1213,7 +1213,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
|
||||||
Minute++)
|
Minute++)
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&Minute,
|
HTM_OPTION (HTM_Type_UNSIGNED,&Minute,
|
||||||
Gbl.ExamAnns.ExaDat.StartTime.Minute == Minute,false,
|
Gbl.ExamAnns.ExaDat.StartTime.Minute == Minute,false,
|
||||||
"%02u '",Minute);
|
"%02u ′",Minute);
|
||||||
HTM_SELECT_End ();
|
HTM_SELECT_End ();
|
||||||
}
|
}
|
||||||
else if (Gbl.ExamAnns.ExaDat.StartTime.Hour)
|
else if (Gbl.ExamAnns.ExaDat.StartTime.Hour)
|
||||||
|
@ -1250,7 +1250,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
|
||||||
Minute++)
|
Minute++)
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&Minute,
|
HTM_OPTION (HTM_Type_UNSIGNED,&Minute,
|
||||||
Gbl.ExamAnns.ExaDat.Duration.Minute == Minute,false,
|
Gbl.ExamAnns.ExaDat.Duration.Minute == Minute,false,
|
||||||
"%02u '",Minute);
|
"%02u ′",Minute);
|
||||||
HTM_SELECT_End ();
|
HTM_SELECT_End ();
|
||||||
}
|
}
|
||||||
else if (Gbl.ExamAnns.ExaDat.Duration.Hour ||
|
else if (Gbl.ExamAnns.ExaDat.Duration.Hour ||
|
||||||
|
@ -1259,7 +1259,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
|
||||||
if (Gbl.ExamAnns.ExaDat.Duration.Hour)
|
if (Gbl.ExamAnns.ExaDat.Duration.Hour)
|
||||||
{
|
{
|
||||||
if (Gbl.ExamAnns.ExaDat.Duration.Minute)
|
if (Gbl.ExamAnns.ExaDat.Duration.Minute)
|
||||||
HTM_TxtF ("%u %s %u '",Gbl.ExamAnns.ExaDat.Duration.Hour,
|
HTM_TxtF ("%u %s %u ′",Gbl.ExamAnns.ExaDat.Duration.Hour,
|
||||||
Txt_hours_ABBREVIATION,
|
Txt_hours_ABBREVIATION,
|
||||||
Gbl.ExamAnns.ExaDat.Duration.Minute);
|
Gbl.ExamAnns.ExaDat.Duration.Minute);
|
||||||
else
|
else
|
||||||
|
|
|
@ -1301,7 +1301,7 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
|
||||||
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
|
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
|
||||||
|
|
||||||
/***** Show image *****/
|
/***** Show image *****/
|
||||||
Med_ShowMedia (&Media,"FOR_IMG_CONTAINER","FOR_IMG");
|
Med_ShowMedia (&Media,"FOR_IMG_CONT","FOR_IMG");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
HTM_Txt (Txt_This_post_has_been_banned_probably_for_not_satisfy_the_rules_of_the_forums);
|
HTM_Txt (Txt_This_post_has_been_banned_probably_for_not_satisfy_the_rules_of_the_forums);
|
||||||
|
|
180
swad_match.c
180
swad_match.c
|
@ -164,6 +164,8 @@ static void Mch_ShowRefreshablePartTch (struct Match *Match);
|
||||||
static void Mch_WriteElapsedTimeInMch (struct Match *Match);
|
static void Mch_WriteElapsedTimeInMch (struct Match *Match);
|
||||||
static void Mch_WriteElapsedTimeInQst (struct Match *Match);
|
static void Mch_WriteElapsedTimeInQst (struct Match *Match);
|
||||||
static void Mch_WriteHourglass (struct Match *Match);
|
static void Mch_WriteHourglass (struct Match *Match);
|
||||||
|
static void Mch_PutFormCountdown (struct Match *Match,long Countdown,
|
||||||
|
const char *Class,const char *Txt);
|
||||||
static void Mch_WriteNumRespondersQst (struct Match *Match);
|
static void Mch_WriteNumRespondersQst (struct Match *Match);
|
||||||
|
|
||||||
static void Mch_ShowRightColumnTch (const struct Match *Match);
|
static void Mch_ShowRightColumnTch (const struct Match *Match);
|
||||||
|
@ -200,7 +202,7 @@ static unsigned Mch_GetParamNumOpt (void);
|
||||||
|
|
||||||
static void Mch_PutBigButton (Act_Action_t NextAction,const char *Id,
|
static void Mch_PutBigButton (Act_Action_t NextAction,const char *Id,
|
||||||
long MchCod,const char *Icon,const char *Txt);
|
long MchCod,const char *Icon,const char *Txt);
|
||||||
static void Mch_PutBigButtonOff (const char *Icon);
|
static void Mch_PutBigButtonHidden (const char *Icon);
|
||||||
static void Mch_PutBigButtonClose (void);
|
static void Mch_PutBigButtonClose (void);
|
||||||
|
|
||||||
static void Mch_ShowWaitImage (const char *Txt);
|
static void Mch_ShowWaitImage (const char *Txt);
|
||||||
|
@ -1908,8 +1910,7 @@ void Mch_StartCountdown (void)
|
||||||
Mch_GetDataOfMatchByCod (&Match);
|
Mch_GetDataOfMatchByCod (&Match);
|
||||||
|
|
||||||
/***** Start countdown *****/
|
/***** Start countdown *****/
|
||||||
if (NewCountdown >= 0)
|
Match.Status.Countdown = NewCountdown;
|
||||||
Match.Status.Countdown = NewCountdown;
|
|
||||||
|
|
||||||
/***** Update match status in database *****/
|
/***** Update match status in database *****/
|
||||||
Mch_UpdateMatchStatusInDB (&Match);
|
Mch_UpdateMatchStatusInDB (&Match);
|
||||||
|
@ -2282,85 +2283,104 @@ static void Mch_WriteElapsedTimeInQst (struct Match *Match)
|
||||||
|
|
||||||
static void Mch_WriteHourglass (struct Match *Match)
|
static void Mch_WriteHourglass (struct Match *Match)
|
||||||
{
|
{
|
||||||
|
const char *Class;
|
||||||
|
const char *Icon;
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
HTM_DIV_Begin ("class=\"MCH_SHOW_HOURGLASS\"");
|
HTM_DIV_Begin ("class=\"MCH_SHOW_HOURGLASS\"");
|
||||||
|
|
||||||
/***** Start form *****/
|
/***** Put forms to start countdown *****/
|
||||||
Frm_StartForm (ActMchCntDwn);
|
Mch_PutFormCountdown (Match,-1L,"MCH_GREEN" ," ∞ ");
|
||||||
Mch_PutParamMchCod (Match->MchCod); // Current match being played
|
Mch_PutFormCountdown (Match,60L,"MCH_LIMEGREEN"," 60″" );
|
||||||
|
Mch_PutFormCountdown (Match,30L,"MCH_YELLOW" ," 30″" );
|
||||||
|
Mch_PutFormCountdown (Match,10L,"MCH_RED" ," 10″" );
|
||||||
|
|
||||||
|
/***** Set hourglass icon depending on countdown *****/
|
||||||
|
if (Match->Status.Showing == Mch_END) // Match over
|
||||||
|
{
|
||||||
|
Class = "BT_LINK_OFF MCH_BUTTON_HIDDEN MCH_GREEN";
|
||||||
|
Icon = "fa-hourglass-start";
|
||||||
|
}
|
||||||
|
else if (Match->Status.Countdown < 0) // No countdown
|
||||||
|
{
|
||||||
|
Class = "BT_LINK_OFF MCH_BUTTON_OFF MCH_GREEN";
|
||||||
|
Icon = "fa-hourglass-start";
|
||||||
|
}
|
||||||
|
else if (Match->Status.Countdown > 30) // Countdown in progress
|
||||||
|
{
|
||||||
|
Class = "BT_LINK_OFF MCH_BUTTON_OFF MCH_LIMEGREEN";
|
||||||
|
Icon = "fa-hourglass-start";
|
||||||
|
}
|
||||||
|
else if (Match->Status.Countdown > 10) // Countdown in progress
|
||||||
|
{
|
||||||
|
Class = "BT_LINK_OFF MCH_BUTTON_OFF MCH_YELLOW";
|
||||||
|
Icon = "fa-hourglass-half";
|
||||||
|
}
|
||||||
|
else // Countdown about to end
|
||||||
|
{
|
||||||
|
Class = "BT_LINK_OFF MCH_BUTTON_OFF MCH_RED";
|
||||||
|
Icon = "fa-hourglass-end";
|
||||||
|
}
|
||||||
|
|
||||||
/***** Put icon with link *****/
|
/***** Put icon with link *****/
|
||||||
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
|
HTM_BR ();
|
||||||
HTM_BUTTON_OnMouseDown_Begin ("Cuenta atrás","BT_LINK MCH_BUTTON_ON ICO_BLACK"); // TODO: Need translation!!!!
|
HTM_DIV_Begin ("class=\"MCH_BIGBUTTON_CONT\"");
|
||||||
HTM_TxtF ("<i class=\"fas %s\"></i>",
|
HTM_BUTTON_BUTTON_Begin ("Cuenta atrás",Class,NULL); // TODO: Need translation!!!!
|
||||||
Match->Status.Countdown < 0 ? "fa-hourglass-start" : // No countdown
|
HTM_TxtF ("<i class=\"fas %s\"></i>",Icon);
|
||||||
(Match->Status.Countdown > Cfg_SECONDS_TO_REFRESH_MATCH_TCH) ? "fa-hourglass-half" : // Countdown in progress
|
|
||||||
"fa-hourglass-end"); // Countdown about to end
|
|
||||||
HTM_BR ();
|
HTM_BR ();
|
||||||
if (Match->Status.Countdown > 0)
|
if (Match->Status.Countdown > 0)
|
||||||
HTM_TxtF ("%ld"",Match->Status.Countdown);
|
HTM_TxtF (" %02ld″",Match->Status.Countdown);
|
||||||
else
|
else
|
||||||
HTM_NBSP ();
|
HTM_NBSP ();
|
||||||
HTM_BUTTON_End ();
|
HTM_BUTTON_End ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** End form *****/
|
|
||||||
Frm_EndForm ();
|
|
||||||
|
|
||||||
HTM_BR ();
|
|
||||||
|
|
||||||
/***** Start form *****/
|
|
||||||
Frm_StartForm (ActMchCntDwn);
|
|
||||||
Mch_PutParamMchCod (Match->MchCod); // Current match being played
|
|
||||||
Par_PutHiddenParamLong (NULL,"Countdown",60L);
|
|
||||||
|
|
||||||
/***** Put icon with link *****/
|
|
||||||
HTM_DIV_Begin ("class=\"MCH_SMALLBUTTON_CONTAINER\"");
|
|
||||||
HTM_BUTTON_OnMouseDown_Begin ("Cuenta atrás","BT_LINK MCH_BUTTON_ON ICO_BLACK"); // TODO: Need translation!!!!
|
|
||||||
HTM_Txt ("60"");
|
|
||||||
HTM_BUTTON_End ();
|
|
||||||
HTM_DIV_End ();
|
|
||||||
|
|
||||||
/***** End form *****/
|
|
||||||
Frm_EndForm ();
|
|
||||||
|
|
||||||
HTM_NBSP ();
|
|
||||||
|
|
||||||
/***** Start form *****/
|
|
||||||
Frm_StartForm (ActMchCntDwn);
|
|
||||||
Mch_PutParamMchCod (Match->MchCod); // Current match being played
|
|
||||||
Par_PutHiddenParamLong (NULL,"Countdown",30L);
|
|
||||||
|
|
||||||
/***** Put icon with link *****/
|
|
||||||
HTM_DIV_Begin ("class=\"MCH_SMALLBUTTON_CONTAINER\"");
|
|
||||||
HTM_BUTTON_OnMouseDown_Begin ("Cuenta atrás","BT_LINK MCH_BUTTON_ON ICO_BLACK"); // TODO: Need translation!!!!
|
|
||||||
HTM_Txt ("30"");
|
|
||||||
HTM_BUTTON_End ();
|
|
||||||
HTM_DIV_End ();
|
|
||||||
/***** End form *****/
|
|
||||||
Frm_EndForm ();
|
|
||||||
|
|
||||||
HTM_NBSP ();
|
|
||||||
|
|
||||||
/***** Start form *****/
|
|
||||||
Frm_StartForm (ActMchCntDwn);
|
|
||||||
Mch_PutParamMchCod (Match->MchCod); // Current match being played
|
|
||||||
Par_PutHiddenParamLong (NULL,"Countdown",10L);
|
|
||||||
|
|
||||||
/***** Put icon with link *****/
|
|
||||||
HTM_DIV_Begin ("class=\"MCH_SMALLBUTTON_CONTAINER\"");
|
|
||||||
HTM_BUTTON_OnMouseDown_Begin ("Cuenta atrás","BT_LINK MCH_BUTTON_ON ICO_BLACK"); // TODO: Need translation!!!!
|
|
||||||
HTM_Txt ("10"");
|
|
||||||
HTM_BUTTON_End ();
|
|
||||||
HTM_DIV_End ();
|
|
||||||
|
|
||||||
/***** End form *****/
|
|
||||||
Frm_EndForm ();
|
|
||||||
|
|
||||||
/***** End container *****/
|
/***** End container *****/
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void Mch_PutFormCountdown (struct Match *Match,long Countdown,
|
||||||
|
const char *Color,const char *Txt)
|
||||||
|
{
|
||||||
|
char *Class;
|
||||||
|
bool PutForm = Match->Status.Showing != Mch_END;
|
||||||
|
|
||||||
|
if (PutForm)
|
||||||
|
{
|
||||||
|
/***** Start form *****/
|
||||||
|
Frm_StartForm (ActMchCntDwn);
|
||||||
|
Mch_PutParamMchCod (Match->MchCod); // Current match being played
|
||||||
|
Par_PutHiddenParamLong (NULL,"Countdown",Countdown);
|
||||||
|
|
||||||
|
/***** Set class *****/
|
||||||
|
if (asprintf (&Class,"BT_LINK MCH_BUTTON_ON %s",Color) < 0)
|
||||||
|
Lay_NotEnoughMemoryExit ();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/***** Set class *****/
|
||||||
|
if (asprintf (&Class,"BT_LINK_OFF MCH_BUTTON_HIDDEN %s",Color) < 0)
|
||||||
|
Lay_NotEnoughMemoryExit ();
|
||||||
|
}
|
||||||
|
|
||||||
|
/***** Put icon *****/
|
||||||
|
HTM_DIV_Begin ("class=\"MCH_SMALLBUTTON_CONT\"");
|
||||||
|
if (PutForm)
|
||||||
|
HTM_BUTTON_OnMouseDown_Begin ("Cuenta atrás",Class); // TODO: Need translation!!!!
|
||||||
|
else
|
||||||
|
HTM_BUTTON_BUTTON_Begin (NULL,Class,NULL);
|
||||||
|
HTM_Txt (Txt);
|
||||||
|
HTM_BUTTON_End ();
|
||||||
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
/***** Free class *****/
|
||||||
|
free (Class);
|
||||||
|
|
||||||
|
/***** End form *****/
|
||||||
|
if (PutForm)
|
||||||
|
Frm_EndForm ();
|
||||||
|
}
|
||||||
|
|
||||||
static void Mch_WriteNumRespondersQst (struct Match *Match)
|
static void Mch_WriteNumRespondersQst (struct Match *Match)
|
||||||
{
|
{
|
||||||
extern const char *Txt_MATCH_respond;
|
extern const char *Txt_MATCH_respond;
|
||||||
|
@ -2546,10 +2566,10 @@ static void Mch_PutMatchControlButtons (const struct Match *Match)
|
||||||
extern const char *Txt_Resume;
|
extern const char *Txt_Resume;
|
||||||
|
|
||||||
/***** Start buttons container *****/
|
/***** Start buttons container *****/
|
||||||
HTM_DIV_Begin ("class=\"MCH_BUTTONS_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"MCH_BUTTONS_CONT\"");
|
||||||
|
|
||||||
/***** Left button *****/
|
/***** Left button *****/
|
||||||
HTM_DIV_Begin ("class=\"MCH_BUTTON_LEFT_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"MCH_BUTTON_LEFT_CONT\"");
|
||||||
switch (Match->Status.Showing)
|
switch (Match->Status.Showing)
|
||||||
{
|
{
|
||||||
case Mch_START:
|
case Mch_START:
|
||||||
|
@ -2565,7 +2585,7 @@ static void Mch_PutMatchControlButtons (const struct Match *Match)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Center button *****/
|
/***** Center button *****/
|
||||||
HTM_DIV_Begin ("class=\"MCH_BUTTON_CENTER_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"MCH_BUTTON_CENTER_CONT\"");
|
||||||
if (Match->Status.Playing) // Match is being played
|
if (Match->Status.Playing) // Match is being played
|
||||||
/* Put button to pause match */
|
/* Put button to pause match */
|
||||||
Mch_PutBigButton (ActPlyPauMch,"play_pause",Match->MchCod,
|
Mch_PutBigButton (ActPlyPauMch,"play_pause",Match->MchCod,
|
||||||
|
@ -2581,7 +2601,7 @@ static void Mch_PutMatchControlButtons (const struct Match *Match)
|
||||||
break;
|
break;
|
||||||
case Mch_END: // Match over
|
case Mch_END: // Match over
|
||||||
/* Put disabled button to play match */
|
/* Put disabled button to play match */
|
||||||
Mch_PutBigButtonOff (Mch_ICON_PLAY);
|
Mch_PutBigButtonHidden (Mch_ICON_PLAY);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
/* Put button to resume match */
|
/* Put button to resume match */
|
||||||
|
@ -2592,7 +2612,7 @@ static void Mch_PutMatchControlButtons (const struct Match *Match)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Right button *****/
|
/***** Right button *****/
|
||||||
HTM_DIV_Begin ("class=\"MCH_BUTTON_RIGHT_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"MCH_BUTTON_RIGHT_CONT\"");
|
||||||
if (Match->Status.Showing == Mch_END) // Match over
|
if (Match->Status.Showing == Mch_END) // Match over
|
||||||
/* Put button to close browser tab */
|
/* Put button to close browser tab */
|
||||||
Mch_PutBigButtonClose ();
|
Mch_PutBigButtonClose ();
|
||||||
|
@ -2760,8 +2780,8 @@ static void Mch_PutIconToRemoveMyAnswer (const struct Match *Match)
|
||||||
Gam_PutParamQstInd (Match->Status.QstInd); // Current question index shown
|
Gam_PutParamQstInd (Match->Status.QstInd); // Current question index shown
|
||||||
|
|
||||||
/***** Put icon with link *****/
|
/***** Put icon with link *****/
|
||||||
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"MCH_BIGBUTTON_CONT\"");
|
||||||
HTM_BUTTON_OnMouseDown_Begin (Txt_Delete_my_answer,"BT_LINK MCH_BUTTON_ON ICO_RED");
|
HTM_BUTTON_OnMouseDown_Begin (Txt_Delete_my_answer,"BT_LINK MCH_BUTTON_ON ICO_DARKRED");
|
||||||
HTM_Txt ("<i class=\"fas fa-trash\"></i>");
|
HTM_Txt ("<i class=\"fas fa-trash\"></i>");
|
||||||
HTM_BUTTON_End ();
|
HTM_BUTTON_End ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -3209,7 +3229,7 @@ static void Mch_PutBigButton (Act_Action_t NextAction,const char *Id,
|
||||||
Mch_PutParamMchCod (MchCod);
|
Mch_PutParamMchCod (MchCod);
|
||||||
|
|
||||||
/***** Put icon with link *****/
|
/***** Put icon with link *****/
|
||||||
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"MCH_BIGBUTTON_CONT\"");
|
||||||
HTM_BUTTON_SUBMIT_Begin (Txt,"BT_LINK MCH_BUTTON_ON ICO_BLACK",NULL);
|
HTM_BUTTON_SUBMIT_Begin (Txt,"BT_LINK MCH_BUTTON_ON ICO_BLACK",NULL);
|
||||||
HTM_TxtF ("<i class=\"%s\"></i>",Icon);
|
HTM_TxtF ("<i class=\"%s\"></i>",Icon);
|
||||||
HTM_BUTTON_End ();
|
HTM_BUTTON_End ();
|
||||||
|
@ -3219,11 +3239,11 @@ static void Mch_PutBigButton (Act_Action_t NextAction,const char *Id,
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Mch_PutBigButtonOff (const char *Icon)
|
static void Mch_PutBigButtonHidden (const char *Icon)
|
||||||
{
|
{
|
||||||
/***** Put inactive icon *****/
|
/***** Put inactive icon *****/
|
||||||
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"MCH_BIGBUTTON_CONT\"");
|
||||||
HTM_BUTTON_BUTTON_Begin (NULL,"BT_LINK_OFF MCH_BUTTON_OFF ICO_BLACK",NULL);
|
HTM_BUTTON_BUTTON_Begin (NULL,"BT_LINK_OFF MCH_BUTTON_HIDDEN ICO_BLACK",NULL);
|
||||||
HTM_TxtF ("<i class=\"%s\"></i>",Icon);
|
HTM_TxtF ("<i class=\"%s\"></i>",Icon);
|
||||||
HTM_BUTTON_End ();
|
HTM_BUTTON_End ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -3234,8 +3254,8 @@ static void Mch_PutBigButtonClose (void)
|
||||||
extern const char *Txt_Close;
|
extern const char *Txt_Close;
|
||||||
|
|
||||||
/***** Put icon with link *****/
|
/***** Put icon with link *****/
|
||||||
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"MCH_BIGBUTTON_CONT\"");
|
||||||
HTM_BUTTON_BUTTON_Begin (Txt_Close,"BT_LINK MCH_BUTTON_ON ICO_BLACK","window.close();");
|
HTM_BUTTON_BUTTON_Begin (Txt_Close,"BT_LINK MCH_BUTTON_ON ICO_DARKRED","window.close();");
|
||||||
HTM_TxtF ("<i class=\"%s\"></i>",Mch_ICON_CLOSE);
|
HTM_TxtF ("<i class=\"%s\"></i>",Mch_ICON_CLOSE);
|
||||||
HTM_BUTTON_End ();
|
HTM_BUTTON_End ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -3247,7 +3267,7 @@ static void Mch_PutBigButtonClose (void)
|
||||||
|
|
||||||
static void Mch_ShowWaitImage (const char *Txt)
|
static void Mch_ShowWaitImage (const char *Txt)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"MCH_WAIT_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"MCH_WAIT_CONT\"");
|
||||||
Ico_PutIcon ("wait.gif",Txt,"MCH_WAIT_IMG");
|
Ico_PutIcon ("wait.gif",Txt,"MCH_WAIT_IMG");
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -410,8 +410,8 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
|
||||||
|
|
||||||
/***** Icons *****/
|
/***** Icons *****/
|
||||||
/* Start icons */
|
/* Start icons */
|
||||||
HTM_DIV_Begin ("class=\"PREF_CONTAINERS\""); // icons containers
|
HTM_DIV_Begin ("class=\"PREF_CONTS\""); // icons containers
|
||||||
HTM_DIV_Begin ("class=\"PREF_CONTAINER\""); // icons container
|
HTM_DIV_Begin ("class=\"PREF_CONT\""); // icons container
|
||||||
|
|
||||||
/* Draw icons */
|
/* Draw icons */
|
||||||
for (NumUploader = 0;
|
for (NumUploader = 0;
|
||||||
|
|
|
@ -214,7 +214,7 @@ void Mnu_WriteMenuThisTab (void)
|
||||||
bool IsTheSelectedAction;
|
bool IsTheSelectedAction;
|
||||||
|
|
||||||
/***** Menu start *****/
|
/***** Menu start *****/
|
||||||
HTM_Txt ("<nav class=\"MENU_LIST_CONTAINER\">");
|
HTM_Txt ("<nav class=\"MENU_LIST_CONT\">");
|
||||||
HTM_UL_Begin ("class=\"MENU_LIST\"");
|
HTM_UL_Begin ("class=\"MENU_LIST\"");
|
||||||
|
|
||||||
/***** Loop to write all options in menu. Each row holds an option *****/
|
/***** Loop to write all options in menu. Each row holds an option *****/
|
||||||
|
|
|
@ -3056,7 +3056,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
|
||||||
HTM_TD_Begin ("colspan=\"2\" class=\"MSG_TXT LT\"");
|
HTM_TD_Begin ("colspan=\"2\" class=\"MSG_TXT LT\"");
|
||||||
if (Content[0])
|
if (Content[0])
|
||||||
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
|
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
|
||||||
Med_ShowMedia (&Media,"MSG_IMG_CONTAINER","MSG_IMG");
|
Med_ShowMedia (&Media,"MSG_IMG_CONT","MSG_IMG");
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
|
|
@ -615,13 +615,13 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
|
||||||
extern const char *Txt_See_full_notice;
|
extern const char *Txt_See_full_notice;
|
||||||
static const char *ContainerClass[Not_NUM_STATUS] =
|
static const char *ContainerClass[Not_NUM_STATUS] =
|
||||||
{
|
{
|
||||||
[Not_ACTIVE_NOTICE ] = "NOTICE_CONTAINER_ACTIVE",
|
[Not_ACTIVE_NOTICE ] = "NOTICE_CONT_ACTIVE",
|
||||||
[Not_OBSOLETE_NOTICE] = "NOTICE_CONTAINER_OBSOLETE",
|
[Not_OBSOLETE_NOTICE] = "NOTICE_CONT_OBSOLETE",
|
||||||
};
|
};
|
||||||
static const char *ContainerWidthClass[Not_NUM_TYPES_LISTING] =
|
static const char *ContainerWidthClass[Not_NUM_TYPES_LISTING] =
|
||||||
{
|
{
|
||||||
[Not_LIST_BRIEF_NOTICES] = "NOTICE_CONTAINER_NARROW",
|
[Not_LIST_BRIEF_NOTICES] = "NOTICE_CONT_NARROW",
|
||||||
[Not_LIST_FULL_NOTICES ] = "NOTICE_CONTAINER_WIDE",
|
[Not_LIST_FULL_NOTICES ] = "NOTICE_CONT_WIDE",
|
||||||
};
|
};
|
||||||
static const char *DateClass[Not_NUM_STATUS] =
|
static const char *DateClass[Not_NUM_STATUS] =
|
||||||
{
|
{
|
||||||
|
|
|
@ -399,7 +399,7 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
|
||||||
|
|
||||||
/***** Left list *****/
|
/***** Left list *****/
|
||||||
/* Start left list */
|
/* Start left list */
|
||||||
HTM_DIV_Begin ("class=\"PRF_FIG_LEFT_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"PRF_FIG_LEFT_CONT\"");
|
||||||
HTM_UL_Begin ("class=\"PRF_FIG_UL DAT_NOBR_N\"");
|
HTM_UL_Begin ("class=\"PRF_FIG_UL DAT_NOBR_N\"");
|
||||||
|
|
||||||
/* Time since first click */
|
/* Time since first click */
|
||||||
|
@ -419,7 +419,7 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Right list *****/
|
/***** Right list *****/
|
||||||
HTM_DIV_Begin ("class=\"PRF_FIG_RIGHT_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"PRF_FIG_RIGHT_CONT\"");
|
||||||
|
|
||||||
UsrIsBannedFromRanking = Usr_CheckIfUsrBanned (UsrDat->UsrCod);
|
UsrIsBannedFromRanking = Usr_CheckIfUsrBanned (UsrDat->UsrCod);
|
||||||
if (!UsrIsBannedFromRanking)
|
if (!UsrIsBannedFromRanking)
|
||||||
|
|
|
@ -394,7 +394,7 @@ unsigned Set_GetParamSideCols (void)
|
||||||
*/
|
*/
|
||||||
void Set_StartSettingsHead (void)
|
void Set_StartSettingsHead (void)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"PREF_CONTAINERS\"");
|
HTM_DIV_Begin ("class=\"PREF_CONTS\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Set_EndSettingsHead (void)
|
void Set_EndSettingsHead (void)
|
||||||
|
@ -404,7 +404,7 @@ void Set_EndSettingsHead (void)
|
||||||
|
|
||||||
void Set_StartOneSettingSelector (void)
|
void Set_StartOneSettingSelector (void)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"PREF_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"PREF_CONT\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Set_EndOneSettingSelector (void)
|
void Set_EndOneSettingSelector (void)
|
||||||
|
|
|
@ -1051,16 +1051,6 @@ void Str_ChangeFormat (Str_ChangeFrom_t ChangeFrom,Str_ChangeTo_t ChangeTo,
|
||||||
bool ThereIsSpaceChar = true; // Indicates if the character before was a space. Set to true to respect the initial spaces.
|
bool ThereIsSpaceChar = true; // Indicates if the character before was a space. Set to true to respect the initial spaces.
|
||||||
char StrSpecialChar[Str_MAX_BYTES_SPECIAL_CHAR + 1];
|
char StrSpecialChar[Str_MAX_BYTES_SPECIAL_CHAR + 1];
|
||||||
|
|
||||||
/*
|
|
||||||
if (Gbl.Usrs.Me.Roles.LoggedRole == Rol_SYS_ADM)
|
|
||||||
{
|
|
||||||
snprintf (Gbl.Alert.Txt,sizeof (Gbl.Alert.Txt),
|
|
||||||
"Str_ChangeFormat ("%s")",
|
|
||||||
Str);
|
|
||||||
Lay_ShowAlert (Lay_INFO,Gbl.Alert.Txt);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (ChangeTo != Str_DONT_CHANGE)
|
if (ChangeTo != Str_DONT_CHANGE)
|
||||||
{
|
{
|
||||||
/***** Allocate memory for a destination string where to do the changes *****/
|
/***** Allocate memory for a destination string where to do the changes *****/
|
||||||
|
|
16
swad_test.c
16
swad_test.c
|
@ -1052,7 +1052,7 @@ static void Tst_WriteQstAndAnsTest (Tst_ActionToDoWithQuestions_t ActionToDoWith
|
||||||
Gbl.Test.Media.MedCod = Str_ConvertStrCodToLongCod (row[6]);
|
Gbl.Test.Media.MedCod = Str_ConvertStrCodToLongCod (row[6]);
|
||||||
Med_GetMediaDataByCod (&Gbl.Test.Media);
|
Med_GetMediaDataByCod (&Gbl.Test.Media);
|
||||||
Med_ShowMedia (&Gbl.Test.Media,
|
Med_ShowMedia (&Gbl.Test.Media,
|
||||||
"TEST_MED_SHOW_CONTAINER",
|
"TEST_MED_SHOW_CONT",
|
||||||
"TEST_MED_SHOW");
|
"TEST_MED_SHOW");
|
||||||
|
|
||||||
/***** Write answers depending on shuffle (row[3]) and feedback (row[5]) *****/
|
/***** Write answers depending on shuffle (row[3]) and feedback (row[5]) *****/
|
||||||
|
@ -1147,7 +1147,7 @@ static void Tst_PutFormToEditQstMedia (struct Media *Media,int NumMediaInForm,
|
||||||
HTM_Txt (Txt_Current_image_video);
|
HTM_Txt (Txt_Current_image_video);
|
||||||
HTM_LABEL_End ();
|
HTM_LABEL_End ();
|
||||||
Med_ShowMedia (Media,
|
Med_ShowMedia (Media,
|
||||||
"TEST_MED_EDIT_ONE_CONTAINER",
|
"TEST_MED_EDIT_ONE_CONT",
|
||||||
"TEST_MED_EDIT_ONE");
|
"TEST_MED_EDIT_ONE");
|
||||||
|
|
||||||
/***** Choice 3: Change media *****/
|
/***** Choice 3: Change media *****/
|
||||||
|
@ -2965,7 +2965,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
|
||||||
Gbl.Test.Media.MedCod = Str_ConvertStrCodToLongCod (row[6]);
|
Gbl.Test.Media.MedCod = Str_ConvertStrCodToLongCod (row[6]);
|
||||||
Med_GetMediaDataByCod (&Gbl.Test.Media);
|
Med_GetMediaDataByCod (&Gbl.Test.Media);
|
||||||
Med_ShowMedia (&Gbl.Test.Media,
|
Med_ShowMedia (&Gbl.Test.Media,
|
||||||
"TEST_MED_EDIT_LIST_CONTAINER",
|
"TEST_MED_EDIT_LIST_CONT",
|
||||||
"TEST_MED_EDIT_LIST");
|
"TEST_MED_EDIT_LIST");
|
||||||
|
|
||||||
/* Write feedback (row[5]) and answers */
|
/* Write feedback (row[5]) and answers */
|
||||||
|
@ -3166,7 +3166,7 @@ static void Tst_ListOneOrMoreQuestionsForSelection (unsigned long NumRows,
|
||||||
Gbl.Test.Media.MedCod = Str_ConvertStrCodToLongCod (row[6]);
|
Gbl.Test.Media.MedCod = Str_ConvertStrCodToLongCod (row[6]);
|
||||||
Med_GetMediaDataByCod (&Gbl.Test.Media);
|
Med_GetMediaDataByCod (&Gbl.Test.Media);
|
||||||
Med_ShowMedia (&Gbl.Test.Media,
|
Med_ShowMedia (&Gbl.Test.Media,
|
||||||
"TEST_MED_EDIT_LIST_CONTAINER",
|
"TEST_MED_EDIT_LIST_CONT",
|
||||||
"TEST_MED_EDIT_LIST");
|
"TEST_MED_EDIT_LIST");
|
||||||
|
|
||||||
/* Write feedback (row[5]) */
|
/* Write feedback (row[5]) */
|
||||||
|
@ -3394,7 +3394,7 @@ void Tst_WriteAnswersEdit (long QstCod)
|
||||||
HTM_DIV_Begin ("class=\"TEST_EDI\"");
|
HTM_DIV_Begin ("class=\"TEST_EDI\"");
|
||||||
HTM_Txt (Answer);
|
HTM_Txt (Answer);
|
||||||
Med_ShowMedia (&Gbl.Test.Answer.Options[NumOpt].Media,
|
Med_ShowMedia (&Gbl.Test.Answer.Options[NumOpt].Media,
|
||||||
"TEST_MED_EDIT_LIST_CONTAINER",
|
"TEST_MED_EDIT_LIST_CONT",
|
||||||
"TEST_MED_EDIT_LIST");
|
"TEST_MED_EDIT_LIST");
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -3752,7 +3752,7 @@ static void Tst_WriteChoiceAnsViewTest (unsigned NumQst,long QstCod,bool Shuffle
|
||||||
HTM_Txt (Gbl.Test.Answer.Options[NumOpt].Text);
|
HTM_Txt (Gbl.Test.Answer.Options[NumOpt].Text);
|
||||||
HTM_LABEL_End ();
|
HTM_LABEL_End ();
|
||||||
Med_ShowMedia (&Gbl.Test.Answer.Options[NumOpt].Media,
|
Med_ShowMedia (&Gbl.Test.Answer.Options[NumOpt].Media,
|
||||||
"TEST_MED_SHOW_CONTAINER",
|
"TEST_MED_SHOW_CONT",
|
||||||
"TEST_MED_SHOW");
|
"TEST_MED_SHOW");
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
@ -3875,7 +3875,7 @@ static void Tst_WriteChoiceAnsAssessTest (struct UsrData *UsrDat,
|
||||||
HTM_DIV_Begin ("class=\"ANS_TXT\"");
|
HTM_DIV_Begin ("class=\"ANS_TXT\"");
|
||||||
HTM_Txt (Gbl.Test.Answer.Options[Indexes[NumOpt]].Text);
|
HTM_Txt (Gbl.Test.Answer.Options[Indexes[NumOpt]].Text);
|
||||||
Med_ShowMedia (&Gbl.Test.Answer.Options[Indexes[NumOpt]].Media,
|
Med_ShowMedia (&Gbl.Test.Answer.Options[Indexes[NumOpt]].Media,
|
||||||
"TEST_MED_SHOW_CONTAINER",
|
"TEST_MED_SHOW_CONT",
|
||||||
"TEST_MED_SHOW");
|
"TEST_MED_SHOW");
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -4197,7 +4197,7 @@ void Tst_WriteChoiceAnsViewMatch (long MchCod,unsigned QstInd,long QstCod,
|
||||||
HTM_Txt (Gbl.Test.Answer.Options[Indexes[NumOpt]].Text);
|
HTM_Txt (Gbl.Test.Answer.Options[Indexes[NumOpt]].Text);
|
||||||
HTM_LABEL_End ();
|
HTM_LABEL_End ();
|
||||||
Med_ShowMedia (&Gbl.Test.Answer.Options[Indexes[NumOpt]].Media,
|
Med_ShowMedia (&Gbl.Test.Answer.Options[Indexes[NumOpt]].Media,
|
||||||
"TEST_MED_SHOW_CONTAINER",
|
"TEST_MED_SHOW_CONT",
|
||||||
"TEST_MED_SHOW");
|
"TEST_MED_SHOW");
|
||||||
|
|
||||||
/* Show result (number of users who answered? */
|
/* Show result (number of users who answered? */
|
||||||
|
|
|
@ -7546,7 +7546,7 @@ void Usr_ListDataAdms (void)
|
||||||
if (Gbl.Usrs.LstUsrs[Rol_DEG_ADM].NumUsrs)
|
if (Gbl.Usrs.LstUsrs[Rol_DEG_ADM].NumUsrs)
|
||||||
{
|
{
|
||||||
/****** Show photos? *****/
|
/****** Show photos? *****/
|
||||||
HTM_DIV_Begin ("class=\"PREF_CONTAINER\"");
|
HTM_DIV_Begin ("class=\"PREF_CONT\"");
|
||||||
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Frm_StartForm (ActLstOth);
|
Frm_StartForm (ActLstOth);
|
||||||
Sco_PutParamCurrentScope ();
|
Sco_PutParamCurrentScope ();
|
||||||
|
|
Loading…
Reference in New Issue