diff --git a/swad_changelog.h b/swad_changelog.h
index d70daa21a..e6ee4b587 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -487,7 +487,7 @@ 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.31 (2019-10-08)"
+#define Log_PLATFORM_VERSION "SWAD 19.31.32 (2019-10-08)"
#define CSS_FILE "swad19.29.css"
#define JS_FILE "swad19.30.js"
/*
@@ -495,6 +495,7 @@ ps2pdf source.ps destination.pdf
// TODO: Un TFG preasignado sin estudiante tiene que salir un triángulo amarillo
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
+ Version 19.31.32: Oct 08, 2019 Code refactoring in HTML tables. (246718 lines)
Version 19.31.31: Oct 08, 2019 Code refactoring in HTML tables. (246762 lines)
Version 19.31.30: Oct 08, 2019 Code refactoring in HTML tables. (246731 lines)
Version 19.31.29: Oct 08, 2019 Code refactoring in HTML tables. (246740 lines)
diff --git a/swad_record.c b/swad_record.c
index 333d70c25..7ab811446 100644
--- a/swad_record.c
+++ b/swad_record.c
@@ -383,24 +383,24 @@ void Rec_ShowFormCreateRecordField (void)
Tbl_EndCell ();
/***** Field name *****/
- fprintf (Gbl.F.Out,"
"
- " ");
+ fprintf (Gbl.F.Out," ",
Rec_MAX_CHARS_NAME_FIELD,Gbl.Crs.Records.Field.Name);
Tbl_EndCell ();
/***** Number of lines in form ******/
- fprintf (Gbl.F.Out," "
- " ");
+ fprintf (Gbl.F.Out," ",
Gbl.Crs.Records.Field.NumLines);
Tbl_EndCell ();
/***** Visibility to students *****/
- fprintf (Gbl.F.Out," "
- "");
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,"");
for (Vis = (Rec_VisibilityRecordFields_t) 0;
Vis < (Rec_VisibilityRecordFields_t) Rec_NUM_TYPES_VISIBILITY;
Vis++)
@@ -1759,8 +1759,8 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
Gbl.Hierarchy.Deg.ShrtName,Rec_DEGREE_LOGO_SIZE,NULL,true);
Tbl_EndCell ();
- fprintf (Gbl.F.Out,""
- "%s %s %s",
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s %s %s",
Gbl.Hierarchy.Deg.FullName,Gbl.Hierarchy.Crs.FullName,
UsrDat->FullName);
Tbl_EndCell ();
@@ -1800,12 +1800,11 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
/* Name of the field */
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s:",
+ fprintf (Gbl.F.Out," ",
ICanEditThisField ? The_ClassFormInBox[Gbl.Prefs.Theme] :
"REC_DAT_SMALL",
- Gbl.RowEvenOdd,
- Gbl.Crs.Records.LstFields.Lst[NumField].Name);
+ Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out,"%s:",Gbl.Crs.Records.LstFields.Lst[NumField].Name);
if (TypeOfView == Rec_CRS_LIST_ONE_RECORD ||
TypeOfView == Rec_CRS_LIST_SEVERAL_RECORDS)
fprintf (Gbl.F.Out," (%s) ",
@@ -2752,8 +2751,8 @@ static void Rec_ShowPhoto (struct UsrData *UsrDat)
static void Rec_ShowFullName (struct UsrData *UsrDat)
{
- fprintf (Gbl.F.Out," "
- "");
+ fprintf (Gbl.F.Out,"
");
+ fprintf (Gbl.F.Out,"");
/***** First name *****/
fprintf (Gbl.F.Out,"%s
",UsrDat->FirstName);
@@ -2778,8 +2777,8 @@ static void Rec_ShowNickname (struct UsrData *UsrDat,bool PutFormLinks)
extern const char *Txt_Another_user_s_profile;
bool ItsMe;
- fprintf (Gbl.F.Out,"
"
- "");
+ fprintf (Gbl.F.Out,"
");
+ fprintf (Gbl.F.Out,"");
if (UsrDat->Nickname[0])
{
if (PutFormLinks)
@@ -2840,9 +2839,8 @@ static void Rec_ShowEmail (struct UsrData *UsrDat,const char *ClassForm)
Tbl_StartRow ();
- fprintf (Gbl.F.Out,"
"
- "%s:",
- ClassForm,Txt_Email);
+ fprintf (Gbl.F.Out," ",ClassForm);
+ fprintf (Gbl.F.Out,"%s:",Txt_Email);
Tbl_EndCell ();
fprintf (Gbl.F.Out," ");
@@ -2875,9 +2873,8 @@ static void Rec_ShowUsrIDs (struct UsrData *UsrDat,const char *ClassForm,
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s:",
- ClassForm,Txt_ID);
+ fprintf (Gbl.F.Out," ",ClassForm);
+ fprintf (Gbl.F.Out,"%s:",Txt_ID);
Tbl_EndCell ();
fprintf (Gbl.F.Out," ");
@@ -2916,8 +2913,8 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
/* Get user's roles if not got */
Rol_GetRolesInAllCrssIfNotYetGot (UsrDat);
- fprintf (Gbl.F.Out," "
- "%s: ",
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s: ",
ClassForm,Txt_Role);
Tbl_EndCell ();
@@ -3114,9 +3111,8 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
else if (SexForm)
{
/***** Form to select a sex *****/
- fprintf (Gbl.F.Out," "
- "%s*:",
- ClassForm,Txt_Sex);
+ fprintf (Gbl.F.Out," ",ClassForm);
+ fprintf (Gbl.F.Out,"%s*:",Txt_Sex);
Tbl_EndCell ();
fprintf (Gbl.F.Out," ");
@@ -3139,14 +3135,12 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
else // RoleForm == false, SexForm == false
{
/***** No form, only text *****/
- fprintf (Gbl.F.Out," "
- "%s:",
- ClassForm,
- Txt_Role);
+ fprintf (Gbl.F.Out," ",ClassForm);
+ fprintf (Gbl.F.Out,"%s:",Txt_Role);
Tbl_EndCell ();
- fprintf (Gbl.F.Out," "
- "%s",
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s",
Txt_ROLES_SINGUL_Abc[UsrDat->Roles.InCurrentCrs.Role][UsrDat->Sex]);
Tbl_EndCell ();
}
@@ -3166,8 +3160,8 @@ static void Rec_ShowSurname1 (struct UsrData *UsrDat,
extern const char *Txt_Surname_1;
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- ""
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,""
"%s",
ClassForm,Txt_Surname_1);
if (TypeOfView == Rec_SHA_MY_RECORD_FORM)
@@ -3208,8 +3202,8 @@ static void Rec_ShowSurname2 (struct UsrData *UsrDat,
Tbl_StartRow ();
- fprintf (Gbl.F.Out,""
- ""
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,""
"%s:"
" ",
ClassForm,Txt_Surname_2);
@@ -3243,8 +3237,8 @@ static void Rec_ShowFirstName (struct UsrData *UsrDat,
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- ""
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,""
"%s",
ClassForm,Txt_First_name);
if (TypeOfView == Rec_SHA_MY_RECORD_FORM)
@@ -3253,8 +3247,7 @@ static void Rec_ShowFirstName (struct UsrData *UsrDat,
" ");
Tbl_EndCell ();
- fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out," ");
if (ICanEdit)
{
fprintf (Gbl.F.Out," "
- "%s",
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,"%s",
ClassForm,Txt_Country);
if (TypeOfView == Rec_SHA_MY_RECORD_FORM)
fprintf (Gbl.F.Out,"*");
fprintf (Gbl.F.Out,": ");
Tbl_EndCell ();
- fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out," ");
/***** Selector of country *****/
fprintf (Gbl.F.Out,""
- ""
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,""
"%s:"
" ",
ClassForm,Txt_Place_of_origin);
@@ -3381,9 +3373,8 @@ static void Rec_ShowDateOfBirth (struct UsrData *UsrDat,
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s:",
- ClassForm,Txt_Date_of_birth);
+ fprintf (Gbl.F.Out," ",ClassForm);
+ fprintf (Gbl.F.Out,"%s:",Txt_Date_of_birth);
Tbl_EndCell ();
fprintf (Gbl.F.Out," ");
@@ -3415,8 +3406,8 @@ static void Rec_ShowLocalAddress (struct UsrData *UsrDat,
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- ""
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,""
"%s:"
" ",
ClassForm,Txt_Local_address);
@@ -3452,8 +3443,8 @@ static void Rec_ShowLocalPhone (struct UsrData *UsrDat,
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- ""
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,""
"%s:"
" ",
ClassForm,Txt_Phone);
@@ -3491,8 +3482,8 @@ static void Rec_ShowFamilyAddress (struct UsrData *UsrDat,
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- ""
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,""
"%s:"
" ",
ClassForm,Txt_Family_address);
@@ -3528,8 +3519,8 @@ static void Rec_ShowFamilyPhone (struct UsrData *UsrDat,
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- ""
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,""
"%s:"
" ",
ClassForm,Txt_Phone);
@@ -3567,8 +3558,8 @@ static void Rec_ShowComments (struct UsrData *UsrDat,
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s: ",
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s: ",
ClassForm,Txt_USER_comments);
Tbl_EndCell ();
@@ -3628,9 +3619,8 @@ static void Rec_ShowInstitution (struct Instit *Ins,
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s:",
- ClassForm,Txt_Institution);
+ fprintf (Gbl.F.Out," ",ClassForm);
+ fprintf (Gbl.F.Out,"%s:",Txt_Institution);
Tbl_EndCell ();
fprintf (Gbl.F.Out," ");
@@ -3662,9 +3652,8 @@ static void Rec_ShowCentre (struct UsrData *UsrDat,
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s:",
- ClassForm,Txt_Centre);
+ fprintf (Gbl.F.Out," ",ClassForm);
+ fprintf (Gbl.F.Out,"%s:",Txt_Centre);
Tbl_EndCell ();
fprintf (Gbl.F.Out," ");
@@ -3700,9 +3689,8 @@ static void Rec_ShowDepartment (struct UsrData *UsrDat,
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s:",
- ClassForm,Txt_Department);
+ fprintf (Gbl.F.Out," ",ClassForm);
+ fprintf (Gbl.F.Out,"%s:",Txt_Department);
Tbl_EndCell ();
fprintf (Gbl.F.Out," ");
@@ -3737,9 +3725,8 @@ static void Rec_ShowOffice (struct UsrData *UsrDat,
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s:",
- ClassForm,Txt_Office);
+ fprintf (Gbl.F.Out," ",ClassForm);
+ fprintf (Gbl.F.Out,"%s:",Txt_Office);
Tbl_EndCell ();
fprintf (Gbl.F.Out," ");
@@ -3761,9 +3748,8 @@ static void Rec_ShowOfficePhone (struct UsrData *UsrDat,
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s:",
- ClassForm,Txt_Phone);
+ fprintf (Gbl.F.Out," ",ClassForm);
+ fprintf (Gbl.F.Out,"%s:",Txt_Phone);
Tbl_EndCell ();
fprintf (Gbl.F.Out," ");
@@ -4049,8 +4035,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
/***** Country *****/
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s*: ",
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s*: ",
ClassForm,Txt_Country);
Tbl_EndCell ();
@@ -4093,8 +4079,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
/***** Institution *****/
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s*: ",
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s*: ",
ClassForm,Txt_Institution);
Tbl_EndCell ();
@@ -4142,8 +4128,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
/***** Centre *****/
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s*: ",
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s*: ",
ClassForm,Txt_Centre);
Tbl_EndCell ();
@@ -4189,8 +4175,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
/***** Department *****/
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s*: ",
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s*: ",
Dpt_PARAM_DPT_COD_NAME,ClassForm,Txt_Department);
Tbl_EndCell ();
@@ -4210,8 +4196,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
/***** Office *****/
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- ""
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,""
"%s:"
" ",
ClassForm,Txt_Office);
@@ -4234,8 +4220,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
/***** Phone *****/
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- ""
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,""
"%s:"
" ",
ClassForm,Txt_Phone);
diff --git a/swad_statistic.c b/swad_statistic.c
index f3d3a12bb..54ee43b4d 100644
--- a/swad_statistic.c
+++ b/swad_statistic.c
@@ -378,8 +378,8 @@ void Sta_AskShowCrsHits (void)
Tbl_StartRow ();
- fprintf (Gbl.F.Out," %s:",
- The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Users);
+ fprintf (Gbl.F.Out," ",The_ClassFormInBox[Gbl.Prefs.Theme]);
+ fprintf (Gbl.F.Out,"%s:",Txt_Users);
Tbl_EndCell ();
fprintf (Gbl.F.Out," ",
@@ -402,8 +402,8 @@ void Sta_AskShowCrsHits (void)
/***** Option a) Listing of clicks distributed by some metric *****/
Tbl_StartRow ();
- fprintf (Gbl.F.Out," %s:",
- The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Show);
+ fprintf (Gbl.F.Out," ",The_ClassFormInBox[Gbl.Prefs.Theme]);
+ fprintf (Gbl.F.Out,"%s:",Txt_Show);
Tbl_EndCell ();
fprintf (Gbl.F.Out," ");
@@ -547,13 +547,13 @@ void Sta_AskShowGblHits (void)
/***** Users' roles whose accesses we want to see *****/
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s: ",
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s: ",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Users);
Tbl_EndCell ();
- fprintf (Gbl.F.Out," "
- "");
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,"");
for (RoleStat = (Sta_Role_t) 0;
RoleStat < Sta_NUM_ROLES_STAT;
RoleStat++)
@@ -574,8 +574,8 @@ void Sta_AskShowGblHits (void)
/***** Clicks made from anywhere, current centre, current degree or current course *****/
Tbl_StartRow ();
- fprintf (Gbl.F.Out,""
- "%s: ",
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s: ",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope);
Tbl_EndCell ();
@@ -596,8 +596,8 @@ void Sta_AskShowGblHits (void)
/***** Count type for the statistic *****/
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s: ",
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s: ",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Show);
Tbl_EndCell ();
@@ -716,13 +716,13 @@ static void Sta_WriteSelectorAction (void)
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s: ",
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s: ",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Action);
Tbl_EndCell ();
- fprintf (Gbl.F.Out," "
- "");
+ fprintf (Gbl.F.Out,"");
for (Action = (Act_Action_t) 0;
Action < Act_NUM_ACTIONS;
@@ -1626,8 +1626,8 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
Frm_EndForm ();
/* Write number of current page */
- fprintf (Gbl.F.Out,""
- ""
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,""
"%s %lu-%lu %s %lu (%s %ld %s %lu)"
" ",
Txt_Clicks,
@@ -1720,39 +1720,35 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
/* Write the number of row */
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%ld ",
- Gbl.RowEvenOdd,NumRow);
+ fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out,"%ld ",NumRow);
Tbl_EndCell ();
/* Write the user's ID if user is a student */
- fprintf (Gbl.F.Out," ",
- Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
ID_WriteUsrIDs (&UsrDat,NULL);
fprintf (Gbl.F.Out," ");
Tbl_EndCell ();
/* Write the first name and the surnames */
- fprintf (Gbl.F.Out," "
- "%s ",
- Gbl.RowEvenOdd,UsrDat.FullName);
+ fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out,"%s ",UsrDat.FullName);
Tbl_EndCell ();
/* Write the user's role */
- fprintf (Gbl.F.Out," "
- "%s ",
- Gbl.RowEvenOdd,
+ fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out,"%s ",
RoleFromLog < Rol_NUM_ROLES ? Txt_ROLES_SINGUL_Abc[RoleFromLog][UsrDat.Sex] :
"?");
Tbl_EndCell ();
/* Write the date-time (row[3]) */
- fprintf (Gbl.F.Out," "
- "",
- UniqueId,Gbl.RowEvenOdd,
UniqueId,(long) Dat_GetUNIXTimeFromStr (row[3]),
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
Tbl_EndCell ();
@@ -1761,19 +1757,19 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
if (sscanf (row[4],"%ld",&ActCod) != 1)
Lay_ShowErrorAndExit ("Wrong action code.");
if (ActCod >= 0)
- fprintf (Gbl.F.Out," "
- "%s ",
- Gbl.RowEvenOdd,
- Act_GetActionTextFromDB (ActCod,ActTxt));
+ {
+ fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out,"%s ",Act_GetActionTextFromDB (ActCod,ActTxt));
+ }
else
- fprintf (Gbl.F.Out," "
- "? ",
- Gbl.RowEvenOdd);
+ {
+ fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out,"? ");
+ }
Tbl_EndCell ();
/* Write the comments of the access */
- fprintf (Gbl.F.Out," ",
- Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
Sta_WriteLogComments (LogCod);
Tbl_EndCell ();
Tbl_EndRow ();
@@ -1872,14 +1868,12 @@ static void Sta_ShowNumHitsPerUsr (unsigned long NumRows,MYSQL_RES *mysql_res)
Tbl_StartRow ();
/* Write the number of row */
- fprintf (Gbl.F.Out," "
- "%ld ",
- Gbl.RowEvenOdd,NumRow);
+ fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out,"%ld ",NumRow);
Tbl_EndCell ();
/* Show the photo */
- fprintf (Gbl.F.Out," ",
- Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&UsrDat,PhotoURL);
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL,
@@ -1887,22 +1881,19 @@ static void Sta_ShowNumHitsPerUsr (unsigned long NumRows,MYSQL_RES *mysql_res)
Tbl_EndCell ();
/* Write the user's ID if user is a student in current course */
- fprintf (Gbl.F.Out," ",
- Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
ID_WriteUsrIDs (&UsrDat,NULL);
fprintf (Gbl.F.Out," ");
Tbl_EndCell ();
/* Write the name and the surnames */
- fprintf (Gbl.F.Out," "
- "%s ",
- Gbl.RowEvenOdd,UsrDat.FullName);
+ fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out,"%s ",UsrDat.FullName);
Tbl_EndCell ();
/* Write user's role */
- fprintf (Gbl.F.Out," "
- "%s ",
- Gbl.RowEvenOdd,
+ fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out,"%s ",
Txt_ROLES_SINGUL_Abc[UsrDat.Roles.InCurrentCrs.Role][UsrDat.Sex]);
Tbl_EndCell ();
@@ -1918,8 +1909,7 @@ static void Sta_ShowNumHitsPerUsr (unsigned long NumRows,MYSQL_RES *mysql_res)
}
else
BarWidth = 0;
- fprintf (Gbl.F.Out," ",
- Gbl.RowEvenOdd);
+ fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
if (BarWidth)
fprintf (Gbl.F.Out," "
- "%s ",
+ fprintf (Gbl.F.Out," ",
NumDayWeek == 6 ? "LOG_R" :
- "LOG",
- StrDate);
+ "LOG");
+ fprintf (Gbl.F.Out,"%s ",StrDate);
Tbl_EndCell ();
/* Write the day of the week */
- fprintf (Gbl.F.Out," "
- "%s ",
+ fprintf (Gbl.F.Out," ",
NumDayWeek == 6 ? "LOG_R" :
- "LOG",
- Txt_DAYS_SMALL[NumDayWeek]);
+ "LOG");
+ fprintf (Gbl.F.Out,"%s ",Txt_DAYS_SMALL[NumDayWeek]);
Tbl_EndCell ();
/* Draw bar proportional to number of hits */
@@ -2056,19 +2044,17 @@ static void Sta_ShowNumHitsPerDay (unsigned long NumRows,MYSQL_RES *mysql_res)
/* Write the date */
Dat_ConvDateToDateStr (&Date,StrDate);
- fprintf (Gbl.F.Out," "
- "%s ",
+ fprintf (Gbl.F.Out," ",
NumDayWeek == 6 ? "LOG_R" :
- "LOG",
- StrDate);
+ "LOG");
+ fprintf (Gbl.F.Out,"%s ",StrDate);
Tbl_EndCell ();
/* Write the day of the week */
- fprintf (Gbl.F.Out," "
- "%s ",
+ fprintf (Gbl.F.Out," ",
NumDayWeek == 6 ? "LOG_R" :
- "LOG",
- Txt_DAYS_SMALL[NumDayWeek]);
+ "LOG");
+ fprintf (Gbl.F.Out,"%s ",Txt_DAYS_SMALL[NumDayWeek]);
Tbl_EndCell ();
/* Draw bar proportional to number of hits */
@@ -2189,8 +2175,7 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
Tbl_EndRow ();
Tbl_StartRow ();
- fprintf (Gbl.F.Out," ",
+ fprintf (Gbl.F.Out," ",
GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH);
Sta_DrawBarColors (SelectedColorType,Hits.Max);
Tbl_EndCell ();
@@ -2201,9 +2186,9 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
Hour < 24;
Hour++)
{
- fprintf (Gbl.F.Out," "
- "%02uh",
- GRAPH_DISTRIBUTION_PER_HOUR_HOUR_WIDTH,Hour);
+ fprintf (Gbl.F.Out," ",
+ GRAPH_DISTRIBUTION_PER_HOUR_HOUR_WIDTH);
+ fprintf (Gbl.F.Out,"%02uh",Hour);
Tbl_EndCell ();
}
Tbl_EndRow ();
@@ -2250,19 +2235,17 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
/* Write the date */
Dat_ConvDateToDateStr (&Date,StrDate);
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s ",
+ fprintf (Gbl.F.Out," ",
NumDayWeek == 6 ? "LOG_R" :
- "LOG",
- StrDate);
+ "LOG");
+ fprintf (Gbl.F.Out,"%s ",StrDate);
Tbl_EndCell ();
/* Write the day of the week */
- fprintf (Gbl.F.Out," "
- "%s ",
+ fprintf (Gbl.F.Out," ",
NumDayWeek == 6 ? "LOG_R" :
- "LOG",
- Txt_DAYS_SMALL[NumDayWeek]);
+ "LOG");
+ fprintf (Gbl.F.Out,"%s ",Txt_DAYS_SMALL[NumDayWeek]);
Tbl_EndCell ();
/* Draw a cell with the color proportional to the number of clicks */
@@ -2301,19 +2284,17 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
/* Write the date */
Dat_ConvDateToDateStr (&Date,StrDate);
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s ",
+ fprintf (Gbl.F.Out," ",
NumDayWeek == 6 ? "LOG_R" :
- "LOG",
- StrDate);
+ "LOG");
+ fprintf (Gbl.F.Out,"%s ",StrDate);
Tbl_EndCell ();
/* Write the day of the week */
- fprintf (Gbl.F.Out," "
- "%s ",
+ fprintf (Gbl.F.Out," ",
NumDayWeek == 6 ? "LOG_R" :
- "LOG",
- Txt_DAYS_SMALL[NumDayWeek]);
+ "LOG");
+ fprintf (Gbl.F.Out,"%s ",Txt_DAYS_SMALL[NumDayWeek]);
Tbl_EndCell ();
/* Draw the color proporcional al number of clicks */
@@ -2341,19 +2322,17 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
/* Write the date */
Dat_ConvDateToDateStr (&Date,StrDate);
- fprintf (Gbl.F.Out," "
- "%s ",
+ fprintf (Gbl.F.Out," ",
NumDayWeek == 6 ? "LOG_R" :
- "LOG",
- StrDate);
+ "LOG");
+ fprintf (Gbl.F.Out,"%s ",StrDate);
Tbl_EndCell ();
/* Write the day of the week */
- fprintf (Gbl.F.Out," "
- "%s ",
+ fprintf (Gbl.F.Out," ",
NumDayWeek == 6 ? "LOG_R" :
- "LOG",
- Txt_DAYS_SMALL[NumDayWeek]);
+ "LOG");
+ fprintf (Gbl.F.Out,"%s ",Txt_DAYS_SMALL[NumDayWeek]);
Tbl_EndCell ();
/* Draw the color proportional to number of clicks */
@@ -2404,26 +2383,23 @@ static void Sta_DrawBarColors (Sta_ColorType_t ColorType,float HitsMax)
Tbl_StartTableWide ();
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "0",
+ fprintf (Gbl.F.Out," ",
(GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2,
(GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2);
+ fprintf (Gbl.F.Out,"0");
Tbl_EndCell ();
for (Interval = 1;
Interval <= 4;
Interval++)
{
- fprintf (Gbl.F.Out," ",
+ fprintf (Gbl.F.Out," ",
GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5,
GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5);
Str_WriteFloatNum (Gbl.F.Out,(float) Interval * HitsMax / 5.0);
Tbl_EndCell ();
}
- fprintf (Gbl.F.Out," ",
+ fprintf (Gbl.F.Out," ",
(GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2,
(GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2);
Str_WriteFloatNum (Gbl.F.Out,HitsMax);
@@ -2439,10 +2415,10 @@ static void Sta_DrawBarColors (Sta_ColorType_t ColorType,float HitsMax)
{
Sta_SetColor (ColorType,(float) NumColor,(float) GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH,&R,&G,&B);
fprintf (Gbl.F.Out," "
- " ",
- R,G,B,Cfg_URL_ICON_PUBLIC);
+ " background-color:#%02X%02X%02X;\">",
+ R,G,B);
+ fprintf (Gbl.F.Out," ",
+ Cfg_URL_ICON_PUBLIC);
Tbl_EndCell ();
}
Tbl_EndRow ();
@@ -2611,9 +2587,8 @@ static void Sta_ShowNumHitsPerWeek (unsigned long NumRows,
Tbl_StartRow ();
/* Write week */
- fprintf (Gbl.F.Out," "
- "%04u-%02u ",
- Date.Year,Date.Week);
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%04u-%02u ",Date.Year,Date.Week);
Tbl_EndCell ();
/* Draw bar proportional to number of hits */
@@ -2641,9 +2616,8 @@ static void Sta_ShowNumHitsPerWeek (unsigned long NumRows,
Tbl_StartRow ();
/* Write week */
- fprintf (Gbl.F.Out," "
- "%04u-%02u ",
- Date.Year,Date.Week);
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%04u-%02u ",Date.Year,Date.Week);
Tbl_EndCell ();
/* Draw bar proportional to number of hits */
@@ -2718,9 +2692,8 @@ static void Sta_ShowNumHitsPerMonth (unsigned long NumRows,
Tbl_StartRow ();
/* Write the month */
- fprintf (Gbl.F.Out," "
- "%04u-%02u ",
- Date.Year,Date.Month);
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%04u-%02u ",Date.Year,Date.Month);
Tbl_EndCell ();
/* Draw bar proportional to number of hits */
@@ -2747,9 +2720,8 @@ static void Sta_ShowNumHitsPerMonth (unsigned long NumRows,
Tbl_StartRow ();
/* Write the month */
- fprintf (Gbl.F.Out," "
- "%04u-%02u ",
- Date.Year,Date.Month);
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%04u-%02u ",Date.Year,Date.Month);
Tbl_EndCell ();
/* Draw bar proportional to number of hits */
@@ -2824,9 +2796,8 @@ static void Sta_ShowNumHitsPerYear (unsigned long NumRows,
Tbl_StartRow ();
/* Write the year */
- fprintf (Gbl.F.Out," "
- "%04u ",
- Date.Year);
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%04u ",Date.Year);
Tbl_EndCell ();
/* Draw bar proportional to number of hits */
@@ -2853,9 +2824,8 @@ static void Sta_ShowNumHitsPerYear (unsigned long NumRows,
Tbl_StartRow ();
/* Write the year */
- fprintf (Gbl.F.Out," "
- "%04u ",
- Date.Year);
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%04u ",Date.Year);
Tbl_EndCell ();
/* Draw bar proportional to number of hits */
@@ -2941,8 +2911,7 @@ static void Sta_WriteAccessHour (unsigned Hour,struct Sta_Hits *Hits,unsigned Co
{
unsigned BarHeight;
- fprintf (Gbl.F.Out," ",
+ fprintf (Gbl.F.Out," ",
ColumnWidth);
/* Draw bar with a height porportional to the number of clicks */
@@ -3058,11 +3027,12 @@ static void Sta_ShowAverageAccessesPerMinute (unsigned long NumRows,MYSQL_RES *m
Tbl_StartRow ();
/* First division (left) */
- fprintf (Gbl.F.Out," "
- " ",
+ Sta_WIDTH_SEMIDIVISION_GRAPHIC);
+ fprintf (Gbl.F.Out," ",
- Sta_WIDTH_SEMIDIVISION_GRAPHIC,Cfg_URL_ICON_PUBLIC,
+ Cfg_URL_ICON_PUBLIC,
Sta_WIDTH_SEMIDIVISION_GRAPHIC);
Tbl_EndCell ();
@@ -3071,22 +3041,24 @@ static void Sta_ShowAverageAccessesPerMinute (unsigned long NumRows,MYSQL_RES *m
i < Sta_NUM_DIVISIONS_X * 2;
i++)
{
- fprintf (Gbl.F.Out," "
- " ",
+ Sta_WIDTH_SEMIDIVISION_GRAPHIC);
+ fprintf (Gbl.F.Out," ",
- Sta_WIDTH_SEMIDIVISION_GRAPHIC,Cfg_URL_ICON_PUBLIC,
+ Cfg_URL_ICON_PUBLIC,
Sta_WIDTH_SEMIDIVISION_GRAPHIC);
Tbl_EndCell ();
}
/* Last division (right) */
- fprintf (Gbl.F.Out," "
- " ",
+ Sta_WIDTH_SEMIDIVISION_GRAPHIC);
+ fprintf (Gbl.F.Out," ",
- Sta_WIDTH_SEMIDIVISION_GRAPHIC,Cfg_URL_ICON_PUBLIC,
+ Cfg_URL_ICON_PUBLIC,
Sta_WIDTH_SEMIDIVISION_GRAPHIC);
Tbl_EndCell ();
@@ -3113,8 +3085,7 @@ static void Sta_WriteLabelsXAxisAccMin (float IncX,const char *Format)
i <= Sta_NUM_DIVISIONS_X;
i++, NumX += IncX)
{
- fprintf (Gbl.F.Out," ",
+ fprintf (Gbl.F.Out," ",
Sta_WIDTH_DIVISION_GRAPHIC);
fprintf (Gbl.F.Out,Format,NumX);
Tbl_EndCell ();
@@ -3143,9 +3114,9 @@ static void Sta_WriteAccessMinute (unsigned Minute,float HitsNum,float MaxX)
" style=\"width:%upx;"
" background-image:url('%s/ejey24x30.gif');"
" background-size:30px 30px;"
- " background-repeat:repeat;\">"
- "00h",
+ " background-repeat:repeat;\">",
Sta_WIDTH_SEMIDIVISION_GRAPHIC,Cfg_URL_ICON_PUBLIC);
+ fprintf (Gbl.F.Out,"00h");
Tbl_EndCell ();
}
else if (Minute == (Sta_NUM_MINUTES_PER_DAY - 30))
@@ -3155,9 +3126,9 @@ static void Sta_WriteAccessMinute (unsigned Minute,float HitsNum,float MaxX)
" style=\"width:%upx;"
" background-image:url('%s/ejey24x30.gif');"
" background-size:30px 30px;"
- " background-repeat:repeat;\">"
- "24h",
+ " background-repeat:repeat;\">",
Sta_WIDTH_SEMIDIVISION_GRAPHIC,Cfg_URL_ICON_PUBLIC);
+ fprintf (Gbl.F.Out,"24h");
Tbl_EndCell ();
}
else if (!(Minute % 30) && (Minute % 60))
@@ -3167,9 +3138,9 @@ static void Sta_WriteAccessMinute (unsigned Minute,float HitsNum,float MaxX)
" style=\"width:%upx;"
" background-image:url('%s/ejey24x60.gif');"
" background-size:30px 60px;"
- " background-repeat:repeat;\">"
- "%02uh",
- Sta_WIDTH_SEMIDIVISION_GRAPHIC,Cfg_URL_ICON_PUBLIC,(Minute + 30) / 60);
+ " background-repeat:repeat;\">",
+ Sta_WIDTH_SEMIDIVISION_GRAPHIC,Cfg_URL_ICON_PUBLIC);
+ fprintf (Gbl.F.Out,"%02uh",(Minute + 30) / 60);
Tbl_EndCell ();
}
@@ -3244,12 +3215,15 @@ static void Sta_ShowNumHitsPerAction (unsigned long NumRows,
Tbl_StartRow ();
if (ActCod >= 0)
- fprintf (Gbl.F.Out," "
- "%s ",
- Act_GetActionTextFromDB (ActCod,ActTxt));
+ {
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s ",Act_GetActionTextFromDB (ActCod,ActTxt));
+ }
else
- fprintf (Gbl.F.Out," "
- "? ");
+ {
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"? ");
+ }
Tbl_EndCell ();
/* Draw bar proportional to number of hits */
@@ -3363,9 +3337,8 @@ static void Sta_ShowNumHitsPerWSFunction (unsigned long NumRows,
if (sscanf (row[0],"%ld",&FunCod) != 1)
Lay_ShowErrorAndExit ("Wrong function code.");
- fprintf (Gbl.F.Out," "
- "%s ",
- API_GetFunctionNameFromFunCod (FunCod));
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s ",API_GetFunctionNameFromFunCod (FunCod));
Tbl_EndCell ();
/* Draw bar proportional to number of hits */
@@ -3433,8 +3406,8 @@ static void Sta_ShowNumHitsPerBanner (unsigned long NumRows,
if (sscanf (row[0],"%ld",&(Ban.BanCod)) != 1)
Lay_ShowErrorAndExit ("Wrong banner code.");
Ban_GetDataOfBannerByCod (&Ban);
- fprintf (Gbl.F.Out," "
- ""
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,""
" 0) // Hit with an institution selected
{
/***** Get data of institution *****/
@@ -3637,7 +3608,7 @@ static void Sta_WriteInstitution (long InsCod)
Ins_GetDataOfInstitutionByCod (&Ins,Ins_GET_BASIC_DATA);
/***** Title in cell *****/
- fprintf (Gbl.F.Out,"title=\"%s\">",
+ fprintf (Gbl.F.Out," ",
Ins.FullName);
/***** Form to go to institution *****/
@@ -3645,8 +3616,11 @@ static void Sta_WriteInstitution (long InsCod)
"LOG","CENTER_TOP");
}
else // Hit with no institution selected
+ {
/***** No institution selected *****/
- fprintf (Gbl.F.Out,"> - ");
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out," - ");
+ }
/***** End cell *****/
Tbl_EndCell ();
@@ -3727,8 +3701,6 @@ static void Sta_WriteCentre (long CtrCod)
struct Centre Ctr;
/***** Start cell *****/
- fprintf (Gbl.F.Out," 0) // Hit with a centre selected
{
/***** Get data of centre *****/
@@ -3736,7 +3708,7 @@ static void Sta_WriteCentre (long CtrCod)
Ctr_GetDataOfCentreByCod (&Ctr);
/***** Title in cell *****/
- fprintf (Gbl.F.Out,"title=\"%s\">",
+ fprintf (Gbl.F.Out," ",
Ctr.FullName);
/***** Form to go to centre *****/
@@ -3744,8 +3716,11 @@ static void Sta_WriteCentre (long CtrCod)
"LOG","CENTER_TOP");
}
else // Hit with no centre selected
+ {
/***** No centre selected *****/
- fprintf (Gbl.F.Out,"> - ");
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out," - ");
+ }
/***** End cell *****/
Tbl_EndCell ();
@@ -3826,8 +3801,6 @@ static void Sta_WriteDegree (long DegCod)
struct Degree Deg;
/***** Start cell *****/
- fprintf (Gbl.F.Out," 0) // Hit with a degree selected
{
/***** Get data of degree *****/
@@ -3835,7 +3808,7 @@ static void Sta_WriteDegree (long DegCod)
Deg_GetDataOfDegreeByCod (&Deg);
/***** Title in cell *****/
- fprintf (Gbl.F.Out,"title=\"%s\">",
+ fprintf (Gbl.F.Out," ",
Deg.FullName);
/***** Form to go to degree *****/
@@ -3843,8 +3816,11 @@ static void Sta_WriteDegree (long DegCod)
"LOG","CENTER_TOP");
}
else // Hit with no degree selected
+ {
/***** No degree selected *****/
- fprintf (Gbl.F.Out,"> - ");
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out," - ");
+ }
/***** End cell *****/
Tbl_EndCell ();
@@ -3926,8 +3902,8 @@ static void Sta_ShowNumHitsPerCourse (unsigned long NumRows,
Sta_WriteDegree (Crs.DegCod);
/* Write degree year */
- fprintf (Gbl.F.Out," "
- "%s ",
+ fprintf (Gbl.F.Out," ");
+ fprintf (Gbl.F.Out,"%s ",
CrsOK ? Txt_YEAR_OF_DEGREE[Crs.Year] :
"-");
Tbl_EndCell ();
@@ -4300,48 +4276,39 @@ void Sta_GetAndShowLastClicks (void)
/* Print table row */
Tbl_StartRow ();
- fprintf (Gbl.F.Out," "
- "%s", // Click
- ClassRow,row[0]);
+ fprintf (Gbl.F.Out," ",ClassRow);
+ fprintf (Gbl.F.Out,"%s",row[0]); // Click
Tbl_EndCell ();
- fprintf (Gbl.F.Out," " // Elapsed time
- "",
- ClassRow);
+ fprintf (Gbl.F.Out," ",ClassRow); // Elapsed time
Dat_WriteHoursMinutesSecondsFromSeconds (TimeDiff);
Tbl_EndCell ();
- fprintf (Gbl.F.Out," "
- "%s", // Role
- ClassRow,
+ fprintf (Gbl.F.Out," ",ClassRow);
+ fprintf (Gbl.F.Out,"%s", // Role
Txt_ROLES_SINGUL_Abc[Rol_ConvertUnsignedStrToRole (row[3])][Usr_SEX_UNKNOWN]);
Tbl_EndCell ();
- fprintf (Gbl.F.Out," "
- "%s", // Country
- ClassRow,Cty.Name[Gbl.Prefs.Language]);
+ fprintf (Gbl.F.Out," ",ClassRow);
+ fprintf (Gbl.F.Out,"%s",Cty.Name[Gbl.Prefs.Language]); // Country
Tbl_EndCell ();
- fprintf (Gbl.F.Out," "
- "%s", // Institution
- ClassRow,Ins.ShrtName);
+ fprintf (Gbl.F.Out," ",ClassRow);
+ fprintf (Gbl.F.Out,"%s",Ins.ShrtName); // Institution
Tbl_EndCell ();
- fprintf (Gbl.F.Out," "
- "%s", // Centre
- ClassRow,Ctr.ShrtName);
+ fprintf (Gbl.F.Out," ",ClassRow);
+ fprintf (Gbl.F.Out,"%s",Ctr.ShrtName); // Centre
Tbl_EndCell ();
- fprintf (Gbl.F.Out," "
- "%s", // Degree
- ClassRow,Deg.ShrtName);
+ fprintf (Gbl.F.Out," ",ClassRow);
+ fprintf (Gbl.F.Out,"%s",Deg.ShrtName); // Degree
Tbl_EndCell ();
- fprintf (Gbl.F.Out," ",
- ClassRow);
+ fprintf (Gbl.F.Out," ",ClassRow);
if (row[8])
if (row[8][0])
- fprintf (Gbl.F.Out,"%s",row[8]); // Action
+ fprintf (Gbl.F.Out,"%s",row[8]); // Action
Tbl_EndCell ();
Tbl_EndRow ();