Version19.45.1

This commit is contained in:
Antonio Cañas Vargas 2019-10-27 09:28:51 +01:00
parent 71cbf128f2
commit bfe3b73215
33 changed files with 150 additions and 110 deletions

View File

@ -497,7 +497,7 @@ static void ID_PutLinkToConfirmID (struct UsrData *UsrDat,unsigned NumID,
Frm_LinkFormSubmit (Txt_Confirm_ID,The_ClassFormOutBoxBold[Gbl.Prefs.Theme],NULL);
Ico_PutIconTextLink ("check.svg",
Txt_Confirm_ID);
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
/***** End form *****/
Frm_EndForm ();

View File

@ -588,13 +588,15 @@ static void Agd_WriteHeaderListEvents (Agd_AgendaType_t AgendaType)
break;
}
Par_PutHiddenParamUnsigned ("Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL);
if (Order == Gbl.Agenda.SelectedOrder)
fprintf (Gbl.F.Out,"<u>");
fprintf (Gbl.F.Out,"%s",Txt_START_END_TIME[Order]);
if (Order == Gbl.Agenda.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TH_End ();
}

View File

@ -226,7 +226,7 @@ static void Asg_PutHeadForSeeing (bool PrintView)
{
if (Order == Gbl.Asgs.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
}

View File

@ -257,7 +257,7 @@ static void Att_ShowAllAttEvents (void)
fprintf (Gbl.F.Out,"%s",Txt_START_END_TIME[Order]);
if (Order == Gbl.AttEvents.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TH_End ();
@ -2183,7 +2183,8 @@ static void Att_PutLinkAttEvent (struct AttendanceEvent *AttEvent,
Att_PutParamAttCod (AttEvent->AttCod);
Att_PutParamsCodGrps (AttEvent->AttCod);
Frm_LinkFormSubmit (Title,LinkStyle,NULL);
fprintf (Gbl.F.Out,"%s</a>",Txt);
fprintf (Gbl.F.Out,"%s",Txt);
Frm_LinkFormEnd ();
Frm_EndForm ();
}
@ -3165,6 +3166,7 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
NULL);
Ico_PutCalculateIconWithText (Txt_Update_attendance);
Frm_LinkFormEnd ();
HTM_TD_End ();
HTM_TR_End ();

View File

@ -1054,12 +1054,12 @@ void Ban_WriteMenuWithBanners (void)
Frm_LinkFormSubmit (Gbl.Banners.Lst[NumBan].FullName,"BANNER",NULL);
fprintf (Gbl.F.Out,"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"BANNER\" />"
"</a>",
" class=\"BANNER\" />",
Cfg_URL_BANNER_PUBLIC,
Gbl.Banners.Lst[NumBan].Img,
Gbl.Banners.Lst[NumBan].ShrtName,
Gbl.Banners.Lst[NumBan].FullName);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_DIV_End ();
}

View File

@ -249,11 +249,12 @@ void Ctr_DrawCentreLogoAndNameWithLink (struct Centre *Ctr,Act_Action_t Action,
Ctr->FullName);
Frm_LinkFormSubmit (Gbl.Title,ClassLink,NULL);
/***** Draw centre logo *****/
/***** Centre logo and name *****/
Log_DrawLogo (Hie_CTR,Ctr->CtrCod,Ctr->ShrtName,16,ClassLogo,true);
fprintf (Gbl.F.Out,"&nbsp;%s",Ctr->FullName);
/***** End link *****/
fprintf (Gbl.F.Out,"&nbsp;%s</a>",Ctr->FullName);
Frm_LinkFormEnd ();
/***** End form *****/
Frm_EndForm ();
@ -664,8 +665,8 @@ static void Ctr_Configuration (bool PrintView)
Txt_Degrees_of_CENTRE_X,
Gbl.Hierarchy.Ctr.ShrtName);
Frm_LinkFormSubmit (Gbl.Title,"DAT",NULL);
fprintf (Gbl.F.Out,"%u</a>",
Deg_GetNumDegsInCtr (Gbl.Hierarchy.Ctr.CtrCod));
fprintf (Gbl.F.Out,"%u",Deg_GetNumDegsInCtr (Gbl.Hierarchy.Ctr.CtrCod));
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TD_End ();
@ -2642,7 +2643,7 @@ static void Ctr_PutHeadCentresForSeeing (bool OrderSelectable)
{
if (Order == Gbl.Hierarchy.Ins.Ctrs.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
}
HTM_TH_End ();

View File

@ -487,13 +487,15 @@ 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 (2019-10-26)"
#define Log_PLATFORM_VERSION "SWAD 19.45.1 (2019-10-27)"
#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.
// TODO: Cambiar </a> por Frm_LinkFormEnd (); a partir de swad_layout incluido.
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)
Version 19.44.4: Oct 26, 2019 Fixed bug in HTML divs. (246370 lines)
Version 19.44.3: Oct 26, 2019 Code refactoring in HTML lists. (246369 lines)

