Version19.46

This commit is contained in:
Antonio Cañas Vargas 2019-10-28 13:56:04 +01:00
parent adfa43eaa2
commit 088dabaa48
33 changed files with 309 additions and 252 deletions

View File

@ -62,6 +62,7 @@ static unsigned HTM_TD_NestingLevel = 0;
static unsigned HTM_DIV_NestingLevel = 0;
static unsigned HTM_UL_NestingLevel = 0;
static unsigned HTM_LI_NestingLevel = 0;
static unsigned HTM_A_NestingLevel = 0;
/*****************************************************************************/
/***************************** Private prototypes ****************************/
@ -81,6 +82,8 @@ static void HTM_DIV_BeginWithoutAttr (void);
static void HTM_UL_BeginWithoutAttr (void);
static void HTM_LI_BeginWithoutAttr (void);
static void HTM_A_BeginWithoutAttr (void);
/*****************************************************************************/
/******************************* Start/end table *****************************/
/*****************************************************************************/
@ -648,3 +651,55 @@ void HTM_LI_End (void)
HTM_LI_NestingLevel--;
}
/*****************************************************************************/
/********************************** Anchors **********************************/
/*****************************************************************************/
void HTM_A_Begin (const char *fmt,...)
{
va_list ap;
int NumBytesPrinted;
char *Attr;
if (fmt)
{
if (fmt[0])
{
va_start (ap,fmt);
NumBytesPrinted = vasprintf (&Attr,fmt,ap);
va_end (ap);
if (NumBytesPrinted < 0) // If memory allocation wasn't possible,
// or some other error occurs,
// vasprintf will return -1
Lay_NotEnoughMemoryExit ();
/***** Print HTML *****/
fprintf (Gbl.F.Out,"<a %s>",Attr);
free ((void *) Attr);
}
else
HTM_A_BeginWithoutAttr ();
}
else
HTM_A_BeginWithoutAttr ();
HTM_A_NestingLevel++;
}
static void HTM_A_BeginWithoutAttr (void)
{
fprintf (Gbl.F.Out,"<a>");
}
void HTM_A_End (void)
{
if (HTM_A_NestingLevel == 0) // No A open
Ale_ShowAlert (Ale_ERROR,"Trying to close unopened A.");
fprintf (Gbl.F.Out,"</a>");
HTM_A_NestingLevel--;
}

View File

@ -80,4 +80,7 @@ void HTM_UL_End (void);
void HTM_LI_Begin (const char *fmt,...);
void HTM_LI_End (void);
void HTM_A_Begin (const char *fmt,...);
void HTM_A_End (void);
#endif

View File

@ -419,15 +419,14 @@ static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Tx
if (AlertClosable[AlertType])
{
HTM_DIV_Begin ("class=\"ALERT_CLOSE\"");
fprintf (Gbl.F.Out,"<a href=\"\""
" onclick=\"toggleDisplay('%s');return false;\" />"
"<img src=\"%s/close.svg\""
HTM_A_Begin ("href=\"\" onclick=\"toggleDisplay('%s');return false;\" /",
IdAlert);
fprintf (Gbl.F.Out,"<img src=\"%s/close.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />"
"</a>",
IdAlert,
" class=\"ICO16x16\" />",
Cfg_URL_ICON_PUBLIC,
Txt_Close,Txt_Close);
HTM_A_End ();
HTM_DIV_End ();
}

View File

@ -153,17 +153,17 @@ static void Ban_WriteListOfBanners (void)
{
/* Write data of this banner */
HTM_LI_Begin (NULL);
fprintf (Gbl.F.Out,"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">"
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"BANNER\" />"
"</a>",
fprintf (Gbl.F.Out,"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">",
Gbl.Banners.Lst[NumBan].WWW,
Gbl.Banners.Lst[NumBan].FullName,
Gbl.Banners.Lst[NumBan].FullName);
fprintf (Gbl.F.Out,"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"BANNER\" />",
Cfg_URL_BANNER_PUBLIC,
Gbl.Banners.Lst[NumBan].Img,
Gbl.Banners.Lst[NumBan].ShrtName,
Gbl.Banners.Lst[NumBan].FullName);
HTM_A_End ();
HTM_LI_End ();
}

View File

@ -175,7 +175,7 @@ static void Box_StartBoxInternal (const char *Width,const char *Title,
Hlp_WIKI,HelpLink);
Ico_PutDivIcon ("CONTEXT_OPT HLP_HIGHLIGHT",
"question.svg",Txt_Help);
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
}
if (Closable == Box_CLOSABLE) // Icon to close the box
@ -185,7 +185,7 @@ static void Box_StartBoxInternal (const char *Width,const char *Title,
Gbl.Box.Ids[Gbl.Box.Nested]);
Ico_PutDivIcon ("CONTEXT_OPT HLP_HIGHLIGHT",
"close.svg",Txt_Close);
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
}
HTM_DIV_End ();

View File

