Version 14.39.5

This commit is contained in:
Antonio Cañas Vargas 2014-12-21 19:43:39 +01:00
parent 781f87d7f2
commit 5d5db513fd
41 changed files with 189 additions and 149 deletions

View File

@ -40,6 +40,14 @@ table
border-style:none;
border-spacing:0px;
}
table th
{
padding:0px;
}
table td
{
padding:0px;
}
img {border-width:0px; border-style:none;}
form {margin:0px; display:inline;}
p {margin:0px;}
@ -443,6 +451,14 @@ hr.YELLOW_SEPARA {height:0px; border-top:0px; border-bottom:#BD4815 dotted 1px;}
font-size:16pt;
font-weight:bold;
}
.CELLS_PAD_1 th {padding:1px;}
.CELLS_PAD_1 td {padding:1px;}
.CELLS_PAD_2 th {padding:2px;}
.CELLS_PAD_2 td {padding:2px;}
.CELLS_PAD_4 th {padding:4px;}
.CELLS_PAD_4 td {padding:4px;}
.CELLS_PAD_8 th {padding:8px;}
.CELLS_PAD_8 td {padding:8px;}
/*********************************** Title ***********************************/
.TIT

View File

@ -40,6 +40,14 @@ table
border-style:none;
border-spacing:0px;
}
table th
{
padding:0px;
}
table td
{
padding:0px;
}
img {border-width:0px; border-style:none;}
form {margin:0px; display:inline;}
p {margin:0px;}
@ -291,6 +299,14 @@ p {margin:0px;}
font-size:20pt;
font-weight:bold;
}
.CELLS_PAD_1 th {padding:1px;}
.CELLS_PAD_1 td {padding:1px;}
.CELLS_PAD_2 th {padding:2px;}
.CELLS_PAD_2 td {padding:2px;}
.CELLS_PAD_4 th {padding:4px;}
.CELLS_PAD_4 td {padding:4px;}
.CELLS_PAD_8 th {padding:8px;}
.CELLS_PAD_8 td {padding:8px;}
/*********************************** Title ***********************************/
.TIT {

View File

@ -4138,7 +4138,7 @@ void Act_WriteSmallMFUActions (struct Act_ListMFUActions *ListMFUActions)
fprintf (Gbl.F.Out," %s</a></form>",Txt_Frequent_actions);
fprintf (Gbl.F.Out,"<div id=\"MFU_actions\">"
"<table cellpadding=\"0\" width=\"120\">");
"<table width=\"120\">");
/***** Write list of frequently used actions *****/
for (NumAct = 0;
@ -4203,7 +4203,7 @@ void Act_UpdateMFUActions (void)
if (Act_Actions[Gbl.CurrentAct].SuperAction == ActMFUAct)
return;
setlocale (LC_NUMERIC,"en_US.iso88591"); // To get the decimal point
setlocale (LC_NUMERIC,"en_US.utf8"); // To get the decimal point
/***** Get current score *****/
sprintf (Query,"SELECT Score FROM actions_MFU"
@ -4242,5 +4242,5 @@ void Act_UpdateMFUActions (void)
Act_Actions[Act_Actions[Gbl.CurrentAct].SuperAction].ActCod);
DB_QueryUPDATE (Query,"can not update most frequently used actions");
setlocale (LC_NUMERIC,"es_ES.iso88591");
setlocale (LC_NUMERIC,"es_ES.utf8");
}

View File

@ -266,7 +266,7 @@ static void Asg_ShowOneAssignment (long AsgCod)
/* Send work? */
fprintf (Gbl.F.Out,"<td rowspan=\"2\" align=\"center\" valign=\"top\""
" bgcolor=\"%s\">"
"<table cellpadding=\"0\" style=\"border-spacing:2px;\">"
"<table style=\"border-spacing:2px;\">"
"<tr>"
"<td align=\"center\" valign=\"top\" class=\"%s\">"
"<img src=\"%s/%s16x16.gif\""
@ -395,7 +395,7 @@ static void Asg_WriteAssignmentFolder (struct Assignment *Asg)
if (Asg->SendWork == Asg_SEND_WORK)
{
/***** Folder icon *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\" style=\"border-spacing:2px;\">"
fprintf (Gbl.F.Out,"<table style=\"border-spacing:2px;\">"
"<tr>"
"<td class=\"BT\">");
if (Asg->Open &&
@ -484,7 +484,7 @@ static void Asg_PutFormsToRemEditOneAsg (long AsgCod,bool Hidden)
extern const char *Txt_Hide;
extern const char *Txt_Edit;
fprintf (Gbl.F.Out,"<table cellpadding=\"4\">"
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_4\">"
"<tr>");
/***** Put form to remove assignment *****/
@ -1152,7 +1152,7 @@ void Asg_RequestCreatOrEditAsg (void)
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"right\" valign=\"top\" class=\"TIT_TBL\">%s:</td>"
"<td align=\"left\" valign=\"top\">"
"<table cellpadding=\"2\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
"<td align=\"left\" valign=\"top\">",
Dates[StartOrEndTime]);

View File

@ -468,7 +468,7 @@ static void Att_PutFormsToRemEditOneAttEvent (long AttCod,bool Hidden)
extern const char *Txt_Edit;
/***** Put form to remove attendance event *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"4\">"
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_4\">"
"<tr>"
"<td align=\"left\">");
Act_FormStart (ActReqRemAtt);
@ -1104,7 +1104,7 @@ void Att_RequestCreatOrEditAttEvent (void)
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"right\" valign=\"top\" class=\"TIT_TBL\">%s:</td>"
"<td align=\"left\" valign=\"top\">"
"<table cellpadding=\"2\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
"<td align=\"left\" valign=\"top\">",
Dates[StartOrEndTime]);

View File

@ -1246,7 +1246,7 @@ static void Ctr_ListCentresForEdition (void)
UsrDat.UsrCod = Ctr->RequesterUsrCod;
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat);
fprintf (Gbl.F.Out,"<td align=\"left\" width=\"100\" valign=\"top\">"
"<table width=\"100\" cellpadding=\"2\">"
"<table width=\"100\" class=\"CELLS_PAD_2\">"
"<tr>");
Msg_WriteMsgAuthor (&UsrDat,80,10,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"
@ -1943,7 +1943,7 @@ static void Ctr_PutFormToCreateCentre (void)
/***** Centre requester *****/
fprintf (Gbl.F.Out,"<td align=\"left\" width=\"100\" valign=\"top\">"
"<table width=\"100\" cellpadding=\"2\">"
"<table width=\"100\" class=\"CELLS_PAD_2\">"
"<tr>");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,80,10,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"

View File

@ -35,11 +35,12 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 14.39.4 (2014/12/21)"
#define Log_PLATFORM_VERSION "SWAD 14.39.5 (2014/12/21)"
// Number of lines (includes comments but not blank lines) has been got with the following command:
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h | tail -1
/*
Version 14.39.5 :Dic 21, 2014 Changes in HTML and CSS to validate HTML5 in W3C validator. (170725 lines)
Version 14.39.4 :Dic 21, 2014 Changes in HTML and CSS to validate HTML5 in W3C validator. (170688 lines)
Version 14.39.3 :Dic 21, 2014 Changes to validate HTML5 in W3C validator.
Charset is changed from ISO-8859-1 to windows-1252. (170664 lines)

View File

@ -277,7 +277,7 @@ static void Cht_WriteLinkToChat (const char *Icon,const char *RoomCode,const cha
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"left\" valign=\"top\">"
"<table cellpadding=\"0\">"
"<table>"
"<tr>");
Msg_IndentDependingOnLevel (Level,IsLastItemInLevel);

View File

@ -251,7 +251,7 @@ void Con_ShowGlobalConnectedUsrs (void)
/***** Start table *****/
fprintf (Gbl.F.Out,"<div class=\"CONNECTED\" style=\"width:110px;\">"
"<table cellpadding=\"0\" width=\"110\">");
"<table width=\"110\">");
/***** Write total number of sessions *****/
fprintf (Gbl.F.Out,"<tr>"
@ -394,11 +394,11 @@ void Con_ShowConnectedUsrsBelongingToScope (void)
{
case Con_SHOW_ON_MAIN_ZONE:
fprintf (Gbl.F.Out,"<div class=\"CONNECTED\" style=\"width:312px;\">"
"<table cellpadding=\"0\">");
"<table>");
break;
case Con_SHOW_ON_RIGHT_COLUMN:
fprintf (Gbl.F.Out,"<div class=\"CONNECTED\" style=\"width:110px;\">"
"<table cellpadding=\"0\" width=\"110\">");
"<table width=\"110\">");
break;
}

