From 5d5db513fdd32cb71d5d868b02d92a9680b410fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Sun, 21 Dec 2014 19:43:39 +0100 Subject: [PATCH] Version 14.39.5 --- css/swad_desktop.css | 16 ++++++++++ css/swad_mobile.css | 16 ++++++++++ swad_action.c | 6 ++-- swad_assignment.c | 8 ++--- swad_attendance.c | 4 +-- swad_centre.c | 4 +-- swad_changelog.h | 3 +- swad_chat.c | 2 +- swad_connected.c | 6 ++-- swad_course.c | 4 +-- swad_date.c | 10 +++---- swad_degree.c | 6 ++-- swad_enrollment.c | 2 +- swad_exam.c | 8 +---- swad_file_browser.c | 9 +++--- swad_forum.c | 8 ++--- swad_global.c | 2 +- swad_group.c | 6 ++-- swad_icon.c | 2 +- swad_indicator.c | 4 +-- swad_info.c | 5 ++-- swad_institution.c | 4 +-- swad_layout.c | 49 ++++++++++++++++++------------- swad_link.c | 2 +- swad_mail.c | 2 +- swad_message.c | 12 ++++---- swad_notification.c | 2 +- swad_pagination.c | 2 +- swad_photo.c | 6 ++-- swad_preference.c | 8 +++-- swad_record.c | 4 +-- swad_statistic.c | 9 +++--- swad_string.c | 4 +-- swad_survey.c | 15 +++++----- swad_syllabus.c | 2 +- swad_test.c | 69 ++++++++++++++++++++++---------------------- swad_test_import.c | 4 +-- swad_theme.c | 2 +- swad_timetable.c | 3 +- swad_user.c | 6 ++-- swad_zip.c | 2 +- 41 files changed, 189 insertions(+), 149 deletions(-) diff --git a/css/swad_desktop.css b/css/swad_desktop.css index 63b915b14..5b9e359a2 100644 --- a/css/swad_desktop.css +++ b/css/swad_desktop.css @@ -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 diff --git a/css/swad_mobile.css b/css/swad_mobile.css index b3c070d68..831783433 100644 --- a/css/swad_mobile.css +++ b/css/swad_mobile.css @@ -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 { diff --git a/swad_action.c b/swad_action.c index 7668d0010..940df59f7 100644 --- a/swad_action.c +++ b/swad_action.c @@ -4138,7 +4138,7 @@ void Act_WriteSmallMFUActions (struct Act_ListMFUActions *ListMFUActions) fprintf (Gbl.F.Out," %s",Txt_Frequent_actions); fprintf (Gbl.F.Out,"
" - ""); + "
"); /***** 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"); } diff --git a/swad_assignment.c b/swad_assignment.c index 339f82295..e789a0c6b 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -266,7 +266,7 @@ static void Asg_ShowOneAssignment (long AsgCod) /* Send work? */ fprintf (Gbl.F.Out,"
" - "" + "
" "" "
" "SendWork == Asg_SEND_WORK) { /***** Folder icon *****/ - fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"
" "" "
"); 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,"" + fprintf (Gbl.F.Out,"
" ""); /***** Put form to remove assignment *****/ @@ -1152,7 +1152,7 @@ void Asg_RequestCreatOrEditAsg (void) fprintf (Gbl.F.Out,"" "" "
%s:" - "" + "
" "" "
", Dates[StartOrEndTime]); diff --git a/swad_attendance.c b/swad_attendance.c index e30054015..c90226ccc 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -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,"" + fprintf (Gbl.F.Out,"
" "" "" "" "
"); Act_FormStart (ActReqRemAtt); @@ -1104,7 +1104,7 @@ void Att_RequestCreatOrEditAttEvent (void) fprintf (Gbl.F.Out,"
%s:" - "" + "
" "" "
", Dates[StartOrEndTime]); diff --git a/swad_centre.c b/swad_centre.c index 73e5ecf3b..7b986b44e 100644 --- a/swad_centre.c +++ b/swad_centre.c @@ -1246,7 +1246,7 @@ static void Ctr_ListCentresForEdition (void) UsrDat.UsrCod = Ctr->RequesterUsrCod; Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat); fprintf (Gbl.F.Out,"" - "" + "
" ""); Msg_WriteMsgAuthor (&UsrDat,80,10,"DAT",true,NULL); fprintf (Gbl.F.Out,"" @@ -1943,7 +1943,7 @@ static void Ctr_PutFormToCreateCentre (void) /***** Centre requester *****/ fprintf (Gbl.F.Out,"
" - "" + "
" ""); Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,80,10,"DAT",true,NULL); fprintf (Gbl.F.Out,"" diff --git a/swad_changelog.h b/swad_changelog.h index 04d10d022..142f14d84 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -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) diff --git a/swad_chat.c b/swad_chat.c index 64d734b8c..3863cc86a 100644 --- a/swad_chat.c +++ b/swad_chat.c @@ -277,7 +277,7 @@ static void Cht_WriteLinkToChat (const char *Icon,const char *RoomCode,const cha fprintf (Gbl.F.Out,"" "
" - "" + "
" ""); Msg_IndentDependingOnLevel (Level,IsLastItemInLevel); diff --git a/swad_connected.c b/swad_connected.c index aa900e334..60c63e464 100644 --- a/swad_connected.c +++ b/swad_connected.c @@ -251,7 +251,7 @@ void Con_ShowGlobalConnectedUsrs (void) /***** Start table *****/ fprintf (Gbl.F.Out,"
" - "
"); + "
"); /***** Write total number of sessions *****/ fprintf (Gbl.F.Out,"" @@ -394,11 +394,11 @@ void Con_ShowConnectedUsrsBelongingToScope (void) { case Con_SHOW_ON_MAIN_ZONE: fprintf (Gbl.F.Out,"
" - "
"); + "
"); break; case Con_SHOW_ON_RIGHT_COLUMN: fprintf (Gbl.F.Out,"
" - "
"); + "
"); break; } diff --git a/swad_course.c b/swad_course.c index 5a37cf430..41cd0da0e 100644 --- a/swad_course.c +++ b/swad_course.c @@ -1246,7 +1246,7 @@ static void Crs_ListCoursesForEdition (void) UsrDat.UsrCod = Crs->RequesterUsrCod; Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat); fprintf (Gbl.F.Out,"
" - "" + "
" ""); Msg_WriteMsgAuthor (&UsrDat,80,10,"DAT",true,NULL); fprintf (Gbl.F.Out,"" @@ -1429,7 +1429,7 @@ static void Crs_PutFormToCreateCourse (void) /***** Course requester *****/ fprintf (Gbl.F.Out,"
" - "" + "
" ""); Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,80,10,"DAT",true,NULL); fprintf (Gbl.F.Out,"" diff --git a/swad_date.c b/swad_date.c index b11216b4b..989a8584f 100644 --- a/swad_date.c +++ b/swad_date.c @@ -266,7 +266,7 @@ void Dat_DrawCalendar (void) /***** Draw several months *****/ fprintf (Gbl.F.Out,"" "
" - ""); + "
"); for (Row = 0; Row < 4; Row++) @@ -354,7 +354,7 @@ void Dat_DrawMonth (unsigned RealYear,unsigned RealMonth, /***** Start of month *****/ fprintf (Gbl.F.Out,"
" "
%s %u
" - "
", + "
", 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,"
" + fprintf (Gbl.F.Out,"
" "" "
", ClassForDay); @@ -632,7 +632,7 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear, extern const char *Txt_MONTHS_SMALL[12]; /***** Day *****/ - fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"
" "" "
" "" "" "
" ""); + "
"); /***** 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,"
" - "" + "
" ""); Msg_WriteMsgAuthor (&UsrDat,80,10,"DAT",true,NULL); fprintf (Gbl.F.Out,"" @@ -1806,7 +1806,7 @@ static void Deg_PutFormToCreateDegree (void) /***** Degree requester *****/ fprintf (Gbl.F.Out,"
" - "" + "
" ""); Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,80,10,"DAT",true,NULL); fprintf (Gbl.F.Out,"" diff --git a/swad_enrollment.c b/swad_enrollment.c index 13086cc0f..4facfdfae 100644 --- a/swad_enrollment.c +++ b/swad_enrollment.c @@ -1917,7 +1917,7 @@ void Enr_ShowEnrollmentRequests (void) /* Start form */ Act_FormStart (ActSeeSignUpReq); fprintf (Gbl.F.Out,"
" - "
"); + "
"); /* Scope (whole platform, current centre, current degree or current course) */ fprintf (Gbl.F.Out,"" diff --git a/swad_exam.c b/swad_exam.c index 056e03d9a..1be70ca34 100644 --- a/swad_exam.c +++ b/swad_exam.c @@ -780,10 +780,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_tTypeViewExamAnnouncement_ Lay_StartRoundFrameTable10 ("500px",0,NULL); fprintf (Gbl.F.Out,"" \ "" \ ""); Lay_EndRoundFrameTable10 (); diff --git a/swad_file_browser.c b/swad_file_browser.c index 33cbecd1e..1739a3ca6 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -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,"
" \ - "" \ - "" \ - "" \ - "" \ - "
" \ - ""); + "
"); /***** Institution logo *****/ fprintf (Gbl.F.Out,"" \ @@ -1185,9 +1182,6 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_tTypeViewExamAnnouncement_ /***** End frame *****/ fprintf (Gbl.F.Out,"
" \ - "
" \ "
" - "", + "
" + "", 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,"
" - "" + "
" ""); Brw_IndentDependingOnLevel (Level); fprintf (Gbl.F.Out,"
",Gbl.RowEvenOdd); @@ -4548,7 +4549,7 @@ static void Brw_WriteDatesAssignment (void) if (Gbl.FileBrowser.Asg.AsgCod > 0) { - fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"
" ""); /***** Write start date *****/ @@ -7509,7 +7510,7 @@ void Brw_ShowFileMetadata (void) } /***** Start table *****/ - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out,"
"); /***** Link to download the file *****/ fprintf (Gbl.F.Out,"" diff --git a/swad_forum.c b/swad_forum.c index 438fc0ef2..4c1c48d73 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -858,7 +858,7 @@ static void For_ShowThreadPosts (long ThrCod,char *LastSubject) /* Write thread title */ fprintf (Gbl.F.Out,"" "
" - "" + "
" ""); 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,"" "
" - ""); + "
"); 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,"" "
" - ""); + "
"); /* Write author */ fprintf (Gbl.F.Out,""); @@ -2045,7 +2045,7 @@ static void For_WriteLinkToForum (For_ForumType_t ForumType,Act_Action_t NextAct /***** Start row *****/ fprintf (Gbl.F.Out,"" "
" - "" + "
" ""); /***** Indent forum title *****/ diff --git a/swad_global.c b/swad_global.c index bece5fbdc..4035c47f0 100644 --- a/swad_global.c +++ b/swad_global.c @@ -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 (); diff --git a/swad_group.c b/swad_group.c index 4761e4ee4..9a6e141f9 100644 --- a/swad_group.c +++ b/swad_group.c @@ -1205,7 +1205,7 @@ static void Grp_ListGroupTypesForEdition (void) fprintf (Gbl.F.Out,"
"); Act_FormStart (ActChgTimGrpTyp); Grp_PutParamGrpTypCod (Gbl.CurrentCrs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod); - fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"
" "" "
" "" - "" + "
" "" "
" "\"\"" + fprintf (Gbl.F.Out,"" ""); for (WhichGrps = Grp_ONLY_MY_GROUPS; WhichGrps <= Grp_ALL_GROUPS; diff --git a/swad_icon.c b/swad_icon.c index 6ed6d6985..24a3d83aa 100644 --- a/swad_icon.c +++ b/swad_icon.c @@ -68,7 +68,7 @@ void Ico_PutIconsToSelectIconSet (void) { Ico_IconSet_t IconSet; - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"
" ""); for (IconSet = (Ico_IconSet_t) 0; IconSet < Ico_NUM_ICON_SETS; diff --git a/swad_indicator.c b/swad_indicator.c index 641f4317e..d7e42f1bc 100644 --- a/swad_indicator.c +++ b/swad_indicator.c @@ -92,7 +92,7 @@ void Ind_ReqIndicatorsCourses (void) /* Start form */ Act_FormStart (ActReqStaCrs); fprintf (Gbl.F.Out,"
" - "
"); + "
"); /* Compute stats for anywhere, centre, degree or course? */ fprintf (Gbl.F.Out,"" @@ -495,7 +495,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat struct Ind_IndicatorsCrs Indicators; /***** Table start *****/ - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out,"
"); /***** Write table heading *****/ switch (IndicatorsLayout) diff --git a/swad_info.c b/swad_info.c index 8036b348d..c6769f50d 100644 --- a/swad_info.c +++ b/swad_info.c @@ -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,"
" + fprintf (Gbl.F.Out,"
" "" "" "
%s:" @@ -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,"" + fprintf (Gbl.F.Out,"
" + "" "" "
%s:" "RequesterUsrCod; Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat); fprintf (Gbl.F.Out,"" - "" + "
" ""); Msg_WriteMsgAuthor (&UsrDat,80,10,"DAT",true,NULL); fprintf (Gbl.F.Out,"" @@ -1705,7 +1705,7 @@ static void Ins_PutFormToCreateInstitution (void) /***** Centre requester *****/ fprintf (Gbl.F.Out,"
" - "" + "
" ""); Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,80,10,"DAT",true,NULL); fprintf (Gbl.F.Out,"" diff --git a/swad_layout.c b/swad_layout.c index a6c752124..a8f3bbd5c 100644 --- a/swad_layout.c +++ b/swad_layout.c @@ -271,7 +271,7 @@ void Lay_WriteStartOfPage (void) Gbl.Prefs.IconsURL); /***** Header of layout *****/ - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out,"
"); Lay_WritePageTopHeading (); @@ -284,7 +284,7 @@ void Lay_WriteStartOfPage (void) } fprintf (Gbl.F.Out,"
" "
" - "" + "
" "", ColspanCentralPart, The_TabOnBgColors[Gbl.Prefs.Theme]); @@ -604,7 +604,7 @@ static void Lay_WritePageTopHeading (void) Cfg_PLATFORM_FULL_NAME); fprintf (Gbl.F.Out,""); fprintf (Gbl.F.Out,"
" - "" + "
" ""); /***** 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,"
"); + fprintf (Gbl.F.Out,"
"); /***** 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,"
" - "" + "
" "" "
"); if (ICanViewTab) @@ -1201,7 +1201,7 @@ static void Lay_WriteMenuThisTabMobile (void) const char *Title; /***** Table start *****/ - fprintf (Gbl.F.Out,""); + fprintf (Gbl.F.Out,"
"); /***** 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,"
" + fprintf (Gbl.F.Out,"
" "" "
" - ""); + "
"); /***** 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,"
" + fprintf (Gbl.F.Out,"
" "" "" \ "
" - "", + "
", 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,"
" "
"); + if (Title) fprintf (Gbl.F.Out,"
%s
", Title); - fprintf (Gbl.F.Out,"
", - CellPadding); + + 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,"
" @@ -1536,8 +1542,10 @@ void Lay_StartRoundFrameTable10Shadow (const char *Width,unsigned CellPadding) fprintf (Gbl.F.Out," style=\"width:%s\"", Width); fprintf (Gbl.F.Out,">" - "
", - CellPadding); + "
"); } void Lay_EndRoundFrameTable10 (void) @@ -1810,8 +1818,7 @@ void Lay_WriteHeaderClassPhoto (unsigned NumColumns,bool PrintView,bool DrawingC /***** Table start *****/ fprintf (Gbl.F.Out,"" "" + "
" - "" + "
" "", 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,"
"); + fprintf (Gbl.F.Out,"
" + ""); 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,"
"); + fprintf (Gbl.F.Out,"
"); } /*****************************************************************************/ diff --git a/swad_link.c b/swad_link.c index 5741c4d95..2255a2857 100644 --- a/swad_link.c +++ b/swad_link.c @@ -740,7 +740,7 @@ void Lnk_WriteMenuWithInstitutionalLinks (void) fprintf (Gbl.F.Out,"
" \ "
" \ - ""); + "
"); /***** Write all the links *****/ for (NumLnk = 0; diff --git a/swad_mail.c b/swad_mail.c index fcef95492..27ed2b731 100644 --- a/swad_mail.c +++ b/swad_mail.c @@ -779,7 +779,7 @@ void Mai_WriteMenuWithMailDomains (void) Txt_Mail_domains_allowed_for_notifications); /***** Start table *****/ - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"
" "" "" "" diff --git a/swad_message.c b/swad_message.c index 748085edb..544419532 100644 --- a/swad_message.c +++ b/swad_message.c @@ -1574,7 +1574,7 @@ static void Msg_ShowSentOrReceivedMessages (Msg_TypeOfMessages_t TypeOfMessages) Lay_StartRoundFrameTable10 ("100%",0,NULL); fprintf (Gbl.F.Out,"" "
\"\"
" - ""); + "
"); 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,"
" - "
"); + "
"); /***** Authors/recipients of the message *****/ fprintf (Gbl.F.Out,"" @@ -2489,7 +2489,7 @@ static void Msg_ShowASentOrReceivedMessage (Msg_TypeOfMessages_t TypeOfMessages, /***** Put an icon with message status *****/ fprintf (Gbl.F.Out,"" "
" - "" + "
" "" "
" "" "" - ""); + "
"); /***** Write course origin of message *****/ fprintf (Gbl.F.Out,"" @@ -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,"
" + fprintf (Gbl.F.Out,"
" "" "" + "
" ""); + fprintf (Gbl.F.Out,""); /***** How many recipients will be shown? *****/ if (NumRecipientsKnown <= Msg_MAX_RECIPIENTS_TO_SHOW) diff --git a/swad_notification.c b/swad_notification.c index 9574d815c..8067b6bf1 100644 --- a/swad_notification.c +++ b/swad_notification.c @@ -1641,7 +1641,7 @@ void Ntf_PutFormChangeNotifSentByEMail (void) /***** Start form *****/ Act_FormStart (ActChgNtfPrf); fprintf (Gbl.F.Out,"

%s

" - "
" + "
" "" "" "" diff --git a/swad_pagination.c b/swad_pagination.c index 842718085..4f14f402a 100644 --- a/swad_pagination.c +++ b/swad_pagination.c @@ -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,"
%s
" + fprintf (Gbl.F.Out,"
" "" "" "", diff --git a/swad_photo.c b/swad_photo.c index bb59422a6..36d0ca49b 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -676,7 +676,7 @@ static void Pho_UpdatePhoto2 (void) unsigned NumPhoto; /***** Show the three images resulting of the processing *****/ - fprintf (Gbl.F.Out,"
[%s
"); + fprintf (Gbl.F.Out,"
"); 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,"
" - "
"); + "
"); /***** 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,"
"); + fprintf (Gbl.F.Out,"
"); /***** Write heading *****/ fprintf (Gbl.F.Out,"" diff --git a/swad_preference.c b/swad_preference.c index d9823f844..b7fe5cc42 100644 --- a/swad_preference.c +++ b/swad_preference.c @@ -377,7 +377,8 @@ void Prf_PutIconsToSelectSideCols (void) unsigned SideCols; extern const char *Txt_LAYOUT_SIDE_COLUMNS[4]; - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out,"
" + ""); 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,"
"); + fprintf (Gbl.F.Out,"
"); } /*****************************************************************************/ @@ -579,7 +581,7 @@ static void Prf_PutFormPublicPhoto (void) /***** Start form *****/ Act_FormStart (ActChgPubPho); - fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"
" ""); /***** Checkbox to select between public or private photo *****/ diff --git a/swad_record.c b/swad_record.c index 14721fa76..e41deccd6 100644 --- a/swad_record.c +++ b/swad_record.c @@ -1498,7 +1498,7 @@ void Rec_ShowCrsRecord (Rec_RecordViewType_t TypeOfView,struct UsrData *UsrDat) /***** Header *****/ fprintf (Gbl.F.Out,"" "
" - "" + "
" "" "" "
", Rec_DEGREE_LOGO_SIZE); @@ -2108,7 +2108,7 @@ void Rec_ShowCommonRecord (Rec_RecordViewType_t TypeOfView, /***** Institution *****/ fprintf (Gbl.F.Out,"
" - "" + "
" "" "
", Cols1and2Width, diff --git a/swad_statistic.c b/swad_statistic.c index d69f473fc..83cf634da 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -27,7 +27,6 @@ #include // For PATH_MAX #include // For NULL -#include // For setlocale #include // For log10, floor, ceil, modf, sqrt... #include // For system, getenv, etc. #include // 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,"
" - "" + "
" "" "" "" "
"); Lay_StartRoundFrameTable10 (NULL,0,NULL); @@ -510,7 +509,7 @@ void Sta_AskSeeGblAccesses (void) /***** Start form *****/ Act_FormStart (ActSeeAccGbl); fprintf (Gbl.F.Out,"
" - ""); + "
"); /***** 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,"" "" + "
" - "" + "
" ""); /* 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,"
" + fprintf (Gbl.F.Out,"
" "" "", (GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2,(GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2); diff --git a/swad_string.c b/swad_string.c index 47ac171f5..8e3b91a25 100644 --- a/swad_string.c +++ b/swad_string.c @@ -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; diff --git a/swad_survey.c b/swad_survey.c index a5907e475..9910cfeb4 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -27,7 +27,6 @@ #include // For PATH_MAX #include // For NULL -#include // For setlocale, LC_NUMERIC... #include // For calloc #include // 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,"
0
"); + fprintf (Gbl.F.Out,"
" + ""); /***** Put form to remove survey *****/ fprintf (Gbl.F.Out,"
"); @@ -770,7 +770,8 @@ static void Svy_PutFormsToRemEditOneSvy (long SvyCod,bool Visible) Txt_Edit, Txt_Edit); - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out,"
"); } /*****************************************************************************/ @@ -1610,7 +1611,7 @@ void Svy_RequestCreatOrEditSvy (void) fprintf (Gbl.F.Out,"
%s:" - "" + "
" "" "" "" "
", Dates[StartOrEndTime]); @@ -2459,7 +2460,7 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,ch fprintf (Gbl.F.Out,"
" - ""); + "
"); 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,"" "
"); Lay_WriteTitle (Txt_Survey_questions); - fprintf (Gbl.F.Out,""); + fprintf (Gbl.F.Out,"
"); 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,"
"); + fprintf (Gbl.F.Out,"
"); for (NumAns = 0; NumAns < NumAnswers; NumAns++) diff --git a/swad_syllabus.c b/swad_syllabus.c index 81e4fc4ed..2acebc0f7 100644 --- a/swad_syllabus.c +++ b/swad_syllabus.c @@ -146,7 +146,7 @@ void Syl_EditSyllabus (void) Lay_StartRoundFrameTable10 (NULL,0,Txt_INFO_TITLE[InfoType]); fprintf (Gbl.F.Out,"" "" "" "
" - ""); + "
"); /***** Write the current syllabus *****/ Syl_ShowSyllabus (InfoType); diff --git a/swad_test.c b/swad_test.c index 595433806..a0802c5bd 100644 --- a/swad_test.c +++ b/swad_test.c @@ -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,"
"); + fprintf (Gbl.F.Out,"
"); Dat_WriteFormIniEndDates (); fprintf (Gbl.F.Out,"
"); @@ -1593,7 +1593,7 @@ static void Tst_ShowFormConfigTst (void) fprintf (Gbl.F.Out,"
%s:" - "", + "
", 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,"", @@ -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,"
%lu
"); + fprintf (Gbl.F.Out,"
"); 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,"
"); + fprintf (Gbl.F.Out,"
" + ""); Tst_WriteHeadUserCorrect (); fprintf (Gbl.F.Out,""); @@ -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,"
"); + fprintf (Gbl.F.Out,"
"); /***** 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,"
" + fprintf (Gbl.F.Out,"
" ""); Tst_WriteHeadUserCorrect (); fprintf (Gbl.F.Out,"" @@ -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,"
" + fprintf (Gbl.F.Out,"
" ""); Tst_WriteHeadUserCorrect (); fprintf (Gbl.F.Out,""); @@ -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,"
" - ""); + "
"); 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,"
" + fprintf (Gbl.F.Out,"
" ""); Tst_WriteHeadUserCorrect (); fprintf (Gbl.F.Out,""); @@ -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,"
" + fprintf (Gbl.F.Out,"
" ""); Tst_WriteHeadUserCorrect (); fprintf (Gbl.F.Out,""); @@ -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,"
"); + fprintf (Gbl.F.Out,"
"); for (NumRow = 0; NumRow < NumRows; NumRow++) @@ -4105,7 +4106,7 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback) fprintf (Gbl.F.Out,"" "" "
%s:" - "", + "
", 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,"" "" "
" - "" + "
" "" "" "
" "" "" - "" + "
" "" "" "" @@ -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,"
" - "
%s
" + "
" "" "
"); @@ -5787,7 +5788,7 @@ void Tst_SelDatesToSeeMyTstExams (void) /***** Starting and ending dates in the search *****/ fprintf (Gbl.F.Out,"
" - ""); + "
"); Dat_WriteFormIniEndDates (); fprintf (Gbl.F.Out,"
" "
"); @@ -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,"
", @@ -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"); } diff --git a/swad_test_import.c b/swad_test_import.c index 40221d80b..7e9c2d7dd 100644 --- a/swad_test_import.c +++ b/swad_test_import.c @@ -1028,7 +1028,7 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem, if (Gbl.Test.NumTags) { /***** Write the tags *****/ - fprintf (Gbl.F.Out,""); + fprintf (Gbl.F.Out,"
"); 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,"
"); + fprintf (Gbl.F.Out,"
"); for (NumOpt = 0; NumOpt < Gbl.Test.Answer.NumOptions; NumOpt++) diff --git a/swad_theme.c b/swad_theme.c index 123a73ca8..25b748f7b 100644 --- a/swad_theme.c +++ b/swad_theme.c @@ -232,7 +232,7 @@ void The_PutIconsToSelectTheme (void) { The_Theme_t Theme; - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"
" ""); for (Theme = (The_Theme_t) 0; Theme < The_NUM_THEMES; diff --git a/swad_timetable.c b/swad_timetable.c index c5083c8c2..c3c791aa5 100644 --- a/swad_timetable.c +++ b/swad_timetable.c @@ -779,8 +779,7 @@ static void TT_DrawTimeTable (void) } /***** Table start *****/ - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out,"
"); /***** Top row used for column adjustement *****/ TT_TimeTableDrawAdjustRow (); diff --git a/swad_user.c b/swad_user.c index fd2c2f3cb..7a636966c 100644 --- a/swad_user.c +++ b/swad_user.c @@ -5071,7 +5071,7 @@ void Usr_ListAllDataGsts (void) /***** Start table with list of guests *****/ /* Start row */ - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"
" ""); /* 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,"
"); + fprintf (Gbl.F.Out,"
"); if (!Gbl.Usrs.ClassPhoto.AllGroups) { fprintf (Gbl.F.Out,"" @@ -5431,7 +5431,7 @@ void Usr_ListAllDataTchs (void) /***** Start table with list of teachers *****/ /* Start row */ - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"
" ""); for (NumCol = (Gbl.Usrs.Listing.WithPhotos ? 0 : 1); diff --git a/swad_zip.c b/swad_zip.c index 8806a94df..e24df035f 100644 --- a/swad_zip.c +++ b/swad_zip.c @@ -532,7 +532,7 @@ static void ZIP_ShowLinkToDownloadZIP (const char *FileName,const char *URL, Lay_StartRoundFrameTable10Shadow (NULL,0); fprintf (Gbl.F.Out,"" "
" - ""); + "
"); /***** Link to download the file *****/ fprintf (Gbl.F.Out,""