@ -343,7 +343,7 @@ static void Ctr_Configuration (bool PrintView)
Gbl.Hierarchy.Ctr.ShrtName,64,NULL,true);
fprintf (Gbl.F.Out,"<br />%s",Gbl.Hierarchy.Ctr.FullName);
if (PutLink)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
HTM_DIV_End ();
/***** Centre photo *****/
@ -369,7 +369,7 @@ static void Ctr_Configuration (bool PrintView)
PrintView ? "CENTRE_PHOTO_PRINT" :
"CENTRE_PHOTO_SHOW");
if (PutLink)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
HTM_DIV_End ();
/* Photo attribution */
@ -588,11 +588,10 @@ static void Ctr_Configuration (bool PrintView)
else // I can not change centre WWW
{
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_LONG\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
"%s"
"</a>",
Gbl.Hierarchy.Ctr.WWW,
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">",
Gbl.Hierarchy.Ctr.WWW);
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ctr.WWW);
HTM_A_End ();
HTM_DIV_End ();
}
HTM_TD_End ();
@ -607,15 +606,15 @@ static void Ctr_Configuration (bool PrintView)
HTM_TD_End ();
HTM_TD_Begin ("class=\"DAT LM\"");
fprintf (Gbl.F.Out,"<a href=\"%s/%s?ctr=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?ctr=%ld"
"</a>",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Ctr.CtrCod,
fprintf (Gbl.F.Out,"<a href=\"%s/%s?ctr=%ld\" class=\"DAT\" target=\"_blank\">",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Ctr.CtrCod);
fprintf (Gbl.F.Out,"%s/%s?ctr=%ld",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Ctr.CtrCod);
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();
@ -1608,10 +1607,9 @@ static void Ctr_ListCentresForEdition (void)
Cns_MAX_BYTES_WWW);
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_SHORT\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
" class=\"DAT\" title=\"%s\">"
"%s"
"</a>",
Ctr->WWW,Ctr->WWW,WWW);
" class=\"DAT\" title=\"%s\">",Ctr->WWW,Ctr->WWW);
fprintf (Gbl.F.Out,"%s",WWW);
HTM_A_End ();
HTM_DIV_End ();
}
HTM_TD_End ();

View File

@ -487,13 +487,14 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 19.45.2 (2019-10-27)"
#define Log_PLATFORM_VERSION "SWAD 19.46 (2019-10-28)"
#define CSS_FILE "swad19.45.css"
#define JS_FILE "swad19.39.js"
/*
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
// TODO: Impedir la creación y edición de proyectos si no son editables.
Version 19.46: Oct 28, 2019 Code refactoring in HTML anchors. (246541 lines)
Version 19.45.2: Oct 27, 2019 Code refactoring in HTML forms. (246498 lines)
Version 19.45.1: Oct 27, 2019 Code refactoring in HTML forms. (246481 lines)
Version 19.45: Oct 26, 2019 Code refactoring in HTML lists. (246444 lines)

View File

@ -271,7 +271,7 @@ static void Cty_Configuration (bool PrintView)
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]);
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]);
if (PutLink)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
HTM_DIV_End ();
/***** Country map (and link to WWW if exists) *****/
@ -288,7 +288,7 @@ static void Cty_Configuration (bool PrintView)
Cty_DrawCountryMap (&Gbl.Hierarchy.Cty,PrintView ? "COUNTRY_MAP_PRINT" :
"COUNTRY_MAP_SHOW");
if (PutLink)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
HTM_DIV_End ();
/* Map attribution */
@ -333,7 +333,7 @@ static void Cty_Configuration (bool PrintView)
Gbl.Hierarchy.Cty.WWW[Gbl.Prefs.Language]);
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]);
if (!PrintView && Gbl.Hierarchy.Cty.WWW[Gbl.Prefs.Language][0])
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();
@ -346,14 +346,15 @@ static void Cty_Configuration (bool PrintView)
HTM_TD_End ();
HTM_TD_Begin ("class=\"DAT LM\"");
fprintf (Gbl.F.Out,"<a href=\"%s/%s?cty=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?cty=%ld</a>",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Cty.CtyCod,
fprintf (Gbl.F.Out,"<a href=\"%s/%s?cty=%ld\" class=\"DAT\" target=\"_blank\">",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Cty.CtyCod);
fprintf (Gbl.F.Out,"%s/%s?cty=%ld",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Cty.CtyCod);
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();
@ -826,16 +827,16 @@ void Cty_DrawCountryMapAndNameWithLink (struct Country *Cty,Act_Action_t Action,
/***** Draw country map *****/
Cty_DrawCountryMap (Cty,ClassMap);
/***** Write country name and end link *****/
/***** Write country name *****/
Str_Copy (CountryName,Cty->Name[Gbl.Prefs.Language],
Cty_MAX_BYTES_NAME);
fprintf (Gbl.F.Out,"&nbsp;%s&nbsp;(%s)"
"</a>",
CountryName,
Cty->Alpha2);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"&nbsp;%s&nbsp;(%s)",CountryName,Cty->Alpha2);
/***** End link *****/
Frm_LinkFormEnd ();
/***** End form *****/
HTM_DIV_End ();
Frm_EndForm ();
}

View File

@ -226,7 +226,7 @@ static void Crs_Configuration (bool PrintView)
Log_DrawLogo (Hie_DEG,Gbl.Hierarchy.Deg.DegCod,
Gbl.Hierarchy.Deg.ShrtName,64,NULL,true);
if (PutLink)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
fprintf (Gbl.F.Out,"<br />%s",
Gbl.Hierarchy.Crs.FullName);
HTM_DIV_End ();
@ -432,14 +432,15 @@ static void Crs_Configuration (bool PrintView)
HTM_TD_End ();
HTM_TD_Begin ("class=\"DAT LM\"");
fprintf (Gbl.F.Out,"<a href=\"%s/%s?crs=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?crs=%ld</a>",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Crs.CrsCod,
fprintf (Gbl.F.Out,"<a href=\"%s/%s?crs=%ld\" class=\"DAT\" target=\"_blank\">",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Crs.CrsCod);
fprintf (Gbl.F.Out,"%s/%s?crs=%ld",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Crs.CrsCod);
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();

View File

@ -332,7 +332,7 @@ static void Deg_Configuration (bool PrintView)
fprintf (Gbl.F.Out,"<br />%s",
Gbl.Hierarchy.Deg.FullName);
if (PutLink)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
HTM_DIV_End ();
/***** Begin table *****/
@ -473,11 +473,10 @@ static void Deg_Configuration (bool PrintView)
else // I can not change degree WWW
{
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_LONG\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
"%s"
"</a>",
Gbl.Hierarchy.Deg.WWW,
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">",
Gbl.Hierarchy.Deg.WWW);
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.WWW);
HTM_A_End ();
HTM_DIV_End ();
}
HTM_TD_End ();
@ -491,15 +490,15 @@ static void Deg_Configuration (bool PrintView)
HTM_TD_End ();
HTM_TD_Begin ("class=\"DAT LM\"");
fprintf (Gbl.F.Out,"<a href=\"%s/%s?deg=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?deg=%ld"
"</a>",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Deg.DegCod,
fprintf (Gbl.F.Out,"<a href=\"%s/%s?deg=%ld\" class=\"DAT\" target=\"_blank\">",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Deg.DegCod);
fprintf (Gbl.F.Out,"%s/%s?deg=%ld",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Deg.DegCod);
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();
@ -837,10 +836,9 @@ static void Deg_ListDegreesForEdition (void)
Cns_MAX_BYTES_WWW);
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_SHORT\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
" class=\"DAT\" title=\"%s\">"
"%s"
"</a>",
Deg->WWW,Deg->WWW,WWW);
" class=\"DAT\" title=\"%s\">",Deg->WWW,Deg->WWW);
fprintf (Gbl.F.Out,"%s",WWW);
HTM_A_End ();
HTM_DIV_End ();
}
HTM_TD_End ();

