mirror of
https://github.com/acanas/swad-core.git
synced 2024-09-20 00:02:42 +02:00
Version19.46
This commit is contained in:
parent
adfa43eaa2
commit
088dabaa48
55
swad_HTML.c
55
swad_HTML.c
|
@ -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--;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
11
swad_alert.c
11
swad_alert.c
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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," %s (%s)"
|
||||
"</a>",
|
||||
CountryName,
|
||||
Cty->Alpha2);
|
||||
HTM_DIV_End ();
|
||||
fprintf (Gbl.F.Out," %s (%s)",CountryName,Cty->Alpha2);
|
||||
|
||||
/***** End link *****/
|
||||
Frm_LinkFormEnd ();
|
||||
|
||||
/***** End form *****/
|
||||
HTM_DIV_End ();
|
||||
Frm_EndForm ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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\"");
|
||||
|
|
12
swad_exam.c
12
swad_exam.c
|
@ -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 ();
|
||||
|
||||
|
|
|
@ -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," %s "
|
||||
"<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 ();
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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&act=%ld\" target=\"_blank\">"
|
||||
"%s/?crs=%ld&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&act=%ld\" target=\"_blank\">",
|
||||
Cfg_URL_SWAD_CGI,CrsCod,ActCod);
|
||||
fprintf (Gbl.F.Out,"%s/?crs=%ld&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&act=%ld\" target=\"_blank\">"
|
||||
"%s/?crs=%ld&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&act=%ld\" target=\"_blank\">",
|
||||
Cfg_URL_SWAD_CGI,CrsCod,ActCod);
|
||||
fprintf (Gbl.F.Out,"%s/?crs=%ld&act=%ld",
|
||||
Cfg_URL_SWAD_CGI,CrsCod,ActCod);
|
||||
HTM_A_End ();
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"%s RM COLOR%u\"",
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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>"
|
||||
" ");
|
||||
HTM_A_End ();
|
||||
fprintf (Gbl.F.Out," ");
|
||||
|
||||
/* 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 ();
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
|
||||
|
|
16
swad_match.c
16
swad_match.c
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
22
swad_media.c
22
swad_media.c
|
@ -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 *****/
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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\"");
|
||||
|
|
|
@ -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]);
|
||||
|
|
21
swad_test.c
21
swad_test.c
|
@ -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 ();
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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
|
||||
" %s"
|
||||
"</a>",
|
||||
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
|
||||
" %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 ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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 ();
|
||||
|
|
18
swad_zip.c
18
swad_zip.c
|
@ -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\" />"
|
||||
" %s "
|
||||
"<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 ();
|
||||
|
|
Loading…
Reference in New Issue
Block a user