View File

@ -1246,7 +1246,7 @@ static void Crs_ListCoursesForEdition (void)
UsrDat.UsrCod = Crs->RequesterUsrCod;
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat);
fprintf (Gbl.F.Out,"<td align=\"left\" width=\"100\" valign=\"top\">"
"<table width=\"100\" cellpadding=\"2\">"
"<table width=\"100\" class=\"CELLS_PAD_2\">"
"<tr>");
Msg_WriteMsgAuthor (&UsrDat,80,10,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"
@ -1429,7 +1429,7 @@ static void Crs_PutFormToCreateCourse (void)
/***** Course requester *****/
fprintf (Gbl.F.Out,"<td align=\"left\" width=\"100\" valign=\"top\">"
"<table width=\"100\" cellpadding=\"2\">"
"<table width=\"100\" class=\"CELLS_PAD_2\">"
"<tr>");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,80,10,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"

View File

@ -266,7 +266,7 @@ void Dat_DrawCalendar (void)
/***** Draw several months *****/
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"center\">"
"<table cellpadding=\"0\" style=\"border-spacing:5px;\">");
"<table style=\"border-spacing:5px;\">");
for (Row = 0;
Row < 4;
Row++)
@ -354,7 +354,7 @@ void Dat_DrawMonth (unsigned RealYear,unsigned RealMonth,
/***** Start of month *****/
fprintf (Gbl.F.Out,"<div class=\"MONTH_CONTAINER\">"
"<div class=\"MONTH\">%s %u</div>"
"<table cellpadding=\"0\" class=\"MONTH_TABLE_DAYS\">",
"<table class=\"MONTH_TABLE_DAYS\">",
Txt_MONTHS_CAPS[RealMonth-1],RealYear);
/***** Month head: first letter for each day of week *****/
@ -465,7 +465,7 @@ void Dat_DrawMonth (unsigned RealYear,unsigned RealMonth,
if (PutLinkToEvents && ThisDayHasEvent)
{
Act_FormStart (ActSeeExaAnn);
fprintf (Gbl.F.Out,"<table cellpadding=\"0\" width=\"100%%\">"
fprintf (Gbl.F.Out,"<table width=\"100%%\">"
"<tr>"
"<td align=\"center\" class=\"%s\">",
ClassForDay);
@ -632,7 +632,7 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
extern const char *Txt_MONTHS_SMALL[12];
/***** Day *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">"
fprintf (Gbl.F.Out,"<table>"
"<tr>"
"<td align=\"left\">"
"<select id=\"%s\" name=\"%s\"",
@ -719,7 +719,7 @@ void Dat_WriteFormHourMinute (const char *NameSelectHour,const char *NameSelectM
unsigned Hour,Minute;
/***** Hour *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">"
fprintf (Gbl.F.Out,"<table>"
"<tr>"
"<td align=\"left\">"
"<select name=\"%s\"",

View File

@ -434,7 +434,7 @@ void Deg_WriteMenuAllCourses (Act_Action_t NextActionCty,
/***** Start of table *****/
fprintf (Gbl.F.Out,"<div align=\"center\" style=\"margin-bottom:10px;\">"
"<table cellpadding=\"2\">");
"<table class=\"CELLS_PAD_2\">");
/***** Write a 1st selector
with all the countries *****/
@ -1542,7 +1542,7 @@ static void Deg_ListDegreesForEdition (void)
UsrDat.UsrCod = Deg->RequesterUsrCod;
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat);
fprintf (Gbl.F.Out,"<td align=\"left\" width=\"100\" valign=\"top\">"
"<table width=\"100\" cellpadding=\"2\">"
"<table width=\"100\" class=\"CELLS_PAD_2\">"
"<tr>");
Msg_WriteMsgAuthor (&UsrDat,80,10,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"
@ -1806,7 +1806,7 @@ static void Deg_PutFormToCreateDegree (void)
/***** Degree requester *****/
fprintf (Gbl.F.Out,"<td align=\"left\" width=\"100\" valign=\"top\">"
"<table width=\"100\" cellpadding=\"2\">"
"<table width=\"100\" class=\"CELLS_PAD_2\">"
"<tr>");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,80,10,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"

View File

@ -1917,7 +1917,7 @@ void Enr_ShowEnrollmentRequests (void)
/* Start form */
Act_FormStart (ActSeeSignUpReq);
fprintf (Gbl.F.Out,"<div align=\"center\">"
"<table cellpadding=\"0\" style=\"border-spacing:4px;\">");
"<table style=\"border-spacing:4px;\">");
/* Scope (whole platform, current centre, current degree or current course) */
fprintf (Gbl.F.Out,"<tr>"

View File

@ -780,10 +780,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_tTypeViewExamAnnouncement_
Lay_StartRoundFrameTable10 ("500px",0,NULL);
fprintf (Gbl.F.Out,"<tr>" \
"<td align=\"center\">" \
"<table cellpadding=\"20\" width=\"100%%\">" \
"<tr>" \
"<td align=\"center\">" \
"<table cellpadding=\"0\" width=\"100%%\" style=\"border-spacing:3px;\">");
"<table width=\"100%%\" style=\"padding:20px; border-spacing:3px;\">");
/***** Institution logo *****/
fprintf (Gbl.F.Out,"<tr>" \
@ -1185,9 +1182,6 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_tTypeViewExamAnnouncement_
/***** End frame *****/
fprintf (Gbl.F.Out,"</table>" \
"</td>" \
"</tr>" \
"</table>" \
"</td>" \
"</tr>");
Lay_EndRoundFrameTable10 ();

View File

@ -3542,7 +3542,8 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,
/***** Indentation depending on level, icon, and file/folder name *****/
/* Start of the column */
fprintf (Gbl.F.Out,"<td align=\"left\" width=\"99%%\" bgcolor=\"%s\" valign=\"top\" class=\"NO_BR\">"
"<table cellpadding=\"0\"><tr>",
"<table>"
"<tr>",
Gbl.ColorRows[Gbl.RowEvenOdd]);
/* Indent depending on level */
@ -3909,7 +3910,7 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,Brw_ExpandTree_
extern const char *Txt_Contract_FOLDER_X;
fprintf (Gbl.F.Out,"<td align=\"left\">"
"<table cellpadding=\"0\">"
"<table>"
"<tr>");
Brw_IndentDependingOnLevel (Level);
fprintf (Gbl.F.Out,"<td class=\"BM%d\">",Gbl.RowEvenOdd);
@ -4548,7 +4549,7 @@ static void Brw_WriteDatesAssignment (void)
if (Gbl.FileBrowser.Asg.AsgCod > 0)
{
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">"
fprintf (Gbl.F.Out,"<table>"
"<tr>");
/***** Write start date *****/
@ -7509,7 +7510,7 @@ void Brw_ShowFileMetadata (void)
}
/***** Start table *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"2\">");
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">");
/***** Link to download the file *****/
fprintf (Gbl.F.Out,"<tr>"

View File

@ -858,7 +858,7 @@ static void For_ShowThreadPosts (long ThrCod,char *LastSubject)
/* Write thread title */
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"left\" valign=\"top\">"
"<table cellpadding=\"0\">"
"<table>"
"<tr>");
IsLastItemInLevel[2] = true;
Msg_IndentDependingOnLevel (2,IsLastItemInLevel);
@ -929,7 +929,7 @@ static void For_ShowThreadPosts (long ThrCod,char *LastSubject)
Lay_StartRoundFrameTable10 (NULL,0,NULL);
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"center\" width=\"100%%\">"
"<table cellpadding=\"2\" width=\"100%%\">");
"<table width=\"100%%\" class=\"CELLS_PAD_2\">");
mysql_data_seek (mysql_res,(my_ulonglong) (Pagination.FirstItemVisible-1));
for (NumRow = Pagination.FirstItemVisible;
@ -1119,7 +1119,7 @@ static void For_ShowAForumPost (struct ForumThread *Thr,unsigned PstNum,long Pst
/***** Write author or destinatary, and form to reply (in case of received post) *****/
fprintf (Gbl.F.Out,"</td>"
"<td align=\"left\" width=\"120\" colspan=\"2\" valign=\"top\">"
"<table width=\"120\" cellpadding=\"2\">");
"<table width=\"120\" class=\"CELLS_PAD_2\">");
/* Write author */
fprintf (Gbl.F.Out,"<tr>");
@ -2045,7 +2045,7 @@ static void For_WriteLinkToForum (For_ForumType_t ForumType,Act_Action_t NextAct
/***** Start row *****/
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"left\" valign=\"top\">"
"<table cellpadding=\"0\">"
"<table>"
"<tr>");
/***** Indent forum title *****/

View File

@ -84,7 +84,7 @@ void Gbl_InitializeGlobals (void)
char UniqueNamePlain[Cns_MAX_LENGTH_IP+1+10+1+10+1];
Txt_Language_t Lan;
setlocale (LC_ALL,"es_ES.iso88591");
setlocale (LC_ALL,"es_ES.utf8");
gettimeofday (&Gbl.tvStart, &Gbl.tz);
Dat_GetTimeStartExecution ();

View File

@ -1205,7 +1205,7 @@ static void Grp_ListGroupTypesForEdition (void)
fprintf (Gbl.F.Out,"<td align=\"left\" valign=\"middle\">");
Act_FormStart (ActChgTimGrpTyp);
Grp_PutParamGrpTypCod (Gbl.CurrentCrs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod);
fprintf (Gbl.F.Out,"<table cellpadding=\"2\">"
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">"
"<tr>"
"<td width=\"16\" align=\"left\" valign=\"middle\">"
"<img src=\"%s/%s16x16.gif\" title=\"%s\""
@ -2044,7 +2044,7 @@ static void Grp_PutFormToCreateGroupType (void)
/***** Open time *****/
fprintf (Gbl.F.Out,"<td align=\"left\" valign=\"middle\">"
"<table cellpadding=\"2\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
"<td align=\"left\" valign=\"middle\">"
"<img src=\"%s/%s16x16.gif\" alt=\"\" title=\"%s\""
@ -4116,7 +4116,7 @@ void Grp_ShowSelectorWhichGrps (void)
extern const char *Txt_Show_WHICH_groups[2];
Grp_WhichGroups_t WhichGrps;
fprintf (Gbl.F.Out,"<table cellpadding=\"2\">"
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">"
"<tr>");
for (WhichGrps = Grp_ONLY_MY_GROUPS;
WhichGrps <= Grp_ALL_GROUPS;

View File

@ -68,7 +68,7 @@ void Ico_PutIconsToSelectIconSet (void)
{
Ico_IconSet_t IconSet;
fprintf (Gbl.F.Out,"<table cellpadding=\"1\">"
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_1\">"
"<tr>");
for (IconSet = (Ico_IconSet_t) 0;
IconSet < Ico_NUM_ICON_SETS;

View File

@ -92,7 +92,7 @@ void Ind_ReqIndicatorsCourses (void)
/* Start form */
Act_FormStart (ActReqStaCrs);
fprintf (Gbl.F.Out,"<div align=\"center\">"
"<table cellpadding=\"2\">");
"<table class=\"CELLS_PAD_2\">");
/* Compute stats for anywhere, centre, degree or course? */
fprintf (Gbl.F.Out,"<tr>"
@ -495,7 +495,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
struct Ind_IndicatorsCrs Indicators;
/***** Table start *****/
fprintf (Gbl.F.Out,"<table bgcolor=\"#4D88A1\" cellpadding=\"1\" style=\"border-spacing:1px;\">");
fprintf (Gbl.F.Out,"<table bgcolor=\"#4D88A1\" class=\"CELLS_PAD_1\" style=\"border-spacing:1px;\">");
/***** Write table heading *****/
switch (IndicatorsLayout)

View File

@ -1041,7 +1041,7 @@ void Inf_FormToSendPage (Inf_InfoSrc_t InfoSrc,Inf_InfoType_t InfoType)
Act_FormStart (Inf_ActionsInfo[InfoSrc][InfoType]);
/***** File *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">"
fprintf (Gbl.F.Out,"<table>"
"<tr>"
"<td align=\"right\" class=\"%s\">%s:</td>"
"<td align=\"left\">"
@ -1074,7 +1074,8 @@ void Inf_FormToSendURL (Inf_InfoSrc_t InfoSrc,Inf_InfoType_t InfoType)
Act_FormStart (Inf_ActionsInfo[InfoSrc][InfoType]);
/***** Link *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\"><tr>"
fprintf (Gbl.F.Out,"<table>"
"<tr>"
"<td align=\"right\" class=\"%s\">%s:</td>"
"<td align=\"left\">"
"<input type=\"text\" name=\"InfoSrcURL\" size=\"50\" maxlength=\"256\" value=\"",

View File

@ -1172,7 +1172,7 @@ static void Ins_ListInstitutionsForEdition (void)
UsrDat.UsrCod = Ins->RequesterUsrCod;
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat);
fprintf (Gbl.F.Out,"<td align=\"left\" width=\"100\" valign=\"top\">"
"<table width=\"100\" cellpadding=\"2\">"
"<table width=\"100\" class=\"CELLS_PAD_2\">"
"<tr>");
Msg_WriteMsgAuthor (&UsrDat,80,10,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"
@ -1705,7 +1705,7 @@ static void Ins_PutFormToCreateInstitution (void)
/***** Centre requester *****/
fprintf (Gbl.F.Out,"<td align=\"left\" width=\"100\" valign=\"top\">"
"<table width=\"100\" cellpadding=\"2\">"
"<table width=\"100\" class=\"CELLS_PAD_2\">"
"<tr>");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,80,10,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"

View File

@ -271,7 +271,7 @@ void Lay_WriteStartOfPage (void)
Gbl.Prefs.IconsURL);
/***** Header of layout *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\" width=\"100%%\">");
fprintf (Gbl.F.Out,"<table width=\"100%%\">");
Lay_WritePageTopHeading ();
@ -284,7 +284,7 @@ void Lay_WriteStartOfPage (void)
}
fprintf (Gbl.F.Out,"<td colspan=\"%u\" align=\"center\" valign=\"top\">"
"<div id=\"CENTRAL_ZONE\" style=\"background-color:%s;vertical-align:top;\">"
"<table cellpadding=\"0\" width=\"100%%\" style=\"vertical-align:top;\">"
"<table width=\"100%%\" style=\"vertical-align:top;\">"
"<tr>",
ColspanCentralPart,
The_TabOnBgColors[Gbl.Prefs.Theme]);
@ -604,7 +604,7 @@ static void Lay_WritePageTopHeading (void)
Cfg_PLATFORM_FULL_NAME);
fprintf (Gbl.F.Out,"</td>");
fprintf (Gbl.F.Out,"<td align=\"center\" valign=\"middle\">"
"<table width=\"100%%\" cellpadding=\"0\">"
"<table width=\"100%%\">"
"<tr>");
/***** 1st. row, 2nd. column: search, and logged user / language selection *****/
if (Gbl.Prefs.Layout == Lay_LAYOUT_DESKTOP)
@ -955,7 +955,7 @@ static void Lay_DrawTabsMobile (void)
bool ICanViewTab;
/***** Table start *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\" width=\"100%%\">");
fprintf (Gbl.F.Out,"<table width=\"100%%\">");
/***** Loop to write all tabs. Each row holds a tab *****/
for (NumTabVisible = 0, NumTab = (Act_Tab_t) 1;
@ -971,7 +971,7 @@ static void Lay_DrawTabsMobile (void)
/* Icon at top and text at bottom */
fprintf (Gbl.F.Out,"<td align=\"center\" valign=\"top\" width=\"25%%\">"
"<table cellpadding=\"0\">"
"<table>"
"<tr>"
"<td align=\"center\" valign=\"top\">");
if (ICanViewTab)
@ -1201,7 +1201,7 @@ static void Lay_WriteMenuThisTabMobile (void)
const char *Title;
/***** Table start *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\" width=\"100%%\">");
fprintf (Gbl.F.Out,"<table width=\"100%%\">");
/***** Loop to write all options in menu. Each row holds an option *****/
for (NumOptInMenu = NumOptVisible = 0;
@ -1345,10 +1345,10 @@ static void Lay_ShowLeftColumn (void)
{
struct Act_ListMFUActions ListMFUActions;
fprintf (Gbl.F.Out,"<table width=\"128\" cellpadding=\"0\">"
fprintf (Gbl.F.Out,"<table width=\"128\">"
"<tr>"
"<td align=\"left\" valign=\"top\">"
"<table width=\"128\" cellpadding=\"0\" style=\"border-spacing:4px;\">");
"<table width=\"128\" style=\"border-spacing:4px;\">");
/***** Most frequently used actions *****/
if (Gbl.Usrs.Me.Logged)
@ -1400,11 +1400,11 @@ static void Lay_ShowRightColumn (void)
Gbl.Usrs.Connected.WhereToShow = Con_SHOW_ON_RIGHT_COLUMN;
/***** Connected users *****/
fprintf (Gbl.F.Out,"<table width=\"100%%\" cellpadding=\"0\">"
fprintf (Gbl.F.Out,"<table width=\"100%%\">"
"<tr>"
"<td align=\"right\" valign=\"top\""
" style=\"background-image: url('%s/head_base_background_1x56.gif'); background-repeat: repeat-x;\">"
"<table width=\"100%%\" cellpadding=\"0\" style=\"padding-top:56px; border-spacing:4px;\">",
"<table width=\"100%%\" style=\"padding-top:56px; border-spacing:4px;\">",
Gbl.Prefs.PathTheme);
/***** Banners *****/
@ -1512,22 +1512,28 @@ void Lay_WriteTitle (const char *Title)
/*****************************************************************************/
/****************** Start and end a table with rounded frame *****************/
/*****************************************************************************/
// CellPadding must be 0, 1, 2, 4 or 8
void Lay_StartRoundFrameTable10 (const char *Width,unsigned CellPadding,const char *Title)
{
fprintf (Gbl.F.Out,"<div align=\"center\">"
"<div class=\"FRAME10\"");
if (Width)
fprintf (Gbl.F.Out," style=\"width:%s;\"",
Width);
fprintf (Gbl.F.Out," style=\"width:%s;\"",Width);
fprintf (Gbl.F.Out,">");
if (Title)
fprintf (Gbl.F.Out,"<div align=\"center\" class=\"TIT_TBL_10\">%s</div>",
Title);
fprintf (Gbl.F.Out,"<table cellpadding=\"%u\" class=\"TABLE10\">",
CellPadding);
fprintf (Gbl.F.Out,"<table class=\"TABLE10");
if (CellPadding)
fprintf (Gbl.F.Out," CELLS_PAD_%u",CellPadding); // CellPadding must be 0, 1, 2, 4 or 8
fprintf (Gbl.F.Out,"\">");
}
// CellPadding must be 0, 1, 2, 4 or 8
void Lay_StartRoundFrameTable10Shadow (const char *Width,unsigned CellPadding)
{
fprintf (Gbl.F.Out,"<div align=\"center\">"
@ -1536,8 +1542,10 @@ void Lay_StartRoundFrameTable10Shadow (const char *Width,unsigned CellPadding)
fprintf (Gbl.F.Out," style=\"width:%s\"",
Width);
fprintf (Gbl.F.Out,">"
"<table cellpadding=\"%u\" class=\"TABLE10\">",
CellPadding);
"<table class=\"TABLE10");
if (CellPadding)
fprintf (Gbl.F.Out," CELLS_PAD_%u",CellPadding); // CellPadding must be 0, 1, 2, 4 or 8
fprintf (Gbl.F.Out,"\">");
}
void Lay_EndRoundFrameTable10 (void)
@ -1810,8 +1818,7 @@ void Lay_WriteHeaderClassPhoto (unsigned NumColumns,bool PrintView,bool DrawingC
/***** Table start *****/
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"center\" colspan=\"%u\">"
"<table cellpadding=\"0\" width=\"100%%\""
" style=\"padding:10px;\">"
"<table width=\"100%%\" style=\"padding:10px;\">"
"<tr>",
NumColumns);
@ -1890,7 +1897,8 @@ void Lay_PutIconsToSelectLayout (void)
extern const char *Txt_LAYOUT_NAMES[Lay_NUM_LAYOUTS];
Lay_Layout_t Layout;
fprintf (Gbl.F.Out,"<table cellpadding=\"1\"><tr>");
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">"
"<tr>");
for (Layout = (Lay_Layout_t) 0;
Layout < Lay_NUM_LAYOUTS;
Layout++)
@ -1909,7 +1917,8 @@ void Lay_PutIconsToSelectLayout (void)
Txt_LAYOUT_NAMES[Layout],
Txt_LAYOUT_NAMES[Layout]);
}
fprintf (Gbl.F.Out,"</tr></table>");
fprintf (Gbl.F.Out,"</tr>"
"</table>");
}
/*****************************************************************************/

View File

@ -740,7 +740,7 @@ void Lnk_WriteMenuWithInstitutionalLinks (void)
fprintf (Gbl.F.Out,"<tr>" \
"<td align=\"center\" width=\"120\" class=\"INS_LNK\">" \
"<div id=\"institutional_links\">" \
"<table cellpadding=\"0\" width=\"110\">");
"<table width=\"110\">");
/***** Write all the links *****/
for (NumLnk = 0;

View File

@ -779,7 +779,7 @@ void Mai_WriteMenuWithMailDomains (void)
Txt_Mail_domains_allowed_for_notifications);
/***** Start table *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\" width=\"120\">"
fprintf (Gbl.F.Out,"<table width=\"120\">"
"<tr>"
"<td align=\"left\" width=\"4\"><img src=\"%s/ewbw1_4x4.gif\" width=\"4\" height=\"4\" alt=\"\" /></td>"
"<td align=\"left\" style=\"background-image: url('%s/mbw1_1x4.gif'); background-repeat: repeat-x;\"></td>"

View File

@ -1574,7 +1574,7 @@ static void Msg_ShowSentOrReceivedMessages (Msg_TypeOfMessages_t TypeOfMessages)
Lay_StartRoundFrameTable10 ("100%",0,NULL);
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"center\" width=\"100%%\">"
"<table cellpadding=\"2\" width=\"100%%\">");
"<table width=\"100%%\" class=\"CELLS_PAD_2\">");
mysql_data_seek (mysql_res,(my_ulonglong) (Pagination.FirstItemVisible-1));
for (NumRow = Pagination.FirstItemVisible;
@ -2210,7 +2210,7 @@ void Msg_ShowFormToFilterMsgs (Msg_TypeOfMessages_t TypeOfMessages)
/***** Table start *****/
fprintf (Gbl.F.Out,"<div align=\"center\">"
"<table cellpadding=\"0\">");
"<table>");
/***** Authors/recipients of the message *****/
fprintf (Gbl.F.Out,"<tr>"
@ -2489,7 +2489,7 @@ static void Msg_ShowASentOrReceivedMessage (Msg_TypeOfMessages_t TypeOfMessages,
/***** Put an icon with message status *****/
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"center\" valign=\"top\" width=\"16\" class=\"%s\">"
"<table cellpadding=\"0\" width=\"16\">"
"<table width=\"16\">"
"<tr>"
"<td align=\"center\" valign=\"top\" width=\"16\">"
"<img src=\"%s/msg-%s16x16.gif\""
@ -2539,7 +2539,7 @@ static void Msg_ShowASentOrReceivedMessage (Msg_TypeOfMessages_t TypeOfMessages,
{
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"left\" valign=\"top\" rowspan=\"3\" colspan=\"3\">"
"<table cellpadding=\"2\">");
"<table class=\"CELLS_PAD_2\">");
/***** Write course origin of message *****/
fprintf (Gbl.F.Out,"<tr>"
@ -2858,7 +2858,7 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted)
char PhotoURL[PATH_MAX+1];
/***** Put an icon to show if user has read the message *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">"
fprintf (Gbl.F.Out,"<table>"
"<tr>"
"<td align=\"left\" valign=\"middle\" width=\"16\">"
"<img src=\"%s/%s16x16.gif\""
@ -2963,7 +2963,7 @@ static void Msg_WriteMsgTo (Msg_TypeOfMessages_t TypeOfMessages,long MsgCod)
if (NumRecipientsTotal)
{
/***** Start table *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">");
fprintf (Gbl.F.Out,"<table>");
/***** How many recipients will be shown? *****/
if (NumRecipientsKnown <= Msg_MAX_RECIPIENTS_TO_SHOW)

View File

@ -1641,7 +1641,7 @@ void Ntf_PutFormChangeNotifSentByEMail (void)
/***** Start form *****/
Act_FormStart (ActChgNtfPrf);
fprintf (Gbl.F.Out,"<p class=\"TIT_TBL\">%s</p>"
"<table cellpadding=\"2\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
"<th></th>"
"<th align=\"center\" class=\"TIT_TBL\">%s</th>"

View File

@ -185,7 +185,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
if (Pagination->MoreThanOnePage)
{
/***** Links to several pages start here *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\" style=\"border-spacing:5px;\">"
fprintf (Gbl.F.Out,"<table style=\"border-spacing:5px;\">"
"<tr>"
"<td align=\"left\" class=\"%s\">[</td>"
"<td align=\"left\" class=\"%s\">%s</td>",

View File

@ -676,7 +676,7 @@ static void Pho_UpdatePhoto2 (void)
unsigned NumPhoto;
/***** Show the three images resulting of the processing *****/
fprintf (Gbl.F.Out,"<table border=\"0\" width=\"100%%\" cellpadding=\"0\"><tr>");
fprintf (Gbl.F.Out,"<table width=\"100%%\"><tr>");
for (NumPhoto = 0;
NumPhoto < 3;
NumPhoto++)
@ -1398,7 +1398,7 @@ void Pho_ShowOrPrintPhotoDegree (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
if (SeeOrPrint == Pho_DEGREES_SEE)
{
fprintf (Gbl.F.Out,"<div align=\"center\">"
"<table cellpadding=\"2\">");
"<table class=\"CELLS_PAD_2\">");
/***** Put a selector for the type of average *****/
Pho_PutSelectorForTypeOfAvg ();
@ -1874,7 +1874,7 @@ static void Pho_ShowOrPrintListDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
if (SeeOrPrint == Pho_DEGREES_SEE)
Lay_StartRoundFrameTable10 (NULL,0,NULL);
else
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">");
fprintf (Gbl.F.Out,"<table>");
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"

View File

@ -377,7 +377,8 @@ void Prf_PutIconsToSelectSideCols (void)
unsigned SideCols;
extern const char *Txt_LAYOUT_SIDE_COLUMNS[4];
fprintf (Gbl.F.Out,"<table cellpadding=\"1\"><tr>");
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_1\">"
"<tr>");
for (SideCols = 0;
SideCols <= 3;
SideCols++)
@ -396,7 +397,8 @@ void Prf_PutIconsToSelectSideCols (void)
Txt_LAYOUT_SIDE_COLUMNS[SideCols],
Txt_LAYOUT_SIDE_COLUMNS[SideCols]);
}
fprintf (Gbl.F.Out,"</tr></table>");
fprintf (Gbl.F.Out,"</tr>"
"</table>");
}
/*****************************************************************************/
@ -579,7 +581,7 @@ static void Prf_PutFormPublicPhoto (void)
/***** Start form *****/
Act_FormStart (ActChgPubPho);
fprintf (Gbl.F.Out,"<table cellpadding=\"0\" style=\"border-spacing:2px;\">"
fprintf (Gbl.F.Out,"<table style=\"border-spacing:2px;\">"
"<tr>");
/***** Checkbox to select between public or private photo *****/

View File

@ -1498,7 +1498,7 @@ void Rec_ShowCrsRecord (Rec_RecordViewType_t TypeOfView,struct UsrData *UsrDat)
/***** Header *****/
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"left\" colspan=\"2\" valign=\"top\">"
"<table cellpadding=\"0\" width=\"100%%\">"
"<table width=\"100%%\">"
"<tr>"
"<td align=\"left\" width=\"%u\">",
Rec_DEGREE_LOGO_SIZE);
@ -2108,7 +2108,7 @@ void Rec_ShowCommonRecord (Rec_RecordViewType_t TypeOfView,
/***** Institution *****/
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"left\" width=\"%u\" valign=\"middle\" colspan=\"2\">"
"<table cellpadding=\"2\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
"<td align=\"center\" width=\"%u\" valign=\"middle\">",
Cols1and2Width,

View File

@ -27,7 +27,6 @@
#include <linux/limits.h> // For PATH_MAX
#include <linux/stddef.h> // For NULL
#include <locale.h> // For setlocale
#include <math.h> // For log10, floor, ceil, modf, sqrt...
#include <stdlib.h> // For system, getenv, etc.
#include <string.h> // For string functions
@ -395,7 +394,7 @@ void Sta_AskSeeCrsAccesses (void)
/***** Draw two class photographs with the users: one for teachers of the course and another one for students *****/
/* Start the table */
fprintf (Gbl.F.Out,"<div align=\"center\">"
"<table cellpadding=\"0\" style=\"border-spacing:4px;\">"
"<table style=\"border-spacing:4px;\">"
"<tr>"
"<td colspan=\"2\" align=\"left\">");
Lay_StartRoundFrameTable10 (NULL,0,NULL);
@ -510,7 +509,7 @@ void Sta_AskSeeGblAccesses (void)
/***** Start form *****/
Act_FormStart (ActSeeAccGbl);
fprintf (Gbl.F.Out,"<div align=\"center\">"
"<table cellpadding=\"2\">");
"<table class=\"CELLS_PAD_2\">");
/***** Start and end dates for the search *****/
Dat_WriteFormIniEndDates ();
@ -1442,7 +1441,7 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
/***** Put heading with backward and forward buttons *****/
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"left\" colspan=\"7\">"
"<table width=\"100%%\" cellpadding=\"2\">"
"<table width=\"100%%\" class=\"CELLS_PAD_2\">"
"<tr>");
/* Put link to jump to previous page (older clicks) */
@ -2136,7 +2135,7 @@ static void Sta_DrawBarColors (Sta_ColorType_t ColorType,float MaxPagesGenerated
unsigned Interval,NumColor,R,G,B;
/***** Write numbers from 0 to MaxPagesGenerated *****/
fprintf (Gbl.F.Out,"<table width=\"100%%\" cellpadding=\"0\">"
fprintf (Gbl.F.Out,"<table width=\"100%%\">"
"<tr>"
"<td align=\"left\" valign=\"bottom\" width=\"%u\" colspan=\"%u\" class=\"LOG\">0</td>",
(GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2,(GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2);

View File

@ -622,10 +622,10 @@ float Str_GetFloatNumFromStr (const char *Str)
if (Str)
{
setlocale (LC_NUMERIC,"en_US.iso88591"); // To get the decimal point
setlocale (LC_NUMERIC,"en_US.utf8"); // To get the decimal point
if (sscanf (Str,"%f",&Num) != 1)
Lay_ShowErrorAndExit ("Bad floating point format.");
setlocale (LC_NUMERIC,"es_ES.iso88591");
setlocale (LC_NUMERIC,"es_ES.utf8");
}
else // Str == NULL
Num = 0.0;

View File

@ -27,7 +27,6 @@
#include <linux/limits.h> // For PATH_MAX
#include <linux/stddef.h> // For NULL
#include <locale.h> // For setlocale, LC_NUMERIC...
#include <stdlib.h> // For calloc
#include <string.h> // For string functions
@ -702,7 +701,8 @@ static void Svy_PutFormsToRemEditOneSvy (long SvyCod,bool Visible)
extern const char *Txt_Hide;
extern const char *Txt_Edit;
fprintf (Gbl.F.Out,"<table cellpadding=\"4\"><tr>");
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_4\">"
"<tr>");
/***** Put form to remove survey *****/
fprintf (Gbl.F.Out,"<td align=\"left\">");
@ -770,7 +770,8 @@ static void Svy_PutFormsToRemEditOneSvy (long SvyCod,bool Visible)
Txt_Edit,
Txt_Edit);
fprintf (Gbl.F.Out,"</tr></table>");
fprintf (Gbl.F.Out,"</tr>"
"</table>");
}
/*****************************************************************************/
@ -1610,7 +1611,7 @@ void Svy_RequestCreatOrEditSvy (void)
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"right\" valign=\"top\" class=\"TIT_TBL\">%s:</td>"
"<td align=\"left\" valign=\"top\">"
"<table cellpadding=\"2\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
"<td align=\"left\" valign=\"top\">",
Dates[StartOrEndTime]);
@ -2459,7 +2460,7 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,ch
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"left\"></td>"
"<td align=\"left\" valign=\"top\">"
"<table cellpadding=\"2\">");
"<table class=\"CELLS_PAD_2\">");
for (NumAns = 0;
NumAns < Svy_MAX_ANSWERS_PER_QUESTION;
NumAns++)
@ -2922,7 +2923,7 @@ static void Svy_ListSvyQuestions (struct Survey *Svy,struct SurveyQuestion *SvyQ
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"center\" class=\"DAT\">");
Lay_WriteTitle (Txt_Survey_questions);
fprintf (Gbl.F.Out,"<table cellpadding=\"4\">");
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_4\">");
if (NumQsts)
{
@ -3107,7 +3108,7 @@ static void Svy_WriteAnswersOfAQst (struct Survey *Svy,struct SurveyQuestion *Sv
NumAnswers = Svy_GetAnswersQst (SvyQst->QstCod,&mysql_res); // Result: AnsInd,NumUsrs,Answer
/***** Write the answers *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"4\" width=\"100%%\">");
fprintf (Gbl.F.Out,"<table width=\"100%%\" class=\"CELLS_PAD_4\">");
for (NumAns = 0;
NumAns < NumAnswers;
NumAns++)

View File

@ -146,7 +146,7 @@ void Syl_EditSyllabus (void)
Lay_StartRoundFrameTable10 (NULL,0,Txt_INFO_TITLE[InfoType]);
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"left\">"
"<table cellpadding=\"1\" width=\"100%%\">");
"<table width=\"100%%\" class=\"CELLS_PAD_1\">");
/***** Write the current syllabus *****/
Syl_ShowSyllabus (InfoType);

View File

@ -1015,7 +1015,7 @@ static void Tst_UpdateScoreQst (long QstCod,float ScoreThisQst,bool AnswerIsNotB
char Query[512];
/***** Update number of clicks and score of the question *****/
setlocale (LC_NUMERIC,"en_US.iso88591"); // To print the floating point as a dot
setlocale (LC_NUMERIC,"en_US.utf8"); // To print the floating point as a dot
if (AnswerIsNotBlank)
sprintf (Query,"UPDATE tst_questions"
" SET NumHits=NumHits+1,NumHitsNotBlank=NumHitsNotBlank+1,Score=Score+(%lf)"
@ -1026,7 +1026,7 @@ static void Tst_UpdateScoreQst (long QstCod,float ScoreThisQst,bool AnswerIsNotB
" SET NumHits=NumHits+1"
" WHERE QstCod='%ld'",
QstCod);
setlocale (LC_NUMERIC,"es_ES.iso88591"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
setlocale (LC_NUMERIC,"es_ES.utf8"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
DB_QueryUPDATE (Query,"can not update the score of a question");
}
@ -1102,7 +1102,7 @@ void Tst_ShowFormAskEditTsts (void)
Tst_ShowFormAnswerTypes ();
/***** Starting and ending dates in the search *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"2\">");
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">");
Dat_WriteFormIniEndDates ();
fprintf (Gbl.F.Out,"</table>");
@ -1593,7 +1593,7 @@ static void Tst_ShowFormConfigTst (void)
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"right\" class=\"%s\">%s:</td>"
"<td align=\"left\">"
"<table cellpadding=\"0\" style=\"border-spacing:2px;\">",
"<table style=\"border-spacing:2px;\">",
The_ClassFormul[Gbl.Prefs.Theme],
Txt_No_of_questions);
@ -2529,10 +2529,10 @@ static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *m
Lay_ShowErrorAndExit ("Wrong number of hits not blank to a question.");
/* Get the acumulated score of the question (row[8]) */
setlocale (LC_NUMERIC,"en_US.iso88591"); // To get decimal point
setlocale (LC_NUMERIC,"en_US.utf8"); // To get decimal point
if (sscanf (row[8],"%lf",&TotalScoreThisQst) != 1)
Lay_ShowErrorAndExit ("Wrong score of a question.");
setlocale (LC_NUMERIC,"es_ES.iso88591"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
setlocale (LC_NUMERIC,"es_ES.utf8"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
/* Write number of times this question has been answered */
fprintf (Gbl.F.Out,"<td align=\"center\" valign=\"top\" bgcolor=\"%s\" class=\"DAT_SMALL\">%lu</td>",
@ -2663,7 +2663,7 @@ static void Tst_WriteAnswersOfAQstEdit (long QstCod)
case Tst_ANS_UNIQUE_CHOICE:
case Tst_ANS_MULTIPLE_CHOICE:
case Tst_ANS_TEXT:
fprintf (Gbl.F.Out,"<table cellpadding=\"2\">");
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">");
for (NumOpt = 0;
NumOpt < Gbl.Test.Answer.NumOptions;
NumOpt++)
@ -2886,7 +2886,8 @@ static void Tst_WriteTFAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res,
}
/***** Header with the title of each column *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\"><tr>");
fprintf (Gbl.F.Out,"<table>"
"<tr>");
Tst_WriteHeadUserCorrect ();
fprintf (Gbl.F.Out,"</tr>");
@ -2943,7 +2944,7 @@ static void Tst_WriteChoiceAnsSeeExam (unsigned NumQst,long QstCod,bool Shuffle)
char ParamName[3+6+1];
/***** Start of table *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">");
fprintf (Gbl.F.Out,"<table>");
/***** Get answers of a question from database *****/
Gbl.Test.Answer.NumOptions = Tst_GetAnswersQst (QstCod,&mysql_res,Shuffle); // Result: AnsInd,Answer,Correct
@ -3103,7 +3104,7 @@ static void Tst_WriteChoiceAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res,
}
/***** Start of table *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">"
fprintf (Gbl.F.Out,"<table>"
"<tr>");
Tst_WriteHeadUserCorrect ();
fprintf (Gbl.F.Out,"<td align=\"left\"></td>"
@ -3293,7 +3294,7 @@ static void Tst_WriteTextAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res,
}
/***** Header with the title of each column *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">"
fprintf (Gbl.F.Out,"<table>"
"<tr>");
Tst_WriteHeadUserCorrect ();
fprintf (Gbl.F.Out,"</tr>");
@ -3340,7 +3341,7 @@ static void Tst_WriteTextAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res,
Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_FULL_FEEDBACK)
{
fprintf (Gbl.F.Out,"<td align=\"center\" valign=\"top\">"
"<table cellpadding=\"0\">");
"<table>");
for (NumOpt = 0;
NumOpt < Gbl.Test.Answer.NumOptions;
NumOpt++)
@ -3436,7 +3437,7 @@ static void Tst_WriteIntAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res,
Lay_ShowErrorAndExit ("Wrong integer answer.");
/***** Header with the title of each column *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">"
fprintf (Gbl.F.Out,"<table>"
"<tr>");
Tst_WriteHeadUserCorrect ();
fprintf (Gbl.F.Out,"</tr>");
@ -3551,7 +3552,7 @@ static void Tst_WriteFloatAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res,
}
/***** Header with the title of each column *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">"
fprintf (Gbl.F.Out,"<table>"
"<tr>");
Tst_WriteHeadUserCorrect ();
fprintf (Gbl.F.Out,"</tr>");
@ -3711,7 +3712,7 @@ static void Tst_GetAndWriteTagsQst (long QstCod)
if ((NumRows = Tst_GetTagsQst (QstCod,&mysql_res))) // Result: TagTxt
{
/***** Write the tags *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">");
fprintf (Gbl.F.Out,"<table>");
for (NumRow = 0;
NumRow < NumRows;
NumRow++)
@ -4105,7 +4106,7 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback)
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"right\" valign=\"top\" class=\"%s\">%s:</td>"
"<td align=\"left\" valign=\"top\">"
"<table cellpadding=\"0\">",
"<table>",
The_ClassFormul[Gbl.Prefs.Theme],Txt_Tags);
for (NumTag = 0;
NumTag < Tst_MAX_TAGS_PER_QUESTION;
@ -4247,7 +4248,7 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback)
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"left\"></td>"
"<td align=\"left\" valign=\"top\">"
"<table cellpadding=\"0\">"
"<table>"
"<tr>"
"<td align=\"left\" valign=\"top\" class=\"%s\">"
"<input type=\"radio\" name=\"AnsTF\" value=\"T\"",
@ -4288,7 +4289,7 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback)
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"left\"></td>"
"<td align=\"left\" valign=\"top\">"
"<table cellpadding=\"0\">"
"<table>"
"<tr>"
"<td></td>"
"<td align=\"left\" class=\"%s\">%s</td>"
@ -4833,13 +4834,13 @@ double Tst_GetFloatAnsFromStr (char *Str)
Str_ConvertStrFloatCommaToStrFloatPoint (Str);
/***** The string is "scanned" in floating point (it must have a point, not a colon as decimal separator) *****/
setlocale (LC_NUMERIC,"en_US.iso88591"); // To get decimal point
setlocale (LC_NUMERIC,"en_US.utf8"); // To get decimal point
if (sscanf (Str,"%lg",&DoubleNum) != 1) // If the string does not hold a valid floating point number...
{
DoubleNum = 0.0; // ...the number is reset to 0
Str[0] = '\0'; // ...and the string is reset to ""
}
setlocale (LC_NUMERIC,"es_ES.iso88591"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
setlocale (LC_NUMERIC,"es_ES.utf8"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
return DoubleNum;
}
@ -5152,7 +5153,7 @@ static void Tst_InsertAnswersIntoDB (void)
DB_QueryINSERT (Query,"can not create answer");
break;
case Tst_ANS_FLOAT:
setlocale (LC_NUMERIC,"en_US.iso88591"); // To print the floating point as a dot
setlocale (LC_NUMERIC,"en_US.utf8"); // To print the floating point as a dot
for (i = 0;
i < 2;
i++)
@ -5163,7 +5164,7 @@ static void Tst_InsertAnswersIntoDB (void)
Gbl.Test.Answer.FloatingPoint[i]);
DB_QueryINSERT (Query,"can not create answer");
}
setlocale (LC_NUMERIC,"es_ES.iso88591"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
setlocale (LC_NUMERIC,"es_ES.utf8"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
break;
case Tst_ANS_TRUE_FALSE:
sprintf (Query,"INSERT INTO tst_answers (QstCod,AnsInd,Answer,Feedback,Correct)"
@ -5437,10 +5438,10 @@ static unsigned Tst_GetNumTstQuestions (Sco_Scope_t Scope,Tst_AnswerType_t AnsTy
if (sscanf (row[1],"%lu",&(Stats->NumHits)) != 1)
Lay_ShowErrorAndExit ("Error when getting total number of hits in test questions.");
setlocale (LC_NUMERIC,"en_US.iso88591"); // To get decimal point
setlocale (LC_NUMERIC,"en_US.utf8"); // To get decimal point
if (sscanf (row[2],"%lf",&(Stats->TotalScore)) != 1)
Lay_ShowErrorAndExit ("Error when getting total score in test questions.");
setlocale (LC_NUMERIC,"es_ES.iso88591"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
setlocale (LC_NUMERIC,"es_ES.utf8"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
}
else
{
@ -5738,7 +5739,7 @@ void Tst_SelUsrsToSeeUsrsTstExams (void)
Act_FormStart (ActSeeUsrTstExa);
Grp_PutParamsCodGrps ();
fprintf (Gbl.F.Out,"<div align=\"center\">"
"<table cellpadding=\"0\" style=\"border-spacing:4px;\">"
"<table style=\"border-spacing:4px;\">"
"<tr>"
"<td colspan=\"2\" align=\"left\">");
@ -5787,7 +5788,7 @@ void Tst_SelDatesToSeeMyTstExams (void)
/***** Starting and ending dates in the search *****/
fprintf (Gbl.F.Out,"<div align=\"center\">"
"<table cellpadding=\"2\">");
"<table class=\"CELLS_PAD_2\">");
Dat_WriteFormIniEndDates ();
fprintf (Gbl.F.Out,"</table>"
"</div>");
@ -5826,13 +5827,13 @@ static void Tst_StoreScoreOfTestExamInDB (long TstCod,
char Query[256];
/***** Update score in test exam *****/
setlocale (LC_NUMERIC,"en_US.iso88591"); // To print the floating point as a dot
setlocale (LC_NUMERIC,"en_US.utf8"); // To print the floating point as a dot
sprintf (Query,"UPDATE tst_exams"
" SET NumQstsNotBlank='%u',Score='%lf'"
" WHERE TstCod='%ld'",
NumQstsNotBlank,Score,
TstCod);
setlocale (LC_NUMERIC,"es_ES.iso88591"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
setlocale (LC_NUMERIC,"es_ES.utf8"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
DB_QueryUPDATE (Query,"can not update result of test exam");
}
@ -6040,7 +6041,7 @@ static void Tst_ShowResultsOfTestExams (struct UsrData *UsrDat)
NumQstsNotBlankInThisExam = 0;
/* Get score (row[5]) */
setlocale (LC_NUMERIC,"en_US.iso88591"); // To get decimal point
setlocale (LC_NUMERIC,"en_US.utf8"); // To get decimal point
if (sscanf (row[5],"%lf",&ScoreInThisExam) == 1)
{
if (Gbl.Test.AllowTeachers)
@ -6048,7 +6049,7 @@ static void Tst_ShowResultsOfTestExams (struct UsrData *UsrDat)
}
else
ScoreInThisExam = 0.0;
setlocale (LC_NUMERIC,"es_ES.iso88591"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
setlocale (LC_NUMERIC,"es_ES.utf8"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
/* Write number of questions */
fprintf (Gbl.F.Out,"<td align=\"right\" valign=\"top\" bgcolor=\"%s\" class=\"%s\">",
@ -6544,10 +6545,10 @@ static void Tst_GetExamDataByTstCod (long TstCod,char *TstTime,unsigned *NumQsts
*NumQstsNotBlank = 0;
/* Get score (row[5]) */
setlocale (LC_NUMERIC,"en_US.iso88591"); // To get decimal point
setlocale (LC_NUMERIC,"en_US.utf8"); // To get decimal point
if (sscanf (row[5],"%lf",Score) != 1)
*Score = 0.0;
setlocale (LC_NUMERIC,"es_ES.iso88591"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
setlocale (LC_NUMERIC,"es_ES.utf8"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
}
/***** Free structure that stores the query result *****/
@ -6570,7 +6571,7 @@ static void Tst_StoreOneExamQstInDB (long TstCod,long QstCod,unsigned NumQst,dou
Par_ReplaceSeparatorMultipleByComma (Gbl.Test.StrAnswersOneQst[NumQst],Answers);
/***** Insert question and user's answers into database *****/
setlocale (LC_NUMERIC,"en_US.iso88591"); // To print the floating point as a dot
setlocale (LC_NUMERIC,"en_US.utf8"); // To print the floating point as a dot
sprintf (Query,"INSERT INTO tst_exam_questions"
" (TstCod,QstCod,QstInd,Score,Indexes,Answers)"
" VALUES ('%ld','%ld','%u','%lf','%s','%s')",
@ -6579,7 +6580,7 @@ static void Tst_StoreOneExamQstInDB (long TstCod,long QstCod,unsigned NumQst,dou
Score,
Indexes,
Answers);
setlocale (LC_NUMERIC,"es_ES.iso88591"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
setlocale (LC_NUMERIC,"es_ES.utf8"); // Return to spanish system (TODO: this should be internationalized!!!!!!!)
DB_QueryINSERT (Query,"can not insert a question of an exam");
}

View File

@ -1028,7 +1028,7 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
if (Gbl.Test.NumTags)
{
/***** Write the tags *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">");
fprintf (Gbl.F.Out,"<table>");
for (NumTag = 0;
NumTag < Gbl.Test.NumTags;
NumTag++)
@ -1089,7 +1089,7 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
case Tst_ANS_UNIQUE_CHOICE:
case Tst_ANS_MULTIPLE_CHOICE:
case Tst_ANS_TEXT:
fprintf (Gbl.F.Out,"<table cellpadding=\"0\">");
fprintf (Gbl.F.Out,"<table>");
for (NumOpt = 0;
NumOpt < Gbl.Test.Answer.NumOptions;
NumOpt++)

View File

@ -232,7 +232,7 @@ void The_PutIconsToSelectTheme (void)
{
The_Theme_t Theme;
fprintf (Gbl.F.Out,"<table cellpadding=\"1\">"
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_1\">"
"<tr>");
for (Theme = (The_Theme_t) 0;
Theme < The_NUM_THEMES;

View File

@ -779,8 +779,7 @@ static void TT_DrawTimeTable (void)
}
/***** Table start *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\""
" style=\"min-width:520px;\">");
fprintf (Gbl.F.Out,"<table style=\"min-width:520px;\">");
/***** Top row used for column adjustement *****/
TT_TimeTableDrawAdjustRow ();

View File

@ -5071,7 +5071,7 @@ void Usr_ListAllDataGsts (void)
/***** Start table with list of guests *****/
/* Start row */
fprintf (Gbl.F.Out,"<table cellpadding=\"0\" width=\"100%%\">"
fprintf (Gbl.F.Out,"<table width=\"100%%\">"
"<tr>");
/* Columns for the data */
@ -5203,7 +5203,7 @@ void Usr_ListAllDataStds (void)
Lay_ShowErrorAndExit ("Not enough memory to store names of groups.");
/***** Start table with list of students *****/
fprintf (Gbl.F.Out,"<table cellpadding=\"0\" width=\"100%%\">");
fprintf (Gbl.F.Out,"<table width=\"100%%\">");
if (!Gbl.Usrs.ClassPhoto.AllGroups)
{
fprintf (Gbl.F.Out,"<tr>"
@ -5431,7 +5431,7 @@ void Usr_ListAllDataTchs (void)
/***** Start table with list of teachers *****/
/* Start row */
fprintf (Gbl.F.Out,"<table cellpadding=\"0\" width=\"100%%\">"
fprintf (Gbl.F.Out,"<table width=\"100%%\">"
"<tr>");
for (NumCol = (Gbl.Usrs.Listing.WithPhotos ? 0 :
1);

View File

@ -532,7 +532,7 @@ static void ZIP_ShowLinkToDownloadZIP (const char *FileName,const char *URL,
Lay_StartRoundFrameTable10Shadow (NULL,0);
fprintf (Gbl.F.Out,"<tr>"
"<td align=\"center\">"
"<table cellpadding=\"2\">");
"<table class=\"CELLS_PAD_2\">");
/***** Link to download the file *****/
fprintf (Gbl.F.Out,"<tr>"