View File

@ -151,11 +151,10 @@ void Dpt_SeeDepts (void)
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"LM\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
"%s"
"</a>",
Gbl.Dpts.Lst[NumDpt].WWW,
Gbl.Dpts.Lst[NumDpt].FullName);
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">",
Gbl.Dpts.Lst[NumDpt].WWW);
fprintf (Gbl.F.Out,"%s",Gbl.Dpts.Lst[NumDpt].FullName);
HTM_A_End ();
HTM_TD_End ();
HTM_TD_Begin ("class=\"DAT RM\"");

View File

@ -1052,10 +1052,12 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"%s\">",
Ins.WWW,StyleTitle);
Log_DrawLogo (Hie_INS,Ins.InsCod,Ins.FullName,64,NULL,true);
fprintf (Gbl.F.Out,"<br />%s%s",
Ins.FullName,
TypeViewExamAnnouncement == Exa_PRINT_VIEW ? "</span>" :
"</a>");
fprintf (Gbl.F.Out,"<br />%s",
Ins.FullName);
if (TypeViewExamAnnouncement == Exa_PRINT_VIEW)
fprintf (Gbl.F.Out,"</span>");
else
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();
@ -1067,7 +1069,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Gbl.Hierarchy.Deg.WWW,StyleTitle);
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.FullName);
if (TypeViewExamAnnouncement == Exa_NORMAL_VIEW)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();

View File

@ -3406,10 +3406,13 @@ static void Brw_ShowDataOwnerAsgWrk (struct UsrData *UsrDat)
/***** Show user's email *****/
if (UsrDat->Email[0])
{
fprintf (Gbl.F.Out,"<br />"
"<a href=\"mailto:%s\" target=\"_blank\""
" class=\"AUTHOR_TXT\">%s</a>",
" class=\"AUTHOR_TXT\">%s",
UsrDat->Email,UsrDat->Email);
HTM_A_End ();
}
Frm_EndForm ();
HTM_DIV_End ();
@ -10069,11 +10072,11 @@ static void Brw_WriteBigLinkToDownloadFile (const char *URL,
fprintf (Gbl.F.Out,"&nbsp;%s&nbsp;"
"<img src=\"%s/download.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO40x40\" />"
"</a>",
" class=\"ICO40x40\" />",
FileNameToShow,
Cfg_URL_ICON_PUBLIC,
Title,Title);
HTM_A_End ();
}
}
@ -10112,11 +10115,13 @@ static void Brw_WriteSmallLinkToDownloadFile (const char *URL,
Frm_EndForm ();
}
else
{
/* Put anchor and filename */
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"DAT\" title=\"%s\" target=\"_blank\">"
"%s"
"</a>",
URL,FileNameToShow,FileNameToShow);
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"DAT\" title=\"%s\" target=\"_blank\">",
URL,FileNameToShow);
fprintf (Gbl.F.Out,"%s",FileNameToShow);
HTM_A_End ();
}
}
/*****************************************************************************/

View File

@ -927,13 +927,12 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
fprintf (Gbl.F.Out,"%s",row[3]);
HTM_TD_End ();
HTM_TD_Begin ("class=\"DAT_SMALL LM COLOR%u\"",
Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"<a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">"
"%s/?crs=%ld&amp;act=%ld"
"</a>",
Cfg_URL_SWAD_CGI,CrsCod,ActCod,
HTM_TD_Begin ("class=\"DAT_SMALL LM COLOR%u\"",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"<a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">",
Cfg_URL_SWAD_CGI,CrsCod,ActCod);
fprintf (Gbl.F.Out,"%s/?crs=%ld&amp;act=%ld",
Cfg_URL_SWAD_CGI,CrsCod,ActCod);
HTM_A_End ();
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s RM COLOR%u\"",
@ -1038,13 +1037,12 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
fprintf (Gbl.F.Out,"%s",row[3]);
HTM_TD_End ();
HTM_TD_Begin ("class=\"DAT_SMALL LM COLOR%u\"",
Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"<a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">"
"%s/?crs=%ld&amp;act=%ld"
"</a>",
Cfg_URL_SWAD_CGI,CrsCod,ActCod,
HTM_TD_Begin ("class=\"DAT_SMALL LM COLOR%u\"",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"<a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">",
Cfg_URL_SWAD_CGI,CrsCod,ActCod);
fprintf (Gbl.F.Out,"%s/?crs=%ld&amp;act=%ld",
Cfg_URL_SWAD_CGI,CrsCod,ActCod);
HTM_A_End ();
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s RM COLOR%u\"",

View File

@ -1052,7 +1052,7 @@ static void Inf_ShowPage (const char *URL)
URL,The_ClassFormOutBoxBold[Gbl.Prefs.Theme]);
Ico_PutIconTextLink ("expand-arrows-alt.svg",
Txt_View_in_a_new_window);
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
/***** End box *****/
Box_BoxEnd ();

View File

@ -345,7 +345,7 @@ static void Ins_Configuration (bool PrintView)
Gbl.Hierarchy.Ins.ShrtName,64,NULL,true);
fprintf (Gbl.F.Out,"<br />%s",Gbl.Hierarchy.Ins.FullName);
if (PutLink)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
HTM_DIV_End ();
/***** Begin table *****/
@ -488,10 +488,10 @@ static void Ins_Configuration (bool PrintView)
{
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_LONG\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
"%s"
"</a>",
"%s",
Gbl.Hierarchy.Ins.WWW,
Gbl.Hierarchy.Ins.WWW);
HTM_A_End ();
HTM_DIV_End ();
}
HTM_TD_End ();
@ -507,14 +507,14 @@ static void Ins_Configuration (bool PrintView)
HTM_TD_Begin ("class=\"LM\"");
fprintf (Gbl.F.Out,"<a href=\"%s/%s?ins=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?ins=%ld"
"</a>",
"%s/%s?ins=%ld",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Ins.InsCod,
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Ins.InsCod);
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();
@ -1558,10 +1558,9 @@ static void Ins_ListInstitutionsForEdition (void)
Cns_MAX_BYTES_WWW);
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_SHORT\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
" class=\"DAT\" title=\"%s\">"
"%s"
"</a>",
Ins->WWW,Ins->WWW,WWW);
" class=\"DAT\" title=\"%s\">",Ins->WWW,Ins->WWW);
fprintf (Gbl.F.Out,"%s",WWW);
HTM_A_End ();
HTM_DIV_End ();
}
HTM_TD_End ();