View File

@ -352,7 +352,7 @@ static void Cht_WriteLinkToChat2 (const char *RoomCode,const char *RoomFullName)
Txt_connected_SINGULAR);
if (NumUsrsInRoom)
fprintf (Gbl.F.Out,"</strong>");
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_LI_End ();
}

View File

@ -129,7 +129,7 @@ void Cla_SeeClassrooms (void)
fprintf (Gbl.F.Out,"%s",Txt_CLASSROOMS_ORDER[Order]);
if (Order == Gbl.Classrooms.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TH_End ();
}

View File

@ -133,6 +133,7 @@ static void Con_PutIconToUpdateConnected (void)
Sco_PutParamScope ("ScopeCon",Gbl.Scope.Current);
Frm_LinkFormSubmitAnimated (Txt_Update,NULL,NULL);
Ico_PutCalculateIcon (Txt_Update);
Frm_LinkFormEnd ();
Frm_EndForm ();
}
@ -176,7 +177,7 @@ void Con_ShowGlobalConnectedUsrs (void)
(Gbl.Session.NumSessions == 1) ? Txt_session :
Txt_sessions);
/* End link to view more details about connected users */
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
if (NumUsrsTotal)
@ -321,9 +322,8 @@ void Con_ShowConnectedUsrsBelongingToCurrentCrs (void)
Str_Copy (CourseName,Gbl.Hierarchy.Crs.ShrtName,
Hie_MAX_BYTES_SHRT_NAME);
Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_UNK,&Usrs);
fprintf (Gbl.F.Out,"%u %s %s"
"</a>",
Usrs.NumUsrs,Txt_from,CourseName);
fprintf (Gbl.F.Out,"%u %s %s",Usrs.NumUsrs,Txt_from,CourseName);
Frm_LinkFormEnd ();
Frm_EndForm ();
/***** Number of teachers and students *****/
@ -414,10 +414,10 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Ro
Sco_PutParamScope ("ScopeCon",Hie_CRS);
Frm_LinkFormSubmitUnique (Txt_Connected_users,"CONNECTED_TXT");
fprintf (Gbl.F.Out,"<img src=\"%s/ellipsis-h.svg\""
" alt=\"%s\" title=\"%s\" class=\"ICO40x40\" />"
"</a>",
" alt=\"%s\" title=\"%s\" class=\"ICO40x40\" />",
Cfg_URL_ICON_PUBLIC,
Txt_Connected_users,Txt_Connected_users);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TD_End ();
@ -851,7 +851,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role)
HTM_DIV_Begin ("class=\"CON_NAME_NARROW\""); // Limited width
Frm_LinkFormSubmitUnique (Txt_View_record_for_this_course,Font);
Usr_WriteFirstNameBRSurnames (UsrDat);
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
HTM_DIV_End ();
Frm_EndForm ();
@ -1069,7 +1069,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R
Frm_LinkFormSubmit (UsrDat.FullName,Font,NULL);
Usr_WriteFirstNameBRSurnames (&UsrDat);
if (PutLinkToRecord)
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
HTM_DIV_End ();
if (PutLinkToRecord)

View File

@ -404,8 +404,8 @@ static void Cty_Configuration (bool PrintView)
Txt_Institutions_of_COUNTRY_X,
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]);
Frm_LinkFormSubmit (Gbl.Title,"DAT",NULL);
fprintf (Gbl.F.Out,"%u</a>",
Ins_GetNumInssInCty (Gbl.Hierarchy.Cty.CtyCod));
fprintf (Gbl.F.Out,"%u",Ins_GetNumInssInCty (Gbl.Hierarchy.Cty.CtyCod));
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TD_End ();
@ -677,7 +677,7 @@ static void Cty_PutHeadCountriesForSeeing (bool OrderSelectable)
{
if (Order == Gbl.Hierarchy.Sys.Ctys.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
}
HTM_TH_End ();
@ -1291,7 +1291,8 @@ void Cty_WriteCountryName (long CtyCod,const char *ClassLink)
Cty_PutParamCtyCod (CtyCod);
Frm_LinkFormSubmit (Act_GetActionTextFromDB (Act_GetActCod (ActSeeCtyInf),ActTxt),
ClassLink,NULL);
fprintf (Gbl.F.Out,"%s</a>",CtyName);
fprintf (Gbl.F.Out,"%s",CtyName);
Frm_LinkFormEnd ();
Frm_EndForm ();
}
else

