From ddd08117d395bbd6c4c09acfb287f1b7570f8c58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Fri, 4 Oct 2019 20:43:43 +0200 Subject: [PATCH] Version19.31.4 --- swad_ID.c | 14 +-- swad_changelog.h | 3 +- swad_exam.c | 65 ++++++------ swad_figure.c | 254 ++++++++++++++++++++++---------------------- swad_file_browser.c | 64 +++++------ swad_follow.c | 4 +- swad_forum.c | 24 ++--- swad_game.c | 16 +-- swad_group.c | 44 ++++---- swad_help.c | 8 +- swad_hierarchy.c | 20 ++-- swad_holiday.c | 24 ++--- swad_indicator.c | 60 +++++------ 13 files changed, 302 insertions(+), 298 deletions(-) diff --git a/swad_ID.c b/swad_ID.c index 095cc81d9..c5f85ee9a 100644 --- a/swad_ID.c +++ b/swad_ID.c @@ -664,8 +664,10 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat, UsrDat->IDs.List[NumID].Confirmed ? "✓" : ""); if (NumID == UsrDat->IDs.Num - 1) - fprintf (Gbl.F.Out,"" - ""); + { + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); + } } if (UsrDat->IDs.Num < ID_MAX_IDS_PER_USER) @@ -674,8 +676,8 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat, Tbl_StartRow (); fprintf (Gbl.F.Out,""); Ale_ShowAlert (Ale_INFO,Txt_The_ID_is_used_in_order_to_facilitate_); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Form to enter new user's ID *****/ Tbl_StartRow (); @@ -714,8 +716,8 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat, ""); // Show the most recent ID Btn_PutCreateButtonInline (Txt_Add_this_ID); Frm_EndForm (); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); } /***** End table *****/ diff --git a/swad_changelog.h b/swad_changelog.h index 44f3d099e..caa6b5fe3 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -487,12 +487,13 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - * En OpenSWAD: ps2pdf source.ps destination.pdf */ -#define Log_PLATFORM_VERSION "SWAD 19.31.3 (2019-10-04)" +#define Log_PLATFORM_VERSION "SWAD 19.31.4 (2019-10-04)" #define CSS_FILE "swad19.29.css" #define JS_FILE "swad19.30.js" /* // TODO: Perico: poner un candado de bloqueo de creación/edición de proyectos (por ejemplo en asignaturas obsoletas) + Version 19.31.4: Oct 04, 2019 Code refactoring in HTML tables. (247043 lines) Version 19.31.3: Oct 04, 2019 Code refactoring in HTML tables. (247039 lines) Version 19.31.2: Oct 04, 2019 Fixed bug while removing the matches of a course, reported by Pedro A. García Sánchez. Fixed bug in degree logo. (247038 lines) diff --git a/swad_exam.c b/swad_exam.c index 3e610bf38..07d900830 100644 --- a/swad_exam.c +++ b/swad_exam.c @@ -1053,11 +1053,11 @@ static void Exa_ShowExamAnnouncement (long ExaCod, Ins.WWW,StyleTitle); Log_DrawLogo (Hie_INS,Ins.InsCod,Ins.FullName,64,NULL,true); fprintf (Gbl.F.Out,"
%s%s" - "" - "", + "", Ins.FullName, TypeViewExamAnnouncement == Exa_PRINT_VIEW ? "" : ""); + Tbl_EndRow (); /***** Degree *****/ Tbl_StartRow (); @@ -1069,23 +1069,24 @@ static void Exa_ShowExamAnnouncement (long ExaCod, fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.FullName); if (TypeViewExamAnnouncement == Exa_NORMAL_VIEW) fprintf (Gbl.F.Out,""); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Title *****/ Tbl_StartRow (); fprintf (Gbl.F.Out,"" " 
" "%s" - "" - "", + "", StyleNormal,Txt_EXAM_ANNOUNCEMENT); + Tbl_EndRow (); + Tbl_StartRow (); fprintf (Gbl.F.Out,"" " " - "" - "", + "", StyleNormal); + Tbl_EndRow (); /***** Name of the course *****/ Tbl_StartRow (); @@ -1105,8 +1106,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod, else fprintf (Gbl.F.Out,"%s", Gbl.ExamAnns.ExaDat.CrsFullName); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Year/semester (N.A., 1º, 2º, 3º, 4º, 5º...) *****/ Tbl_StartRow (); @@ -1137,8 +1138,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod, else fprintf (Gbl.F.Out,"%s", Txt_YEAR_OF_DEGREE[Gbl.ExamAnns.ExaDat.Year]); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Exam session *****/ Tbl_StartRow (); @@ -1156,8 +1157,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod, Exa_MAX_CHARS_SESSION,Gbl.ExamAnns.ExaDat.Session); else fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Session); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Date of the exam *****/ Tbl_StartRow (); @@ -1230,8 +1231,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod, fprintf (Gbl.F.Out,"%2u:%02u", Gbl.ExamAnns.ExaDat.StartTime.Hour, Gbl.ExamAnns.ExaDat.StartTime.Minute); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Approximate duration of the exam *****/ Tbl_StartRow (); @@ -1296,8 +1297,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod, Gbl.ExamAnns.ExaDat.Duration.Minute,Txt_minutes); } } - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Place where the exam will be made *****/ Tbl_StartRow (); @@ -1321,8 +1322,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod, Cns_MAX_BYTES_TEXT,false); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Place); } - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Exam mode *****/ Tbl_StartRow (); @@ -1346,8 +1347,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod, Cns_MAX_BYTES_TEXT,false); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Mode); } - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Structure of the exam *****/ Tbl_StartRow (); @@ -1371,8 +1372,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod, Cns_MAX_BYTES_TEXT,false); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Structure); } - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Documentation required *****/ Tbl_StartRow (); @@ -1396,8 +1397,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod, Cns_MAX_BYTES_TEXT,false); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.DocRequired); } - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Material required *****/ Tbl_StartRow (); @@ -1421,8 +1422,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod, Cns_MAX_BYTES_TEXT,false); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.MatRequired); } - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Material allowed *****/ Tbl_StartRow (); @@ -1446,8 +1447,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod, Cns_MAX_BYTES_TEXT,false); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.MatAllowed); } - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Other information to students *****/ Tbl_StartRow (); @@ -1470,8 +1471,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod, Cns_MAX_BYTES_TEXT,false); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.OtherInfo); } - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** End table, send button and end box *****/ if (TypeViewExamAnnouncement == Exa_FORM_VIEW) diff --git a/swad_figure.c b/swad_figure.c index f595bbb37..26996e5d8 100644 --- a/swad_figure.c +++ b/swad_figure.c @@ -383,12 +383,12 @@ static void Fig_GetAndShowUsersStats (void) "" "" "%s" - "" - "", + "", Txt_Users, Txt_No_of_users, Txt_Average_number_of_courses_to_which_a_user_belongs, Txt_Average_number_of_users_belonging_to_a_course); + Tbl_EndRow (); Fig_GetAndShowNumUsrsInCrss (Rol_STD); // Students Fig_GetAndShowNumUsrsInCrss (Rol_NET); // Non-editing teachers @@ -396,7 +396,8 @@ static void Fig_GetAndShowUsersStats (void) Fig_GetAndShowNumUsrsInCrss (Rol_UNK); // Any user in courses Tbl_StartRow (); fprintf (Gbl.F.Out,"" - ""); + ""); + Tbl_EndRow (); Fig_GetAndShowNumUsrsNotBelongingToAnyCrs (); // Users not beloging to any course /***** End table and box *****/ @@ -445,13 +446,13 @@ static void Fig_GetAndShowNumUsrsInCrss (Rol_Role_t Role) "" "" "%.2f" - "" - "", + "", Class,(Role == Rol_UNK) ? Txt_Total : Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN], Class,NumUsrs, Class,NumCrssPerUsr, Class,NumUsrsPerCrs); + Tbl_EndRow (); } /*****************************************************************************/ @@ -476,12 +477,12 @@ static void Fig_GetAndShowNumUsrsNotBelongingToAnyCrs (void) "" "" "%.2f" - "" - "", + "", Class,Txt_ROLES_PLURAL_Abc[Rol_GST][Usr_SEX_UNKNOWN], Class,Usr_GetNumUsrsNotBelongingToAnyCrs (), Class,0.0, Class,0.0); + Tbl_EndRow (); } /*****************************************************************************/ @@ -526,8 +527,7 @@ static void Fig_GetAndShowUsersRanking (void) "" "" "%s" - "" - "", + "", Txt_Clicks, Txt_Clicks_per_day, Txt_Timeline, @@ -535,6 +535,7 @@ static void Fig_GetAndShowUsersRanking (void) Txt_Downloads, Txt_Forums, Txt_Messages); + Tbl_EndRow (); /***** Rankings *****/ Tbl_StartRow (); @@ -558,8 +559,8 @@ static void Fig_GetAndShowUsersRanking (void) fprintf (Gbl.F.Out,"" ""); Prf_GetAndShowRankingMsgSnt (); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** End table and box *****/ Box_EndBoxTable (); @@ -643,13 +644,13 @@ static void Fig_WriteHeadHierarchy (void) " class=\"CONTEXT_ICO_x16\" />" "
" "%s" - "" - "", + "", Cfg_URL_ICON_PUBLIC,Txt_Countries ,Txt_Countries ,Txt_Countries, Cfg_URL_ICON_PUBLIC,Txt_Institutions,Txt_Institutions,Txt_Institutions, Cfg_URL_ICON_PUBLIC,Txt_Centres ,Txt_Centres ,Txt_Centres, Cfg_URL_ICON_PUBLIC,Txt_Degrees ,Txt_Degrees ,Txt_Degrees, Cfg_URL_ICON_PUBLIC,Txt_Courses ,Txt_Courses ,Txt_Courses); + Tbl_EndRow (); } /*****************************************************************************/ @@ -1475,10 +1476,10 @@ static void Fig_ShowInss (MYSQL_RES **mysql_res,unsigned NumInss, "" "" "%s" - "" - "", + "", Txt_Institution, TxtFigure); + Tbl_EndRow (); for (NumIns = 1, NumOrder = 1, NumberLastRow = 0; NumIns <= NumInss; @@ -1518,9 +1519,9 @@ static void Fig_ShowInss (MYSQL_RES **mysql_res,unsigned NumInss, /***** Write statistic *****/ fprintf (Gbl.F.Out,"" "%u" - "" - "", + "", NumberThisRow); + Tbl_EndRow (); NumberLastRow = NumberThisRow; } @@ -2523,8 +2524,7 @@ static void Fig_WriteStatsExpTreesTableHead1 (void) "" "" "%s" - "" - "", + "", Txt_File_zones, Txt_Courses, Txt_Groups, @@ -2533,6 +2533,7 @@ static void Fig_WriteStatsExpTreesTableHead1 (void) Txt_Folders, Txt_Files, Txt_Size); + Tbl_EndRow (); } static void Fig_WriteStatsExpTreesTableHead2 (void) @@ -2555,12 +2556,12 @@ static void Fig_WriteStatsExpTreesTableHead2 (void) "" "" "%s/
%s" - "" - "", + "", Txt_File_zones, Txt_Folders,Txt_course, Txt_Files,Txt_course, Txt_Size,Txt_course); + Tbl_EndRow (); } static void Fig_WriteStatsExpTreesTableHead3 (void) @@ -2583,12 +2584,12 @@ static void Fig_WriteStatsExpTreesTableHead3 (void) "" "" "%s/
%s" - "" - "", + "", Txt_File_zones, Txt_Folders,Txt_user[Usr_SEX_UNKNOWN], Txt_Files,Txt_user[Usr_SEX_UNKNOWN], Txt_Size,Txt_user[Usr_SEX_UNKNOWN]); + Tbl_EndRow (); } /*****************************************************************************/ @@ -2656,8 +2657,7 @@ static void Fig_WriteRowStatsFileBrowsers1 (const char *NameOfFileZones, "" "" "%s" - "" - "", + "", Class,NameOfFileZones, Class,StrNumCrss, Class,StrNumGrps, @@ -2666,9 +2666,9 @@ static void Fig_WriteRowStatsFileBrowsers1 (const char *NameOfFileZones, Class,SizeOfFileZones->NumFolders, Class,SizeOfFileZones->NumFiles, Class,FileSizeStr); + Tbl_EndRow (); } - static void Fig_WriteRowStatsFileBrowsers2 (const char *NameOfFileZones, Brw_FileBrowser_t FileZone, struct Fig_SizeOfFileZones *SizeOfFileZones) @@ -2718,15 +2718,14 @@ static void Fig_WriteRowStatsFileBrowsers2 (const char *NameOfFileZones, "" "" "%s" - "" - "", + "", Class,NameOfFileZones, Class,StrNumFoldersPerCrs, Class,StrNumFilesPerCrs, Class,FileSizePerCrsStr); + Tbl_EndRow (); } - static void Fig_WriteRowStatsFileBrowsers3 (const char *NameOfFileZones, Brw_FileBrowser_t FileZone, struct Fig_SizeOfFileZones *SizeOfFileZones) @@ -2776,12 +2775,12 @@ static void Fig_WriteRowStatsFileBrowsers3 (const char *NameOfFileZones, "" "" "%s" - "" - "", + "", Class,NameOfFileZones, Class,StrNumFoldersPerUsr, Class,StrNumFilesPerUsr, Class,FileSizePerUsrStr); + Tbl_EndRow (); } /*****************************************************************************/ @@ -2813,11 +2812,11 @@ static void Fig_GetAndShowOERsStats (void) "" "" "%s" - "" - "", + "", Txt_License, Txt_No_of_private_files, Txt_No_of_public_files); + Tbl_EndRow (); for (License = 0; License < Brw_NUM_LICENSES; @@ -2834,11 +2833,11 @@ static void Fig_GetAndShowOERsStats (void) "" "" "%lu" - "" - "", + "", Txt_LICENSES[License], NumFiles[0], NumFiles[1]); + Tbl_EndRow (); } /***** End table and box *****/ @@ -3016,12 +3015,12 @@ static void Fig_GetAndShowAssignmentsStats (void) "" "" "%s" - "" - "", + "", Txt_Number_of_BR_assignments, Txt_Number_of_BR_courses_with_BR_assignments, Txt_Average_number_BR_of_ASSIG_BR_per_course, Txt_Number_of_BR_notifications); + Tbl_EndRow (); /***** Write number of assignments *****/ Tbl_StartRow (); @@ -3036,12 +3035,12 @@ static void Fig_GetAndShowAssignmentsStats (void) "" "" "%u" - "" - "", + "", NumAssignments, NumCoursesWithAssignments, NumAssignmentsPerCourse, NumNotif); + Tbl_EndRow (); /***** End table and box *****/ Box_EndBoxTable (); @@ -3081,11 +3080,11 @@ static void Fig_GetAndShowProjectsStats (void) "" "" "%s" - "" - "", + "", Txt_Number_of_BR_projects, Txt_Number_of_BR_courses_with_BR_projects, Txt_Average_number_BR_of_projects_BR_per_course); + Tbl_EndRow (); /***** Write number of projects *****/ Tbl_StartRow (); @@ -3097,11 +3096,11 @@ static void Fig_GetAndShowProjectsStats (void) "" "" "%.2f" - "" - "", + "", NumProjects, NumCoursesWithProjects, NumProjectsPerCourse); + Tbl_EndRow (); /***** End table and box *****/ Box_EndBoxTable (); @@ -3161,8 +3160,7 @@ static void Fig_GetAndShowTestsStats (void) "" "" "%s" - "" - "", + "", Txt_Type_of_BR_answers, Txt_Number_of_BR_courses_BR_with_test_BR_questions, Txt_Number_of_BR_courses_with_BR_exportable_BR_test_BR_questions, @@ -3172,6 +3170,7 @@ static void Fig_GetAndShowTestsStats (void) Txt_Average_BR_number_of_BR_times_that_BR_questions_BR_have_been_BR_responded_BR_per_course, Txt_Average_BR_number_of_BR_times_that_BR_a_question_BR_has_been_BR_responded, Txt_Average_BR_score_BR_per_question_BR_from_0_to_1); + Tbl_EndRow (); for (AnsType = (Tst_AnswerType_t) 0; AnsType < Tst_NUM_ANS_TYPES; @@ -3208,8 +3207,7 @@ static void Fig_GetAndShowTestsStats (void) "" "" "%.2f" - "" - "", + "", Txt_TST_STR_ANSWER_TYPES[AnsType], Stats.NumCoursesWithQuestions, Stats.NumCoursesWithPluggableQuestions, @@ -3222,6 +3220,7 @@ static void Fig_GetAndShowTestsStats (void) Stats.AvgHitsPerCourse, Stats.AvgHitsPerQuestion, Stats.AvgScorePerQuestion); + Tbl_EndRow (); } /***** Get the stats about test questions from this location *****/ @@ -3255,8 +3254,7 @@ static void Fig_GetAndShowTestsStats (void) "" "" "%.2f" - "" - "", + "", Txt_Total, Stats.NumCoursesWithQuestions, Stats.NumCoursesWithPluggableQuestions, @@ -3269,6 +3267,7 @@ static void Fig_GetAndShowTestsStats (void) Stats.AvgHitsPerCourse, Stats.AvgHitsPerQuestion, Stats.AvgScorePerQuestion); + Tbl_EndRow (); /***** End table and box *****/ Box_EndBoxTable (); @@ -3308,11 +3307,11 @@ static void Fig_GetAndShowGamesStats (void) "" "" "%s" - "" - "", + "", Txt_Number_of_BR_games, Txt_Number_of_BR_courses_with_BR_games, Txt_Average_number_BR_of_games_BR_per_course); + Tbl_EndRow (); /***** Write number of games *****/ Tbl_StartRow (); @@ -3324,11 +3323,11 @@ static void Fig_GetAndShowGamesStats (void) "" "" "%.2f" - "" - "", + "", NumGames, NumCoursesWithGames, NumGamesPerCourse); + Tbl_EndRow (); /***** End table and box *****/ Box_EndBoxTable (); @@ -3377,13 +3376,13 @@ static void Fig_GetAndShowSocialActivityStats (void) "" "" "%s" - "" - "", + "", Txt_Type, Txt_No_of_social_posts, Txt_No_of_users, Txt_PERCENT_of_users, Txt_No_of_posts_BR_per_user); + Tbl_EndRow (); /***** Get total number of users *****/ NumUsrsTotal = (Gbl.Scope.Current == Hie_SYS) ? Usr_GetTotalNumberOfUsersInPlatform () : @@ -3514,8 +3513,7 @@ static void Fig_GetAndShowSocialActivityStats (void) "" "" "%.2f" - "" - "", + "", Txt_TIMELINE_NOTE[NoteType], NumSocialNotes, NumUsrs, @@ -3523,6 +3521,7 @@ static void Fig_GetAndShowSocialActivityStats (void) 0.0, NumUsrs ? (float) NumSocialNotes / (float) NumUsrs : 0.0); + Tbl_EndRow (); } /***** Get and write totals *****/ @@ -3632,8 +3631,7 @@ static void Fig_GetAndShowSocialActivityStats (void) "" "" "%.2f" - "" - "", + "", Txt_Total, NumSocialNotes, NumUsrs, @@ -3641,6 +3639,7 @@ static void Fig_GetAndShowSocialActivityStats (void) 0.0, NumUsrs ? (float) NumSocialNotes / (float) NumUsrs : 0.0); + Tbl_EndRow (); /***** End table and box *****/ Box_EndBoxTable (); @@ -3686,11 +3685,11 @@ static void Fig_GetAndShowFollowStats (void) "" "" "%s" - "" - "", + "", Txt_Users, Txt_No_of_users, Txt_PERCENT_of_users); + Tbl_EndRow (); /***** Get total number of users *****/ NumUsrsTotal = (Gbl.Scope.Current == Hie_SYS) ? Usr_GetTotalNumberOfUsersInPlatform () : @@ -3799,14 +3798,14 @@ static void Fig_GetAndShowFollowStats (void) "" "" "%5.2f%%" - "" - "", + "", Fol == 0 ? Txt_Followed : Txt_Followers, NumUsrs, NumUsrsTotal ? (float) NumUsrs * 100.0 / (float) NumUsrsTotal : 0.0); + Tbl_EndRow (); } /***** Write number of followed/followers per follower/followed *****/ @@ -3927,10 +3926,10 @@ static void Fig_GetAndShowFollowStats (void) "%5.2f" "" "" - "" - "", + "", Txt_FollowPerFollow[Fol], Average); + Tbl_EndRow (); } /***** End table and box *****/ @@ -3996,8 +3995,7 @@ static void Fig_GetAndShowForumStats (void) "" "" "%s" - "" - "", + "", Cfg_URL_ICON_PUBLIC, Txt_Scope, Txt_Scope, @@ -4009,6 +4007,7 @@ static void Fig_GetAndShowForumStats (void) Txt_No_of_threads_BR_per_forum, Txt_No_of_posts_BR_per_thread, Txt_No_of_posts_BR_per_forum); + Tbl_EndRow (); /***** Write a row for each type of forum *****/ switch (Gbl.Scope.Current) @@ -4224,14 +4223,14 @@ static void Fig_WriteForumTitleAndStats (For_ForumType_t ForumType, "" "" "%.2f" - "" - "", + "", Cfg_URL_ICON_PUBLIC,Icon, ForumName1,ForumName2, ForumName1,ForumName2, ForumName1,ForumName2, NumForums,NumThreads,NumPosts,NumUsrsToBeNotifiedByEMail, NumThrsPerForum,NumPostsPerThread,NumPostsPerForum); + Tbl_EndRow (); } /*****************************************************************************/ @@ -4280,8 +4279,7 @@ static void Fig_WriteForumTotalStats (struct Fig_FiguresForum *FiguresForum) "" "" "%.2f" - "" - "", + "", Txt_Total, FiguresForum->NumForums, FiguresForum->NumThreads, @@ -4290,6 +4288,7 @@ static void Fig_WriteForumTotalStats (struct Fig_FiguresForum *FiguresForum) NumThrsPerForum, NumPostsPerThread, NumPostsPerForum); + Tbl_EndRow (); } /*****************************************************************************/ @@ -4339,13 +4338,13 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void) "" "" "%s" - "" - "", + "", Txt_Event, Txt_No_of_users, Txt_PERCENT_of_users, Txt_Number_of_BR_events, Txt_Number_of_BR_emails); + Tbl_EndRow (); /***** Get total number of users *****/ NumUsrsTotal = (Gbl.Scope.Current == Hie_SYS) ? Usr_GetTotalNumberOfUsersInPlatform () : @@ -4486,8 +4485,7 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void) "" "" "%u" - "" - "", + "", Txt_NOTIFY_EVENTS_PLURAL[NotifyEvent], NumUsrs[NotifyEvent], NumUsrsTotal ? (float) NumUsrs[NotifyEvent] * 100.0 / @@ -4495,6 +4493,7 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void) 0.0, NumEvents[NotifyEvent], NumMails[NotifyEvent]); + Tbl_EndRow (); } /***** Write total number of users who want to be notified by email on some event *****/ @@ -4513,8 +4512,7 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void) "" "" "%u" - "" - "", + "", Txt_Total, NumUsrsTotalWhoWantToBeNotifiedByEMailAboutSomeEvent, NumUsrsTotal ? (float) NumUsrsTotalWhoWantToBeNotifiedByEMailAboutSomeEvent * 100.0 / @@ -4522,6 +4520,7 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void) 0.0, NumEventsTotal, NumMailsTotal); + Tbl_EndRow (); /***** End table and box *****/ Box_EndBoxTable (); @@ -4580,13 +4579,13 @@ static void Fig_GetAndShowNoticesStats (void) "" "" "%s" - "" - "", + "", Txt_NOTICE_Active_BR_notices, Txt_NOTICE_Obsolete_BR_notices, Txt_NOTICE_Deleted_BR_notices, Txt_Total, Txt_Number_of_BR_notifications); + Tbl_EndRow (); /***** Write number of notices *****/ Tbl_StartRow (); @@ -4604,13 +4603,13 @@ static void Fig_GetAndShowNoticesStats (void) "" "" "%u" - "" - "", + "", NumNotices[Not_ACTIVE_NOTICE], NumNotices[Not_OBSOLETE_NOTICE], NumNoticesDeleted, NumTotalNotices, NumTotalNotifications); + Tbl_EndRow (); /***** End table and box *****/ Box_EndBoxTable (); @@ -4663,13 +4662,13 @@ static void Fig_GetAndShowMsgsStats (void) "" "" "%s" - "" - "", + "", Txt_Messages, Txt_MSGS_Not_deleted, Txt_MSGS_Deleted, Txt_Total, Txt_Number_of_BR_notifications); + Tbl_EndRow (); /***** Write number of messages *****/ Tbl_StartRow (); @@ -4687,12 +4686,12 @@ static void Fig_GetAndShowMsgsStats (void) "" "" "-" - "" - "", + "", Txt_MSGS_Sent, NumMsgsSentNotDeleted, NumMsgsSentDeleted, NumMsgsSentNotDeleted + NumMsgsSentDeleted); + Tbl_EndRow (); Tbl_StartRow (); fprintf (Gbl.F.Out,"" @@ -4709,14 +4708,13 @@ static void Fig_GetAndShowMsgsStats (void) "" "" "%u" - "" - "", - + "", Txt_MSGS_Received, NumMsgsReceivedNotDeleted, NumMsgsReceivedAndDeleted, NumMsgsReceivedNotDeleted + NumMsgsReceivedAndDeleted, NumMsgsReceivedAndNotified); + Tbl_EndRow (); /***** End table and box *****/ Box_EndBoxTable (); @@ -4769,13 +4767,13 @@ static void Fig_GetAndShowSurveysStats (void) "" "" "%s" - "" - "", + "", Txt_Number_of_BR_surveys, Txt_Number_of_BR_courses_with_BR_surveys, Txt_Average_number_BR_of_surveys_BR_per_course, Txt_Average_number_BR_of_questions_BR_per_survey, Txt_Number_of_BR_notifications); + Tbl_EndRow (); /***** Write number of surveys *****/ Tbl_StartRow (); @@ -4793,13 +4791,13 @@ static void Fig_GetAndShowSurveysStats (void) "" "" "%u" - "" - "", + "", NumSurveys, NumCoursesWithSurveys, NumSurveysPerCourse, NumQstsPerSurvey, NumNotif); + Tbl_EndRow (); /***** End table and box *****/ Box_EndBoxTable (); @@ -4865,11 +4863,11 @@ static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject, "" "" "%s" - "" - "", + "", TxtObject, Txt_No_of_users, Txt_PERCENT_of_users); + Tbl_EndRow (); /***** For each privacy option... *****/ for (Visibility = (Pri_Visibility_t) 0; @@ -4903,12 +4901,12 @@ static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject, "" "" "%5.2f%%" - "" - "", + "", Txt_PRIVACY_OPTIONS[Visibility],NumUsrs[Visibility], NumUsrsTotal ? (float) NumUsrs[Visibility] * 100.0 / (float) NumUsrsTotal : 0); + Tbl_EndRow (); } } @@ -4958,11 +4956,11 @@ static void Fig_GetAndShowNumUsrsPerCookies (void) "" "" "%s" - "" - "", + "", Txt_Cookies, Txt_No_of_users, Txt_PERCENT_of_users); + Tbl_EndRow (); /***** For each option... *****/ for (i = 0; @@ -4994,14 +4992,14 @@ static void Fig_GetAndShowNumUsrsPerCookies (void) "" "" "%5.2f%%" - "" - "", + "", AcceptedClass[i], AcceptedSymbol[i], NumUsrs[i], NumUsrsTotal ? (float) NumUsrs[i] * 100.0 / (float) NumUsrsTotal : 0); + Tbl_EndRow (); } /***** End table and box *****/ @@ -5040,11 +5038,11 @@ static void Fig_GetAndShowNumUsrsPerLanguage (void) "" "" "%s" - "" - "", + "", Txt_Language, Txt_No_of_users, Txt_PERCENT_of_users); + Tbl_EndRow (); /***** For each language... *****/ for (Lan = (Lan_Language_t) 1; @@ -5076,12 +5074,12 @@ static void Fig_GetAndShowNumUsrsPerLanguage (void) "" "" "%5.2f%%" - "" - "", + "", Txt_STR_LANG_NAME[Lan],NumUsrs[Lan], NumUsrsTotal ? (float) NumUsrs[Lan] * 100.0 / (float) NumUsrsTotal : 0); + Tbl_EndRow (); } /***** End table and box *****/ @@ -5121,11 +5119,11 @@ static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void) "" "" "%s" - "" - "", + "", Txt_Calendar, Txt_No_of_users, Txt_PERCENT_of_users); + Tbl_EndRow (); /***** For each day... *****/ for (FirstDayOfWeek = 0; // Monday @@ -5161,8 +5159,7 @@ static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void) "" "" "%5.2f%%" - "" - "", + "", Cfg_URL_ICON_PUBLIC,FirstDayOfWeek, Txt_DAYS_SMALL[FirstDayOfWeek], Txt_First_day_of_the_week,Txt_DAYS_SMALL[FirstDayOfWeek], @@ -5170,6 +5167,7 @@ static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void) NumUsrsTotal ? (float) NumUsrs[FirstDayOfWeek] * 100.0 / (float) NumUsrsTotal : 0); + Tbl_EndRow (); } /***** End table and box *****/ @@ -5206,11 +5204,11 @@ static void Fig_GetAndShowNumUsrsPerDateFormat (void) "" "" "%s" - "" - "", + "", Txt_Format, Txt_No_of_users, Txt_PERCENT_of_users); + Tbl_EndRow (); /***** For each format... *****/ for (Format = (Dat_Format_t) 0; @@ -5243,12 +5241,12 @@ static void Fig_GetAndShowNumUsrsPerDateFormat (void) "" "" "%5.2f%%" - "" - "", + "", NumUsrs[Format], NumUsrsTotal ? (float) NumUsrs[Format] * 100.0 / (float) NumUsrsTotal : 0); + Tbl_EndRow (); } /***** End table and box *****/ @@ -5287,11 +5285,11 @@ static void Fig_GetAndShowNumUsrsPerIconSet (void) "" "" "%s" - "" - "", + "", Txt_Icons, Txt_No_of_users, Txt_PERCENT_of_users); + Tbl_EndRow (); /***** For each icon set... *****/ for (IconSet = (Ico_IconSet_t) 0; @@ -5325,8 +5323,7 @@ static void Fig_GetAndShowNumUsrsPerIconSet (void) "" "" "%5.2f%%" - "" - "", + "", Cfg_URL_ICON_SETS_PUBLIC, Ico_IconSetId[IconSet], Ico_IconSetNames[IconSet], @@ -5335,6 +5332,7 @@ static void Fig_GetAndShowNumUsrsPerIconSet (void) NumUsrsTotal ? (float) NumUsrs[IconSet] * 100.0 / (float) NumUsrsTotal : 0); + Tbl_EndRow (); } /***** End table and box *****/ @@ -5373,11 +5371,11 @@ static void Fig_GetAndShowNumUsrsPerMenu (void) "" "" "%s" - "" - "", + "", Txt_Menu, Txt_No_of_users, Txt_PERCENT_of_users); + Tbl_EndRow (); /***** For each menu... *****/ for (Menu = (Mnu_Menu_t) 0; @@ -5411,8 +5409,7 @@ static void Fig_GetAndShowNumUsrsPerMenu (void) "" "" "%5.2f%%" - "" - "", + "", Cfg_URL_ICON_PUBLIC,Mnu_MenuIcons[Menu], Txt_MENU_NAMES[Menu], Txt_MENU_NAMES[Menu], @@ -5420,6 +5417,7 @@ static void Fig_GetAndShowNumUsrsPerMenu (void) NumUsrsTotal ? (float) NumUsrs[Menu] * 100.0 / (float) NumUsrsTotal : 0); + Tbl_EndRow (); } /***** End table and box *****/ @@ -5458,11 +5456,11 @@ static void Fig_GetAndShowNumUsrsPerTheme (void) "" "" "%s" - "" - "", + "", Txt_Theme_SKIN, Txt_No_of_users, Txt_PERCENT_of_users); + Tbl_EndRow (); /***** For each theme... *****/ for (Theme = (The_Theme_t) 0; @@ -5496,8 +5494,7 @@ static void Fig_GetAndShowNumUsrsPerTheme (void) "" "" "%5.2f%%" - "" - "", + "", Cfg_URL_ICON_THEMES_PUBLIC,The_ThemeId[Theme], The_ThemeNames[Theme], The_ThemeNames[Theme], @@ -5505,6 +5502,7 @@ static void Fig_GetAndShowNumUsrsPerTheme (void) NumUsrsTotal ? (float) NumUsrs[Theme] * 100.0 / (float) NumUsrsTotal : 0); + Tbl_EndRow (); } /***** End table and box *****/ @@ -5542,11 +5540,11 @@ static void Fig_GetAndShowNumUsrsPerSideColumns (void) "" "" "%s" - "" - "", + "", Txt_Columns, Txt_No_of_users, Txt_PERCENT_of_users); + Tbl_EndRow (); /***** For each language... *****/ for (SideCols = 0; @@ -5580,8 +5578,7 @@ static void Fig_GetAndShowNumUsrsPerSideColumns (void) "" "" "%5.2f%%" - "" - "", + "", Cfg_URL_ICON_PUBLIC,SideCols >> 1,SideCols & 1, Txt_LAYOUT_SIDE_COLUMNS[SideCols], Txt_LAYOUT_SIDE_COLUMNS[SideCols], @@ -5589,6 +5586,7 @@ static void Fig_GetAndShowNumUsrsPerSideColumns (void) NumUsrsTotal ? (float) NumUsrs[SideCols] * 100.0 / (float) NumUsrsTotal : 0); + Tbl_EndRow (); } /***** End table and box *****/ diff --git a/swad_file_browser.c b/swad_file_browser.c index 1bd9c683f..2aaf03087 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -3199,8 +3199,8 @@ static void Brw_ShowFileBrowsersAsgWrkCrs (void) Brw_InitializeFileBrowser (); Brw_ShowFileBrowser (); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); } } @@ -8518,10 +8518,10 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow) " id=\"NewLinkURL\" name=\"NewLinkURL\"" " size=\"30\" maxlength=\"%u\" value=\"\"" " required=\"required\" />" - "" - "", + "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_URL, PATH_MAX); + Tbl_EndRow (); /***** Link name *****/ Tbl_StartRow (); @@ -8534,10 +8534,10 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow) "" - "" - "", + "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Save_as,Txt_optional, Brw_MAX_CHARS_FOLDER); + Tbl_EndRow (); Tbl_EndTable (); /***** Send button and end box *****/ @@ -9498,8 +9498,8 @@ void Brw_ShowFileMetadata (void) fprintf (Gbl.F.Out,""); Brw_WriteBigLinkToDownloadFile (URL,&FileMetadata,FileNameToShow); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Filename *****/ Tbl_StartRow (); @@ -9509,8 +9509,8 @@ void Brw_ShowFileMetadata (void) "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Filename); Brw_WriteSmallLinkToDownloadFile (URL,&FileMetadata,FileNameToShow); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Publisher's data *****/ Tbl_StartRow (); @@ -9534,8 +9534,8 @@ void Brw_ShowFileMetadata (void) else /* Unknown publisher */ fprintf (Gbl.F.Out,"%s",Txt_ROLES_SINGUL_Abc[Rol_UNK][Usr_SEX_UNKNOWN]); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Free memory used for publisher's data *****/ if (FileMetadata.PublisherUsrCod > 0) @@ -9549,11 +9549,11 @@ void Brw_ShowFileMetadata (void) "" "" "%s" - "" - "", + "", The_ClassFormInBox[Gbl.Prefs.Theme], Txt_File_size, FileSizeStr); + Tbl_EndRow (); /***** Write the date *****/ Tbl_StartRow (); @@ -9565,12 +9565,12 @@ void Brw_ShowFileMetadata (void) "writeLocalDateHMSFromUTC('filedate',%ld," "%u,', ','%s',true,true,0x7);" "" - "" - "", + "", The_ClassFormInBox[Gbl.Prefs.Theme], Txt_Date_of_creation, (long) FileMetadata.Time, (unsigned) Gbl.Prefs.DateFormat,Txt_Today); + Tbl_EndRow (); /***** Private or public? *****/ Tbl_StartRow (); @@ -9601,8 +9601,8 @@ void Brw_ShowFileMetadata (void) fprintf (Gbl.F.Out,"%s", FileMetadata.IsPublic ? Txt_Public_open_educational_resource_OER_for_everyone : Txt_Private_available_to_certain_users_identified); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** License *****/ Tbl_StartRow (); @@ -9628,8 +9628,8 @@ void Brw_ShowFileMetadata (void) } else // I can not edit file properties fprintf (Gbl.F.Out,"%s",Txt_LICENSES[FileMetadata.License]); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Write my number of views *****/ if (Gbl.Usrs.Me.Logged) @@ -9640,10 +9640,10 @@ void Brw_ShowFileMetadata (void) "" "" "%u" - "" - "", + "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_My_views, FileMetadata.NumMyViews); + Tbl_EndRow (); } /***** Write number of identificated views *****/ @@ -9653,13 +9653,13 @@ void Brw_ShowFileMetadata (void) "" "" "%u (%u %s)" - "" - "", + "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Identified_views, FileMetadata.NumViewsFromLoggedUsrs, FileMetadata.NumLoggedUsrs, (FileMetadata.NumLoggedUsrs == 1) ? Txt_user[Usr_SEX_UNKNOWN] : Txt_users[Usr_SEX_UNKNOWN]); + Tbl_EndRow (); /***** Write number of public views *****/ Tbl_StartRow (); @@ -9668,10 +9668,10 @@ void Brw_ShowFileMetadata (void) "" "" "%u" - "" - "", + "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Public_views, FileMetadata.NumPublicViews); + Tbl_EndRow (); /***** End box *****/ if (ICanEdit) // I can edit file properties @@ -11802,14 +11802,14 @@ void Brw_ListDocsFound (MYSQL_RES **mysql_res,unsigned long NumDocs, "" "" "%s" - "" - "", + "", Txt_Institution, Txt_Centre, Txt_Degree, Txt_Course, Txt_File_zone, Txt_Document); + Tbl_EndRow (); /***** List documents found *****/ for (NumDoc = 1; @@ -11834,8 +11834,8 @@ void Brw_ListDocsFound (MYSQL_RES **mysql_res,unsigned long NumDocs, else fprintf (Gbl.F.Out,"%lu %s",NumDocsHidden,Txt_hidden_documents); fprintf (Gbl.F.Out,")" - "" - ""); + ""); + Tbl_EndRow (); /***** End table and box *****/ Box_EndBoxTable (); @@ -12107,8 +12107,8 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row) /* End form */ Frm_EndForm (); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; } diff --git a/swad_follow.c b/swad_follow.c index f3629495c..51ff6d9bb 100644 --- a/swad_follow.c +++ b/swad_follow.c @@ -944,8 +944,8 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat) /* Form to follow */ Fol_PutIconToFollow (UsrDat); } - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; } diff --git a/swad_forum.c b/swad_forum.c index b2054a58a..dc6c9a50d 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -1211,8 +1211,8 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod, } else fprintf (Gbl.F.Out,"[%s]",Txt_FORUM_Post_banned); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Form to ban/unban post *****/ Tbl_StartRow (); @@ -1307,8 +1307,8 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod, } else fprintf (Gbl.F.Out,"%s",Txt_This_post_has_been_banned_probably_for_not_satisfy_the_rules_of_the_forums); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Free image *****/ Med_MediaDestructor (&Media); @@ -2600,12 +2600,12 @@ static void For_ShowForumThreadsHighlightingOneThread (long ThrCodHighlighted, "" "" "%s" - "" - "", + "", Txt_No_BR_msgs, Txt_Unread_BR_msgs, Txt_WriBRters, Txt_ReaBRders); + Tbl_EndRow (); /***** List the threads *****/ For_ListForumThrs (ThrCods,ThrCodHighlighted,&PaginationThrs); @@ -3553,10 +3553,10 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE], /***** Write number of users who have read this thread *****/ fprintf (Gbl.F.Out,"" "%u " - "" - "", + "", Style,BgColor, Thr.NumReaders); + Tbl_EndRow (); } /***** Free memory used for user's data *****/ @@ -3971,12 +3971,12 @@ static void For_WriteFormForumPst (bool IsReply,const char *Subject) " class=\"MSG_SUBJECT\"" " maxlength=\"%u\" value=\"%s\"" " required=\"required\" />" - "" - "", + "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Subject, Cns_MAX_CHARS_SUBJECT, IsReply ? Subject : ""); + Tbl_EndRow (); /* Content */ Tbl_StartRow (); @@ -3988,9 +3988,9 @@ static void For_WriteFormForumPst (bool IsReply,const char *Subject) " class=\"MSG_CONTENT\"" " rows=\"10\">" "" - "" - "", + "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Content); + Tbl_EndRow (); Tbl_EndTable (); diff --git a/swad_game.c b/swad_game.c index baf07c023..d2b477a38 100644 --- a/swad_game.c +++ b/swad_game.c @@ -1143,11 +1143,11 @@ static void Gam_PutFormsEditionGame (struct Game *Game,bool ItsANewGame) "" - "" - "", + "", The_ClassFormInBox[Gbl.Prefs.Theme], Txt_Title, Gam_MAX_CHARS_TITLE,Game->Title); + Tbl_EndRow (); /***** Game text *****/ Tbl_StartRow (); @@ -1162,8 +1162,8 @@ static void Gam_PutFormsEditionGame (struct Game *Game,bool ItsANewGame) if (!ItsANewGame) fprintf (Gbl.F.Out,"%s",Txt); fprintf (Gbl.F.Out,"" - "" - ""); + ""); + Tbl_EndRow (); /***** End table, send button and end box *****/ if (ItsANewGame) @@ -1647,12 +1647,12 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts, "" "" "%s" - "" - "", + "", Txt_No_INDEX, Txt_Code, Txt_Tags, Txt_Question); + Tbl_EndRow (); /***** Write rows *****/ for (NumQst = 0; @@ -1776,8 +1776,8 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts, /* Show answers */ Tst_WriteAnswersEdit (Gbl.Test.QstCod); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Destroy test question *****/ Tst_QstDestructor (); diff --git a/swad_group.c b/swad_group.c index a7c76be8c..990659bd6 100644 --- a/swad_group.c +++ b/swad_group.c @@ -1389,8 +1389,8 @@ static void Grp_ListGroupTypesForEdition (void) Dat_FORM_SECONDS_ON, Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second true); // Submit on change - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); Tbl_EndTable (); Frm_EndForm (); fprintf (Gbl.F.Out,""); @@ -1398,9 +1398,9 @@ static void Grp_ListGroupTypesForEdition (void) /* Number of groups of this type */ fprintf (Gbl.F.Out,"" "%u" - "" - "", + "", Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].NumGrps); + Tbl_EndRow (); } /***** End table *****/ @@ -1463,13 +1463,13 @@ static void Grp_WriteHeadingGroupTypes (void) "" "" "%s" - "" - "", + "", Txt_Type_of_group,Txt_eg_Lectures_Practicals, Txt_Mandatory_enrolment, Txt_Multiple_enrolment, Txt_Opening_of_groups, Txt_No_of_BR_groups); + Tbl_EndRow (); } /*****************************************************************************/ @@ -1647,8 +1647,8 @@ static void Grp_ListGroupsForEdition (void) fprintf (Gbl.F.Out,"\" onchange=\"document.getElementById('%s').submit();\" />", Gbl.Form.Id); Frm_EndForm (); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); } } @@ -1695,9 +1695,9 @@ static void Grp_WriteHeadingGroups (void) Txt_ROLES_PLURAL_BRIEF_Abc[Role]); fprintf (Gbl.F.Out,"" "%s" - "" - "", + "", Txt_Max_BR_students); + Tbl_EndRow (); } /*****************************************************************************/ @@ -2324,8 +2324,8 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp, /* Last void columns for max. students and vacants */ fprintf (Gbl.F.Out,"" - "" - ""); + ""); + Tbl_EndRow (); } /*****************************************************************************/ @@ -2363,8 +2363,8 @@ static void Grp_WriteGrpHead (struct GroupType *GrpTyp) UniqueId,(long) GrpTyp->OpenTimeUTC, (unsigned) Gbl.Prefs.DateFormat,Txt_Today); } - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Head row with title of each column *****/ Tbl_StartRow (); @@ -2389,10 +2389,10 @@ static void Grp_WriteGrpHead (struct GroupType *GrpTyp) "" "" "%s" - "" - "", + "", Txt_Max_BR_students, Txt_Vacants); + Tbl_EndRow (); } /*****************************************************************************/ @@ -2576,16 +2576,16 @@ static void Grp_PutFormToCreateGroupType (void) Dat_FORM_SECONDS_ON, Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second false); // Don't submit on change - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); Tbl_EndTable (); fprintf (Gbl.F.Out,""); /***** Number of groups of this type *****/ fprintf (Gbl.F.Out,"" "0" // It's a new group type ==> 0 groups - "" - ""); + ""); + Tbl_EndRow (); /***** End table, send button and end box *****/ Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_type_of_group); @@ -2717,8 +2717,8 @@ static void Grp_PutFormToCreateGroup (void) " size=\"3\" maxlength=\"10\" value=\""); Grp_WriteMaxStds (Gbl.Crs.Grps.MaxStudents); fprintf (Gbl.F.Out,"\" />" - "" - ""); + ""); + Tbl_EndRow (); /***** End table, send button and end box *****/ Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_group); diff --git a/swad_help.c b/swad_help.c index b3486ef88..9dd2e9c59 100644 --- a/swad_help.c +++ b/swad_help.c @@ -270,8 +270,9 @@ static void Hlp_ShowRowHelpWhatWouldYouLikeToDo (const char *Description, Btn_Button_t Button, const char *TxtButton) { - /***** Description *****/ Tbl_StartRow (); + + /***** Description *****/ fprintf (Gbl.F.Out,"" "%s:" "", @@ -282,6 +283,7 @@ static void Hlp_ShowRowHelpWhatWouldYouLikeToDo (const char *Description, Frm_StartForm (Action); Btn_PutButtonInline (Button,TxtButton); Frm_EndForm (); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + + Tbl_EndRow (); } diff --git a/swad_hierarchy.c b/swad_hierarchy.c index 5b42b071e..1962c311f 100644 --- a/swad_hierarchy.c +++ b/swad_hierarchy.c @@ -110,8 +110,8 @@ void Hie_WriteMenuHierarchy (void) "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Country); Cty_WriteSelectorOfCountry (); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); if (Gbl.Hierarchy.Cty.CtyCod > 0) { @@ -124,8 +124,8 @@ void Hie_WriteMenuHierarchy (void) "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Institution); Ins_WriteSelectorOfInstitution (); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); if (Gbl.Hierarchy.Ins.InsCod > 0) { @@ -138,8 +138,8 @@ void Hie_WriteMenuHierarchy (void) "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Centre); Ctr_WriteSelectorOfCentre (); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); if (Gbl.Hierarchy.Ctr.CtrCod > 0) { @@ -152,8 +152,8 @@ void Hie_WriteMenuHierarchy (void) "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Degree); Deg_WriteSelectorOfDegree (); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); if (Gbl.Hierarchy.Deg.DegCod > 0) { @@ -166,8 +166,8 @@ void Hie_WriteMenuHierarchy (void) "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Course); Crs_WriteSelectorOfCourse (); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); } } } diff --git a/swad_holiday.c b/swad_holiday.c index abc2d63fc..f5dbf180f 100644 --- a/swad_holiday.c +++ b/swad_holiday.c @@ -138,10 +138,10 @@ void Hld_SeeHolidays (void) "" "" "%s" - "" - "", + "", Txt_End_date, Txt_Holiday); + Tbl_EndRow (); /***** Write all the holidays *****/ for (NumHld = 0; @@ -174,9 +174,9 @@ void Hld_SeeHolidays (void) fprintf (Gbl.F.Out,"" "" " %s" - "" - "", + "", Gbl.Hlds.Lst[NumHld].Name); + Tbl_EndRow (); } Tbl_EndTable (); } @@ -651,8 +651,8 @@ static void Hld_ListHolidaysForEdition (void) " onchange=\"document.getElementById('%s').submit();\" />", Hld_MAX_CHARS_HOLIDAY_NAME,Hld->Name,Gbl.Form.Id); Frm_EndForm (); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); } /***** End table and box *****/ @@ -984,13 +984,13 @@ static void Hld_PutFormToCreateHoliday (void) "" "" "%s" - "" - "", + "", Txt_Place, Txt_Type, Txt_START_END_TIME[Dat_START_TIME], Txt_START_END_TIME[Dat_END_TIME], Txt_Holiday); + Tbl_EndRow (); /***** Holiday place *****/ Tbl_StartRow (); @@ -1049,9 +1049,9 @@ static void Hld_PutFormToCreateHoliday (void) " size=\"20\" maxlength=\"%u\" value=\"%s\"" " required=\"required\" />" "" - "" - "", + "", Hld_MAX_CHARS_HOLIDAY_NAME,Hld_EditingHld->Name); + Tbl_EndRow (); /***** End table, send button and end box *****/ Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_holiday); @@ -1091,14 +1091,14 @@ static void Hld_PutHeadHolidays (void) "" "" "%s" - "" - "", + "", Txt_Code, Txt_Place, Txt_Type, Txt_START_END_TIME[Dat_START_TIME], Txt_START_END_TIME[Dat_END_TIME], Txt_Holiday); + Tbl_EndRow (); } /*****************************************************************************/ diff --git a/swad_indicator.c b/swad_indicator.c index d2b04ef1d..b09a11925 100644 --- a/swad_indicator.c +++ b/swad_indicator.c @@ -127,8 +127,8 @@ void Ind_ReqIndicatorsCourses (void) "", The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope); Sco_PutSelectorScope ("ScopeInd",true); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /* Compute stats for a type of degree */ Tbl_StartRow (); @@ -141,8 +141,8 @@ void Ind_ReqIndicatorsCourses (void) fprintf (Gbl.F.Out," ("); fprintf (Gbl.F.Out,Txt_only_if_the_scope_is_X, Cfg_PLATFORM_SHORT_NAME); - fprintf (Gbl.F.Out,")" - ""); + fprintf (Gbl.F.Out,")"); + Tbl_EndRow (); /* Compute stats for courses with teachers belonging to any department or to a particular departament? */ Tbl_StartRow (); @@ -158,8 +158,8 @@ void Ind_ReqIndicatorsCourses (void) -1L, // First option Txt_Any_department, // Text when no department selected true); // Submit on change - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /***** Get courses from database *****/ /* The result will contain courses with any number of indicators @@ -181,8 +181,8 @@ void Ind_ReqIndicatorsCourses (void) The_ClassFormInBox[Gbl.Prefs.Theme], Txt_No_of_indicators); Ind_ShowNumCoursesWithIndicators (NumCrssWithIndicatorYes,NumCrss,true); - fprintf (Gbl.F.Out,"" - ""); + fprintf (Gbl.F.Out,""); + Tbl_EndRow (); /* End table and form */ Tbl_EndTable (); @@ -640,10 +640,10 @@ static void Ind_ShowNumCoursesWithIndicators (unsigned NumCrssWithIndicatorYes[1 "" "" "%s" - "" - "", + "", Txt_Indicators, Txt_Courses); + Tbl_EndRow (); for (Ind = 0; Ind <= Ind_NUM_INDICATORS; Ind++) @@ -672,8 +672,7 @@ static void Ind_ShowNumCoursesWithIndicators (unsigned NumCrssWithIndicatorYes[1 "" "" "(%.1f%%)" - "" - "", + "", Class, Ind,Ind, Class, @@ -681,6 +680,7 @@ static void Ind_ShowNumCoursesWithIndicators (unsigned NumCrssWithIndicatorYes[1 Class, NumCrss ? (float) NumCrssWithIndicatorYes[Ind] * 100.0 / (float) NumCrss : 0.0); + Tbl_EndRow (); } /***** Write total of courses *****/ @@ -696,11 +696,11 @@ static void Ind_ShowNumCoursesWithIndicators (unsigned NumCrssWithIndicatorYes[1 "" "" "(%.1f%%)" - "" - "", + "", Txt_Total, NumCrss, 100.0); + Tbl_EndRow (); Tbl_EndTable (); } @@ -768,13 +768,13 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat "" "" "%s" - "" - "", + "", Txt_Degree, Txt_Course, Txt_Institutional_BR_code, Txt_Web_page_of_the_course, Txt_Indicators); + Tbl_EndRow (); Tbl_StartRow (); fprintf (Gbl.F.Out,"" @@ -794,14 +794,14 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat "" "" "(E) %s" - "" - "", + "", Txt_No_INDEX, Txt_Syllabus_of_the_course, Txt_Guided_academic_assignments, Txt_Online_tutoring, Txt_Materials, Txt_Assessment_criteria); + Tbl_EndRow (); Tbl_StartRow (); fprintf (Gbl.F.Out,"" @@ -833,8 +833,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat "" "" "%s" - "" - "", + "", Txt_YES, Txt_NO, @@ -849,6 +848,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat Txt_YES, Txt_NO); + Tbl_EndRow (); break; case Ind_INDICATORS_FULL: Tbl_StartRow (); @@ -872,8 +872,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat "" "" "%s" - "" - "", + "", Txt_Degree, Txt_Course, Txt_Institutional_BR_code, @@ -881,6 +880,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH], Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD], Txt_Indicators); + Tbl_EndRow (); Tbl_StartRow (); fprintf (Gbl.F.Out,"" @@ -900,14 +900,14 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat "" "" "(E) %s" - "" - "", + "", Txt_No_INDEX, Txt_Syllabus_of_the_course, Txt_Guided_academic_assignments, Txt_Online_tutoring, Txt_Materials, Txt_Assessment_criteria); + Tbl_EndRow (); Tbl_StartRow (); fprintf (Gbl.F.Out,"" @@ -978,8 +978,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat "" "" "%s" - "" - "", + "", Txt_YES, Txt_NO, Txt_INFO_TITLE[Inf_LECTURES], @@ -1007,6 +1006,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat Txt_NO, Txt_INFO_TITLE[Inf_ASSESSMENT], Txt_INFO_TITLE[Inf_TEACHING_GUIDE]); + Tbl_EndRow (); break; } @@ -1092,8 +1092,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat "" "" "%s" - "" - "", + "", Indicators.CourseAllOK ? "DAT_SMALL_GREEN" : (Indicators.CoursePartiallyOK ? "DAT_SMALL" : "DAT_SMALL_RED"), @@ -1152,6 +1151,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat "DAT_SMALL_RED",Gbl.RowEvenOdd, Indicators.ThereIsAssessment ? "" : Txt_NO); + Tbl_EndRow (); break; case Ind_INDICATORS_FULL: /* Get number of users */ @@ -1258,8 +1258,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat "" "" "%s" - "" - "", + "", Indicators.CourseAllOK ? "DAT_SMALL_GREEN" : (Indicators.CoursePartiallyOK ? "DAT_SMALL" : "DAT_SMALL_RED"), @@ -1379,6 +1378,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat "DAT_SMALL_RED", Gbl.RowEvenOdd, Txt_INFO_SRC_SHORT_TEXT[Indicators.TeachingGuideSrc]); + Tbl_EndRow (); break; } }