View File

@ -1153,13 +1153,13 @@ static void Lay_ShowRightColumn (void)
/***** SWADroid advertisement *****/
HTM_DIV_Begin ("class=\"LEFT_RIGHT_CELL\"");
fprintf (Gbl.F.Out,"<a href=\"https://play.google.com/store/apps/details?id=es.ugr.swad.swadroid\""
" target=\"_blank\" title=\"%s\">"
"<img src=\"%s/SWADroid120x200.png\""
" target=\"_blank\" title=\"%s\">",
Txt_If_you_have_an_Android_device_try_SWADroid);
fprintf (Gbl.F.Out,"<img src=\"%s/SWADroid120x200.png\""
" alt=\"SWADroid\" title=\"SWADroid\""
" style=\"width:150px; height:250px;\" />"
"</a>",
Txt_If_you_have_an_Android_device_try_SWADroid,
" style=\"width:150px; height:250px;\" />",
Cfg_URL_ICON_PUBLIC);
HTM_A_End ();
HTM_DIV_End ();
}
}
@ -1430,27 +1430,27 @@ static void Lay_WriteAboutZone (void)
fprintf (Gbl.F.Out,"<address id=\"about_zone\" class=\"ABOUT\">");
/***** Institution and centre hosting the platform *****/
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"ABOUT\" target=\"_blank\">"
"<img src=\"%s/%s\""
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"ABOUT\" target=\"_blank\">",
Cfg_ABOUT_URL);
fprintf (Gbl.F.Out,"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" style=\"width:%upx; height:%upx;\" />",
Cfg_ABOUT_URL,
Cfg_URL_ICON_PUBLIC,Cfg_ABOUT_LOGO,
Cfg_ABOUT_NAME,Cfg_ABOUT_NAME,
Cfg_ABOUT_LOGO_WIDTH,Cfg_ABOUT_LOGO_HEIGHT);
HTM_DIV_Begin (NULL);
fprintf (Gbl.F.Out,"%s",Cfg_ABOUT_NAME);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
/***** Questions and problems *****/
HTM_DIV_Begin (NULL);
fprintf (Gbl.F.Out,"%s: "
"<a href=\"mailto:%s\" class=\"ABOUT\" target=\"_blank\">"
"%s"
"</a>",
"%s",
Txt_Questions_and_problems,
Cfg_PLATFORM_RESPONSIBLE_EMAIL,Cfg_PLATFORM_RESPONSIBLE_EMAIL);
HTM_A_End ();
HTM_DIV_End ();
/***** About and time to generate and send page *****/
@ -1460,8 +1460,8 @@ static void Lay_WriteAboutZone (void)
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"ABOUT\" target=\"_blank\">",
Cfg_ABOUT_SWAD_URL);
fprintf (Gbl.F.Out,Txt_About_X,Log_PLATFORM_VERSION);
fprintf (Gbl.F.Out,"</a>"
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
HTM_A_End ();
fprintf (Gbl.F.Out,"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
/* Time to generate and send page */
Sta_WriteTimeToGenerateAndSendPage ();
@ -1607,7 +1607,7 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\">",Ins.WWW);
Log_DrawLogo (Hie_INS,Ins.InsCod,Ins.ShrtName,40,NULL,true);
if (!PrintView)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
}
HTM_TD_End ();
@ -1621,7 +1621,7 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
Ins.WWW);
fprintf (Gbl.F.Out,"%s",Ins.FullName);
if (!PrintView)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
}
if (DegCod > 0)
{
@ -1633,7 +1633,7 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
Deg.WWW);
fprintf (Gbl.F.Out,"%s",Deg.FullName);
if (!PrintView)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
}
fprintf (Gbl.F.Out,"<br />");
if (CrsCod > 0)
@ -1657,7 +1657,7 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
Deg.WWW);
Log_DrawLogo (Hie_DEG,Deg.DegCod,Deg.ShrtName,40,NULL,true);
if (!PrintView)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
}
HTM_TD_End ();
@ -1688,15 +1688,15 @@ void Lay_AdvertisementMobile (void)
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"DAT CM\"");
fprintf (Gbl.F.Out,"<a href=\"https://play.google.com/store/apps/details?id=es.ugr.swad.swadroid\""
" class=\"DAT\">"
"%s<br /><br />"
" class=\"DAT\">");
fprintf (Gbl.F.Out,"%s<br /><br />"
"<img src=\"%s/SWADroid200x300.png\""
" alt=\"SWADroid\" title=\"%s\""
" style=\"width:250px; height:375px;\" />"
"</a>",
" style=\"width:250px; height:375px;\" />",
Txt_Stay_connected_with_SWADroid,
Cfg_URL_ICON_PUBLIC,
Txt_Stay_connected_with_SWADroid);
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();