View File

@ -597,11 +597,12 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
NULL);
fprintf (Gbl.F.Out,"<img src=\"%s/sitemap.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />&nbsp;%s</a>",
" class=\"ICO16x16\" />&nbsp;%s",
Cfg_URL_ICON_PUBLIC,
Txt_System,
Txt_System,
Txt_System);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_LI_End ();
@ -634,13 +635,14 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
/* Country map */
fprintf (Gbl.F.Out,"<img src=\"%s/%s/%s.png\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />&nbsp;%s</a>",
" class=\"ICO16x16\" />&nbsp;%s",
Cfg_URL_ICON_COUNTRIES_PUBLIC,
Cty.Alpha2,
Cty.Alpha2,
Cty.Alpha2,
Cty.Name[Gbl.Prefs.Language],
Cty.Name[Gbl.Prefs.Language]);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_LI_End ();
@ -672,7 +674,8 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
Highlight ? ClassHighlight :
ClassNormal,NULL);
Log_DrawLogo (Hie_INS,Ins.InsCod,Ins.ShrtName,16,NULL,true);
fprintf (Gbl.F.Out,"&nbsp;%s</a>",Ins.FullName);
fprintf (Gbl.F.Out,"&nbsp;%s",Ins.FullName);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_LI_End ();
@ -704,7 +707,8 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
Highlight ? ClassHighlight :
ClassNormal,NULL);
Log_DrawLogo (Hie_CTR,Ctr.CtrCod,Ctr.ShrtName,16,NULL,true);
fprintf (Gbl.F.Out,"&nbsp;%s</a>",Ctr.FullName);
fprintf (Gbl.F.Out,"&nbsp;%s",Ctr.FullName);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_LI_End ();
@ -736,7 +740,8 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
Highlight ? ClassHighlight :
ClassNormal,NULL);
Log_DrawLogo (Hie_DEG,Deg.DegCod,Deg.ShrtName,16,NULL,true);
fprintf (Gbl.F.Out,"&nbsp;%s</a>",Deg.FullName);
fprintf (Gbl.F.Out,"&nbsp;%s",Deg.FullName);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_LI_End ();
@ -773,12 +778,12 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
fprintf (Gbl.F.Out,"<img src=\"%s/list-ol.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />"
"&nbsp;%s"
"</a>",
"&nbsp;%s",
Cfg_URL_ICON_PUBLIC,
Crs.ShrtName,
Crs.FullName,
Crs.FullName);
Frm_LinkFormEnd ();
Frm_EndForm ();
/***** Put link to register students *****/
@ -1312,8 +1317,8 @@ static bool Crs_ListCoursesOfAYearForSeeing (unsigned Year)
Txt_Go_to_X,
Crs->FullName);
Frm_LinkFormSubmit (Gbl.Title,TxtClassStrong,NULL);
fprintf (Gbl.F.Out,"%s</a>",
Crs->FullName);
fprintf (Gbl.F.Out,"%s",Crs->FullName);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TD_End ();
@ -2950,10 +2955,10 @@ void Crs_PutIconToSelectMyCoursesInBreadcrumb (void)
Frm_LinkFormSubmit (Txt_My_courses,NULL,NULL);
fprintf (Gbl.F.Out,"<img src=\"%s/sitemap.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"BC_ICON ICO_HIGHLIGHT\" />"
"</a>",
" class=\"BC_ICON ICO_HIGHLIGHT\" />",
Gbl.Prefs.URLTheme,
Txt_My_courses,Txt_My_courses);
Frm_LinkFormEnd ();
/***** End form *****/
Frm_EndForm ();
@ -3254,9 +3259,8 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA
row[2]);
Frm_LinkFormSubmit (Gbl.Title,StyleNoBR,NULL);
Log_DrawLogo (Hie_DEG,Deg.DegCod,Deg.ShrtName,20,"CT",true);
fprintf (Gbl.F.Out," %s (%s)"
"</a>",
row[2],row[6]);
fprintf (Gbl.F.Out," %s (%s)",row[2],row[6]);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TD_End ();
@ -3273,7 +3277,8 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA
Txt_Go_to_X,
row[6]);
Frm_LinkFormSubmit (Gbl.Title,Style,NULL);
fprintf (Gbl.F.Out,"%s</a>",row[5]);
fprintf (Gbl.F.Out,"%s",row[5]);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TD_End ();

View File

