Version19.90.1

This commit is contained in:
Antonio Cañas Vargas 2019-12-13 00:36:01 +01:00
parent dfb91731a6
commit 42bf6362da
20 changed files with 195 additions and 180 deletions

View File

@ -901,7 +901,7 @@ a:hover /* Default ==> underlined */
box-sizing:border-box;
width:100%;
}
#main_horizontal .MENU_LIST_CONTAINER
#main_horizontal .MENU_LIST_CONT
{
width:100%;
}
@ -961,7 +961,7 @@ a:hover /* Default ==> underlined */
box-sizing:border-box;
width:100%;
}
#main_vertical .MENU_LIST_CONTAINER
#main_vertical .MENU_LIST_CONT
{
width:100%;
}
@ -1023,7 +1023,7 @@ a:hover /* Default ==> underlined */
box-sizing:border-box;
width:100%;
}
#main_vertical .MENU_LIST_CONTAINER
#main_vertical .MENU_LIST_CONT
{
display:table-cell;
box-sizing:border-box;
@ -1321,7 +1321,7 @@ a:hover /* Default ==> underlined */
margin:0 auto;
border-spacing:12px 0;
}
.MONTH_CONTAINER
.MONTH_CONT
{
box-sizing:border-box;
width:148px;
@ -1509,7 +1509,7 @@ a:hover /* Default ==> underlined */
{
to {background-color:white;}
}
.NOTICE_CONTAINER_ACTIVE
.NOTICE_CONT_ACTIVE
{
box-sizing:border-box;
margin:0 auto 10px auto;
@ -1520,7 +1520,7 @@ a:hover /* Default ==> underlined */
text-align:left;
overflow:hidden;
}
.NOTICE_CONTAINER_OBSOLETE
.NOTICE_CONT_OBSOLETE
{
box-sizing:border-box;
margin:0 auto 10px auto;
@ -1531,8 +1531,8 @@ a:hover /* Default ==> underlined */
text-align:left;
overflow:hidden;
}
.NOTICE_CONTAINER_NARROW {width:148px;}
.NOTICE_CONTAINER_WIDE {width:500px;}
.NOTICE_CONT_NARROW {width:148px;}
.NOTICE_CONT_WIDE {width:500px;}
.NOTICE_DATE_ACTIVE
{
float:right;
@ -1719,7 +1719,7 @@ a:hover /* Default ==> underlined */
.BANNER_SMALL {width:75px; height:25px;}
.ICO_BLACK {color:#404040;}
.ICO_RED {color:#660000;}
.ICO_DARKRED {color:#660000;}
/****** Contextual links with small icons and text to go to some action ******/
.CONTEXT_MENU
@ -1761,7 +1761,7 @@ a:hover /* Default ==> underlined */
margin:0 8px;
vertical-align:top;
}
.FRAME_CONTAINER
.FRAME_CONT
{
box-sizing:border-box;
width:100%;
@ -2166,10 +2166,10 @@ a:hover img.CENTRE_PHOTO_SHOW
.RB {text-align:right; vertical-align:bottom;} /* Right Bottom */
/***************** Colors used in headers,backgrounds,etc. *****************/
.COLOR0 {background-color:#F4F2EA;}
.COLOR1 {background-color:#FBFAF7;}
.COLOR0 {background-color:#F4F2EA;}
.COLOR1 {background-color:#FBFAF7;}
.LIGHT_GREEN {background-color:#C0FF40;}
.LIGHT_BLUE {background-color:#DDECF1;}
.LIGHT_BLUE {background-color:#DDECF1;}
.VERY_LIGHT_BLUE {background-color:#EAF3F6;}
/********************************* Course info *******************************/
@ -2574,7 +2574,7 @@ a:hover img.CENTRE_PHOTO_SHOW
margin:0 0 0 1em;
}
.TEST_MED_SHOW_CONTAINER
.TEST_MED_SHOW_CONT
{
box-sizing:border-box;
width:100%;
@ -2586,7 +2586,7 @@ a:hover img.CENTRE_PHOTO_SHOW
width:100%;
border-radius:4px;
}
.TEST_MED_EDIT_LIST_CONTAINER
.TEST_MED_EDIT_LIST_CONT
{
box-sizing:border-box;
width:100%;
@ -2613,7 +2613,7 @@ a:hover img.CENTRE_PHOTO_SHOW
width:400px;
}
.TEST_MED_EDIT_ONE_CONTAINER
.TEST_MED_EDIT_ONE_CONT
{
box-sizing:border-box;
width:100%;
@ -2731,14 +2731,14 @@ a:hover img.CENTRE_PHOTO_SHOW
font-size:16pt;
}
.MCH_BUTTONS_CONTAINER
.MCH_BUTTONS_CONT
{
display:table;
box-sizing:border-box;
width:100%;
padding:20px 0;
}
.MCH_BUTTON_LEFT_CONTAINER
.MCH_BUTTON_LEFT_CONT
{
display:table;
box-sizing:border-box;
@ -2746,7 +2746,7 @@ a:hover img.CENTRE_PHOTO_SHOW
width:35%;
text-align:center;
}
.MCH_BUTTON_CENTER_CONTAINER
.MCH_BUTTON_CENTER_CONT
{
display:table;
box-sizing:border-box;
@ -2754,7 +2754,7 @@ a:hover img.CENTRE_PHOTO_SHOW
width:30%;
text-align:center;
}
.MCH_BUTTON_RIGHT_CONTAINER
.MCH_BUTTON_RIGHT_CONT
{
display:table;
box-sizing:border-box;
@ -2763,29 +2763,27 @@ a:hover img.CENTRE_PHOTO_SHOW
text-align:center;
}
.MCH_BUTTON_CONTAINER
.MCH_BIGBUTTON_CONT
{
box-sizing:border-box;
display:table-cell;
width:100%;
height:64px;
display:inline-block;
font-size:28pt;
font-weight:bold;
padding:2px;
text-align:center;
vertical-align:middle;
}
.MCH_SMALLBUTTON_CONTAINER
.MCH_SMALLBUTTON_CONT
{
box-sizing:border-box;
display:table-cell;
width:100%;
font-size:18pt;
display:inline-block;
font-size:16pt;
font-weight:bold;
padding:2px;
text-align:center;
vertical-align:middle;
}
.MCH_BUTTON_ON
.MCH_BUTTON_ON, .MCH_BUTTON_OFF
{
display:table-cell;
width:100%;
@ -2797,7 +2795,8 @@ a:hover img.CENTRE_PHOTO_SHOW
{
opacity:1;
}
.MCH_BUTTON_OFF
.MCH_BUTTON_HIDDEN
{
display:table-cell;
width:100%;
@ -2806,6 +2805,11 @@ a:hover img.CENTRE_PHOTO_SHOW
opacity:0.1;
}
.MCH_RED {color:#913b00;}
.MCH_YELLOW {color:#a27600;}
.MCH_LIMEGREEN {color:#636e00;}
.MCH_GREEN {color:#246600;}
.MCH_TCH_STEM
{
color:#202020;
@ -2818,7 +2822,7 @@ a:hover img.CENTRE_PHOTO_SHOW
font-size:24pt;
}
.MCH_WAIT_CONTAINER
.MCH_WAIT_CONT
{
box-sizing:border-box;
text-align:center;
@ -3046,12 +3050,12 @@ a:hover img.CENTRE_PHOTO_SHOW
}
/********************************* Preference ********************************/
.PREF_CONTAINERS
.PREF_CONTS
{
margin:0 auto;
text-align:center;
}
.PREF_CONTAINER
.PREF_CONT
{
display:inline-block;
margin:0 10px;
@ -3573,7 +3577,7 @@ a:hover img.CENTRE_PHOTO_SHOW
}
/************************************ Forum **********************************/
.FOR_IMG_CONTAINER
.FOR_IMG_CONT
{
box-sizing:border-box;
width:100%;
@ -3600,7 +3604,7 @@ a:hover img.CENTRE_PHOTO_SHOW
text-align:left;
vertical-align:middle;
}
.MSG_IMG_CONTAINER
.MSG_IMG_CONT
{
box-sizing:border-box;
width:100%;
@ -3786,7 +3790,7 @@ a.PAG:hover, .PAG_CUR
}
/***************************** Public user's profile *************************/
.PRF_FIG_LEFT_CONTAINER
.PRF_FIG_LEFT_CONT
{
display:inline-block;
box-sizing:border-box;
@ -3795,7 +3799,7 @@ a.PAG:hover, .PAG_CUR
text-align:right;
vertical-align:top;
}
.PRF_FIG_RIGHT_CONTAINER
.PRF_FIG_RIGHT_CONT
{
display:inline-block;
box-sizing:border-box;
@ -4015,7 +4019,7 @@ a.PAG:hover, .PAG_CUR
text-align:center;
}
}
.FOOT_LIST_CONTAINER
.FOOT_LIST_CONT
{
position:relative;
float:left;

View File

@ -1,5 +1,5 @@
<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>
<ul class="FOOT_LIST">
<li><a href="https://openswad.org/info/" target="_blank" class="FOOT_LINK" title="What is SWAD?">
@ -16,7 +16,7 @@
Shop</a></li>
</ul>
</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>
<ul class="FOOT_LIST">
<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>
</ul>
</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>
<ul class="FOOT_LIST">
<li><a href="http://twitter.com/openswad" target="_blank" class="FOOT_LINK" title="Twitter">
@ -54,7 +54,7 @@
Open HUB</a></li>
</ul>
</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>
<ul class="FOOT_LIST">
<li><a href="https://openswad.org/source/" target="_blank" class="FOOT_LINK" title="Source code">
@ -79,7 +79,7 @@
Final Year Projects</a></li>
</ul>
</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>
<ul class="FOOT_LIST">
<li>

View File

@ -467,12 +467,12 @@ function writeClockConnected () {
if (H != 0) {
StrM = ((M < 10) ? '0' : '') + M;
StrS = ((S < 10) ? '0' : '') + S;
PrintableClock = H + ':' + StrM + '&#39;' + StrS + '&quot;';
PrintableClock = H + ':' + StrM + '&prime;' + StrS + '&Prime;';
} else if (M != 0) {
StrS = ((S < 10) ? '0' : '') + S;
PrintableClock = M + '&#39;' + StrS + '&quot;';
PrintableClock = M + '&prime;' + StrS + '&Prime;';
} else
PrintableClock = S + '&quot;';
PrintableClock = S + '&Prime;';
BoxClock.innerHTML = PrintableClock;
}
}
@ -1191,7 +1191,7 @@ function toggleDisplay (elementID) {
/*****************************************************************************/
// idCaption must be the id of a hidden div with the caption in innerHTML
// (this allows showing &#39; and &quot;)
// (this allows showing &prime; and &Prime;)
function zoom (img,urlPhoto,idCaption) {
var zoomImgWidth = 186; // big photo
var zoomImgHeight = 248; // big photo
@ -1580,7 +1580,7 @@ function DrawMonth (id,FirstDayOfWeek,YearToDraw,MonthToDraw,CurrentMonth,Curren
}
/***** Start of month *****/
Gbl_HTMLContent += '<div class="MONTH_CONTAINER">';
Gbl_HTMLContent += '<div class="MONTH_CONT">';
/***** Month name *****/
if (DrawingCalendar)

View File

@ -279,8 +279,8 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
extern const char *Txt_Do_not_show_again;
static const char *ContainerClass[Ann_NUM_STATUS] =
{
[Ann_ACTIVE_ANNOUNCEMENT ] = "NOTICE_CONTAINER_ACTIVE NOTICE_CONTAINER_WIDE",
[Ann_OBSOLETE_ANNOUNCEMENT] = "NOTICE_CONTAINER_OBSOLETE NOTICE_CONTAINER_WIDE",
[Ann_ACTIVE_ANNOUNCEMENT ] = "NOTICE_CONT_ACTIVE NOTICE_CONT_WIDE",
[Ann_OBSOLETE_ANNOUNCEMENT] = "NOTICE_CONT_OBSOLETE NOTICE_CONT_WIDE",
};
static const char *SubjectClass[Ann_NUM_STATUS] =
{

View File

@ -144,10 +144,10 @@ static void Box_BoxInternalBegin (const char *Width,const char *Title,
/* Create unique id for alert */
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
HTM_DIV_Begin ("class=\"FRAME_CONTAINER\"");
HTM_DIV_Begin ("class=\"FRAME_CONT\"");
/***** Begin box *****/
if (Width)

View File

@ -490,13 +490,14 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 19.90 (2019-12-12)"
#define CSS_FILE "swad19.90.css"
#define JS_FILE "swad19.70.js"
#define Log_PLATFORM_VERSION "SWAD 19.90.1 (2019-12-12)"
#define CSS_FILE "swad19.90.1.css"
#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: 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)
2 changes necessary in database:
ALTER TABLE mch_matches ADD COLUMN Countdown INT NOT NULL DEFAULT -1 AFTER Showing;

View File

@ -495,8 +495,8 @@
#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
#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_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_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)

View File

@ -677,7 +677,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
Minute < 60;
Minute += MinutesIInterval[FormSeconds])
HTM_OPTION (HTM_Type_UNSIGNED,&Minute,false,false,
"%02u &#39;",Minute);
"%02u &prime;",Minute);
HTM_SELECT_End ();
HTM_TD_End ();
@ -701,7 +701,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
Second <= 59;
Second++)
HTM_OPTION (HTM_Type_UNSIGNED,&Second,false,false,
"%02u &quot;",Second);
"%02u &Prime;",Second);
HTM_SELECT_End ();
HTM_TD_End ();
}
@ -1614,11 +1614,11 @@ void Dat_WriteHoursMinutesSecondsFromSeconds (time_t Seconds)
Seconds %= 60;
if (Hours)
HTM_TxtF ("%ld:%02ld'%02ld&quot;",(long) Hours,(long) Minutes,(long) Seconds);
HTM_TxtF ("%ld:%02ld&prime;%02ld&Prime;",(long) Hours,(long) Minutes,(long) Seconds);
else if (Minutes)
HTM_TxtF ("%ld'%02ld&quot;",(long) Minutes,(long) Seconds);
HTM_TxtF ("%ld&prime;%02ld&Prime;",(long) Minutes,(long) Seconds);
else
HTM_TxtF ("%ld&quot;",(long) Seconds);
HTM_TxtF ("%ld&Prime;",(long) Seconds);
}
/*****************************************************************************/
@ -1628,11 +1628,11 @@ void Dat_WriteHoursMinutesSecondsFromSeconds (time_t Seconds)
void Dat_WriteHoursMinutesSeconds (struct Time *Time)
{
if (Time->Hour)
HTM_TxtF ("%u:%02u'%02u&quot;",Time->Hour,Time->Minute,Time->Second);
HTM_TxtF ("%u:%02u&prime;%02u&Prime;",Time->Hour,Time->Minute,Time->Second);
else if (Time->Minute)
HTM_TxtF ("%u'%02u&quot;",Time->Minute,Time->Second);
HTM_TxtF ("%u&prime;%02u&Prime;",Time->Minute,Time->Second);
else
HTM_TxtF ("%u&quot;",Time->Second);
HTM_TxtF ("%u&Prime;",Time->Second);
}
/*****************************************************************************/

View File

@ -1213,7 +1213,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Minute++)
HTM_OPTION (HTM_Type_UNSIGNED,&Minute,
Gbl.ExamAnns.ExaDat.StartTime.Minute == Minute,false,
"%02u &#39;",Minute);
"%02u &prime;",Minute);
HTM_SELECT_End ();
}
else if (Gbl.ExamAnns.ExaDat.StartTime.Hour)
@ -1250,7 +1250,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Minute++)
HTM_OPTION (HTM_Type_UNSIGNED,&Minute,
Gbl.ExamAnns.ExaDat.Duration.Minute == Minute,false,
"%02u &#39;",Minute);
"%02u &prime;",Minute);
HTM_SELECT_End ();
}
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.Minute)
HTM_TxtF ("%u %s %u &#39;",Gbl.ExamAnns.ExaDat.Duration.Hour,
HTM_TxtF ("%u %s %u &prime;",Gbl.ExamAnns.ExaDat.Duration.Hour,
Txt_hours_ABBREVIATION,
Gbl.ExamAnns.ExaDat.Duration.Minute);
else

View File

@ -1301,7 +1301,7 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
/***** Show image *****/
Med_ShowMedia (&Media,"FOR_IMG_CONTAINER","FOR_IMG");
Med_ShowMedia (&Media,"FOR_IMG_CONT","FOR_IMG");
}
else
HTM_Txt (Txt_This_post_has_been_banned_probably_for_not_satisfy_the_rules_of_the_forums);

View File

@ -164,6 +164,8 @@ static void Mch_ShowRefreshablePartTch (struct Match *Match);
static void Mch_WriteElapsedTimeInMch (struct Match *Match);
static void Mch_WriteElapsedTimeInQst (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_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,
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_ShowWaitImage (const char *Txt);
@ -1908,8 +1910,7 @@ void Mch_StartCountdown (void)
Mch_GetDataOfMatchByCod (&Match);
/***** Start countdown *****/
if (NewCountdown >= 0)
Match.Status.Countdown = NewCountdown;
Match.Status.Countdown = NewCountdown;
/***** Update match status in database *****/
Mch_UpdateMatchStatusInDB (&Match);
@ -2282,85 +2283,104 @@ static void Mch_WriteElapsedTimeInQst (struct Match *Match)
static void Mch_WriteHourglass (struct Match *Match)
{
const char *Class;
const char *Icon;
/***** Start container *****/
HTM_DIV_Begin ("class=\"MCH_SHOW_HOURGLASS\"");
/***** Start form *****/
Frm_StartForm (ActMchCntDwn);
Mch_PutParamMchCod (Match->MchCod); // Current match being played
/***** Put forms to start countdown *****/
Mch_PutFormCountdown (Match,-1L,"MCH_GREEN" ,"&nbsp;&infin;&nbsp;");
Mch_PutFormCountdown (Match,60L,"MCH_LIMEGREEN","&nbsp;60&Prime;" );
Mch_PutFormCountdown (Match,30L,"MCH_YELLOW" ,"&nbsp;30&Prime;" );
Mch_PutFormCountdown (Match,10L,"MCH_RED" ,"&nbsp;10&Prime;" );
/***** 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 *****/
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
HTM_BUTTON_OnMouseDown_Begin ("Cuenta atr&aacute;s","BT_LINK MCH_BUTTON_ON ICO_BLACK"); // TODO: Need translation!!!!
HTM_TxtF ("<i class=\"fas %s\"></i>",
Match->Status.Countdown < 0 ? "fa-hourglass-start" : // No countdown
(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_DIV_Begin ("class=\"MCH_BIGBUTTON_CONT\"");
HTM_BUTTON_BUTTON_Begin ("Cuenta atr&aacute;s",Class,NULL); // TODO: Need translation!!!!
HTM_TxtF ("<i class=\"fas %s\"></i>",Icon);
HTM_BR ();
if (Match->Status.Countdown > 0)
HTM_TxtF ("%ld&quot;",Match->Status.Countdown);
HTM_TxtF ("&nbsp;%02ld&Prime;",Match->Status.Countdown);
else
HTM_NBSP ();
HTM_BUTTON_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&aacute;s","BT_LINK MCH_BUTTON_ON ICO_BLACK"); // TODO: Need translation!!!!
HTM_Txt ("60&quot;");
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&aacute;s","BT_LINK MCH_BUTTON_ON ICO_BLACK"); // TODO: Need translation!!!!
HTM_Txt ("30&quot;");
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&aacute;s","BT_LINK MCH_BUTTON_ON ICO_BLACK"); // TODO: Need translation!!!!
HTM_Txt ("10&quot;");
HTM_BUTTON_End ();
HTM_DIV_End ();
/***** End form *****/
Frm_EndForm ();
/***** End container *****/
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&aacute;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)
{
extern const char *Txt_MATCH_respond;
@ -2546,10 +2566,10 @@ static void Mch_PutMatchControlButtons (const struct Match *Match)
extern const char *Txt_Resume;
/***** Start buttons container *****/
HTM_DIV_Begin ("class=\"MCH_BUTTONS_CONTAINER\"");
HTM_DIV_Begin ("class=\"MCH_BUTTONS_CONT\"");
/***** Left button *****/
HTM_DIV_Begin ("class=\"MCH_BUTTON_LEFT_CONTAINER\"");
HTM_DIV_Begin ("class=\"MCH_BUTTON_LEFT_CONT\"");
switch (Match->Status.Showing)
{
case Mch_START:
@ -2565,7 +2585,7 @@ static void Mch_PutMatchControlButtons (const struct Match *Match)
HTM_DIV_End ();
/***** 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
/* Put button to pause match */
Mch_PutBigButton (ActPlyPauMch,"play_pause",Match->MchCod,
@ -2581,7 +2601,7 @@ static void Mch_PutMatchControlButtons (const struct Match *Match)
break;
case Mch_END: // Match over
/* Put disabled button to play match */
Mch_PutBigButtonOff (Mch_ICON_PLAY);
Mch_PutBigButtonHidden (Mch_ICON_PLAY);
break;
default:
/* Put button to resume match */
@ -2592,7 +2612,7 @@ static void Mch_PutMatchControlButtons (const struct Match *Match)
HTM_DIV_End ();
/***** 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
/* Put button to close browser tab */
Mch_PutBigButtonClose ();
@ -2760,8 +2780,8 @@ static void Mch_PutIconToRemoveMyAnswer (const struct Match *Match)
Gam_PutParamQstInd (Match->Status.QstInd); // Current question index shown
/***** Put icon with link *****/
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
HTM_BUTTON_OnMouseDown_Begin (Txt_Delete_my_answer,"BT_LINK MCH_BUTTON_ON ICO_RED");
HTM_DIV_Begin ("class=\"MCH_BIGBUTTON_CONT\"");
HTM_BUTTON_OnMouseDown_Begin (Txt_Delete_my_answer,"BT_LINK MCH_BUTTON_ON ICO_DARKRED");
HTM_Txt ("<i class=\"fas fa-trash\"></i>");
HTM_BUTTON_End ();
HTM_DIV_End ();
@ -3209,7 +3229,7 @@ static void Mch_PutBigButton (Act_Action_t NextAction,const char *Id,
Mch_PutParamMchCod (MchCod);
/***** 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_TxtF ("<i class=\"%s\"></i>",Icon);
HTM_BUTTON_End ();
@ -3219,11 +3239,11 @@ static void Mch_PutBigButton (Act_Action_t NextAction,const char *Id,
Frm_EndForm ();
}
static void Mch_PutBigButtonOff (const char *Icon)
static void Mch_PutBigButtonHidden (const char *Icon)
{
/***** Put inactive icon *****/
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
HTM_BUTTON_BUTTON_Begin (NULL,"BT_LINK_OFF MCH_BUTTON_OFF ICO_BLACK",NULL);
HTM_DIV_Begin ("class=\"MCH_BIGBUTTON_CONT\"");
HTM_BUTTON_BUTTON_Begin (NULL,"BT_LINK_OFF MCH_BUTTON_HIDDEN ICO_BLACK",NULL);
HTM_TxtF ("<i class=\"%s\"></i>",Icon);
HTM_BUTTON_End ();
HTM_DIV_End ();
@ -3234,8 +3254,8 @@ static void Mch_PutBigButtonClose (void)
extern const char *Txt_Close;
/***** Put icon with link *****/
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
HTM_BUTTON_BUTTON_Begin (Txt_Close,"BT_LINK MCH_BUTTON_ON ICO_BLACK","window.close();");
HTM_DIV_Begin ("class=\"MCH_BIGBUTTON_CONT\"");
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_BUTTON_End ();
HTM_DIV_End ();
@ -3247,7 +3267,7 @@ static void Mch_PutBigButtonClose (void)
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");
HTM_DIV_End ();
}

View File

@ -410,8 +410,8 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
/***** Icons *****/
/* Start icons */
HTM_DIV_Begin ("class=\"PREF_CONTAINERS\""); // icons containers
HTM_DIV_Begin ("class=\"PREF_CONTAINER\""); // icons container
HTM_DIV_Begin ("class=\"PREF_CONTS\""); // icons containers
HTM_DIV_Begin ("class=\"PREF_CONT\""); // icons container
/* Draw icons */
for (NumUploader = 0;

View File

@ -214,7 +214,7 @@ void Mnu_WriteMenuThisTab (void)
bool IsTheSelectedAction;
/***** Menu start *****/
HTM_Txt ("<nav class=\"MENU_LIST_CONTAINER\">");
HTM_Txt ("<nav class=\"MENU_LIST_CONT\">");
HTM_UL_Begin ("class=\"MENU_LIST\"");
/***** Loop to write all options in menu. Each row holds an option *****/

View File

@ -3056,7 +3056,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
HTM_TD_Begin ("colspan=\"2\" class=\"MSG_TXT LT\"");
if (Content[0])
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_TR_End ();

View File

@ -615,13 +615,13 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
extern const char *Txt_See_full_notice;
static const char *ContainerClass[Not_NUM_STATUS] =
{
[Not_ACTIVE_NOTICE ] = "NOTICE_CONTAINER_ACTIVE",
[Not_OBSOLETE_NOTICE] = "NOTICE_CONTAINER_OBSOLETE",
[Not_ACTIVE_NOTICE ] = "NOTICE_CONT_ACTIVE",
[Not_OBSOLETE_NOTICE] = "NOTICE_CONT_OBSOLETE",
};
static const char *ContainerWidthClass[Not_NUM_TYPES_LISTING] =
{
[Not_LIST_BRIEF_NOTICES] = "NOTICE_CONTAINER_NARROW",
[Not_LIST_FULL_NOTICES ] = "NOTICE_CONTAINER_WIDE",
[Not_LIST_BRIEF_NOTICES] = "NOTICE_CONT_NARROW",
[Not_LIST_FULL_NOTICES ] = "NOTICE_CONT_WIDE",
};
static const char *DateClass[Not_NUM_STATUS] =
{

View File

@ -399,7 +399,7 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
/***** 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\"");
/* Time since first click */
@ -419,7 +419,7 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
HTM_DIV_End ();
/***** Right list *****/
HTM_DIV_Begin ("class=\"PRF_FIG_RIGHT_CONTAINER\"");
HTM_DIV_Begin ("class=\"PRF_FIG_RIGHT_CONT\"");
UsrIsBannedFromRanking = Usr_CheckIfUsrBanned (UsrDat->UsrCod);
if (!UsrIsBannedFromRanking)

View File

@ -394,7 +394,7 @@ unsigned Set_GetParamSideCols (void)
*/
void Set_StartSettingsHead (void)
{
HTM_DIV_Begin ("class=\"PREF_CONTAINERS\"");
HTM_DIV_Begin ("class=\"PREF_CONTS\"");
}
void Set_EndSettingsHead (void)
@ -404,7 +404,7 @@ void Set_EndSettingsHead (void)
void Set_StartOneSettingSelector (void)
{
HTM_DIV_Begin ("class=\"PREF_CONTAINER\"");
HTM_DIV_Begin ("class=\"PREF_CONT\"");
}
void Set_EndOneSettingSelector (void)

View File

@ -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.
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 (&quot;%s&quot;)",
Str);
Lay_ShowAlert (Lay_INFO,Gbl.Alert.Txt);
}
*/
if (ChangeTo != Str_DONT_CHANGE)
{
/***** Allocate memory for a destination string where to do the changes *****/

View File

@ -1052,7 +1052,7 @@ static void Tst_WriteQstAndAnsTest (Tst_ActionToDoWithQuestions_t ActionToDoWith
Gbl.Test.Media.MedCod = Str_ConvertStrCodToLongCod (row[6]);
Med_GetMediaDataByCod (&Gbl.Test.Media);
Med_ShowMedia (&Gbl.Test.Media,
"TEST_MED_SHOW_CONTAINER",
"TEST_MED_SHOW_CONT",
"TEST_MED_SHOW");
/***** 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_LABEL_End ();
Med_ShowMedia (Media,
"TEST_MED_EDIT_ONE_CONTAINER",
"TEST_MED_EDIT_ONE_CONT",
"TEST_MED_EDIT_ONE");
/***** Choice 3: Change media *****/
@ -2965,7 +2965,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
Gbl.Test.Media.MedCod = Str_ConvertStrCodToLongCod (row[6]);
Med_GetMediaDataByCod (&Gbl.Test.Media);
Med_ShowMedia (&Gbl.Test.Media,
"TEST_MED_EDIT_LIST_CONTAINER",
"TEST_MED_EDIT_LIST_CONT",
"TEST_MED_EDIT_LIST");
/* 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]);
Med_GetMediaDataByCod (&Gbl.Test.Media);
Med_ShowMedia (&Gbl.Test.Media,
"TEST_MED_EDIT_LIST_CONTAINER",
"TEST_MED_EDIT_LIST_CONT",
"TEST_MED_EDIT_LIST");
/* Write feedback (row[5]) */
@ -3394,7 +3394,7 @@ void Tst_WriteAnswersEdit (long QstCod)
HTM_DIV_Begin ("class=\"TEST_EDI\"");
HTM_Txt (Answer);
Med_ShowMedia (&Gbl.Test.Answer.Options[NumOpt].Media,
"TEST_MED_EDIT_LIST_CONTAINER",
"TEST_MED_EDIT_LIST_CONT",
"TEST_MED_EDIT_LIST");
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_LABEL_End ();
Med_ShowMedia (&Gbl.Test.Answer.Options[NumOpt].Media,
"TEST_MED_SHOW_CONTAINER",
"TEST_MED_SHOW_CONT",
"TEST_MED_SHOW");
HTM_TD_End ();
@ -3875,7 +3875,7 @@ static void Tst_WriteChoiceAnsAssessTest (struct UsrData *UsrDat,
HTM_DIV_Begin ("class=\"ANS_TXT\"");
HTM_Txt (Gbl.Test.Answer.Options[Indexes[NumOpt]].Text);
Med_ShowMedia (&Gbl.Test.Answer.Options[Indexes[NumOpt]].Media,
"TEST_MED_SHOW_CONTAINER",
"TEST_MED_SHOW_CONT",
"TEST_MED_SHOW");
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_LABEL_End ();
Med_ShowMedia (&Gbl.Test.Answer.Options[Indexes[NumOpt]].Media,
"TEST_MED_SHOW_CONTAINER",
"TEST_MED_SHOW_CONT",
"TEST_MED_SHOW");
/* Show result (number of users who answered? */

View File

@ -7546,7 +7546,7 @@ void Usr_ListDataAdms (void)
if (Gbl.Usrs.LstUsrs[Rol_DEG_ADM].NumUsrs)
{
/****** Show photos? *****/
HTM_DIV_Begin ("class=\"PREF_CONTAINER\"");
HTM_DIV_Begin ("class=\"PREF_CONT\"");
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_StartForm (ActLstOth);
Sco_PutParamCurrentScope ();