View File

@ -197,12 +197,11 @@ static void Lnk_WriteListOfLinks (void)
/* Write data of this link */
HTM_LI_Begin ("class=\"INS_LNK\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" title=\"%s\" class=\"INS_LNK\""
" target=\"_blank\">"
"%s"
"</a>",
" target=\"_blank\">",
Gbl.Links.Lst[NumLnk].WWW,
Gbl.Links.Lst[NumLnk].FullName,
Gbl.Links.Lst[NumLnk].ShrtName);
Gbl.Links.Lst[NumLnk].FullName);
fprintf (Gbl.F.Out,"%s",Gbl.Links.Lst[NumLnk].ShrtName);
HTM_A_End ();
HTM_LI_End ();
}

View File

@ -963,8 +963,10 @@ static void Mai_ListEmails (void)
Lay_ShowErrorAndExit ("The space allocated to store email addresses is full.");
Str_Concat (StrAddresses,UsrDat.Email,
Mai_MAX_BYTES_STR_ADDR);
fprintf (Gbl.F.Out,"<a href=\"mailto:%s?subject=%s\">%s</a>",
UsrDat.Email,Gbl.Hierarchy.Crs.FullName,UsrDat.Email);
fprintf (Gbl.F.Out,"<a href=\"mailto:%s?subject=%s\">",
UsrDat.Email,Gbl.Hierarchy.Crs.FullName);
fprintf (Gbl.F.Out,"%s",UsrDat.Email);
HTM_A_End ();
NumAcceptedUsrsWithEmail++;
}
@ -1002,7 +1004,7 @@ static void Mai_ListEmails (void)
The_ClassFormOutBoxBold[Gbl.Prefs.Theme]);
Ico_PutIconTextLink ("marker.svg",
Txt_Create_email_message);
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
Mnu_ContextMenuEnd ();

View File

@ -2869,12 +2869,9 @@ static void Mch_PutBigButton (Act_Action_t NextAction,const char *Id,
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
fprintf (Gbl.F.Out,"<a href=\"\" class=\"MCH_BUTTON_ON\" title=\"%s\" "
" onclick=\"document.getElementById('%s').submit();"
" return false;\">"
"<i class=\"%s\"></i>"
"</a>",
Txt,
Id,
Icon);
" return false;\">",Txt,Id);
fprintf (Gbl.F.Out,"<i class=\"%s\"></i>",Icon);
HTM_A_End ();
HTM_DIV_End ();
/***** End form *****/
@ -2899,10 +2896,9 @@ static void Mch_PutBigButtonClose (void)
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
fprintf (Gbl.F.Out,"<a href=\"\" class=\"MCH_BUTTON_ON\" title=\"%s\" "
" onclick=\"window.close();"
" return false;\"\">"
"<i class=\"%s\"></i>"
"</a>",
Txt_Close,Mch_ICON_CLOSE);
" return false;\"\">",Txt_Close);
fprintf (Gbl.F.Out,"<i class=\"%s\"></i>",Mch_ICON_CLOSE);
HTM_A_End ();
HTM_DIV_End ();
}

View File