@ -316,8 +316,8 @@ void Dat_ShowClientLocalTime (void)
Frm_StartForm (ActSeeCal);
Frm_LinkFormSubmit (Txt_Show_calendar,"CURRENT_MONTH",NULL);
fprintf (Gbl.F.Out,"<span id=\"current_month_txt\">" // JavaScript will write HTML here
"</span>"
"</a>");
"</span>");
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_DIV_End ();
@ -332,7 +332,7 @@ void Dat_ShowClientLocalTime (void)
"</span>");
if (Gbl.Usrs.Me.Logged)
{
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
}
HTM_DIV_End ();

View File

@ -255,11 +255,12 @@ void Deg_DrawDegreeLogoAndNameWithLink (struct Degree *Deg,Act_Action_t Action,
Deg->FullName);
Frm_LinkFormSubmit (Gbl.Title,ClassLink,NULL);
/***** Draw degree logo *****/
/***** Degree logo and name *****/
Log_DrawLogo (Hie_DEG,Deg->DegCod,Deg->ShrtName,16,ClassLogo,true);
fprintf (Gbl.F.Out,"&nbsp;%s",Deg->FullName);
/***** End link *****/
fprintf (Gbl.F.Out,"&nbsp;%s</a>",Deg->FullName);
Frm_LinkFormEnd ();
/***** End form *****/
Frm_EndForm ();
@ -535,8 +536,8 @@ static void Deg_Configuration (bool PrintView)
Txt_Courses_of_DEGREE_X,
Gbl.Hierarchy.Deg.ShrtName);
Frm_LinkFormSubmit (Gbl.Title,"DAT",NULL);
fprintf (Gbl.F.Out,"%u</a>",
Crs_GetNumCrssInDeg (Gbl.Hierarchy.Deg.DegCod));
fprintf (Gbl.F.Out,"%u",Crs_GetNumCrssInDeg (Gbl.Hierarchy.Deg.DegCod));
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TD_End ();

View File