@ -392,14 +392,14 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
/***** Icon 'clip' *****/
HTM_DIV_Begin ("id=\"%s_med_ico\"",Id); // <id>_med_ico
fprintf (Gbl.F.Out,"<a href=\"\""
" onclick=\"mediaActivateMediaUploader('%s');return false;\">"
"<img src=\"%s/paperclip.svg\""
" onclick=\"mediaActivateMediaUploader('%s');return false;\">",
Id);
fprintf (Gbl.F.Out,"<img src=\"%s/paperclip.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO_HIGHLIGHT ICOx16\" />"
"</a>",
Id,
" class=\"ICO_HIGHLIGHT ICOx16\" />",
Cfg_URL_ICON_PUBLIC,
Txt_Multimedia,Txt_Multimedia);
HTM_A_End ();
HTM_DIV_End (); // <id>_med_ico
/***** Start media uploader *****/
@ -490,13 +490,13 @@ static void Med_PutIconMediaUploader (const char UniqueId[Frm_MAX_BYTES_ID + 1],
/***** Icon to activate form in media uploader *****/
HTM_DIV_Begin ("id=\"%s_%s\" class=\"PREF_OFF\"", // <id>_IconSuffix
UniqueId,MediaUploader->IconSuffix);
fprintf (Gbl.F.Out,"<a href=\"\" onclick=\"%s('%s');return false;\">"
"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
" class=\"ICO_HIGHLIGHT ICOx16\" />"
"</a>",
MediaUploader->FunctionName,UniqueId,
fprintf (Gbl.F.Out,"<a href=\"\" onclick=\"%s('%s');return false;\">",
MediaUploader->FunctionName,UniqueId);
fprintf (Gbl.F.Out,"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
" class=\"ICO_HIGHLIGHT ICOx16\" />",
Cfg_URL_ICON_PUBLIC,MediaUploader->Icon,
MediaUploader->Title,MediaUploader->Title);
HTM_A_End ();
HTM_DIV_End (); // <id>_IconSuffix
}
@ -1509,7 +1509,7 @@ void Med_ShowMedia (struct Media *Media,
/* End optional link to external URL */
if (PutLink)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
break;
case Med_YOUTUBE:
/***** Show embed YouTube video *****/

View File

@ -252,14 +252,14 @@ static void Net_ShowAWebOrSocialNet (const char *URL,
{
/***** Write link and icon *****/
HTM_DIV_Begin ("class=\"ICO_HIGHLIGHT\" style=\"display:inline;\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" title=\"%s\">"
"<img src=\"%s/%s\""
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" title=\"%s\">",
URL,Title);
fprintf (Gbl.F.Out,"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />"
"</a>",
URL,Title,
" class=\"ICO16x16\" />",
Cfg_URL_ICON_PUBLIC,Icon,
Title,Title);
HTM_A_End ();
HTM_DIV_End ();
}

View File

@ -472,12 +472,12 @@ void Not_ShowNotices (Not_Listing_t TypeNoticesListing,long HighlightNotCod)
HTM_DIV_Begin ("class=\"CM\"");
fprintf (Gbl.F.Out,"<a href=\"");
RSS_WriteRSSLink (Gbl.F.Out,Gbl.Hierarchy.Crs.CrsCod);
fprintf (Gbl.F.Out,"\" target=\"_blank\">"
"<img src=\"%s/rss-square.svg\""
fprintf (Gbl.F.Out,"\" target=\"_blank\">");
fprintf (Gbl.F.Out,"<img src=\"%s/rss-square.svg\""
" alt=\"RSS\" title=\"RSS\""
" class=\"ICO16x16\" />"
"</a>",
" class=\"ICO16x16\" />",
Cfg_URL_ICON_PUBLIC);
HTM_A_End ();
HTM_DIV_End ();
break;
case Not_LIST_FULL_NOTICES:

View File

@ -137,22 +137,20 @@ void Plg_ListPlugins (void)
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"DAT LM\" style=\"width:45px;\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">"
"<img src=\"%s/%s24x24.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO40x40\" />"
"</a>",
URL,Plg->Name,
fprintf (Gbl.F.Out,"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">",
URL,Plg->Name);
fprintf (Gbl.F.Out,"<img src=\"%s/%s24x24.gif\" alt=\"%s\" title=\"%s\""
" class=\"ICO40x40\" />",
Cfg_URL_ICON_PLUGINS_PUBLIC,Gbl.Plugins.Lst[NumPlg].Logo,
Plg->Name,Plg->Name);
HTM_A_End ();
HTM_TD_End ();
HTM_TD_Begin ("class=\"DAT LM\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">"
"%s"
"</a>",
URL,Plg->Name,
Plg->Name);
fprintf (Gbl.F.Out,"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">",
URL,Plg->Name);
fprintf (Gbl.F.Out,"%s",Plg->Name);
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();

View File

@ -1462,7 +1462,7 @@ static void Prj_PutIconToToggleProject (unsigned UniqueId,
Text,The_ClassFormInBox[Gbl.Prefs.Theme],
UniqueId);
Ico_PutIconTextLink (Icon,Text);
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
}
/*****************************************************************************/
@ -1601,12 +1601,11 @@ static void Prj_ShowOneProjectDepartment (const struct Project *Prj,
break;
}
if (PutLink)
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
" class=\"%s\">",
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"%s\">",
Dpt.WWW,ClassData);
fprintf (Gbl.F.Out,"%s",Dpt.FullName);
if (PutLink)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();
}
@ -1781,7 +1780,7 @@ static void Prj_ShowOneProjectURL (const struct Project *Prj,
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\">",Prj->URL);
fprintf (Gbl.F.Out,"%s",Prj->URL);
if (PutLink)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();

View File

@ -2849,11 +2849,12 @@ static void Rec_ShowEmail (struct UsrData *UsrDat,const char *ClassForm)
{
HTM_DIV_Begin ("class=\"REC_EMAIL\""); // Limited width
if (Mai_ICanSeeOtherUsrEmail (UsrDat))
fprintf (Gbl.F.Out,"<a href=\"mailto:%s\" class=\"REC_DAT_BOLD\">"
"%s"
"</a>",
UsrDat->Email,
{
fprintf (Gbl.F.Out,"<a href=\"mailto:%s\" class=\"REC_DAT_BOLD\">",
UsrDat->Email);
fprintf (Gbl.F.Out,"%s",UsrDat->Email);
HTM_A_End ();
}
else
fprintf (Gbl.F.Out,"********");
HTM_DIV_End ();
@ -3463,11 +3464,12 @@ static void Rec_ShowLocalPhone (struct UsrData *UsrDat,
Usr_MAX_CHARS_PHONE,
UsrDat->LocalPhone);
else if (UsrDat->LocalPhone[0])
fprintf (Gbl.F.Out,"<a href=\"tel:%s\" class=\"REC_DAT_BOLD\">"
"%s"
"</a>",
UsrDat->LocalPhone,
{
fprintf (Gbl.F.Out,"<a href=\"tel:%s\" class=\"REC_DAT_BOLD\">",
UsrDat->LocalPhone);
fprintf (Gbl.F.Out,"%s",UsrDat->LocalPhone);
HTM_A_End ();
}
}
HTM_TD_End ();
@ -3541,11 +3543,12 @@ static void Rec_ShowFamilyPhone (struct UsrData *UsrDat,
Usr_MAX_CHARS_PHONE,
UsrDat->FamilyPhone);
else if (UsrDat->FamilyPhone[0])
fprintf (Gbl.F.Out,"<a href=\"tel:%s\" class=\"REC_DAT_BOLD\">"
"%s"
"</a>",
UsrDat->FamilyPhone,
{
fprintf (Gbl.F.Out,"<a href=\"tel:%s\" class=\"REC_DAT_BOLD\">",
UsrDat->FamilyPhone);
fprintf (Gbl.F.Out,"%s",UsrDat->FamilyPhone);
HTM_A_End ();
}
}
HTM_TD_End ();
@ -3639,7 +3642,7 @@ static void Rec_ShowInstitution (struct Instit *Ins,
Ins->WWW);
fprintf (Gbl.F.Out,"%s",Ins->FullName);
if (Ins->WWW[0])
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
}
HTM_TD_End ();
@ -3675,7 +3678,7 @@ static void Rec_ShowCentre (struct UsrData *UsrDat,
Ctr.WWW);
fprintf (Gbl.F.Out,"%s",Ctr.FullName);
if (Ctr.WWW[0])
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
}
}
HTM_TD_End ();
@ -3712,7 +3715,7 @@ static void Rec_ShowDepartment (struct UsrData *UsrDat,
Dpt.WWW);
fprintf (Gbl.F.Out,"%s",Dpt.FullName);
if (Dpt.WWW[0])
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
}
}
HTM_TD_End ();
@ -3760,11 +3763,12 @@ static void Rec_ShowOfficePhone (struct UsrData *UsrDat,
HTM_TD_Begin ("class=\"REC_C2_BOT REC_DAT_BOLD LM\"");
if (ShowData)
fprintf (Gbl.F.Out,"<a href=\"tel:%s\" class=\"REC_DAT_BOLD\">"
"%s"
"</a>",
UsrDat->Tch.OfficePhone,
{
fprintf (Gbl.F.Out,"<a href=\"tel:%s\" class=\"REC_DAT_BOLD\">",
UsrDat->Tch.OfficePhone);
fprintf (Gbl.F.Out,"%s",UsrDat->Tch.OfficePhone);
HTM_A_End ();
}
HTM_TD_End ();
HTM_TR_End ();
@ -3779,11 +3783,10 @@ static void Rec_WriteLinkToDataProtectionClause (void)
extern const char *Txt_DATA_PROTECTION_CLAUSE;
HTM_DIV_Begin ("class=\"CM\"");
fprintf (Gbl.F.Out,"<a class=\"TIT\" href=\"%s/\" target=\"_blank\">"
"%s"
"</a>",
Cfg_URL_DATA_PROTECTION_PUBLIC,
Txt_DATA_PROTECTION_CLAUSE);
fprintf (Gbl.F.Out,"<a class=\"TIT\" href=\"%s/\" target=\"_blank\">",
Cfg_URL_DATA_PROTECTION_PUBLIC);
fprintf (Gbl.F.Out,"%s",Txt_DATA_PROTECTION_CLAUSE);
HTM_A_End ();
HTM_DIV_End ();
}

View File

@ -276,16 +276,16 @@ static void Rep_PutLinkToMyUsageReport (struct Rep_Report *Report)
/***** Put anchor and report filename *****/
HTM_DIV_Begin ("class=\"FILENAME_TXT CM\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"FILENAME_TXT\""
" title=\"%s\" target=\"_blank\">"
"<img src=\"%s/file-alt.svg\" alt=\"%s\""
" class=\"ICO64x64\" /><br />"
"%s"
"</a>",
" title=\"%s\" target=\"_blank\">",
Report->Permalink,
Txt_Report,
Txt_Report);
fprintf (Gbl.F.Out,"<img src=\"%s/file-alt.svg\" alt=\"%s\""
" class=\"ICO64x64\" /><br />"
"%s",
Cfg_URL_ICON_PUBLIC,
Txt_Report,
Report->FilenameReport);
HTM_A_End ();
HTM_DIV_End ();
HTM_DIV_Begin ("class=\"DAT_LIGHT\"");

View File

@ -3314,18 +3314,18 @@ static void Sta_ShowNumHitsPerBanner (unsigned long NumRows,
Lay_ShowErrorAndExit ("Wrong banner code.");
Ban_GetDataOfBannerByCod (&Ban);
HTM_TD_Begin ("class=\"LOG LT\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">"
"<img src=\"%s/%s\""
fprintf (Gbl.F.Out,"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">",
Ban.WWW,
Ban.FullName);
fprintf (Gbl.F.Out,"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"BANNER_SMALL\""
" style=\"margin:0 10px 5px 0;\" />"
"</a>",
Ban.WWW,
Ban.FullName,
" style=\"margin:0 10px 5px 0;\" />",
Cfg_URL_BANNER_PUBLIC,
Ban.Img,
Ban.ShrtName,
Ban.FullName);
HTM_A_End ();
/* Draw bar proportional to number of clicks */
NumClicks = Str_GetFloatNumFromStr (row[1]);

View File

@ -5343,12 +5343,13 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
fprintf (Gbl.F.Out,"<a href=\"\" id=\"exp_%u\"",NumOpt);
if (DisplayRightColumn) // Answer does not have content
fprintf (Gbl.F.Out," style=\"display:none;\""); // Hide icon
fprintf (Gbl.F.Out," onclick=\"toggleAnswer('%u'); return false;\" />"
"<img src=\"%s/caret-right.svg\""
" alt=\"%s\" title=\"%s\" class=\"ICO16x16\" />"
"</a>",
NumOpt,Cfg_URL_ICON_PUBLIC,
fprintf (Gbl.F.Out," onclick=\"toggleAnswer('%u'); return false;\" />",
NumOpt);
fprintf (Gbl.F.Out,"<img src=\"%s/caret-right.svg\""
" alt=\"%s\" title=\"%s\" class=\"ICO16x16\" />",
Cfg_URL_ICON_PUBLIC,
Gbl.Title,Gbl.Title);
HTM_A_End ();
/* Icon to contract (hide the answer) */
snprintf (Gbl.Title,sizeof (Gbl.Title),
@ -5357,12 +5358,12 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
fprintf (Gbl.F.Out,"<a href=\"\" id=\"con_%u\"",NumOpt);
if (!DisplayRightColumn) // Answer does not have content
fprintf (Gbl.F.Out," style=\"display:none;\""); // Hide icon
fprintf (Gbl.F.Out," onclick=\"toggleAnswer(%u); return false;\" />"
"<img src=\"%s/caret-down.svg\""
" alt=\"%s\" title=\"%s\" class=\"ICO16x16\" />"
"</a>",
NumOpt,Cfg_URL_ICON_PUBLIC,
fprintf (Gbl.F.Out," onclick=\"toggleAnswer(%u); return false;\" />",NumOpt);
fprintf (Gbl.F.Out,"<img src=\"%s/caret-down.svg\""
" alt=\"%s\" title=\"%s\" class=\"ICO16x16\" />",
Cfg_URL_ICON_PUBLIC,
Gbl.Title,Gbl.Title);
HTM_A_End ();
HTM_TD_End ();

View File

@ -265,7 +265,7 @@ void TsI_CreateXML (unsigned long NumRows,MYSQL_RES *mysql_res)
The_ClassFormOutBoxBold[Gbl.Prefs.Theme]);
Ico_PutIconTextLink ("file.svg",
Txt_XML_file);
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
}
/*****************************************************************************/

View File

@ -1399,11 +1399,11 @@ static void TL_PutLinkToViewNewPublications (void)
" class=\"TL_WIDTH TL_SEP VERY_LIGHT_BLUE\""
" style=\"display:none;\"");
fprintf (Gbl.F.Out,"<a href=\"\" class=\"%s\""
" onclick=\"moveNewTimelineToTimeline(); return false;\" />"
"%s (<span id=\"view_new_posts_count\">0</span>)"
"</a>",
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
" onclick=\"moveNewTimelineToTimeline(); return false;\" />",
The_ClassFormInBoxBold[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s (<span id=\"view_new_posts_count\">0</span>)",
Txt_See_new_activity);
HTM_A_End ();
HTM_DIV_End ();
}
@ -1423,19 +1423,19 @@ static void TL_PutLinkToViewOldPublications (void)
"document.getElementById('get_old_timeline').style.display='none';" // Icon to be hidden on click
"document.getElementById('getting_old_timeline').style.display='';" // Icon to be shown on click
"refreshOldTimeline();"
"return false;\">"
"<img id=\"get_old_timeline\""
"return false;\">",
The_ClassFormInBoxBold[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"<img id=\"get_old_timeline\""
" src=\"%s/recycle16x16.gif\" alt=\"%s\" title=\"%s\""
" class=\"ICO20x20\" />"
"<img id=\"getting_old_timeline\""
" src=\"%s/working16x16.gif\" alt=\"%s\" title=\"%s\""
" class=\"ICO20x20\" style=\"display:none;\" />" // Animated icon hidden
"&nbsp;%s"
"</a>",
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
"&nbsp;%s",
Cfg_URL_ICON_PUBLIC,Txt_See_more,Txt_See_more,
Cfg_URL_ICON_PUBLIC,Txt_See_more,Txt_See_more,
Txt_See_more);
HTM_A_End ();
HTM_DIV_End ();
}
@ -2503,13 +2503,13 @@ static void TL_PutIconToToggleCommentNote (const char UniqueId[Frm_MAX_BYTES_ID
/***** Link to toggle on/off the form to comment a note *****/
HTM_DIV_Begin ("id=\"%s_ico\" class=\"TL_ICO_COM_OFF\"",UniqueId);
fprintf (Gbl.F.Out,"<a href=\"\""
" onclick=\"toggleNewComment ('%s');return false;\">"
"<img src=\"%s/edit.svg\" alt=\"%s\" title=\"%s\""
" class=\"CONTEXT_ICO_16x16\" />"
"</a>",
UniqueId,
" onclick=\"toggleNewComment ('%s');return false;\">",
UniqueId);
fprintf (Gbl.F.Out,"<img src=\"%s/edit.svg\" alt=\"%s\" title=\"%s\""
" class=\"CONTEXT_ICO_16x16\" />",
Cfg_URL_ICON_PUBLIC,
Txt_Comment,Txt_Comment);
HTM_A_End ();
HTM_DIV_End ();
}
@ -2708,7 +2708,7 @@ static void TL_PutIconToToggleComments (const char *UniqueId,
Text,The_ClassFormInBox[Gbl.Prefs.Theme],
UniqueId);
Ico_PutIconTextLink (Icon,Text);
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
}
/*****************************************************************************/

View File

@ -4135,7 +4135,7 @@ static void Usr_WriteUsrData (const char *BgColor,
/***** End link *****/
if (Link)
fprintf (Gbl.F.Out,"</a>");
HTM_A_End ();
/***** End container and table cell *****/
HTM_DIV_End ();

View File

@ -569,16 +569,15 @@ static void ZIP_ShowLinkToDownloadZIP (const char *FileName,const char *URL,
/***** Link to download the file *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("colspan=\"2\" class=\"FILENAME_TXT CM\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"FILENAME_TXT\" title=\"%s\" target=\"_blank\">"
"<img src=\"%s32x32/zip32x32.gif\""
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"FILENAME_TXT\" title=\"%s\" target=\"_blank\">",
URL,FileName);
fprintf (Gbl.F.Out,"<img src=\"%s32x32/zip32x32.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO40x40\" />"
"&nbsp;%s&nbsp;"
"<img src=\"%s/download.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO40x40\" />"
"</a>",
URL,FileName,
" class=\"ICO40x40\" />",
CfG_URL_ICON_FILEXT_PUBLIC,
Txt_ZIP_file,
Txt_ZIP_file,
@ -586,6 +585,7 @@ static void ZIP_ShowLinkToDownloadZIP (const char *FileName,const char *URL,
Cfg_URL_ICON_PUBLIC,
Txt_Download,
Txt_Download);
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();
@ -597,10 +597,10 @@ static void ZIP_ShowLinkToDownloadZIP (const char *FileName,const char *URL,
HTM_TD_End ();
HTM_TD_Begin ("class=\"DAT LM\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"DAT\" title=\"%s\" target=\"_blank\">"
"%s"
"</a>",
URL,FileName,FileName);
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"DAT\" title=\"%s\" target=\"_blank\">",
URL,FileName);
fprintf (Gbl.F.Out,"%s",FileName);
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();