@ -536,7 +536,7 @@ static void DT_PutHeadDegreeTypesForSeeing (Act_Action_t NextAction,DT_Order_t S
fprintf (Gbl.F.Out,"%s",Txt_DEGREE_TYPES_ORDER[Order]);
if (Order == SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
/* End form */
Frm_EndForm ();

View File

@ -135,7 +135,7 @@ void Dpt_SeeDepts (void)
fprintf (Gbl.F.Out,"%s",Txt_DEPARTMENTS_ORDER[Order]);
if (Order == Gbl.Dpts.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TH_End ();

View File

@ -2873,9 +2873,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
Txt_Go_to_X,
Crs.FullName);
Frm_LinkFormSubmit (Gbl.Title,"DAT",NULL);
fprintf (Gbl.F.Out,"%s &gt; %s"
"</a>",
Deg.ShrtName,Crs.ShrtName);
fprintf (Gbl.F.Out,"%s &gt; %s",Deg.ShrtName,Crs.ShrtName);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TD_End ();

View File

@ -1497,7 +1497,8 @@ static void Fig_ShowInss (MYSQL_RES **mysql_res,unsigned NumInss,
40,NULL,true);
fprintf (Gbl.F.Out,"&nbsp;");
}
fprintf (Gbl.F.Out,"%s</a>",Ins.FullName);
fprintf (Gbl.F.Out,"%s",Ins.FullName);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TD_End ();

View File

@ -3395,13 +3395,14 @@ static void Brw_ShowDataOwnerAsgWrk (struct UsrData *UsrDat)
/***** Show user's name *****/
fprintf (Gbl.F.Out,"<br />");
Frm_LinkFormSubmit (Txt_View_record_for_this_course,"AUTHOR_TXT",NULL);
fprintf (Gbl.F.Out,"%s",UsrDat->Surname1);
if (UsrDat->Surname2[0])
fprintf (Gbl.F.Out," %s",UsrDat->Surname2);
if (UsrDat->FirstName[0])
fprintf (Gbl.F.Out,", %s",UsrDat->FirstName);
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
/***** Show user's email *****/
if (UsrDat->Email[0])
@ -6164,7 +6165,7 @@ static void Brw_PutIconFileWithLinkToViewMetadata (unsigned Size,
Brw_PutIconFile (Size,FileMetadata->FilFolLnk.Type,FileMetadata->FilFolLnk.Name);
/***** End link and form *****/
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
}
@ -6314,8 +6315,8 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
Gbl.FileBrowser.Type == Brw_SHOW_MRK_GRP) ? Txt_Check_marks_in_the_file :
Txt_Download,
Gbl.FileBrowser.TxtStyle,NULL);
fprintf (Gbl.F.Out,"%s</a>",
FileNameToShow);
fprintf (Gbl.F.Out,"%s",FileNameToShow);
Frm_LinkFormEnd ();
Frm_EndForm ();
/* Put icon to make public/private file */
@ -10049,10 +10050,10 @@ static void Brw_WriteBigLinkToDownloadFile (const char *URL,
fprintf (Gbl.F.Out,"&nbsp;%s&nbsp;"
"<img src=\"%s/grades32x32.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO40x40\" />"
"</a>",
" class=\"ICO40x40\" />",
FileNameToShow,Cfg_URL_ICON_PUBLIC,
Txt_Check_marks_in_the_file,Txt_Check_marks_in_the_file);
Frm_LinkFormEnd ();
Frm_EndForm ();
}
else
@ -10103,13 +10104,18 @@ static void Brw_WriteSmallLinkToDownloadFile (const char *URL,
/* Link begin */
Frm_LinkFormSubmit (Txt_Check_marks_in_the_file,"DAT",NULL);
/* Name of the file of marks, link end and form end */
fprintf (Gbl.F.Out,"%s</a>",FileNameToShow);
/* Name of the file of marks */
fprintf (Gbl.F.Out,"%s",FileNameToShow);
/* Link end and form end */
Frm_LinkFormEnd ();
Frm_EndForm ();
}
else
/* Put anchor and filename */
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"DAT\" title=\"%s\" target=\"_blank\">%s</a>",
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"DAT\" title=\"%s\" target=\"_blank\">"
"%s"
"</a>",
URL,FileNameToShow,FileNameToShow);
}
@ -11952,7 +11958,8 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
InsShortName);
Frm_LinkFormSubmit (Gbl.Title,"DAT",NULL);
Log_DrawLogo (Hie_INS,InsCod,InsShortName,20,"CT",true);
fprintf (Gbl.F.Out,"&nbsp;%s</a>",InsShortName);
fprintf (Gbl.F.Out,"&nbsp;%s",InsShortName);
Frm_LinkFormEnd ();
Frm_EndForm ();
}
HTM_TD_End ();
@ -11968,7 +11975,8 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
CtrShortName);
Frm_LinkFormSubmit (Gbl.Title,"DAT",NULL);
Log_DrawLogo (Hie_CTR,CtrCod,CtrShortName,20,"CT",true);
fprintf (Gbl.F.Out,"&nbsp;%s</a>",CtrShortName);
fprintf (Gbl.F.Out,"&nbsp;%s",CtrShortName);
Frm_LinkFormEnd ();
Frm_EndForm ();
}
HTM_TD_End ();
@ -11984,7 +11992,8 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
DegShortName);
Frm_LinkFormSubmit (Gbl.Title,"DAT",NULL);
Log_DrawLogo (Hie_DEG,DegCod,DegShortName,20,"CT",true);
fprintf (Gbl.F.Out,"&nbsp;%s</a>",DegShortName);
fprintf (Gbl.F.Out,"&nbsp;%s",DegShortName);
Frm_LinkFormEnd ();
Frm_EndForm ();
}
HTM_TD_End ();
@ -11999,7 +12008,8 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
Txt_Go_to_X,
CrsShortName);
Frm_LinkFormSubmit (Gbl.Title,"DAT",NULL);
fprintf (Gbl.F.Out,"%s</a>",CrsShortName);
fprintf (Gbl.F.Out,"%s",CrsShortName);
Frm_LinkFormEnd ();
Frm_EndForm ();
}
HTM_TD_End ();
@ -12110,9 +12120,8 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
else
/* Icon with file type or link */
Brw_PutIconFile (16,FileMetadata.FilFolLnk.Type,FileMetadata.FilFolLnk.Name);
fprintf (Gbl.F.Out,"&nbsp;%s"
"</a>",
FileNameToShow);
fprintf (Gbl.F.Out,"&nbsp;%s",FileNameToShow);
Frm_LinkFormEnd ();
/* End form */
Frm_EndForm ();

View File

@ -213,7 +213,8 @@ void Fol_SuggestUsrsToFollowMainZoneOnRightColumn (void)
/***** Title with link to suggest more users to follow *****/
Frm_StartForm (ActSeeSocPrf);
Frm_LinkFormSubmit (Txt_Who_to_follow,"CONNECTED_TXT",NULL);
fprintf (Gbl.F.Out,"%s</a>",Txt_Who_to_follow);
fprintf (Gbl.F.Out,"%s",Txt_Who_to_follow);
Frm_LinkFormEnd ();
Frm_EndForm ();
/***** Begin table *****/
@ -436,6 +437,7 @@ static void Fol_PutIconToUpdateWhoToFollow (void)
Frm_StartForm (ActSeeSocPrf);
Frm_LinkFormSubmitAnimated (Txt_Update,NULL,NULL);
Ico_PutCalculateIcon (Txt_Update);
Frm_LinkFormEnd ();
Frm_EndForm ();
}
@ -562,7 +564,7 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
Cfg_URL_ICON_PUBLIC,
Txt_Unfollow,Txt_Following_unfollow);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
}
else // I do not follow this user
@ -577,7 +579,7 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
Cfg_URL_ICON_PUBLIC,
Txt_Follow,Txt_Follow);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
}
}
@ -623,7 +625,7 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"%u",NumUsrs);
if (NumUsrs)
{
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
}
else
@ -646,7 +648,7 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"%s",Title);
if (NumUsrs)
{
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
}
HTM_DIV_End ();
@ -860,7 +862,7 @@ static void Fol_ShowFollowedOrFollower (struct UsrData *UsrDat)
HTM_DIV_Begin ("class=\"FOLLOW_USR_NAME\""); // Limited width
Frm_LinkFormSubmit (Txt_Another_user_s_profile,"DAT",NULL);
Usr_WriteFirstNameBRSurnames (UsrDat);
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
HTM_DIV_End ();
Frm_EndForm ();
}
@ -917,7 +919,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
HTM_DIV_Begin ("class=\"CON_NAME_FOLLOW\""); // Limited width
Frm_LinkFormSubmit (Txt_Another_user_s_profile,"CON_CRS",NULL);
Usr_WriteFirstNameBRSurnames (UsrDat);
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
HTM_DIV_End ();
Frm_EndForm ();
}
@ -976,7 +978,7 @@ static void Fol_PutIconToFollow (struct UsrData *UsrDat)
Cfg_URL_ICON_PUBLIC,
Txt_Follow,Txt_Follow);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
}
@ -998,7 +1000,7 @@ static void Fol_PutIconToUnfollow (struct UsrData *UsrDat)
Cfg_URL_ICON_PUBLIC,
Txt_Unfollow,Txt_Unfollow);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
}

View File

@ -233,7 +233,6 @@ void Frm_EndForm (void)
/*****************************************************************************/
/******************* Anchor directive used to send a form ********************/
/*****************************************************************************/
// Requires an extern </a>
void Frm_LinkFormSubmit (const char *Title,const char *LinkClass,
const char *OnSubmit)
@ -293,6 +292,11 @@ void Frm_LinkFormSubmitAnimated (const char *Title,const char *LinkClass,
Gbl.Form.Id);
}
void Frm_LinkFormEnd (void)
{
fprintf (Gbl.F.Out,"</a>");
}
/*****************************************************************************/
/***************************** Get unique Id *********************************/
/*****************************************************************************/

View File

@ -69,6 +69,7 @@ void Frm_LinkFormSubmitId (const char *Title,const char *LinkClass,
const char *Id,const char *OnSubmit);
void Frm_LinkFormSubmitAnimated (const char *Title,const char *LinkClass,
const char *OnSubmit);
void Frm_LinkFormEnd (void);
void Frm_SetUniqueId (char UniqueId[Frm_MAX_BYTES_ID + 1]);

View File

@ -2142,7 +2142,7 @@ static void For_WriteLinkToForum (struct Forum *Forum,
For_WriteNumberOfThrs (NumThrs,NumThrsWithNewPosts);
/***** End row *****/
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
/***** Put link to register students *****/
@ -2584,7 +2584,7 @@ static void For_ShowForumThreadsHighlightingOneThread (long ThrCodHighlighted,
fprintf (Gbl.F.Out,"%s",Txt_FORUM_THREAD_ORDER[Order]);
if (Order == Gbl.Forum.ThreadsOrder)
fprintf (Gbl.F.Out,"</u>");
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TH_End ();

View File

@ -230,7 +230,7 @@ static void Gam_ListAllGames (void)
fprintf (Gbl.F.Out,"%s",Txt_GAMES_ORDER[Order]);
if (Order == Gbl.Games.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TH_End ();
@ -455,8 +455,8 @@ void Gam_ShowOneGame (long GamCod,
Frm_LinkFormSubmit (Txt_View_game,
Game.Hidden ? "ASG_TITLE_LIGHT":
"ASG_TITLE",NULL);
fprintf (Gbl.F.Out,"%s</a>",
Game.Title);
fprintf (Gbl.F.Out,"%s",Game.Title);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_ARTICLE_End ();
@ -482,7 +482,8 @@ void Gam_ShowOneGame (long GamCod,
"ASG_TITLE",NULL);
if (ShowOnlyThisGame)
fprintf (Gbl.F.Out,"%s:&nbsp;",Txt_Matches);
fprintf (Gbl.F.Out,"%u</a>",Game.NumMchs);
fprintf (Gbl.F.Out,"%u",Game.NumMchs);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TD_End ();

View File

@ -415,6 +415,7 @@ void Grp_ShowFormToSelectSeveralGroups (void (*FuncParams) (void),
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
"CopyMessageToHiddenFields();");
Ico_PutCalculateIconWithText (Txt_Update_users);
Frm_LinkFormEnd ();
HTM_DIV_End ();
/***** End form *****/

View File

@ -210,7 +210,8 @@ void Hie_WriteHierarchyInBreadcrumb (void)
Frm_StartFormGoTo (ActMnu);
Par_PutHiddenParamUnsigned ("NxtTab",(unsigned) TabSys);
Frm_LinkFormSubmit (Txt_System,ClassTxt,NULL);
fprintf (Gbl.F.Out,"%s</a>",Txt_System);
fprintf (Gbl.F.Out,"%s",Txt_System);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_DIV_End ();
@ -226,7 +227,8 @@ void Hie_WriteHierarchyInBreadcrumb (void)
Frm_StartFormGoTo (ActSeeIns);
Cty_PutParamCtyCod (Gbl.Hierarchy.Cty.CtyCod);
Frm_LinkFormSubmit (Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language],ClassTxt,NULL);
fprintf (Gbl.F.Out,"%s</a>",Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]);
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_DIV_End ();
@ -241,7 +243,8 @@ void Hie_WriteHierarchyInBreadcrumb (void)
/***** Form to go to select countries *****/
Frm_StartFormGoTo (ActSeeCty);
Frm_LinkFormSubmit (Txt_Country,ClassTxt,NULL);
fprintf (Gbl.F.Out,"%s</a>",Txt_Country);
fprintf (Gbl.F.Out,"%s",Txt_Country);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_DIV_End ();
@ -258,7 +261,8 @@ void Hie_WriteHierarchyInBreadcrumb (void)
Frm_StartFormGoTo (ActSeeCtr);
Ins_PutParamInsCod (Gbl.Hierarchy.Ins.InsCod);
Frm_LinkFormSubmit (Gbl.Hierarchy.Ins.FullName,ClassTxt,NULL);
fprintf (Gbl.F.Out,"%s</a>",Gbl.Hierarchy.Ins.ShrtName);
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ins.ShrtName);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_DIV_End ();
@ -273,7 +277,8 @@ void Hie_WriteHierarchyInBreadcrumb (void)
/***** Form to go to select institutions *****/
Frm_StartFormGoTo (ActSeeIns);
Frm_LinkFormSubmit (Txt_Institution,ClassTxt,NULL);
fprintf (Gbl.F.Out,"%s</a>",Txt_Institution);
fprintf (Gbl.F.Out,"%s",Txt_Institution);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_DIV_End ();
@ -302,7 +307,8 @@ void Hie_WriteHierarchyInBreadcrumb (void)
Frm_StartFormGoTo (ActSeeDeg);
Ctr_PutParamCtrCod (Gbl.Hierarchy.Ctr.CtrCod);
Frm_LinkFormSubmit (Gbl.Hierarchy.Ctr.FullName,ClassTxt,NULL);
fprintf (Gbl.F.Out,"%s</a>",Gbl.Hierarchy.Ctr.ShrtName);
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ctr.ShrtName);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_DIV_End ();
@ -317,7 +323,8 @@ void Hie_WriteHierarchyInBreadcrumb (void)
/***** Form to go to select centres *****/
Frm_StartFormGoTo (ActSeeCtr);
Frm_LinkFormSubmit (Txt_Centre,ClassTxt,NULL);
fprintf (Gbl.F.Out,"%s</a>",Txt_Centre);
fprintf (Gbl.F.Out,"%s",Txt_Centre);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_DIV_End ();
@ -346,7 +353,8 @@ void Hie_WriteHierarchyInBreadcrumb (void)
Frm_StartFormGoTo (ActSeeCrs);
Deg_PutParamDegCod (Gbl.Hierarchy.Deg.DegCod);
Frm_LinkFormSubmit (Gbl.Hierarchy.Deg.FullName,ClassTxt,NULL);
fprintf (Gbl.F.Out,"%s</a>",Gbl.Hierarchy.Deg.ShrtName);
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.ShrtName);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_DIV_End ();
@ -361,7 +369,8 @@ void Hie_WriteHierarchyInBreadcrumb (void)
/***** Form to go to select degrees *****/
Frm_StartFormGoTo (ActSeeDeg);
Frm_LinkFormSubmit (Txt_Degree,ClassTxt,NULL);
fprintf (Gbl.F.Out,"%s</a>",Txt_Degree);
fprintf (Gbl.F.Out,"%s",Txt_Degree);
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_DIV_End ();

View File

@ -131,7 +131,7 @@ void Hld_SeeHolidays (void)
fprintf (Gbl.F.Out,"%s",Txt_HOLIDAYS_ORDER[Order]);
if (Order == Gbl.Hlds.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TH_End ();

View File

@ -430,8 +430,6 @@ void Ico_PutCalculateIcon (const char *Title)
Gbl.Form.Num,Cfg_URL_ICON_PUBLIC,Title,Title,
Gbl.Form.Num,Cfg_URL_ICON_PUBLIC,Title,Title);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"</a>");
}
/*****************************************************************************/
@ -453,8 +451,6 @@ void Ico_PutCalculateIconWithText (const char *Text)
Gbl.Form.Num,Cfg_URL_ICON_PUBLIC,Text,Text,
Text);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"</a>");
}
/*****************************************************************************/

View File

@ -613,9 +613,8 @@ void Inf_WriteMsgYouMustReadInfo (void)
Frm_StartForm (Inf_ActionsSeeInfo[InfoType]);
Frm_LinkFormSubmit (Act_GetTitleAction (Inf_ActionsSeeInfo[InfoType]),
The_ClassFormInBox[Gbl.Prefs.Theme],NULL);
fprintf (Gbl.F.Out,"%s"
"</a>",
Act_GetTitleAction (Inf_ActionsSeeInfo[InfoType]));
fprintf (Gbl.F.Out,"%s",Act_GetTitleAction (Inf_ActionsSeeInfo[InfoType]));
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_LI_End ();
}

View File

@ -241,7 +241,7 @@ void Ins_DrawInstitutionLogoWithLink (struct Instit *Ins,unsigned Size)
Size,NULL,true);
if (PutLink)
{
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
}
}
@ -265,11 +265,12 @@ void Ins_DrawInstitutionLogoAndNameWithLink (struct Instit *Ins,Act_Action_t Act
Ins->FullName);
Frm_LinkFormSubmit (Gbl.Title,ClassLink,NULL);
/***** Draw institution logo *****/
/***** Institution logo and name *****/
Log_DrawLogo (Hie_INS,Ins->InsCod,Ins->ShrtName,16,ClassLogo,true);
fprintf (Gbl.F.Out,"&nbsp;%s",Ins->FullName);
/***** End link *****/
fprintf (Gbl.F.Out,"&nbsp;%s</a>",Ins->FullName);
Frm_LinkFormEnd ();
/***** End form *****/
Frm_EndForm ();
@ -562,8 +563,8 @@ static void Ins_Configuration (bool PrintView)
Txt_Centres_of_INSTITUTION_X,
Gbl.Hierarchy.Ins.ShrtName);
Frm_LinkFormSubmit (Gbl.Title,"DAT",NULL);
fprintf (Gbl.F.Out,"%u</a>",
Ctr_GetNumCtrsInIns (Gbl.Hierarchy.Ins.InsCod));
fprintf (Gbl.F.Out,"%u",Ctr_GetNumCtrsInIns (Gbl.Hierarchy.Ins.InsCod));
Frm_LinkFormEnd ();
Frm_EndForm ();
HTM_TD_End ();
@ -889,7 +890,7 @@ static void Ins_PutHeadInstitutionsForSeeing (bool OrderSelectable)
{
if (Order == Gbl.Hierarchy.Cty.Inss.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
fprintf (Gbl.F.Out,"</a>");
Frm_LinkFormEnd ();
Frm_EndForm ();
}
HTM_TH_End ();

View File

@ -1773,6 +1773,7 @@ static void Msg_ShowSentOrReceivedMessages (void)
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
NULL);
Ico_PutCalculateIconWithText (Txt_Update_messages); // Animated icon to update messages
Frm_LinkFormEnd ();
Mnu_ContextMenuEnd ();
Frm_EndForm ();

View File

@ -2023,6 +2023,7 @@ static void Pho_PutLinkToCalculateDegreeStats (void)
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
NULL);
Ico_PutCalculateIconWithText (Txt_Calculate_average_photo_of_THE_DEGREE_X);
Frm_LinkFormEnd ();
/* Selector with all the degrees with students */
fprintf (Gbl.F.Out,"<select name=\"OthDegCod\">");

View File

@ -806,6 +806,7 @@ static void Prf_PutLinkCalculateFigures (const char *EncryptedUsrCod)
The_ClassFormOutBoxBold[Gbl.Prefs.Theme],
NULL);
Ico_PutCalculateIconWithText (Txt_Calculate);
Frm_LinkFormEnd ();
Frm_EndForm ();
}