Version19.42.4

This commit is contained in:
Antonio Cañas Vargas 2019-10-24 00:04:40 +02:00
parent 6f566c2ab8
commit 6f2c3cf3a4
46 changed files with 551 additions and 553 deletions

View File

@ -220,7 +220,7 @@ void MFU_WriteBigMFUActions (struct MFU_ListMFUActions *ListMFUActions)
/***** Start box *****/
Box_StartBox (NULL,Txt_My_frequent_actions,NULL,
Hlp_ANALYTICS_Frequent,Box_NOT_CLOSABLE);
fprintf (Gbl.F.Out,"<div id=\"MFU_actions_big\">");
HTM_DIV_Begin ("id=\"MFU_actions_big\"");
/***** Write list of frequently used actions *****/
fprintf (Gbl.F.Out,"<ul class=\"LIST_LEFT\">");
@ -277,7 +277,7 @@ void MFU_WriteSmallMFUActions (struct MFU_ListMFUActions *ListMFUActions)
char TabMenuStr[MFU_MAX_BYTES_TAB + 6 + MFU_MAX_BYTES_MENU + 1];
/***** Start div and link *****/
fprintf (Gbl.F.Out,"<div id=\"MFU_actions\">");
HTM_DIV_Begin ("id=\"MFU_actions\"");
Frm_StartForm (ActMFUAct);
Frm_LinkFormSubmit (Txt_My_frequent_actions,NULL,NULL);
fprintf (Gbl.F.Out," %s"

View File

@ -105,8 +105,8 @@ void QR_PrintQRCode (void)
void QR_ImageQRCode (const char *QRString)
{
fprintf (Gbl.F.Out,"<div class=\"CM\" style=\"margin:0 auto; width:%upx;\">",
QR_CODE_SIZE);
HTM_DIV_Begin ("class=\"CM\" style=\"margin:0 auto; width:%upx;\"",
QR_CODE_SIZE);
fprintf (Gbl.F.Out,"<img src=\"https://chart.googleapis.com/chart?cht=qr&amp;chs=%ux%u&amp;chl=%s\""
" alt=\"%s\" title=\"%s\""
" style=\"width:%upx; height:%upx;"
@ -149,7 +149,7 @@ void QR_ExamAnnnouncement (void)
extern const char *Txt_Link_to_announcement_of_exam;
/***** Show QR code with direct link to the exam announcement *****/
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
fprintf (Gbl.F.Out,"<img src=\"https://chart.googleapis.com/chart?cht=qr&amp;chs=%ux%u&amp;chl=%s/?crs=%ld%%26act=%ld\""
" alt=\"%s\" title=\"%s\""
" style=\"width:250px; height:250px;\" />",

View File

@ -432,11 +432,11 @@ static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Tx
}
/***** Write message *****/
fprintf (Gbl.F.Out,"<div class=\"ALERT_TXT\"");
if (AlertType != Ale_NONE)
fprintf (Gbl.F.Out," style=\"background-image:url('%s/%s');\"",
Cfg_URL_ICON_PUBLIC,Ale_AlertIcons[AlertType]);
fprintf (Gbl.F.Out,">");
if (AlertType == Ale_NONE)
HTM_DIV_Begin ("class=\"ALERT_TXT\"");
else
HTM_DIV_Begin ("class=\"ALERT_TXT\" style=\"background-image:url('%s/%s');\"",
Cfg_URL_ICON_PUBLIC,Ale_AlertIcons[AlertType]);
fprintf (Gbl.F.Out,"%s",Txt);
HTM_DIV_End ();
}

View File

@ -3420,17 +3420,16 @@ static void Att_PutCheckOrCross (bool Present)
extern const char *Txt_Present;
extern const char *Txt_Absent;
fprintf (Gbl.F.Out,"<div class=\"");
if (Present)
fprintf (Gbl.F.Out,"ATT_CHECK\" title=\"%s\">"
"&check;",
Txt_Present);
{
HTM_DIV_Begin ("class=\"ATT_CHECK\" title=\"%s\"",Txt_Present);
fprintf (Gbl.F.Out,"&check;");
}
else
fprintf (Gbl.F.Out,"ATT_CROSS\" title=\"%s\">"
"&cross;",
Txt_Absent);
{
HTM_DIV_Begin ("class=\"ATT_CROSS\" title=\"%s\"",Txt_Absent);
fprintf (Gbl.F.Out,"&cross;");
}
HTM_DIV_End ();
}

View File

@ -139,20 +139,21 @@ static void Box_StartBoxInternal (const char *Width,const char *Title,
Gbl.Box.Ids[Gbl.Box.Nested] = NULL;
/***** Start box container *****/
fprintf (Gbl.F.Out,"<div class=\"FRAME_CONTAINER\"");
if (Closable == Box_CLOSABLE)
{
/* Create unique id for alert */
Frm_SetUniqueId (Gbl.Box.Ids[Gbl.Box.Nested]);
fprintf (Gbl.F.Out," id=\"%s\"",Gbl.Box.Ids[Gbl.Box.Nested]);
HTM_DIV_Begin ("class=\"FRAME_CONTAINER\" id=\"%s\"",Gbl.Box.Ids[Gbl.Box.Nested]);
}
fprintf (Gbl.F.Out,">");
else
HTM_DIV_Begin ("class=\"FRAME_CONTAINER\"");
/***** Start box *****/
fprintf (Gbl.F.Out,"<div class=\"%s\"",ClassFrame);
if (Width)
fprintf (Gbl.F.Out," style=\"width:%s;\"",Width);
fprintf (Gbl.F.Out,">");
HTM_DIV_Begin ("class=\"%s\" style=\"width:%s;\"",ClassFrame,Width);
else
HTM_DIV_Begin ("class=\"%s\"",ClassFrame);
/***** Row for left and right icons *****/
HTM_DIV_Begin ("class=\"FRAME_ICO\"");

View File

@ -487,7 +487,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 19.42.3 (2019-10-23)"
#define Log_PLATFORM_VERSION "SWAD 19.42.4 (2019-10-23)"
#define CSS_FILE "swad19.41.3.css"
#define JS_FILE "swad19.39.js"
/*
@ -495,6 +495,7 @@ ps2pdf source.ps destination.pdf
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
// TODO: Change icon to upload file in timeline to photo-video.svg
Version 19.42.4: Oct 23, 2019 Code refactoring in HTML divs. (246016 lines)
Version 19.42.3: Oct 23, 2019 Code refactoring in HTML divs. (246052 lines)
Version 19.42.2: Oct 23, 2019 Code refactoring in HTML divs. (246025 lines)
Version 19.42.1: Oct 23, 2019 Code refactoring in HTML divs. (246088 lines)

View File

@ -3372,7 +3372,7 @@ static void Brw_ShowDataOwnerAsgWrk (struct UsrData *UsrDat)
/***** Begin form to send a message to this user *****/
HTM_TD_Begin ("class=\"LT\"");
fprintf (Gbl.F.Out,"<div class=\"OWNER_WORKS_DATA AUTHOR_TXT\">");
HTM_DIV_Begin ("class=\"OWNER_WORKS_DATA AUTHOR_TXT\"");
switch (UsrDat->Roles.InCurrentCrs.Role)
{
@ -3768,7 +3768,7 @@ static void Brw_WriteTopBeforeShowingFileBrowser (void)
Brw_UpdateLastAccess ();
/***** Write contextual links *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Put checkbox to show the full tree */
Brw_PutCheckboxFullTree ();
@ -4069,7 +4069,7 @@ static void Brw_WriteSubtitleOfFileBrowser (void)
}
if (Subtitle[0])
{
fprintf (Gbl.F.Out,"<div class=\"BROWSER_SUBTITLE\">");
HTM_DIV_Begin ("class=\"BROWSER_SUBTITLE\"");
fprintf (Gbl.F.Out,"%s",Subtitle);
HTM_DIV_End ();
}
@ -4104,7 +4104,7 @@ static void Brw_ShowAndStoreSizeOfFileTree (void)
extern const char *Txt_of_PART_OF_A_TOTAL;
char FileSizeStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1];
fprintf (Gbl.F.Out,"<div class=\"DAT CM\">");
HTM_DIV_Begin ("class=\"DAT CM\"");
if (Brw_FileBrowserIsEditable[Gbl.FileBrowser.Type])
{
@ -5899,11 +5899,10 @@ static void Brw_PutIconToExpandFolder (const char *FileBrowserId,const char *Row
char JavaScriptFuncToExpandFolder[256 + Brw_MAX_ROW_ID];
/***** Start container *****/
fprintf (Gbl.F.Out,"<div id=\"expand_%s_%s\"",
FileBrowserId,RowId);
if (Hidden)
fprintf (Gbl.F.Out," style=\"display:none;\"");
fprintf (Gbl.F.Out,">");
HTM_DIV_Begin ("id=\"expand_%s_%s\" style=\"display:none;\"",FileBrowserId,RowId);
else
HTM_DIV_Begin ("id=\"expand_%s_%s\"",FileBrowserId,RowId);
/***** Form and icon *****/
snprintf (JavaScriptFuncToExpandFolder,sizeof (JavaScriptFuncToExpandFolder),
@ -5931,11 +5930,10 @@ static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *R
char JavaScriptFuncToContractFolder[256 + Brw_MAX_ROW_ID];
/***** Start container *****/
fprintf (Gbl.F.Out,"<div id=\"contract_%s_%s\"",
FileBrowserId,RowId);
if (Hidden)
fprintf (Gbl.F.Out," style=\"display:none;\"");
fprintf (Gbl.F.Out,">");
HTM_DIV_Begin ("id=\"contract_%s_%s\" style=\"display:none;\"",FileBrowserId,RowId);
else
HTM_DIV_Begin ("id=\"contract_%s_%s\"",FileBrowserId,RowId);
/***** Form and icon *****/
snprintf (JavaScriptFuncToContractFolder,sizeof (JavaScriptFuncToContractFolder),
@ -6076,13 +6074,16 @@ static void Brw_PutIconFolderWithoutPlus (const char *FileBrowserId,const char *
extern const char *Txt_Folder;
/***** Start container *****/
fprintf (Gbl.F.Out,"<div id=\"folder_%s_%s_%s\"",
Open ? "open" :
"closed",
FileBrowserId,RowId);
if (Hidden)
fprintf (Gbl.F.Out," style=\"display:none;\"");
fprintf (Gbl.F.Out,">");
HTM_DIV_Begin ("id=\"folder_%s_%s_%s\" style=\"display:none;\"",
Open ? "open" :
"closed",
FileBrowserId,RowId);
else
HTM_DIV_Begin ("id=\"folder_%s_%s_%s\"",
Open ? "open" :
"closed",
FileBrowserId,RowId);
/***** Icon *****/
fprintf (Gbl.F.Out,"<img src=\"%s/%s\""
@ -6106,13 +6107,16 @@ static void Brw_PutIconFolderWithPlus (const char *FileBrowserId,const char *Row
bool Open,bool Hidden)
{
/***** Start container *****/
fprintf (Gbl.F.Out,"<div id=\"folder_%s_%s_%s\"",
Open ? "open" :
"closed",
FileBrowserId,RowId);
if (Hidden)
fprintf (Gbl.F.Out," style=\"display:none;\"");
fprintf (Gbl.F.Out,">");
HTM_DIV_Begin ("id=\"folder_%s_%s_%s\" style=\"display:none;\"",
Open ? "open" :
"closed",
FileBrowserId,RowId);
else
HTM_DIV_Begin ("id=\"folder_%s_%s_%s\"",
Open ? "open" :
"closed",
FileBrowserId,RowId);
/***** Form and icon *****/
Ico_PutContextualIconToCreateInFolder (Brw_ActFormCreate[Gbl.FileBrowser.Type],
@ -6253,7 +6257,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
HTM_TD_Begin ("class=\"%s LM\" style=\"width:99%%;\"",
Gbl.FileBrowser.TxtStyle);
fprintf (Gbl.F.Out,"<div class=\"FILENAME\">");
HTM_DIV_Begin ("class=\"FILENAME\"");
/***** Form to rename folder *****/
if (Gbl.FileBrowser.ICanEditFileOrFolder) // Can I rename this folder?
@ -6306,7 +6310,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
Gbl.FileBrowser.TxtStyle);
fprintf (Gbl.F.Out,"&nbsp;");
fprintf (Gbl.F.Out,"<div class=\"FILENAME\">");
HTM_DIV_Begin ("class=\"FILENAME\"");
Frm_StartForm (Brw_ActDowFile[Gbl.FileBrowser.Type]);
Brw_PutImplicitParamsFileBrowser ();
@ -8380,7 +8384,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow)
extern const char *Txt_Done;
/***** Start box *****/
fprintf (Gbl.F.Out,"<div id=\"dropzone-upload\">");
HTM_DIV_Begin ("id=\"dropzone-upload\"");
Box_StartBox ("95%",Txt_Upload_files,NULL,
NULL,Box_NOT_CLOSABLE);
@ -8404,7 +8408,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow)
Par_PutHiddenParamString ("ses",Gbl.Session.Id);
Brw_PutImplicitParamsFileBrowser ();
fprintf (Gbl.F.Out,"<div class=\"dz-message\">");
HTM_DIV_Begin ("class=\"dz-message\"");
fprintf (Gbl.F.Out,"<span class=\"DAT_LIGHT\">%s</span>",
Txt_Select_one_or_more_files_from_your_computer_or_drag_and_drop_here);
HTM_DIV_End ();
@ -8438,7 +8442,7 @@ static void Brw_PutFormToUploadOneFileClassic (const char *FileNameToShow)
extern const char *Txt_or_you_can_upload_a_new_file_to_the_folder_X;
/***** Start box *****/
fprintf (Gbl.F.Out,"<div id=\"classic-upload\" style=\"display:none;\">");
HTM_DIV_Begin ("id=\"classic-upload\" style=\"display:none;\"");
Box_StartBox (NULL,Txt_Upload_file,NULL,
NULL,Box_NOT_CLOSABLE);

View File

@ -135,7 +135,7 @@ void Fol_SuggestUsrsToFollowMainZone (void)
struct UsrData UsrDat;
/***** Put links to request my public profile and another user's profile *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
Prf_PutLinkMyPublicProfile ();
Prf_PutLinkRequestAnotherUserProfile ();
HTM_DIV_End ();
@ -208,7 +208,7 @@ void Fol_SuggestUsrsToFollowMainZoneOnRightColumn (void)
&mysql_res)))
{
/***** Start container *****/
fprintf (Gbl.F.Out,"<div class=\"CONNECTED\">");
HTM_DIV_Begin ("class=\"CONNECTED\"");
/***** Title with link to suggest more users to follow *****/
Frm_StartForm (ActSeeSocPrf);
@ -518,11 +518,11 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
Lay_StartSection (Fol_FOLLOW_SECTION_ID);
/***** Followed users *****/
fprintf (Gbl.F.Out,"<div id=\"following_side\">");
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_SIDE\">");
HTM_DIV_Begin ("id=\"following_side\"");
HTM_DIV_Begin ("class=\"FOLLOW_SIDE\"");
/* User follows me? */
fprintf (Gbl.F.Out,"<div id=\"follows_me\" class=\"DAT_LIGHT\">");
HTM_DIV_Begin ("id=\"follows_me\" class=\"DAT_LIGHT\"");
if (UsrFollowsMe)
fprintf (Gbl.F.Out,"%s",Txt_FOLLOWS_YOU);
HTM_DIV_End ();
@ -537,8 +537,8 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
HTM_DIV_End ();
/***** Followers *****/
fprintf (Gbl.F.Out,"<div id=\"followers_side\">");
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_SIDE\">");
HTM_DIV_Begin ("id=\"followers_side\"");
HTM_DIV_Begin ("class=\"FOLLOW_SIDE\"");
/* Number of followers */
Fol_ShowNumberOfFollowingOrFollowers (UsrDat,
@ -546,7 +546,7 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
ActSeeFlr,Txt_Followers);
/* I follow user? */
fprintf (Gbl.F.Out,"<div id=\"follow_usr\">");
HTM_DIV_Begin ("id=\"follow_usr\"");
if (Gbl.Usrs.Me.Logged && // Logged
!ItsMe) // Not me!
{
@ -555,8 +555,7 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
Frm_StartForm (ActUnfUsr);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Frm_LinkFormSubmit (Txt_Following_unfollow,"REC_DAT_BOLD",NULL);
fprintf (Gbl.F.Out,"<div class=\"ICO_HIGHLIGHT\""
" style=\"display:inline;\" >");
HTM_DIV_Begin ("class=\"ICO_HIGHLIGHT\" style=\"display:inline;\"");
fprintf (Gbl.F.Out,"<img src=\"%s/user-check.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO40x40\" />",
@ -571,8 +570,7 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
Frm_StartForm (ActFolUsr);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Frm_LinkFormSubmit (Txt_Follow,"REC_DAT_BOLD",NULL);
fprintf (Gbl.F.Out,"<div class=\"ICO_HIGHLIGHT\""
" style=\"display:inline;\" >");
HTM_DIV_Begin ("class=\"ICO_HIGHLIGHT\" style=\"display:inline;\"");
fprintf (Gbl.F.Out,"<img src=\"%s/user-plus.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO40x40\" />",
@ -606,7 +604,7 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat,
extern const char *The_ClassFormOutBoxBold[The_NUM_THEMES];
/***** Start container *****/
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_BOX\">");
HTM_DIV_Begin ("class=\"FOLLOW_BOX\"");
/***** Number *****/
if (NumUsrs)
@ -632,9 +630,9 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"</span>");
/***** Text *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",
(Gbl.Action.Act == Action) ? The_ClassFormOutBoxBold[Gbl.Prefs.Theme] :
The_ClassFormOutBox [Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"%s\"",
(Gbl.Action.Act == Action) ? The_ClassFormOutBoxBold[Gbl.Prefs.Theme] :
The_ClassFormOutBox [Gbl.Prefs.Theme]);
if (NumUsrs)
{
/* Form to list users */
@ -859,7 +857,7 @@ static void Fol_ShowFollowedOrFollower (struct UsrData *UsrDat)
/* Put form to go to public profile */
Frm_StartForm (ActSeeOthPubPrf);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_USR_NAME\">"); // Limited width
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>");
@ -916,7 +914,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
/* Put form to go to public profile */
Frm_StartForm (ActSeeOthPubPrf);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
fprintf (Gbl.F.Out,"<div class=\"CON_NAME_FOLLOW\">"); // Limited width
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>");
@ -954,7 +952,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
static void Fol_PutInactiveIconToFollowUnfollow (void)
{
/***** Inactive icon to follow/unfollow *****/
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_USR_ICO ICO_HIDDEN\">");
HTM_DIV_Begin ("class=\"FOLLOW_USR_ICO ICO_HIDDEN\"");
fprintf (Gbl.F.Out,"<img src=\"%s/user.svg\" alt=\"\" class=\"ICO16x16\" />",
Cfg_URL_ICON_PUBLIC);
HTM_DIV_End ();
@ -972,7 +970,7 @@ static void Fol_PutIconToFollow (struct UsrData *UsrDat)
Frm_StartForm (ActFolUsr);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Frm_LinkFormSubmit (Txt_Follow,NULL,NULL);
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_USR_ICO ICO_HIGHLIGHT\">");
HTM_DIV_Begin ("class=\"FOLLOW_USR_ICO ICO_HIGHLIGHT\"");
fprintf (Gbl.F.Out,"<img src=\"%s/user-plus.svg\""
" alt=\"%s\" title=\"%s\" class=\"ICO16x16\" />",
Cfg_URL_ICON_PUBLIC,
@ -994,7 +992,7 @@ static void Fol_PutIconToUnfollow (struct UsrData *UsrDat)
Frm_StartForm (ActUnfUsr);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Frm_LinkFormSubmit (Txt_Unfollow,NULL,NULL);
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_USR_ICO ICO_HIGHLIGHT\">");
HTM_DIV_Begin ("class=\"FOLLOW_USR_ICO ICO_HIGHLIGHT\"");
fprintf (Gbl.F.Out,"<img src=\"%s/user-check.svg\""
" alt=\"%s\" title=\"%s\" class=\"ICO16x16\" />",
Cfg_URL_ICON_PUBLIC,

View File

@ -1440,7 +1440,7 @@ static void For_WriteNumberOfPosts (long UsrCod)
unsigned NumPsts;
/***** Star table cell *****/
fprintf (Gbl.F.Out,"<div class=\"AUTHOR_TXT LT\">");
HTM_DIV_Begin ("class=\"AUTHOR_TXT LT\"");
/***** Get number of posts from database *****/
if (Gbl.Forum.ForumSelected.Location > 0)
@ -1757,7 +1757,7 @@ static void For_PutFormWhichForums (void)
- only the forums of current institution/degree/course *****/
Frm_StartForm (ActSeeFor);
For_PutParamForumOrder (Gbl.Forum.ThreadsOrder);
fprintf (Gbl.F.Out,"<div class=\"SEL_BELOW_TITLE\">");
HTM_DIV_Begin ("class=\"SEL_BELOW_TITLE\"");
fprintf (Gbl.F.Out,"<ul>");
for (ForumSet = (For_ForumSet_t) 0;

View File

@ -461,9 +461,8 @@ void Gam_ShowOneGame (long GamCod,
Lay_EndArticle ();
/* Number of questions */
fprintf (Gbl.F.Out,"<div class=\"%s\">",
Game.Hidden ? "ASG_GRP_LIGHT" :
"ASG_GRP");
HTM_DIV_Begin ("class=\"%s\"",Game.Hidden ? "ASG_GRP_LIGHT" :
"ASG_GRP");
fprintf (Gbl.F.Out,"%s: %u",Txt_No_of_questions,Game.NumQsts);
HTM_DIV_End ();
@ -511,9 +510,8 @@ void Gam_ShowOneGame (long GamCod,
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to rigorous HTML
Str_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">",
Game.Hidden ? "DAT_LIGHT" :
"DAT");
HTM_DIV_Begin ("class=\"PAR %s\"",Game.Hidden ? "DAT_LIGHT" :
"DAT");
fprintf (Gbl.F.Out,"%s",Txt);
HTM_DIV_End ();
HTM_TD_End ();
@ -1738,13 +1736,13 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd);
/* Write number of question */
fprintf (Gbl.F.Out,"<div class=\"BIG_INDEX\">");
HTM_DIV_Begin ("class=\"BIG_INDEX\"");
fprintf (Gbl.F.Out,"%s",StrQstInd);
HTM_DIV_End ();
/* Write answer type (row[2]) */
Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (row[2]);
fprintf (Gbl.F.Out,"<div class=\"DAT_SMALL\">");
HTM_DIV_Begin ("class=\"DAT_SMALL\"");
fprintf (Gbl.F.Out,"%s",Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]);
HTM_DIV_End ();

View File

@ -410,7 +410,7 @@ void Grp_ShowFormToSelectSeveralGroups (void (*FuncParams) (void),
Grp_FreeListGrpTypesAndGrps ();
/***** Submit button *****/
fprintf (Gbl.F.Out,"<div class=\"CM\" style=\"padding-top:12px;\">");
HTM_DIV_Begin ("class=\"CM\" style=\"padding-top:12px;\"");
Frm_LinkFormSubmitAnimated (Txt_Update_users,
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
"CopyMessageToHiddenFields();");
@ -452,7 +452,7 @@ static void Grp_PutCheckboxAllGrps (Grp_WhichGroups_t GroupsSelectableByStdsOrNE
break;
}
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT\">");
HTM_DIV_Begin ("class=\"CONTEXT_OPT\"");
fprintf (Gbl.F.Out,"<input type=\"checkbox\""
" id=\"AllGroups\" name=\"AllGroups\" value=\"Y\"");
if (ICanSelUnselGroup)
@ -5007,9 +5007,9 @@ void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,void (*FuncParams) (void))
WhichGrps <= Grp_ALL_GROUPS;
WhichGrps++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
WhichGrps == Gbl.Crs.Grps.WhichGrps ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",
WhichGrps == Gbl.Crs.Grps.WhichGrps ? "PREF_ON" :
"PREF_OFF");
Frm_StartForm (Action);
Par_PutHiddenParamUnsigned ("WhichGrps",(unsigned) WhichGrps);
if (FuncParams) // Extra parameters depending on the action

View File

@ -65,7 +65,7 @@ extern struct Globals Gbl;
void Hie_SeePending (void)
{
/***** Put contextual links *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Put link to remove old courses */
Crs_PutLinkToRemoveOldCrss ();
@ -207,7 +207,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
const char *ClassTxt = The_ClassBreadcrumb[Gbl.Prefs.Theme];
/***** Form to go to the system *****/
fprintf (Gbl.F.Out,"<div class=\"BC %s\">",ClassTxt);
HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt);
fprintf (Gbl.F.Out,"&nbsp;");
Frm_StartFormGoTo (ActMnu);
@ -220,7 +220,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
if (Gbl.Hierarchy.Cty.CtyCod > 0) // Country selected...
{
fprintf (Gbl.F.Out,"<div class=\"BC %s\">",ClassTxt);
HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt);
/***** Separator *****/
fprintf (Gbl.F.Out,"&nbsp;&gt;&nbsp;");
@ -236,7 +236,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else
{
fprintf (Gbl.F.Out,"<div class=\"BC BC_SEMIOFF %s\">",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_SEMIOFF %s\"",ClassTxt);
/***** Separator *****/
fprintf (Gbl.F.Out,"&nbsp;&gt;&nbsp;");
@ -252,7 +252,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
if (Gbl.Hierarchy.Ins.InsCod > 0) // Institution selected...
{
fprintf (Gbl.F.Out,"<div class=\"BC %s\">",ClassTxt);
HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt);
/***** Separator *****/
fprintf (Gbl.F.Out,"&nbsp;&gt;&nbsp;");
@ -268,7 +268,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else if (Gbl.Hierarchy.Cty.CtyCod > 0)
{
fprintf (Gbl.F.Out,"<div class=\"BC BC_SEMIOFF %s\">",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_SEMIOFF %s\"",ClassTxt);
/***** Separator *****/
fprintf (Gbl.F.Out,"&nbsp;&gt;&nbsp;");
@ -283,7 +283,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else
{
fprintf (Gbl.F.Out,"<div class=\"BC BC_OFF %s\">",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_OFF %s\"",ClassTxt);
/***** Separator *****/
fprintf (Gbl.F.Out,"&nbsp;&gt;&nbsp;");
@ -296,7 +296,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
if (Gbl.Hierarchy.Ctr.CtrCod > 0) // Centre selected...
{
fprintf (Gbl.F.Out,"<div class=\"BC %s\">",ClassTxt);
HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt);
/***** Separator *****/
fprintf (Gbl.F.Out,"&nbsp;&gt;&nbsp;");
@ -312,7 +312,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else if (Gbl.Hierarchy.Ins.InsCod > 0)
{
fprintf (Gbl.F.Out,"<div class=\"BC BC_SEMIOFF %s\">",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_SEMIOFF %s\"",ClassTxt);
/***** Separator *****/
fprintf (Gbl.F.Out,"&nbsp;&gt;&nbsp;");
@ -327,7 +327,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else
{
fprintf (Gbl.F.Out,"<div class=\"BC BC_OFF %s\">",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_OFF %s\"",ClassTxt);
/***** Separator *****/
fprintf (Gbl.F.Out,"&nbsp;&gt;&nbsp;");
@ -340,7 +340,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
if (Gbl.Hierarchy.Deg.DegCod > 0) // Degree selected...
{
fprintf (Gbl.F.Out,"<div class=\"BC %s\">",ClassTxt);
HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt);
/***** Separator *****/
fprintf (Gbl.F.Out,"&nbsp;&gt;&nbsp;");
@ -356,7 +356,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else if (Gbl.Hierarchy.Ctr.CtrCod > 0)
{
fprintf (Gbl.F.Out,"<div class=\"BC BC_SEMIOFF %s\">",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_SEMIOFF %s\"",ClassTxt);
/***** Separator *****/
fprintf (Gbl.F.Out,"&nbsp;&gt;&nbsp;");
@ -371,7 +371,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else
{
fprintf (Gbl.F.Out,"<div class=\"BC BC_OFF %s\">",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_OFF %s\"",ClassTxt);
/***** Separator *****/
fprintf (Gbl.F.Out,"&nbsp;&gt;&nbsp;");
@ -382,11 +382,11 @@ void Hie_WriteHierarchyInBreadcrumb (void)
HTM_DIV_End ();
}
fprintf (Gbl.F.Out,"<div class=\"BC%s %s\">",
(Gbl.Hierarchy.Level == Hie_CRS) ? "" :
((Gbl.Hierarchy.Deg.DegCod > 0) ? " BC_SEMIOFF" :
" BC_OFF"),
ClassTxt);
HTM_DIV_Begin ("class=\"BC%s %s\"",
(Gbl.Hierarchy.Level == Hie_CRS) ? "" :
((Gbl.Hierarchy.Deg.DegCod > 0) ? " BC_SEMIOFF" :
" BC_OFF"),
ClassTxt);
/***** Separator *****/
fprintf (Gbl.F.Out,"&nbsp;&gt;&nbsp;");
@ -437,10 +437,10 @@ void Hie_WriteBigNameCtyInsCtrDegCrs (void)
}
/***** Text *****/
fprintf (Gbl.F.Out,"<div id=\"big_name_container\">");
HTM_DIV_Begin ("id=\"big_name_container\"");
if (Gbl.Hierarchy.Cty.CtyCod > 0)
{
fprintf (Gbl.F.Out,"<div id=\"big_full_name\">");
HTM_DIV_Begin ("id=\"big_full_name\"");
fprintf (Gbl.F.Out,"%s", // Full name
(Gbl.Hierarchy.Level == Hie_CRS) ? Gbl.Hierarchy.Crs.FullName :
((Gbl.Hierarchy.Level == Hie_DEG) ? Gbl.Hierarchy.Deg.FullName :
@ -448,10 +448,12 @@ void Hie_WriteBigNameCtyInsCtrDegCrs (void)
((Gbl.Hierarchy.Level == Hie_INS) ? Gbl.Hierarchy.Ins.FullName :
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]))));
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div class=\"NOT_SHOWN\">");
HTM_DIV_Begin ("class=\"NOT_SHOWN\"");
fprintf (Gbl.F.Out," / "); // To separate
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div id=\"big_short_name\">");
HTM_DIV_Begin ("id=\"big_short_name\"");
fprintf (Gbl.F.Out,"%s", // Short name
(Gbl.Hierarchy.Level == Hie_CRS) ? Gbl.Hierarchy.Crs.ShrtName :
((Gbl.Hierarchy.Level == Hie_DEG) ? Gbl.Hierarchy.Deg.ShrtName :
@ -462,14 +464,16 @@ void Hie_WriteBigNameCtyInsCtrDegCrs (void)
}
else // No country specified ==> home page
{
fprintf (Gbl.F.Out,"<div id=\"big_full_name\">");
HTM_DIV_Begin ("id=\"big_full_name\"");
fprintf (Gbl.F.Out,"%s: %s", // Full name
Cfg_PLATFORM_SHORT_NAME,Txt_TAGLINE);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div class=\"NOT_SHOWN\">");
HTM_DIV_Begin ("class=\"NOT_SHOWN\"");
fprintf (Gbl.F.Out," / "); // To separate
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div id=\"big_short_name\">");
HTM_DIV_Begin ("id=\"big_short_name\"");
fprintf (Gbl.F.Out,"%s", // Short name
Cfg_PLATFORM_SHORT_NAME);
HTM_DIV_End ();

View File

@ -124,9 +124,9 @@ void Ico_PutIconsToSelectIconSet (void)
IconSet < Ico_NUM_ICON_SETS;
IconSet++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
IconSet == Gbl.Prefs.IconSet ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",
IconSet == Gbl.Prefs.IconSet ? "PREF_ON" :
"PREF_OFF");
Frm_StartForm (ActChgIco);
Par_PutHiddenParamString ("IconSet",Ico_IconSetId[IconSet]);
snprintf (Icon,sizeof (Icon),
@ -332,7 +332,7 @@ void Ico_PutContextualIconToZIP (Act_Action_t NextAction,void (*FuncParams) (voi
void Ico_PutDivIcon (const char *DivClass,const char *Icon,const char *Title)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",DivClass);
HTM_DIV_Begin ("class=\"%s\"",DivClass);
fprintf (Gbl.F.Out,"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
" class=\"CONTEXT_ICO_16x16\" />",
Cfg_URL_ICON_PUBLIC,Icon,
@ -346,7 +346,7 @@ void Ico_PutDivIcon (const char *DivClass,const char *Icon,const char *Title)
void Ico_PutDivIconLink (const char *DivClass,const char *Icon,const char *Title)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",DivClass);
HTM_DIV_Begin ("class=\"%s\"",DivClass);
Ico_PutIconLink (Icon,Title);
HTM_DIV_End ();
}
@ -371,7 +371,7 @@ void Ico_PutIconLink (const char *Icon,const char *Title)
void Ico_PutIconTextLink (const char *Icon,const char *Text)
{
/***** Print icon and optional text *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT ICO_HIGHLIGHT\">");
HTM_DIV_Begin ("class=\"CONTEXT_OPT ICO_HIGHLIGHT\"");
fprintf (Gbl.F.Out,"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
" class=\"CONTEXT_ICO_x16\" />"
"&nbsp;%s",
@ -411,7 +411,7 @@ void Ico_PutIconOff (const char *Icon,const char *Title)
void Ico_PutCalculateIcon (const char *Title)
{
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT ICO_HIGHLIGHT\">");
HTM_DIV_Begin ("class=\"CONTEXT_OPT ICO_HIGHLIGHT\"");
fprintf (Gbl.F.Out,"<img id=\"update_%d\" src=\"%s/recycle16x16.gif\"" // TODO: change name and resolution to refresh64x64.png
" alt=\"%s\" title=\"%s\""
" class=\"CONTEXT_ICO_16x16\" />"
@ -432,8 +432,7 @@ void Ico_PutCalculateIcon (const char *Title)
void Ico_PutCalculateIconWithText (const char *Text)
{
fprintf (Gbl.F.Out,"<div class=\"ICO_HIGHLIGHT\""
" style=\"margin:0 6px 0 0; display:inline;\">");
HTM_DIV_Begin ("class=\"ICO_HIGHLIGHT\" style=\"margin:0 6px 0 0; display:inline;\"");
fprintf (Gbl.F.Out,"<img id=\"update_%d\" src=\"%s/recycle16x16.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO20x20\" />"

View File

@ -384,7 +384,7 @@ void Inf_ShowInfo (void)
/* Put checkbox to force students to read this couse info */
if (MustBeRead)
{
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
Inf_PutCheckboxConfirmIHaveReadInfo ();
HTM_DIV_End ();
}
@ -395,7 +395,7 @@ void Inf_ShowInfo (void)
/* Put checkbox to force students to read this couse info */
if (InfoSrc != Inf_INFO_SRC_NONE)
{
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
Disabled = (Gbl.Usrs.Me.Role.Logged == Rol_NET); // Non-editing teachers can not change the status of checkbox
Inf_PutCheckboxForceStdsToReadInfo (MustBeRead,Disabled);
HTM_DIV_End ();
@ -599,7 +599,7 @@ void Inf_WriteMsgYouMustReadInfo (void)
Ale_ShowAlert (Ale_WARNING,Txt_You_should_read_the_following_information);
/***** Write every information I must read *****/
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
fprintf (Gbl.F.Out,"<ul class=\"LIST_LEFT\""
" style=\"list-style-type:initial;\">");
for (InfoType = (Inf_InfoType_t) 0;
@ -1272,7 +1272,7 @@ void Inf_FormToSendPage (Inf_InfoSrc_t InfoSrc)
Frm_StartForm (Inf_ActionsInfo[InfoSrc][Gbl.Crs.Info.Type]);
/***** File *****/
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
fprintf (Gbl.F.Out,"<label class=\"%s\">"
"%s:&nbsp;"
"<input type=\"file\" name=\"%s\" />"
@ -1307,7 +1307,7 @@ void Inf_FormToSendURL (Inf_InfoSrc_t InfoSrc)
Frm_StartForm (Inf_ActionsInfo[InfoSrc][Gbl.Crs.Info.Type]);
/***** Link *****/
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
fprintf (Gbl.F.Out,"<label class=\"%s\">"
"%s:&nbsp;"
"<input type=\"url\" name=\"InfoSrcURL\""
@ -1798,7 +1798,7 @@ static bool Inf_CheckAndShowPlainTxt (void)
Gbl.Crs.Info.Type == Inf_TEACHING_GUIDE)
Lay_WriteHeaderClassPhoto (false,false,Gbl.Hierarchy.Ins.InsCod,Gbl.Hierarchy.Deg.DegCod,Gbl.Hierarchy.Crs.CrsCod);
fprintf (Gbl.F.Out,"<div class=\"DAT LM\">");
HTM_DIV_Begin ("class=\"DAT LM\"");
/***** Convert to respectful HTML and insert links *****/
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
@ -1882,7 +1882,7 @@ static bool Inf_CheckAndShowRichTxt (void)
Gbl.Crs.Info.Type == Inf_TEACHING_GUIDE)
Lay_WriteHeaderClassPhoto (false,false,Gbl.Hierarchy.Ins.InsCod,Gbl.Hierarchy.Deg.DegCod,Gbl.Hierarchy.Crs.CrsCod);
fprintf (Gbl.F.Out,"<div id=\"crs_info\" class=\"LM\">");
HTM_DIV_Begin ("id=\"crs_info\" class=\"LM\"");
/***** Store text into a temporary .md file in HTML output directory *****/
// TODO: change to another directory?
@ -2078,7 +2078,7 @@ void Inf_EditPlainTxtInfo (void)
TxtHTML,NULL);
/***** Edition area *****/
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
Lay_HelpPlainEditor ();
fprintf (Gbl.F.Out,"<textarea name=\"Txt\" cols=\"80\" rows=\"20\">"
"%s"
@ -2129,7 +2129,7 @@ void Inf_EditRichTxtInfo (void)
TxtHTML,NULL);
/***** Edition area *****/
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
Lay_HelpRichEditor ();
fprintf (Gbl.F.Out,"<textarea name=\"Txt\" cols=\"80\" rows=\"20\">"
"%s"

View File

@ -334,7 +334,7 @@ static void Ins_Configuration (bool PrintView)
/***** Title *****/
PutLink = !PrintView && Gbl.Hierarchy.Ins.WWW[0];
fprintf (Gbl.F.Out,"<div class=\"FRAME_TITLE FRAME_TITLE_BIG\">");
HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG\"");
if (PutLink)
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
" class=\"FRAME_TITLE_BIG\" title=\"%s\">",
@ -485,7 +485,7 @@ static void Ins_Configuration (bool PrintView)
}
else // I can not change institution WWW
{
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_LONG\">");
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_LONG\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
"%s"
"</a>",
@ -1555,7 +1555,7 @@ static void Ins_ListInstitutionsForEdition (void)
{
Str_Copy (WWW,Ins->WWW,
Cns_MAX_BYTES_WWW);
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_SHORT\">");
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_SHORT\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
" class=\"DAT\" title=\"%s\">"
"%s"

View File

@ -271,12 +271,12 @@ void Lay_WriteStartOfPage (void)
{
case Act_BRW_1ST_TAB:
fprintf (Gbl.F.Out,"<body onload=\"init();\">\n");
fprintf (Gbl.F.Out,"<div id=\"zoomLyr\" class=\"ZOOM\">");
HTM_DIV_Begin ("id=\"zoomLyr\" class=\"ZOOM\"");
fprintf (Gbl.F.Out,"<img id=\"zoomImg\" src=\"%s/usr_bl.jpg\""
" alt=\"\" title=\"\""
" class=\"IMG_USR\" />",
Cfg_URL_ICON_PUBLIC);
fprintf (Gbl.F.Out,"<div id=\"zoomTxt\" class=\"CM\">");
HTM_DIV_Begin ("id=\"zoomTxt\" class=\"CM\"");
HTM_DIV_End ();
HTM_DIV_End ();
break;
@ -296,7 +296,7 @@ void Lay_WriteStartOfPage (void)
}
/***** Start box that contains the whole page except the foot *****/
fprintf (Gbl.F.Out,"<div id=\"whole_page\">");
HTM_DIV_Begin ("id=\"whole_page\"");
/***** Header of layout *****/
Lay_WritePageTopHeading ();
@ -305,7 +305,7 @@ void Lay_WriteStartOfPage (void)
Tab_DrawTabs ();
/***** 4th row: main zone *****/
fprintf (Gbl.F.Out,"<div id=\"main_zone\">");
HTM_DIV_Begin ("id=\"main_zone\"");
/* Left column */
if (Gbl.Prefs.SideCols & Lay_SHOW_LEFT_COLUMN) // Left column visible
@ -331,29 +331,29 @@ void Lay_WriteStartOfPage (void)
switch (Gbl.Prefs.SideCols)
{
case 0:
fprintf (Gbl.F.Out,"<div id=\"main_zone_central_none\">");
HTM_DIV_Begin ("id=\"main_zone_central_none\"");
break;
case Lay_SHOW_LEFT_COLUMN:
fprintf (Gbl.F.Out,"<div id=\"main_zone_central_left\">");
HTM_DIV_Begin ("id=\"main_zone_central_left\"");
break;
case Lay_SHOW_RIGHT_COLUMN:
fprintf (Gbl.F.Out,"<div id=\"main_zone_central_right\">");
HTM_DIV_Begin ("id=\"main_zone_central_right\"");
break;
case (Lay_SHOW_LEFT_COLUMN | Lay_SHOW_RIGHT_COLUMN):
fprintf (Gbl.F.Out,"<div id=\"main_zone_central_both\">");
HTM_DIV_Begin ("id=\"main_zone_central_both\"");
break;
}
fprintf (Gbl.F.Out,"<div id=\"main_zone_central_container\" class=\"%s\">",
The_TabOnBgColors[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("id=\"main_zone_central_container\" class=\"%s\"",
The_TabOnBgColors[Gbl.Prefs.Theme]);
/* Layout with horizontal or vertical menu */
fprintf (Gbl.F.Out,"<div id=\"%s\">",LayoutMainZone[Gbl.Prefs.Menu]);
HTM_DIV_Begin ("id=\"%s\"",LayoutMainZone[Gbl.Prefs.Menu]);
/* Menu */
Mnu_WriteMenuThisTab ();
/* Start canvas: main zone for actions output */
fprintf (Gbl.F.Out,"<div class=\"MAIN_ZONE_CANVAS\">");
HTM_DIV_Begin ("class=\"MAIN_ZONE_CANVAS\"");
/* If it is mandatory to read any information about course */
if (Gbl.Crs.Info.ShowMsgMustBeRead)
@ -923,17 +923,16 @@ static void Lay_WritePageTopHeading (void)
/***** 1st. row *****/
/* Start 1st. row */
fprintf (Gbl.F.Out,"<div id=\"head_row_1\" class=\"%s\">",
ClassHeadRow1[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("id=\"head_row_1\" class=\"%s\"",ClassHeadRow1[Gbl.Prefs.Theme]);
/* 1st. row, 1st. column: logo, tagline and search */
fprintf (Gbl.F.Out,"<div id=\"head_row_1_left\">");
HTM_DIV_Begin ("id=\"head_row_1_left\"");
/* Begin form to go to home page */
Frm_StartFormGoTo (ActMnu);
Par_PutHiddenParamUnsigned ("NxtTab",(unsigned) TabSys);
fprintf (Gbl.F.Out,"<div id=\"head_row_1_logo_small\">");
HTM_DIV_Begin ("id=\"head_row_1_logo_small\"");
Frm_LinkFormSubmit (Txt_System,NULL,NULL);
fprintf (Gbl.F.Out,"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
" class=\"CM\""
@ -943,7 +942,7 @@ static void Lay_WritePageTopHeading (void)
Cfg_PLATFORM_SHORT_NAME,Cfg_PLATFORM_FULL_NAME,
Cfg_PLATFORM_LOGO_SMALL_WIDTH,Cfg_PLATFORM_LOGO_SMALL_HEIGHT);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div id=\"head_row_1_logo_big\">");
HTM_DIV_Begin ("id=\"head_row_1_logo_big\"");
Frm_LinkFormSubmit (Txt_System,NULL,NULL);
fprintf (Gbl.F.Out,"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
" class=\"CM\""
@ -953,7 +952,7 @@ static void Lay_WritePageTopHeading (void)
Cfg_PLATFORM_SHORT_NAME,Cfg_PLATFORM_FULL_NAME,
Cfg_PLATFORM_LOGO_BIG_WIDTH,Cfg_PLATFORM_LOGO_BIG_HEIGHT);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div id=\"head_row_1_tagline\">");
HTM_DIV_Begin ("id=\"head_row_1_tagline\"");
Frm_LinkFormSubmit (Txt_TAGLINE,The_ClassTagline[Gbl.Prefs.Theme],NULL);
fprintf (Gbl.F.Out,"%s"
"</a>",
@ -969,13 +968,13 @@ static void Lay_WritePageTopHeading (void)
/* 1st. row, 3rd. column: logged user or language selection,
and link to open/close session */
fprintf (Gbl.F.Out,"<div id=\"head_row_1_right\">");
HTM_DIV_Begin ("id=\"head_row_1_right\"");
if (Gbl.Usrs.Me.Logged)
Usr_WriteLoggedUsrHead ();
else
Lan_PutSelectorToSelectLanguage ();
fprintf (Gbl.F.Out,"<div id=\"login_box\">");
HTM_DIV_Begin ("id=\"login_box\"");
if (Gbl.Usrs.Me.Logged)
Usr_PutFormLogOut ();
else
@ -988,23 +987,22 @@ static void Lay_WritePageTopHeading (void)
/***** 2nd. row *****/
/* Start second row */
fprintf (Gbl.F.Out,"<div id=\"head_row_2\" class=\"%s\">",
ClassHeadRow2[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("id=\"head_row_2\" class=\"%s\"",ClassHeadRow2[Gbl.Prefs.Theme]);
/* 2nd. row, 1st. column
Clock with hour:minute (server hour is shown) */
fprintf (Gbl.F.Out,"<div id=\"head_row_2_time\">");
HTM_DIV_Begin ("id=\"head_row_2_time\"");
Dat_ShowClientLocalTime ();
HTM_DIV_End (); // End first column
/* 2nd. row, 2nd. column: degree and course */
fprintf (Gbl.F.Out,"<div id=\"head_row_2_hierarchy\">");
HTM_DIV_Begin ("id=\"head_row_2_hierarchy\"");
Lay_WriteBreadcrumb ();
Hie_WriteBigNameCtyInsCtrDegCrs ();
HTM_DIV_End ();
/* 2nd. row, 3rd. column */
fprintf (Gbl.F.Out,"<div id=\"msg\">"); // Used for AJAX based refresh
HTM_DIV_Begin ("id=\"msg\""); // Used for AJAX based refresh
if (Gbl.Usrs.Me.Logged)
Ntf_WriteNumberOfNewNtfs ();
HTM_DIV_End (); // Used for AJAX based refresh
@ -1040,24 +1038,20 @@ static void Lay_WriteTitleAction (void)
extern const char *Txt_TABS_TXT[Tab_NUM_TABS];
/***** Container start *****/
fprintf (Gbl.F.Out,"<div id=\"action_title\""
" style=\"background-image:url('%s/%s');\">",
Gbl.Prefs.URLIconSet,
Act_GetIcon (Act_GetSuperAction (Gbl.Action.Act)));
HTM_DIV_Begin ("id=\"action_title\" style=\"background-image:url('%s/%s');\"",
Gbl.Prefs.URLIconSet,
Act_GetIcon (Act_GetSuperAction (Gbl.Action.Act)));
/***** Title *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",
The_ClassTitleAction[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"%s\"",The_ClassTitleAction[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s &gt; %s",
Txt_TABS_TXT[Act_GetTab (Gbl.Action.Act)],
Act_GetTitleAction (Gbl.Action.Act));
HTM_DIV_End ();
/***** Subtitle *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",
The_ClassSubtitleAction[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s",
Act_GetSubtitleAction (Gbl.Action.Act));
HTM_DIV_Begin ("class=\"%s\"",The_ClassSubtitleAction[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s",Act_GetSubtitleAction (Gbl.Action.Act));
HTM_DIV_End ();
/***** Container end *****/
@ -1072,9 +1066,9 @@ static void Lay_ShowLeftColumn (void)
{
struct MFU_ListMFUActions ListMFUActions;
fprintf (Gbl.F.Out,"<div style=\"width:160px;\">");
HTM_DIV_Begin ("style=\"width:160px;\"");
fprintf (Gbl.F.Out,"<div class=\"LEFT_RIGHT_CELL\">");
HTM_DIV_Begin ("class=\"LEFT_RIGHT_CELL\"");
if (Gbl.Usrs.Me.Logged)
{
/***** Most frequently used actions *****/
@ -1089,14 +1083,14 @@ static void Lay_ShowLeftColumn (void)
HTM_DIV_End ();
/***** Month *****/
fprintf (Gbl.F.Out,"<div class=\"LEFT_RIGHT_CELL\">");
HTM_DIV_Begin ("class=\"LEFT_RIGHT_CELL\"");
Cal_DrawCurrentMonth ();
HTM_DIV_End ();
/***** Notices (yellow notes) *****/
if (Gbl.Hierarchy.Level == Hie_CRS)
{
fprintf (Gbl.F.Out,"<div class=\"LEFT_RIGHT_CELL\">");
HTM_DIV_Begin ("class=\"LEFT_RIGHT_CELL\"");
Not_ShowNotices (Not_LIST_BRIEF_NOTICES,
-1L); // No notice highlighted
HTM_DIV_End ();
@ -1121,20 +1115,18 @@ static void Lay_ShowRightColumn (void)
/***** Number of connected users in the whole platform *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
{
fprintf (Gbl.F.Out,"<div id=\"globalconnected\"" // Used for AJAX based refresh
" class=\"LEFT_RIGHT_CELL\">");
HTM_DIV_Begin ("id=\"globalconnected\" class=\"LEFT_RIGHT_CELL\""); // Used for AJAX based refresh
Con_ShowGlobalConnectedUsrs ();
HTM_DIV_End (); // Used for AJAX based refresh
HTM_DIV_End (); // Used for AJAX based refresh
}
/***** Number of connected users in the current course *****/
if (Gbl.Hierarchy.Level == Hie_CRS) // There is a course selected
{
fprintf (Gbl.F.Out,"<div id=\"courseconnected\"" // Used for AJAX based refresh
" class=\"LEFT_RIGHT_CELL\">");
HTM_DIV_Begin ("id=\"courseconnected\" class=\"LEFT_RIGHT_CELL\""); // Used for AJAX based refresh
Gbl.Scope.Current = Hie_CRS;
Con_ShowConnectedUsrsBelongingToCurrentCrs ();
HTM_DIV_End (); // Used for AJAX based refresh
HTM_DIV_End (); // Used for AJAX based refresh
}
else if (Gbl.Usrs.Me.Logged) // I am logged
{
@ -1142,7 +1134,7 @@ static void Lay_ShowRightColumn (void)
gettimeofday (&tv1,NULL);
*/
/***** Suggest one user to follow *****/
fprintf (Gbl.F.Out,"<div class=\"LEFT_RIGHT_CELL\">");
HTM_DIV_Begin ("class=\"LEFT_RIGHT_CELL\"");
Fol_SuggestUsrsToFollowMainZoneOnRightColumn ();
/*
gettimeofday (&tv2,NULL);
@ -1162,7 +1154,7 @@ static void Lay_ShowRightColumn (void)
if (!Gbl.Usrs.Me.Logged)
{
/***** SWADroid advertisement *****/
fprintf (Gbl.F.Out,"<div class=\"LEFT_RIGHT_CELL\">");
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\""
@ -1286,11 +1278,11 @@ void Lay_PutContextualCheckbox (Act_Action_t NextAction,
FuncParams ();
/***** Start container and label *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT %s %s\" title=\"%s\">",
Checked ? "CHECKBOX_CHECKED" :
"CHECKBOX_UNCHECKED",
The_ClassFormOutBoxBold[Gbl.Prefs.Theme],
Title);
HTM_DIV_Begin ("class=\"CONTEXT_OPT %s %s\" title=\"%s\"",
Checked ? "CHECKBOX_CHECKED" :
"CHECKBOX_UNCHECKED",
The_ClassFormOutBoxBold[Gbl.Prefs.Theme],
Title);
fprintf (Gbl.F.Out,"<label>");
/****** Checkbox and text *****/
@ -1715,7 +1707,7 @@ void Lay_AdvertisementMobile (void)
if (!(rand () % Lay_SHOW_ADVERTISEMENT_ONE_TIME_OF_X))
{
fprintf (Gbl.F.Out,"<div style=\"margin-top:25px;\">");
HTM_DIV_Begin ("style=\"margin-top:25px;\"");
/***** Start box and table *****/
Box_StartBoxTable (NULL,NULL,NULL,
@ -1801,7 +1793,7 @@ static void Lay_HelpTextEditor (const char *Text,const char *InlineMath,const ch
extern const char *Txt_Inline_math;
extern const char *Txt_Equation_centered;
fprintf (Gbl.F.Out,"<div class=\"HELP_EDIT\">");
HTM_DIV_Begin ("class=\"HELP_EDIT\"");
fprintf (Gbl.F.Out,"%s: %s"
" "
"%s: <code>%s</code>"

View File

@ -162,7 +162,7 @@ void Lnk_WriteMenuWithInstitutionalLinks (void)
/***** Write all the links *****/
if (Gbl.Links.Num)
{
fprintf (Gbl.F.Out,"<div id=\"institutional_links\">");
HTM_DIV_Begin ("id=\"institutional_links\"");
Frm_StartForm (ActSeeLnk);
Frm_LinkFormSubmit (Txt_Links,NULL,NULL);

View File

@ -278,7 +278,7 @@ void Log_RequestLogo (Hie_Level_t Scope)
if (Fil_CheckIfPathExists (PathLogo))
{
/***** Form to remove photo *****/
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
Lay_PutContextualLinkIconText (ActionRem,NULL,NULL,
"trash.svg",
Txt_Remove_logo);

View File

@ -922,7 +922,7 @@ static void Mai_ListEmails (void)
Hlp_MESSAGES_Email,Box_NOT_CLOSABLE);
/***** Start list with users' email addresses *****/
fprintf (Gbl.F.Out,"<div class=\"DAT_SMALL CM\">");
HTM_DIV_Begin ("class=\"DAT_SMALL CM\"");
/***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat);
@ -978,19 +978,18 @@ static void Mai_ListEmails (void)
HTM_DIV_End ();
/***** Show a message with the number of users with email ****/
fprintf (Gbl.F.Out,"<div class=\"DAT CM\">");
fprintf (Gbl.F.Out,Txt_X_users_who_have_email,
NumUsrsWithEmail);
HTM_DIV_Begin ("class=\"DAT CM\"");
fprintf (Gbl.F.Out,Txt_X_users_who_have_email,NumUsrsWithEmail);
HTM_DIV_End ();
/***** Show a message with the number of users who have accepted and have email ****/
fprintf (Gbl.F.Out,"<div class=\"DAT CM\">");
HTM_DIV_Begin ("class=\"DAT CM\"");
fprintf (Gbl.F.Out,Txt_X_users_who_have_accepted_and_who_have_email,
NumAcceptedUsrsWithEmail);
HTM_DIV_End ();
/***** Icon to open the client email program *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
fprintf (Gbl.F.Out,"<a href=\"mailto:%s?subject=%s&cc=%s&bcc=%s\""
" title=\"%s\" class=\"%s\">",
Gbl.Usrs.Me.UsrDat.Email,

View File

@ -609,10 +609,9 @@ static void Mch_GetAndWriteNamesOfGrpsAssociatedToMatch (const struct Match *Mat
Match->MchCod);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<div class=\"ASG_GRP\">");
fprintf (Gbl.F.Out,"%s: ",
NumRows == 1 ? Txt_Group :
Txt_Groups);
HTM_DIV_Begin ("class=\"ASG_GRP\"");
fprintf (Gbl.F.Out,"%s: ",NumRows == 1 ? Txt_Group :
Txt_Groups);
/***** Write groups *****/
if (NumRows) // Groups found...
@ -675,7 +674,7 @@ static void Mch_ListOneOrMoreMatchesStatus (const struct Match *Match,unsigned N
if (Match->Status.QstInd < Mch_AFTER_LAST_QUESTION) // Unfinished match
{
/* Current question index / total of questions */
fprintf (Gbl.F.Out,"<div class=\"DAT\">");
HTM_DIV_Begin ("class=\"DAT\"");
fprintf (Gbl.F.Out,"%u/%u",Match->Status.QstInd,NumQsts);
HTM_DIV_End ();
}
@ -1351,7 +1350,7 @@ void Mch_ResumeMatch (void)
Mch_UpdateMatchStatusInDB (&Match);
/***** Show current match status *****/
fprintf (Gbl.F.Out,"<div id=\"match\" class=\"MCH_CONT\">");
HTM_DIV_Begin ("id=\"match\" class=\"MCH_CONT\"");
Mch_ShowMatchStatusForTch (&Match);
HTM_DIV_End ();
}
@ -1784,7 +1783,7 @@ void Mch_PlayPauseMatch (void)
Mch_UpdateMatchStatusInDB (&Match);
/***** Show current match status *****/
fprintf (Gbl.F.Out,"<div id=\"match\" class=\"MCH_CONT\">");
HTM_DIV_Begin ("id=\"match\" class=\"MCH_CONT\"");
Mch_ShowMatchStatusForTch (&Match);
HTM_DIV_End ();
}
@ -1817,7 +1816,7 @@ void Mch_ChangeNumColsMch (void)
Mch_UpdateMatchStatusInDB (&Match);
/***** Show current match status *****/
fprintf (Gbl.F.Out,"<div id=\"match\" class=\"MCH_CONT\">");
HTM_DIV_Begin ("id=\"match\" class=\"MCH_CONT\"");
Mch_ShowMatchStatusForTch (&Match);
HTM_DIV_End ();
}
@ -1849,7 +1848,7 @@ void Mch_ToggleVisibilResultsMchQst (void)
Mch_UpdateMatchStatusInDB (&Match);
/***** Show current match status *****/
fprintf (Gbl.F.Out,"<div id=\"match\" class=\"MCH_CONT\">");
HTM_DIV_Begin ("id=\"match\" class=\"MCH_CONT\"");
Mch_ShowMatchStatusForTch (&Match);
HTM_DIV_End ();
}
@ -1878,7 +1877,7 @@ void Mch_BackMatch (void)
Mch_UpdateMatchStatusInDB (&Match);
/***** Show current match status *****/
fprintf (Gbl.F.Out,"<div id=\"match\" class=\"MCH_CONT\">");
HTM_DIV_Begin ("id=\"match\" class=\"MCH_CONT\"");
Mch_ShowMatchStatusForTch (&Match);
HTM_DIV_End ();
}
@ -1907,7 +1906,7 @@ void Mch_ForwardMatch (void)
Mch_UpdateMatchStatusInDB (&Match);
/***** Show current match status *****/
fprintf (Gbl.F.Out,"<div id=\"match\" class=\"MCH_CONT\">");
HTM_DIV_Begin ("id=\"match\" class=\"MCH_CONT\"");
Mch_ShowMatchStatusForTch (&Match);
HTM_DIV_End ();
}
@ -2110,11 +2109,10 @@ bool Mch_CheckIfICanPlayThisMatchBasedOnGrps (long MchCod)
static void Mch_ShowLeftColumnTch (struct Match *Match)
{
/***** Start left container *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_LEFT\">");
HTM_DIV_Begin ("class=\"MCH_LEFT\"");
/***** Refreshable part *****/
fprintf (Gbl.F.Out,"<div id=\"match_left\""
" class=\"MCH_REFRESHABLE_TEACHER\">");
HTM_DIV_Begin ("id=\"match_left\" class=\"MCH_REFRESHABLE_TEACHER\"");
Mch_ShowRefreshablePartTch (Match);
HTM_DIV_End ();
@ -2142,7 +2140,7 @@ static void Mch_ShowRefreshablePartTch (struct Match *Match)
unsigned NumAnswerersQst;
/***** Top *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_TOP\">");
HTM_DIV_Begin ("class=\"MCH_TOP\"");
/* Write elapsed time in match */
Mch_GetElapsedTimeInMatch (Match,&Time);
@ -2154,7 +2152,7 @@ static void Mch_ShowRefreshablePartTch (struct Match *Match)
Mch_ShowNumQstInMatch (Match);
/***** Write elapsed time in question *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_TIME_QST\">");
HTM_DIV_Begin ("class=\"MCH_TIME_QST\"");
if (Match->Status.QstInd > 0 &&
Match->Status.QstInd < Mch_AFTER_LAST_QUESTION)
{
@ -2168,7 +2166,7 @@ static void Mch_ShowRefreshablePartTch (struct Match *Match)
/***** Number of users who have answered this question *****/
NumAnswerersQst = Mch_GetNumUsrsWhoHaveAnswerQst (Match->MchCod,
Match->Status.QstInd);
fprintf (Gbl.F.Out,"<div class=\"MCH_NUM_ANSWERERS\">");
HTM_DIV_Begin ("class=\"MCH_NUM_ANSWERERS\"");
fprintf (Gbl.F.Out,"%s<br />"
"<strong>",
Txt_MATCH_respond);
@ -2197,7 +2195,7 @@ static void Mch_ShowRefreshablePartTch (struct Match *Match)
static void Mch_ShowRightColumnTch (struct Match *Match)
{
/***** Start right container *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_RIGHT\">");
HTM_DIV_Begin ("class=\"MCH_RIGHT\"");
/***** Top row: match title *****/
Mch_ShowMatchTitle (Match);
@ -2219,10 +2217,10 @@ static void Mch_ShowRightColumnTch (struct Match *Match)
static void Mch_ShowLeftColumnStd (struct Match *Match)
{
/***** Start left container *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_LEFT\">");
HTM_DIV_Begin ("class=\"MCH_LEFT\"");
/***** Top *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_TOP\">");
HTM_DIV_Begin ("class=\"MCH_TOP\"");
HTM_DIV_End ();
/***** Write number of question *****/
@ -2241,7 +2239,7 @@ static void Mch_ShowRightColumnStd (struct Match *Match)
extern const char *Txt_Please_wait_;
/***** Start right container *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_RIGHT\">");
HTM_DIV_Begin ("class=\"MCH_RIGHT\"");
/***** Top row *****/
Mch_ShowMatchTitle (Match);
@ -2251,7 +2249,7 @@ static void Mch_ShowRightColumnStd (struct Match *Match)
{
if (Match->Status.QstInd < Mch_AFTER_LAST_QUESTION) // Unfinished
{
fprintf (Gbl.F.Out,"<div class=\"MCH_BOTTOM\">");
HTM_DIV_Begin ("class=\"MCH_BOTTOM\"");
/***** Update players ******/
Mch_RegisterMeAsPlayerInMatch (Match->MchCod);
@ -2279,7 +2277,7 @@ static void Mch_ShowNumQstInMatch (struct Match *Match)
extern const char *Txt_MATCH_End;
unsigned NumQsts = Gam_GetNumQstsGame (Match->GamCod);
fprintf (Gbl.F.Out,"<div class=\"MCH_NUM_QST\">");
HTM_DIV_Begin ("class=\"MCH_NUM_QST\"");
if (Match->Status.QstInd == 0) // Not started
fprintf (Gbl.F.Out,"%s",Txt_MATCH_Start);
else if (Match->Status.QstInd >= Mch_AFTER_LAST_QUESTION) // Finished
@ -2302,10 +2300,10 @@ static void Mch_PutMatchControlButtons (struct Match *Match)
extern const char *Txt_Resume;
/***** Start buttons container *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTONS_CONTAINER\">");
HTM_DIV_Begin ("class=\"MCH_BUTTONS_CONTAINER\"");
/***** Left button *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTON_LEFT_CONTAINER\">");
HTM_DIV_Begin ("class=\"MCH_BUTTON_LEFT_CONTAINER\"");
if (Match->Status.QstInd == 0)
/* Put button to close browser tab */
Mch_PutBigButtonClose ();
@ -2316,7 +2314,7 @@ static void Mch_PutMatchControlButtons (struct Match *Match)
HTM_DIV_End ();
/***** Center button *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTON_CENTER_CONTAINER\">");
HTM_DIV_Begin ("class=\"MCH_BUTTON_CENTER_CONTAINER\"");
if (Match->Status.Playing) // Being played
/* Put button to pause match */
Mch_PutBigButton (ActPlyPauMch,"play_pause",Match->MchCod,
@ -2335,7 +2333,7 @@ static void Mch_PutMatchControlButtons (struct Match *Match)
HTM_DIV_End ();
/***** Right button *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTON_RIGHT_CONTAINER\">");
HTM_DIV_Begin ("class=\"MCH_BUTTON_RIGHT_CONTAINER\"");
if (Match->Status.QstInd >= Mch_AFTER_LAST_QUESTION) // Finished
/* Put button to close browser tab */
Mch_PutBigButtonClose ();
@ -2374,9 +2372,10 @@ static void Mch_ShowFormColumns (struct Match *Match)
NumCols <= Mch_MAX_COLS;
NumCols++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
(Match->Status.NumCols == NumCols) ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",
(Match->Status.NumCols == NumCols) ? "PREF_ON" :
"PREF_OFF");
/***** Begin form *****/
Frm_StartForm (ActChgNumColMch);
Mch_PutParamMchCod (Match->MchCod); // Current match being played
@ -2417,9 +2416,8 @@ static void Mch_ShowFormViewResult (struct Match *Match)
/***** Begin selector *****/
Set_StartOneSettingSelector ();
fprintf (Gbl.F.Out,"<div class=\"%s\">",
(Match->Status.ShowQstResults) ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",(Match->Status.ShowQstResults) ? "PREF_ON" :
"PREF_OFF");
/***** Begin form *****/
Frm_StartForm (ActChgVisResMchQst);
@ -2442,7 +2440,7 @@ static void Mch_ShowFormViewResult (struct Match *Match)
static void Mch_ShowMatchTitle (struct Match *Match)
{
/***** Match title *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_TOP\">");
HTM_DIV_Begin ("class=\"MCH_TOP\"");
fprintf (Gbl.F.Out,"%s",Match->Title);
HTM_DIV_End ();
}
@ -2480,7 +2478,7 @@ static void Mch_ShowQuestionAndAnswersTch (struct Match *Match)
if (Gbl.Test.AnswerType != Tst_ANS_UNIQUE_CHOICE)
Lay_ShowErrorAndExit ("Wrong answer type.");
fprintf (Gbl.F.Out,"<div class=\"MCH_BOTTOM\">"); // Bottom
HTM_DIV_Begin ("class=\"MCH_BOTTOM\""); // Bottom
/* Write stem (row[1]) */
Tst_WriteQstStem (row[1],"MCH_TCH_STEM");
@ -2868,7 +2866,7 @@ static void Mch_PutBigButton (Act_Action_t NextAction,const char *Id,
Mch_PutParamMchCod (MchCod);
/***** Put icon with link *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTON_CONTAINER\">");
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;\">"
@ -2886,8 +2884,8 @@ static void Mch_PutBigButton (Act_Action_t NextAction,const char *Id,
static void Mch_PutBigButtonOff (const char *Icon)
{
/***** Put inactive icon *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTON_CONTAINER\">");
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTON_OFF\">");
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
HTM_DIV_Begin ("class=\"MCH_BUTTON_OFF\"");
fprintf (Gbl.F.Out,"<i class=\"%s\"></i>",Icon);
HTM_DIV_End ();
HTM_DIV_End ();
@ -2898,7 +2896,7 @@ static void Mch_PutBigButtonClose (void)
extern const char *Txt_Close;
/***** Put icon with link *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTON_CONTAINER\">");
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
fprintf (Gbl.F.Out,"<a href=\"\" class=\"MCH_BUTTON_ON\" title=\"%s\" "
" onclick=\"window.close();"
" return false;\"\">"
@ -2914,7 +2912,7 @@ static void Mch_PutBigButtonClose (void)
static void Mch_ShowWaitImage (const char *Txt)
{
fprintf (Gbl.F.Out,"<div class=\"MCH_WAIT_CONTAINER\">");
HTM_DIV_Begin ("class=\"MCH_WAIT_CONTAINER\"");
fprintf (Gbl.F.Out,"<img src=\"%s/wait.gif\""
" alt=\"%s\" title=\"%s\" class=\"MCH_WAIT_IMG\" />",
Cfg_URL_ICON_PUBLIC,
@ -3017,7 +3015,7 @@ void Mch_JoinMatchAsStd (void)
Mch_GetDataOfMatchByCod (&Match);
/***** Show current match status *****/
fprintf (Gbl.F.Out,"<div id=\"match\" class=\"MCH_CONT\">");
HTM_DIV_Begin ("id=\"match\" class=\"MCH_CONT\"");
Mch_ShowMatchStatusForStd (&Match);
HTM_DIV_End ();
}
@ -3222,7 +3220,7 @@ void Mch_ReceiveQuestionAnswer (void)
}
/***** Show current match status *****/
fprintf (Gbl.F.Out,"<div id=\"match\" class=\"MCH_CONT\">");
HTM_DIV_Begin ("id=\"match\" class=\"MCH_CONT\"");
Mch_ShowMatchStatusForStd (&Match);
HTM_DIV_End ();
}
@ -3350,7 +3348,7 @@ static void Mch_DrawBarNumUsrs (unsigned NumAnswerersAns,unsigned NumAnswerersQs
Txt_of_PART_OF_A_TOTAL,NumAnswerersQst);
/***** Start container *****/
fprintf (Gbl.F.Out,"<div class=\"MCH_RESULT\">");
HTM_DIV_Begin ("class=\"MCH_RESULT\"");
/***** Draw bar with a with proportional to the number of clicks *****/
if (NumAnswerersAns && NumAnswerersQst)

View File

@ -93,7 +93,7 @@ void McR_PutFormToViewMchResults (Act_Action_t Action)
{
extern const char *Txt_Results;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
Lay_PutContextualLinkIconText (Action,NULL,NULL,
"tasks.svg",
Txt_Results);

View File

@ -351,10 +351,10 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
Frm_SetUniqueId (Id);
/***** Start media uploader container *****/
fprintf (Gbl.F.Out,"<div class=\"MED_UPLOADER\">"); // container
HTM_DIV_Begin ("class=\"MED_UPLOADER\""); // container
/***** Icon 'clip' *****/
fprintf (Gbl.F.Out,"<div id=\"%s_med_ico\">",Id); // <id>_med_ico
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\""
@ -367,9 +367,8 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
HTM_DIV_End (); // <id>_med_ico
/***** Start media uploader *****/
fprintf (Gbl.F.Out,"<div id=\"%s_med_upl\"" // container <id>_med_upl
" style=\"display:none;\" />",
Id);
HTM_DIV_Begin ("id=\"%s_med_upl\" style=\"display:none;\"", // container <id>_med_upl
Id);
/***** Start box *****/
Box_StartBox (NULL,Txt_Multimedia,NULL,
@ -380,8 +379,8 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
/***** Icons *****/
/* Start icons */
fprintf (Gbl.F.Out,"<div class=\"PREF_CONTAINERS\">"); // icons containers
fprintf (Gbl.F.Out,"<div class=\"PREF_CONTAINER\">"); // icons container
HTM_DIV_Begin ("class=\"PREF_CONTAINERS\""); // icons containers
HTM_DIV_Begin ("class=\"PREF_CONTAINER\""); // icons container
/* Upload icon */
Med_PutIconMediaUploader (Id,"ico_upl", // <id>_ico_upl
@ -475,7 +474,7 @@ static void Med_PutIconMediaUploader (const char UniqueId[Frm_MAX_BYTES_ID + 1],
const char *Title)
{
/***** Icon to activate form in media uploader *****/
fprintf (Gbl.F.Out,"<div id=\"%s_%s\" class=\"PREF_OFF\">", // <id>_IdSuffix
HTM_DIV_Begin ("id=\"%s_%s\" class=\"PREF_OFF\"", // <id>_IdSuffix
UniqueId,IdSuffix);
fprintf (Gbl.F.Out,"<a href=\"\" onclick=\"%s('%s');return false;\">"
"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
@ -1442,7 +1441,7 @@ void Med_ShowMedia (struct Media *Media,
return;
/***** Start media container *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassContainer);
HTM_DIV_Begin ("class=\"%s\"",ClassContainer);
switch (Media->Type)
{
@ -1622,11 +1621,11 @@ static void Med_ShowGIF (struct Media *Media,
FileNameMedia);
/***** Show static PNG and animated GIF *****/
fprintf (Gbl.F.Out,"<div class=\"MED_PLAY\""
" onmouseover=\"toggleOnGIF(this,'%s');\""
" onmouseout=\"toggleOffGIF(this,'%s');\">",
URL_GIF,
URL_PNG);
HTM_DIV_Begin ("class=\"MED_PLAY\""
" onmouseover=\"toggleOnGIF(this,'%s');\""
" onmouseout=\"toggleOffGIF(this,'%s');\"",
URL_GIF,
URL_PNG);
/* Image */
fprintf (Gbl.F.Out,"<img src=\"%s\" class=\"%s\" alt=\"\"",
@ -1723,7 +1722,7 @@ static void Med_ShowYoutube (struct Media *Media,const char *ClassMedia)
// allow="accelerometer; autoplay; encrypted-media;
// gyroscope; picture-in-picture" allowfullscreen>
// </iframe>
fprintf (Gbl.F.Out,"<div class=\"MED_VIDEO_CONT\">");
HTM_DIV_Begin ("class=\"MED_VIDEO_CONT\"");
fprintf (Gbl.F.Out,"<iframe src=\"https://www.youtube.com/embed/%s\""
" frameborder=\"0\""
" allow=\"accelerometer; autoplay; encrypted-media;"
@ -1763,7 +1762,7 @@ static void Med_ShowEmbed (struct Media *Media,const char *ClassMedia)
// style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;"
// allowfullscreen>
// </iframe>
fprintf (Gbl.F.Out,"<div class=\"MED_EMBED_CONT\">");
HTM_DIV_Begin ("class=\"MED_EMBED_CONT\"");
fprintf (Gbl.F.Out,"<iframe src=\"%s\""
" frameborder=\"0\""
" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\""

View File

@ -360,23 +360,21 @@ void Mnu_WriteMenuThisTab (void)
fprintf (Gbl.F.Out,"<li class=\"MENU_LIST_ITEM\">");
/***** Start container used to highlight this option *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",
IsTheSelectedAction ? "MENU_OPT_ON" :
"MENU_OPT_OFF");
HTM_DIV_Begin ("class=\"%s\"",
IsTheSelectedAction ? "MENU_OPT_ON" :
"MENU_OPT_OFF");
/***** Begin form and link *****/
Frm_StartForm (NumAct);
Frm_LinkFormSubmit (Title,The_ClassTxtMenu[Gbl.Prefs.Theme],NULL);
/***** Icon *****/
fprintf (Gbl.F.Out,"<div class=\"MENU_ICO\""
" style=\"background-image:url('%s/%s');\">",
Gbl.Prefs.URLIconSet,
Act_GetIcon (NumAct));
HTM_DIV_Begin ("class=\"MENU_ICO\" style=\"background-image:url('%s/%s');\"",
Gbl.Prefs.URLIconSet,
Act_GetIcon (NumAct));
/***** Text *****/
fprintf (Gbl.F.Out,"<div class=\"MENU_TEXT %s\">",
The_ClassTxtMenu[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"MENU_TEXT %s\"",The_ClassTxtMenu[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s",Txt_MENU_TITLE[Gbl.Action.Tab][NumOptInMenu]);
HTM_DIV_End ();
@ -417,9 +415,8 @@ void Mnu_PutIconsToSelectMenu (void)
Menu < Mnu_NUM_MENUS;
Menu++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
Menu == Gbl.Prefs.Menu ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",Menu == Gbl.Prefs.Menu ? "PREF_ON" :
"PREF_OFF");
Frm_StartForm (ActChgMnu);
Par_PutHiddenParamUnsigned ("Menu",(unsigned) Menu);
Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Txt_MENU_NAMES[Menu]);

View File

@ -364,7 +364,7 @@ static void Msg_PutLinkToShowMorePotentialRecipients (void)
{
extern const char *Txt_Show_more_recipients;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
Lay_PutContextualLinkIconTextOnSubmit (ActReqMsgUsr,NULL,
Msg_PutParamsShowMorePotentialRecipients,
"users.svg",
@ -442,16 +442,16 @@ static void Msg_ShowOneUniqueRecipient (void)
"PHOTO21x28",Pho_ZOOM,false);
/****** Write user's IDs ******/
fprintf (Gbl.F.Out,"<div class=\"MSG_TO_ONE_RCP %s\">",
Gbl.Usrs.Other.UsrDat.Accepted ? "DAT_SMALL_NOBR_N" :
"DAT_SMALL_NOBR");
HTM_DIV_Begin ("class=\"MSG_TO_ONE_RCP %s\"",
Gbl.Usrs.Other.UsrDat.Accepted ? "DAT_SMALL_NOBR_N" :
"DAT_SMALL_NOBR");
ID_WriteUsrIDs (&Gbl.Usrs.Other.UsrDat,NULL);
HTM_DIV_End ();
/***** Write user's name *****/
fprintf (Gbl.F.Out,"<div class=\"MSG_TO_ONE_RCP %s\">",
Gbl.Usrs.Other.UsrDat.Accepted ? "DAT_SMALL_NOBR_N" :
"DAT_SMALL_NOBR");
HTM_DIV_Begin ("class=\"MSG_TO_ONE_RCP %s\"",
Gbl.Usrs.Other.UsrDat.Accepted ? "DAT_SMALL_NOBR_N" :
"DAT_SMALL_NOBR");
fprintf (Gbl.F.Out,"%s",Gbl.Usrs.Other.UsrDat.FullName);
HTM_DIV_End ();
@ -1665,7 +1665,7 @@ void Msg_ShowRecMsgs (void)
/***** Link to view banned users *****/
if (Msg_GetNumUsrsBannedByMe ())
{
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
Msg_PutLinkToViewBannedUsers ();
HTM_DIV_End ();
}
@ -1759,14 +1759,14 @@ static void Msg_ShowSentOrReceivedMessages (void)
/* Form to see messages again */
Frm_StartForm (ActionSee[Gbl.Msg.TypeOfMessages]);
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
Msg_ShowFormSelectCourseSentOrRecMsgs ();
if (Gbl.Msg.TypeOfMessages == Msg_MESSAGES_RECEIVED)
Msg_ShowFormToShowOnlyUnreadMessages ();
HTM_DIV_End ();
Msg_ShowFormToFilterMsgs ();
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
Frm_LinkFormSubmitAnimated (Txt_Update_messages,
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
NULL);
@ -3229,7 +3229,7 @@ void Msg_WriteMsgAuthor (struct UsrData *UsrDat,bool Enabled,const char *BgColor
HTM_TD_Begin ("class=\"LT %s\"",BgColor);
else
HTM_TD_Begin ("class=\"LT\"");
fprintf (Gbl.F.Out,"<div class=\"AUTHOR_2_LINES\">"); // Limited width
HTM_DIV_Begin ("class=\"AUTHOR_2_LINES\""); // Limited width
Usr_WriteFirstNameBRSurnames (UsrDat);
HTM_DIV_End ();
}
@ -3282,7 +3282,7 @@ bool Msg_WriteCrsOrgMsg (long CrsCod)
ThereIsOrgCrs = true;
if ((FromThisCrs = (CrsCod == Gbl.Hierarchy.Crs.CrsCod))) // Message sent from current course
{
fprintf (Gbl.F.Out,"<div class=\"AUTHOR_TXT\">");
HTM_DIV_Begin ("class=\"AUTHOR_TXT\"");
fprintf (Gbl.F.Out,"(%s)",Txt_from_this_course);
HTM_DIV_End ();
}
@ -3291,7 +3291,7 @@ bool Msg_WriteCrsOrgMsg (long CrsCod)
/* Write course, including link */
Frm_StartFormGoTo (ActSeeCrsInf);
Crs_PutParamCrsCod (Crs.CrsCod);
fprintf (Gbl.F.Out,"<div class=\"AUTHOR_TXT\">");
HTM_DIV_Begin ("class=\"AUTHOR_TXT\"");
fprintf (Gbl.F.Out,"(");
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_Go_to_X,
@ -3306,7 +3306,7 @@ bool Msg_WriteCrsOrgMsg (long CrsCod)
}
if (!ThereIsOrgCrs) // It's an old message without origin source specified, or is a message sent from none course
{
fprintf (Gbl.F.Out,"<div class=\"AUTHOR_TXT\">");
HTM_DIV_Begin ("class=\"AUTHOR_TXT\"");
fprintf (Gbl.F.Out,"(%s)",Txt_no_course_of_origin);
HTM_DIV_End ();
}

View File

@ -207,7 +207,7 @@ void Net_ShowWebsAndSocialNets (const struct UsrData *UsrDat)
char URL[Cns_MAX_BYTES_WWW + 1];
/***** Start container *****/
fprintf (Gbl.F.Out,"<div class=\"REC_WEBS\">");
HTM_DIV_Begin ("class=\"REC_WEBS\"");
/***** Show link to public profile *****/
Net_ShowAWebOrSocialNet (Prf_GetURLPublicProfile (URL,UsrDat->Nickname),
@ -251,7 +251,7 @@ static void Net_ShowAWebOrSocialNet (const char *URL,
const char *Icon,const char *Title)
{
/***** Write link and icon *****/
fprintf (Gbl.F.Out,"<div class=\"ICO_HIGHLIGHT\" style=\"display:inline;\">");
HTM_DIV_Begin ("class=\"ICO_HIGHLIGHT\" style=\"display:inline;\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" title=\"%s\">"
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""

View File

@ -469,7 +469,7 @@ void Not_ShowNotices (Not_Listing_t TypeNoticesListing,long HighlightNotCod)
RSS_UpdateRSSFileForACrs (&Gbl.Hierarchy.Crs);
/* Put a link to the RSS file */
fprintf (Gbl.F.Out,"<div class=\"CM\">");
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\">"
@ -654,12 +654,12 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
{
Lay_StartArticle (Anchor);
if (Highlight)
fprintf (Gbl.F.Out,"<div class=\"NOTICE_HIGHLIGHT\">");
HTM_DIV_Begin ("class=\"NOTICE_HIGHLIGHT\"");
}
/***** Start yellow note *****/
fprintf (Gbl.F.Out,"<div class=\"%s %s\">",
ContainerClass[Status],ContainerWidthClass[TypeNoticesListing]);
HTM_DIV_Begin ("class=\"%s %s\"",
ContainerClass[Status],ContainerWidthClass[TypeNoticesListing]);
/***** Write the date in the top part of the yellow note *****/
/* Write symbol to indicate if notice is obsolete or active */
@ -686,7 +686,7 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
/* Write the date */
UniqueId++;
fprintf (Gbl.F.Out,"<div class=\"%s\">",DateClass[Status]);
HTM_DIV_Begin ("class=\"%s\"",DateClass[Status]);
if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES)
{
/* Form to view full notice */
@ -712,12 +712,12 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
/***** Write the content of the notice *****/
if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES)
{
fprintf (Gbl.F.Out,"<div class=\"NOTICE_TEXT_BRIEF\">");
HTM_DIV_Begin ("class=\"NOTICE_TEXT_BRIEF\"");
fprintf (Gbl.F.Out,"%s",Content);
HTM_DIV_End ();
/* Put form to view full notice */
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
Not_SetNotCodToEdit (NotCod); // To be used as parameter
Lay_PutContextualLinkOnlyIcon (ActSeeOneNot,Anchor,Not_PutParams,
"ellipsis-h.svg",
@ -726,14 +726,14 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
}
else
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",TextClass[Status]);
HTM_DIV_Begin ("class=\"%s\"",TextClass[Status]);
fprintf (Gbl.F.Out,"%s",Content);
HTM_DIV_End ();
}
/***** Write the author *****/
fprintf (Gbl.F.Out,"<div class=\"NOTICE_AUTHOR %s\">", // Limited width
AuthorClass[Status]);
HTM_DIV_Begin ("class=\"NOTICE_AUTHOR %s\"", // Limited width
AuthorClass[Status]);
Usr_UsrDataConstructor (&UsrDat);
UsrDat.UsrCod = UsrCod;
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS)) // Get from the database the data of the autor

View File

@ -359,7 +359,7 @@ void Ntf_ShowMyNotifications (void)
Gbl.Usrs.Me.UsrDat.UsrCod,SubQuery);
/***** Contextual links *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Write form to show all notifications */
Ntf_WriteFormAllNotifications (AllNotifications);

View File

@ -128,7 +128,7 @@ void Pag_WriteLinksToPagesCentered (Pag_WhatPaginate_t WhatPaginate,
long ThrCod,
struct Pagination *Pagination)
{
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
Pag_WriteLinksToPages (WhatPaginate,
ThrCod,
Pagination,true,NULL,"PAG_TXT",false);

View File

@ -888,7 +888,7 @@ void Pwd_AskForConfirmationOnDangerousAction (void)
extern const char *Txt_I_understand_that_this_action_can_not_be_undone;
extern const char *Txt_For_security_enter_your_password;
fprintf (Gbl.F.Out,"<div class=\"CM\" style=\"margin:12px;\">");
HTM_DIV_Begin ("class=\"CM\" style=\"margin:12px;\"");
fprintf (Gbl.F.Out,"<label class=\"%s\">"
"<input type=\"checkbox\" name=\"Consent\" value=\"Y\" />"
"%s"

View File

@ -784,7 +784,7 @@ static bool Pho_ReceivePhotoAndDetectFaces (bool ItsMe,const struct UsrData *Usr
"%s/%s_map.jpg",
Cfg_PATH_PHOTO_TMP_PUBLIC,
Gbl.UniqueNameEncrypted);
fprintf (Gbl.F.Out,"<div class=\"TIT CM\">");
HTM_DIV_Begin ("class=\"TIT CM\"");
fprintf (Gbl.F.Out,"<img src=\"%s/%s_map.jpg\""
" usemap=\"#faces_map\""
" alt=\"%s\" title=\"%s\" />",
@ -1207,18 +1207,17 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
if (PutZoomCode)
{
Frm_SetUniqueId (IdCaption);
fprintf (Gbl.F.Out,"<div id=\"%s\" class=\"NOT_SHOWN\">",
IdCaption);
HTM_DIV_Begin ("id=\"%s\" class=\"NOT_SHOWN\"",IdCaption);
/* First name and surnames */
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE DAT_N_BOLD\">"); // Limited width
HTM_DIV_Begin ("class=\"ZOOM_TXT_LINE DAT_N_BOLD\""); // Limited width
Usr_WriteFirstNameBRSurnames (UsrDat);
HTM_DIV_End ();
/* Nickname */
if (UsrDat->Nickname[0])
{
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE DAT_SMALL_N\">");
HTM_DIV_Begin ("class=\"ZOOM_TXT_LINE DAT_SMALL_N\"");
fprintf (Gbl.F.Out,"@%s",UsrDat->Nickname);
HTM_DIV_End ();
}
@ -1226,14 +1225,14 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
/* Institution full name and institution country */
if (UsrDat->InsCod > 0)
{
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE DAT_SMALL\">");
HTM_DIV_Begin ("class=\"ZOOM_TXT_LINE DAT_SMALL\"");
Ins_WriteInstitutionNameAndCty (UsrDat->InsCod);
HTM_DIV_End ();
}
/* User's country */
else if (UsrDat->CtyCod > 0)
{
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE DAT_SMALL\">");
HTM_DIV_Begin ("class=\"ZOOM_TXT_LINE DAT_SMALL\"");
Cty_WriteCountryName (UsrDat->CtyCod,
NULL); // Don't put link to country
HTM_DIV_End ();
@ -1243,10 +1242,9 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
Usr_GetMainDeg (UsrDat->UsrCod,MainDegreeShrtName,&MaxRole);
if (MainDegreeShrtName[0])
{
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE DAT_SMALL\">");
fprintf (Gbl.F.Out,"<div class=\"ZOOM_DEG\""
" style=\"background-image:url('%s/%s');\">",
Cfg_URL_ICON_PUBLIC,Rol_Icons[MaxRole]);
HTM_DIV_Begin ("class=\"ZOOM_TXT_LINE DAT_SMALL\"");
HTM_DIV_Begin ("class=\"ZOOM_DEG\" style=\"background-image:url('%s/%s');\"",
Cfg_URL_ICON_PUBLIC,Rol_Icons[MaxRole]);
fprintf (Gbl.F.Out,"%s",
MainDegreeShrtName);
HTM_DIV_End ();
@ -1257,7 +1255,7 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
if (UsrDat->Nickname[0]) // Get social data only if nickname is retrieved (in some actions)
{
Fol_GetNumFollow (UsrDat->UsrCod,&NumFollowing,&NumFollowers);
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE\">");
HTM_DIV_Begin ("class=\"ZOOM_TXT_LINE\"");
fprintf (Gbl.F.Out,"<span class=\"DAT_N_BOLD\">%u</span>"
"<span class=\"DAT_SMALL\">&nbsp;%s&nbsp;</span>"
"<span class=\"DAT_N_BOLD\">%u</span>"
@ -2013,7 +2011,7 @@ static void Pho_PutLinkToCalculateDegreeStats (void)
Deg_GetDataOfDegreeByCod (&Deg);
/***** Start div *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/***** Begin form *****/
Frm_StartForm (ActCalPhoDeg);
@ -2490,8 +2488,8 @@ static void Pho_ShowDegreeAvgPhotoAndStat (struct Degree *Deg,
NumStds > 0 ? (int) (((NumStdsWithPhoto * 100.0) / NumStds) + 0.5) :
0);
Frm_SetUniqueId (IdCaption);
fprintf (Gbl.F.Out,"<div id=\"%s\" class=\"NOT_SHOWN\">",IdCaption);
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE DAT_N\">");
HTM_DIV_Begin ("id=\"%s\" class=\"NOT_SHOWN\"",IdCaption);
HTM_DIV_Begin ("class=\"ZOOM_TXT_LINE DAT_N\"");
fprintf (Gbl.F.Out,"%s",PhotoCaption);
HTM_DIV_End ();
HTM_DIV_End ();
@ -2517,7 +2515,7 @@ static void Pho_ShowDegreeAvgPhotoAndStat (struct Degree *Deg,
PhotoWidth,PhotoHeight);
/***** Caption *****/
fprintf (Gbl.F.Out,"<div class=\"CLASSPHOTO_CAPTION\">");
HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION\"");
fprintf (Gbl.F.Out,"%s<br />"
"%d&nbsp;%s<br />"
"%d&nbsp;%s<br />"

View File

@ -188,7 +188,7 @@ void Prf_RequestUserProfile (void)
if (Gbl.Usrs.Me.Logged)
{
/***** Put link to show my public profile and users to follow *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
Prf_PutLinkMyPublicProfile ();
Fol_PutLinkWhoToFollow ();
HTM_DIV_End ();
@ -288,7 +288,7 @@ bool Prf_ShowUserProfile (struct UsrData *UsrDat)
/***** Contextual links *****/
if (Gbl.Usrs.Me.Logged)
{
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
if (ItsMe)
/* Put link to show another user's profile */
@ -404,7 +404,7 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
/***** Left list *****/
/* Start left list */
fprintf (Gbl.F.Out,"<div class=\"PRF_FIG_LEFT_CONTAINER\">");
HTM_DIV_Begin ("class=\"PRF_FIG_LEFT_CONTAINER\"");
fprintf (Gbl.F.Out,"<ul class=\"PRF_FIG_UL DAT_NOBR_N\">");
/* Time since first click */
@ -424,7 +424,7 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
HTM_DIV_End ();
/***** Right list *****/
fprintf (Gbl.F.Out,"<div class=\"PRF_FIG_RIGHT_CONTAINER\">");
HTM_DIV_Begin ("class=\"PRF_FIG_RIGHT_CONTAINER\"");
UsrIsBannedFromRanking = Usr_CheckIfUsrBanned (UsrDat->UsrCod);
if (!UsrIsBannedFromRanking)
@ -1780,7 +1780,7 @@ static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank)
{
Frm_StartForm (ActSeeOthPubPrf);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
fprintf (Gbl.F.Out,"<div class=\"RANK_USR\">"); // Limited width
HTM_DIV_Begin ("class=\"RANK_USR\""); // Limited width
Frm_LinkFormSubmit (Txt_Another_user_s_profile,"DAT_SMALL",NULL);
Usr_WriteFirstNameBRSurnames (UsrDat);
fprintf (Gbl.F.Out,"</a>");

View File

@ -418,9 +418,9 @@ static void Prj_ShowFormToFilterByMy_All (void)
My_All <= (Prj_WhoseProjects_t) (Prj_NUM_WHOSE_PROJECTS - 1);
My_All++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
(Gbl.Prjs.Filter.My_All == My_All) ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",
(Gbl.Prjs.Filter.My_All == My_All) ? "PREF_ON" :
"PREF_OFF");
Frm_StartForm (ActSeePrj);
Filter.My_All = My_All;
Filter.PreNon = Gbl.Prjs.Filter.PreNon;
@ -454,9 +454,9 @@ static void Prj_ShowFormToFilterByPreassignedNonPreassig (void)
PreNon <= (Prj_PreassignedNonpreassig_t) (Prj_NUM_PREASSIGNED_NONPREASSIG - 1);
PreNon++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
(Gbl.Prjs.Filter.PreNon & (1 << PreNon)) ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",
(Gbl.Prjs.Filter.PreNon & (1 << PreNon)) ? "PREF_ON" :
"PREF_OFF");
Frm_StartForm (ActSeePrj);
Filter.My_All = Gbl.Prjs.Filter.My_All;
Filter.PreNon = Gbl.Prjs.Filter.PreNon ^ (1 << PreNon); // Toggle
@ -495,9 +495,9 @@ static void Prj_ShowFormToFilterByHidden (void)
HidVis <= (Prj_HiddenVisibl_t) (Prj_NUM_HIDDEN_VISIBL - 1);
HidVis++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
(Gbl.Prjs.Filter.HidVis & (1 << HidVis)) ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",
(Gbl.Prjs.Filter.HidVis & (1 << HidVis)) ? "PREF_ON" :
"PREF_OFF");
Frm_StartForm (ActSeePrj);
Filter.My_All = Gbl.Prjs.Filter.My_All;
Filter.PreNon = Gbl.Prjs.Filter.PreNon;
@ -536,9 +536,9 @@ static void Prj_ShowFormToFilterByWarning (void)
Faultiness <= (Prj_Faultiness_t) (Prj_NUM_FAULTINESS - 1);
Faultiness++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
(Gbl.Prjs.Filter.Faulti & (1 << Faultiness)) ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",
(Gbl.Prjs.Filter.Faulti & (1 << Faultiness)) ? "PREF_ON" :
"PREF_OFF");
Frm_StartForm (ActSeePrj);
Filter.My_All = Gbl.Prjs.Filter.My_All;
Filter.PreNon = Gbl.Prjs.Filter.PreNon;
@ -2514,7 +2514,7 @@ static void Prj_PutFormsToRemEditOnePrj (const struct Project *Prj,
if (Prj_CheckIfICanLockProjects ())
{
/* Put form to lock/unlock project edition */
fprintf (Gbl.F.Out,"<div id=\"prj_lck_%ld\">",Prj->PrjCod);
HTM_DIV_Begin ("id=\"prj_lck_%ld\"",Prj->PrjCod);
Prj_FormLockUnlock (Prj);
HTM_DIV_End ();
}

View File

@ -976,13 +976,14 @@ static void Rec_ListRecordsGsts (Rec_SharedRecordViewType_t TypeOfView)
if (TypeOfView == Rec_SHA_RECORD_LIST) // Listing several records
{
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Link to print view */
Frm_StartForm (ActPrnRecSevGst);
Usr_PutHiddenParSelectedUsrsCods ();
Rec_ShowLinkToPrintPreviewOfRecords ();
Frm_EndForm ();
HTM_DIV_End ();
}
@ -1006,19 +1007,20 @@ static void Rec_ListRecordsGsts (Rec_SharedRecordViewType_t TypeOfView)
"record_%u",
NumUsr);
Lay_StartSection (RecordSectionId);
fprintf (Gbl.F.Out,"<div class=\"REC_USR\"");
if (Gbl.Action.Act == ActPrnRecSevGst &&
NumUsr != 0 &&
(NumUsr % Gbl.Usrs.Listing.RecsPerPag) == 0)
fprintf (Gbl.F.Out," style=\"page-break-before:always;\"");
fprintf (Gbl.F.Out,">");
HTM_DIV_Begin ("class=\"REC_USR\" style=\"page-break-before:always;\"");
else
HTM_DIV_Begin ("class=\"REC_USR\"");
/* Show optional alert */
if (UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod) // Selected user
Ale_ShowAlerts (NULL);
/* Shared record */
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
HTM_DIV_Begin ("class=\"REC_LEFT\"");
Rec_ShowSharedUsrRecord (TypeOfView,&UsrDat,RecordSectionId);
HTM_DIV_End ();
@ -1069,7 +1071,7 @@ static void Rec_ShowRecordOneStdCrs (void)
Rec_GetListRecordFieldsInCurrentCrs ();
/***** Put contextual links *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Link to edit record fields */
if (Gbl.Usrs.Me.Role.Logged == Rol_TCH)
@ -1089,10 +1091,10 @@ static void Rec_ShowRecordOneStdCrs (void)
Ale_ShowAlerts (NULL);
/***** Start container for this user *****/
fprintf (Gbl.F.Out,"<div class=\"REC_USR\">");
HTM_DIV_Begin ("class=\"REC_USR\"");
/***** Shared record *****/
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
HTM_DIV_Begin ("class=\"REC_LEFT\"");
Rec_ShowSharedUsrRecord (Rec_SHA_RECORD_LIST,&Gbl.Usrs.Other.UsrDat,NULL);
HTM_DIV_End ();
@ -1105,7 +1107,7 @@ static void Rec_ShowRecordOneStdCrs (void)
ItsMe = Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod);
if (ItsMe)
{
fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
HTM_DIV_Begin ("class=\"REC_RIGHT\"");
Rec_ShowCrsRecord (Rec_CRS_MY_RECORD_AS_STUDENT_FORM,&Gbl.Usrs.Other.UsrDat,NULL);
HTM_DIV_End ();
}
@ -1113,7 +1115,7 @@ static void Rec_ShowRecordOneStdCrs (void)
case Rol_NET:
case Rol_TCH:
case Rol_SYS_ADM:
fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
HTM_DIV_Begin ("class=\"REC_RIGHT\"");
Rec_ShowCrsRecord (Rec_CRS_LIST_ONE_RECORD,&Gbl.Usrs.Other.UsrDat,NULL);
HTM_DIV_End ();
break;
@ -1172,7 +1174,7 @@ static void Rec_ListRecordsStds (Rec_SharedRecordViewType_t ShaTypeOfView,
if (ShaTypeOfView == Rec_SHA_RECORD_LIST)
{
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Link to edit record fields */
if (Gbl.Usrs.Me.Role.Logged == Rol_TCH)
@ -1183,6 +1185,7 @@ static void Rec_ListRecordsStds (Rec_SharedRecordViewType_t ShaTypeOfView,
Usr_PutHiddenParSelectedUsrsCods ();
Rec_ShowLinkToPrintPreviewOfRecords ();
Frm_EndForm ();
HTM_DIV_End ();
}
@ -1208,19 +1211,20 @@ static void Rec_ListRecordsStds (Rec_SharedRecordViewType_t ShaTypeOfView,
"record_%u",
NumUsr);
Lay_StartSection (RecordSectionId);
fprintf (Gbl.F.Out,"<div class=\"REC_USR\"");
if (Gbl.Action.Act == ActPrnRecSevStd &&
NumUsr != 0 &&
(NumUsr % Gbl.Usrs.Listing.RecsPerPag) == 0)
fprintf (Gbl.F.Out," style=\"page-break-before:always;\"");
fprintf (Gbl.F.Out,">");
if (Gbl.Action.Act == ActPrnRecSevStd &&
NumUsr != 0 &&
(NumUsr % Gbl.Usrs.Listing.RecsPerPag) == 0)
HTM_DIV_Begin ("class=\"REC_USR\" style=\"page-break-before:always;\"");
else
HTM_DIV_Begin ("class=\"REC_USR\"");
/* Show optional alert */
if (UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod) // Selected user
Ale_ShowAlerts (NULL);
/* Shared record */
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
HTM_DIV_Begin ("class=\"REC_LEFT\"");
Rec_ShowSharedUsrRecord (ShaTypeOfView,&UsrDat,RecordSectionId);
HTM_DIV_End ();
@ -1234,7 +1238,7 @@ static void Rec_ListRecordsStds (Rec_SharedRecordViewType_t ShaTypeOfView,
(Gbl.Usrs.Me.Role.Logged == Rol_STD && // I am student in this course...
ItsMe)) // ...and it's me
{
fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
HTM_DIV_Begin ("class=\"REC_RIGHT\"");
Rec_ShowCrsRecord (CrsTypeOfView,&UsrDat,RecordSectionId);
HTM_DIV_End ();
}
@ -1299,7 +1303,7 @@ static void Rec_ShowRecordOneTchCrs (void)
ShowOfficeHours = Rec_GetParamShowOfficeHours ();
/***** Show contextual menu *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Show office hours? */
Rec_WriteFormShowOfficeHoursOneTch (ShowOfficeHours);
@ -1318,17 +1322,17 @@ static void Rec_ShowRecordOneTchCrs (void)
HTM_DIV_End ();
/***** Start container for this user *****/
fprintf (Gbl.F.Out,"<div class=\"REC_USR\">");
HTM_DIV_Begin ("class=\"REC_USR\"");
/***** Shared record *****/
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
HTM_DIV_Begin ("class=\"REC_LEFT\"");
Rec_ShowSharedUsrRecord (Rec_SHA_RECORD_LIST,&Gbl.Usrs.Other.UsrDat,NULL);
HTM_DIV_End ();
/***** Office hours *****/
if (ShowOfficeHours)
{
fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
HTM_DIV_Begin ("class=\"REC_RIGHT\"");
Gbl.TimeTable.Type = TT_TUTORING_TIMETABLE;
Box_StartBox (Width,Txt_TIMETABLE_TYPES[Gbl.TimeTable.Type],NULL,
Hlp_USERS_Teachers_timetable,Box_NOT_CLOSABLE);
@ -1389,7 +1393,7 @@ static void Rec_ListRecordsTchs (Rec_SharedRecordViewType_t TypeOfView)
if (Gbl.Action.Act == ActSeeRecSevTch)
{
/***** Show contextual menu *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Show office hours? */
Rec_WriteFormShowOfficeHoursSeveralTchs (ShowOfficeHours);
@ -1429,26 +1433,27 @@ static void Rec_ListRecordsTchs (Rec_SharedRecordViewType_t TypeOfView)
"record_%u",
NumUsr);
Lay_StartSection (RecordSectionId);
fprintf (Gbl.F.Out,"<div class=\"REC_USR\"");
if (Gbl.Action.Act == ActPrnRecSevTch &&
NumUsr != 0 &&
(NumUsr % Gbl.Usrs.Listing.RecsPerPag) == 0)
fprintf (Gbl.F.Out," style=\"page-break-before:always;\"");
fprintf (Gbl.F.Out,">");
if (Gbl.Action.Act == ActPrnRecSevTch &&
NumUsr != 0 &&
(NumUsr % Gbl.Usrs.Listing.RecsPerPag) == 0)
HTM_DIV_Begin ("class=\"REC_USR\" style=\"page-break-before:always;\"");
else
HTM_DIV_Begin ("class=\"REC_USR\"");
/* Show optional alert */
if (UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod) // Selected user
Ale_ShowAlerts (NULL);
/* Shared record */
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
HTM_DIV_Begin ("class=\"REC_LEFT\"");
Rec_ShowSharedUsrRecord (TypeOfView,&UsrDat,RecordSectionId);
HTM_DIV_End ();
/* Office hours */
if (ShowOfficeHours)
{
fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
HTM_DIV_Begin ("class=\"REC_RIGHT\"");
Gbl.TimeTable.Type = TT_TUTORING_TIMETABLE;
Box_StartBox (Width,Txt_TIMETABLE_TYPES[Gbl.TimeTable.Type],NULL,
Hlp_USERS_Teachers_timetable,Box_NOT_CLOSABLE);
@ -2104,7 +2109,7 @@ void Rec_ShowSharedRecordUnmodifiable (struct UsrData *UsrDat)
UsrDat->Accepted = Usr_CheckIfUsrHasAcceptedInCurrentCrs (UsrDat);
/***** Show user's record *****/
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
Rec_ShowSharedUsrRecord (Rec_SHA_OTHER_USR_CHECK,UsrDat,NULL);
HTM_DIV_End ();
}
@ -2479,7 +2484,7 @@ static void Rec_PutIconsCommands (void)
Gbl.Record.UsrDat);
/***** Start container *****/
fprintf (Gbl.F.Out,"<div class=\"FRAME_ICO\">");
HTM_DIV_Begin ("class=\"FRAME_ICO\"");
if (ItsMe)
/***** Button to edit my record card *****/
@ -2746,7 +2751,7 @@ static void Rec_ShowPhoto (struct UsrData *UsrDat)
static void Rec_ShowFullName (struct UsrData *UsrDat)
{
HTM_TD_Begin ("class=\"REC_C2_MID LT\"");
fprintf (Gbl.F.Out,"<div class=\"REC_NAME\">");
HTM_DIV_Begin ("class=\"REC_NAME\"");
/***** First name *****/
fprintf (Gbl.F.Out,"%s<br />",UsrDat->FirstName);
@ -2772,7 +2777,7 @@ static void Rec_ShowNickname (struct UsrData *UsrDat,bool PutFormLinks)
bool ItsMe;
HTM_TD_Begin ("class=\"REC_C2_MID LB\"");
fprintf (Gbl.F.Out,"<div class=\"REC_NICK\">");
HTM_DIV_Begin ("class=\"REC_NICK\"");
if (UsrDat->Nickname[0])
{
if (PutFormLinks)
@ -2840,7 +2845,7 @@ static void Rec_ShowEmail (struct UsrData *UsrDat,const char *ClassForm)
HTM_TD_Begin ("class=\"REC_C2_BOT REC_DAT_BOLD LM\"");
if (UsrDat->Email[0])
{
fprintf (Gbl.F.Out,"<div class=\"REC_EMAIL\">"); // Limited width
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"
@ -3765,7 +3770,7 @@ static void Rec_WriteLinkToDataProtectionClause (void)
{
extern const char *Txt_DATA_PROTECTION_CLAUSE;
fprintf (Gbl.F.Out,"<div class=\"CM\">");
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);
@ -3963,10 +3968,10 @@ void Rec_ShowMySharedRecordAndMore (void)
}
/***** Start container *****/
fprintf (Gbl.F.Out,"<div class=\"REC_USR\">");
HTM_DIV_Begin ("class=\"REC_USR\"");
/***** Left part *****/
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
HTM_DIV_Begin ("class=\"REC_LEFT\"");
/* My shared record card */
Rec_ShowSharedUsrRecord (Rec_SHA_MY_RECORD_FORM,&Gbl.Usrs.Me.UsrDat,NULL);
@ -3975,7 +3980,7 @@ void Rec_ShowMySharedRecordAndMore (void)
/***** Right part *****/
/* Start container for right part */
fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
HTM_DIV_Begin ("class=\"REC_RIGHT\"");
/* My institution, centre and department */
Rec_ShowFormMyInsCtrDpt (IAmATeacher);

View File

@ -274,7 +274,7 @@ static void Rep_PutLinkToMyUsageReport (struct Rep_Report *Report)
Rep_TitleReport (&Report->CurrentTimeUTC);
/***** Put anchor and report filename *****/
fprintf (Gbl.F.Out,"<div class=\"FILENAME_TXT CM\">");
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\""
@ -287,7 +287,8 @@ static void Rep_PutLinkToMyUsageReport (struct Rep_Report *Report)
Txt_Report,
Report->FilenameReport);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div class=\"DAT_LIGHT\">");
HTM_DIV_Begin ("class=\"DAT_LIGHT\"");
fprintf (Gbl.F.Out,"%s",
Txt_This_link_will_remain_active_as_long_as_your_user_s_account_exists);
HTM_DIV_End ();
@ -306,7 +307,7 @@ static void Rep_TitleReport (struct Rep_CurrentTimeUTC *CurrentTimeUTC)
extern const char *Txt_User[Usr_NUM_SEXS];
extern const char *Txt_Date;
fprintf (Gbl.F.Out,"<div class=\"TITLE_REPORT DAT\">");
HTM_DIV_Begin ("class=\"TITLE_REPORT DAT\"");
/***** User *****/
fprintf (Gbl.F.Out,"%s: <span class=\"DAT_N_BOLD\">%s</span>",

View File

@ -134,7 +134,7 @@ static void Sch_PutFormToSearchWithWhatToSearchAndScope (Act_Action_t Action,Hie
Sch_WhatToSearch_t WhatToSearch;
/***** Start box *****/
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
Box_StartBox (NULL,Txt_Search,Crs_PutIconToSelectMyCourses,
Hlp_START_Search,Box_NOT_CLOSABLE);
@ -143,7 +143,7 @@ static void Sch_PutFormToSearchWithWhatToSearchAndScope (Act_Action_t Action,Hie
/***** Scope (whole platform, current country, current institution,
current centre, current degree or current course) *****/
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
fprintf (Gbl.F.Out,"<label class=\"%s\">%s:&nbsp;",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope);
Gbl.Scope.Allowed = 1 << Hie_SYS |
@ -228,13 +228,15 @@ static bool Sch_CheckIfIHavePermissionToSearch (Sch_WhatToSearch_t WhatToSearch)
void Sch_PutFormToSearchInPageTopHeading (void)
{
HTM_DIV_Begin ("id=\"head_row_1_search\"");
/***** Put form *****/
fprintf (Gbl.F.Out,"<div id=\"head_row_1_search\">");
Frm_StartForm (ActSch);
Sco_PutParamScope ("ScopeSch",Hie_SYS);
Sch_PutInputStringToSearch ("head_search_text");
Sch_PutMagnifyingGlassButton ("search-white.svg");
Frm_EndForm ();
HTM_DIV_End (); // head_row_1_search
}

View File

@ -79,32 +79,41 @@ void Set_EditSettings (void)
/***** Internationalization: language, first day of week, date format *****/
Box_StartBox (NULL,Txt_Internationalization,NULL,
Hlp_PROFILE_Settings_internationalization,Box_NOT_CLOSABLE);
fprintf (Gbl.F.Out,"<div class=\"FRAME_INLINE\">");
HTM_DIV_Begin ("class=\"FRAME_INLINE\"");
Lan_PutBoxToSelectLanguage (); // 1. Language
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div class=\"FRAME_INLINE\">");
HTM_DIV_Begin ("class=\"FRAME_INLINE\"");
Cal_PutIconsToSelectFirstDayOfWeek (); // 2. First day of week
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div class=\"FRAME_INLINE\">");
HTM_DIV_Begin ("class=\"FRAME_INLINE\"");
Dat_PutBoxToSelectDateFormat (); // 3. Date format
HTM_DIV_End ();
Box_EndBox ();
/***** Design: icon set, menu, theme, side columns *****/
Box_StartBox (NULL,Txt_Design,NULL,
Hlp_PROFILE_Settings_design,Box_NOT_CLOSABLE);
fprintf (Gbl.F.Out,"<div class=\"FRAME_INLINE\">");
HTM_DIV_Begin ("class=\"FRAME_INLINE\"");
Ico_PutIconsToSelectIconSet (); // 4. Icon set
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div class=\"FRAME_INLINE\">");
HTM_DIV_Begin ("class=\"FRAME_INLINE\"");
Mnu_PutIconsToSelectMenu (); // 5. Menu
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div class=\"FRAME_INLINE\">");
HTM_DIV_Begin ("class=\"FRAME_INLINE\"");
The_PutIconsToSelectTheme (); // 6. Theme
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div class=\"FRAME_INLINE\">");
HTM_DIV_Begin ("class=\"FRAME_INLINE\"");
Set_PutIconsToSelectSideCols (); // 7. Side columns
HTM_DIV_End ();
Box_EndBox ();
if (Gbl.Usrs.Me.Logged)
@ -246,9 +255,8 @@ static void Set_PutIconsToSelectSideCols (void)
SideCols <= Lay_SHOW_BOTH_COLUMNS;
SideCols++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
SideCols == Gbl.Prefs.SideCols ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",SideCols == Gbl.Prefs.SideCols ? "PREF_ON" :
"PREF_OFF");
Frm_StartForm (ActChgCol);
Par_PutHiddenParamUnsigned ("SideCols",SideCols);
snprintf (Icon,sizeof (Icon),
@ -386,7 +394,7 @@ unsigned Set_GetParamSideCols (void)
*/
void Set_StartSettingsHead (void)
{
fprintf (Gbl.F.Out,"<div class=\"PREF_CONTAINERS\">");
HTM_DIV_Begin ("class=\"PREF_CONTAINERS\"");
}
void Set_EndSettingsHead (void)
@ -396,7 +404,7 @@ void Set_EndSettingsHead (void)
void Set_StartOneSettingSelector (void)
{
fprintf (Gbl.F.Out,"<div class=\"PREF_CONTAINER\">");
HTM_DIV_Begin ("class=\"PREF_CONTAINER\"");
}
void Set_EndOneSettingSelector (void)

View File

@ -316,7 +316,7 @@ void Sta_AskShowCrsHits (void)
unsigned long i;
/***** Contextual links *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Put form to go to test edition and configuration */
Sta_PutLinkToGlobalHits ();
@ -523,7 +523,7 @@ void Sta_AskShowGblHits (void)
Sta_ClicksGroupedBy_t ClicksGroupedBy;
/***** Contextual links *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Put form to go to test edition and configuration */
Sta_PutLinkToCourseHits ();
@ -3995,7 +3995,7 @@ void Sta_ShowLastClicks (void)
extern const char *Txt_Last_clicks_in_real_time;
/***** Contextual links *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Put form to go to test edition and configuration */
Sta_PutLinkToGlobalHits ();
@ -4010,10 +4010,9 @@ void Sta_ShowLastClicks (void)
Hlp_USERS_Connected_last_clicks,Box_NOT_CLOSABLE);
/***** Get and show last clicks *****/
fprintf (Gbl.F.Out,"<div id=\"lastclicks\"" // Used for AJAX based refresh
" class=\"CM\">");
HTM_DIV_Begin ("id=\"lastclicks\" class=\"CM\""); // Used for AJAX based refresh
Sta_GetAndShowLastClicks ();
HTM_DIV_End (); // Used for AJAX based refresh
HTM_DIV_End (); // Used for AJAX based refresh
/***** End box *****/
Box_EndBox ();

View File

@ -537,7 +537,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
Lay_EndArticle ();
/* Number of questions and number of distinct users who have already answered this survey */
fprintf (Gbl.F.Out,"<div class=\"%s\">",
HTM_DIV_Begin ("class=\"%s\"",
Svy.Status.Visible ? "ASG_GRP" :
"ASG_GRP_LIGHT");
fprintf (Gbl.F.Out,"%s: %u; %s: %u",
@ -546,6 +546,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
Txt_No_of_users,
Svy.NumUsrs);
HTM_DIV_End ();
HTM_TD_End ();
/* Status of the survey */
@ -560,7 +561,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
/* Possible button to answer this survey */
if (Svy.Status.ICanAnswer)
{
fprintf (Gbl.F.Out,"<div class=\"BUTTONS_AFTER_ALERT\">");
HTM_DIV_Begin ("class=\"BUTTONS_AFTER_ALERT\"");
Frm_StartForm (ActSeeSvy);
Svy_PutParamSvyCod (Svy.SvyCod);
@ -575,7 +576,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
/* Possible button to see the result of the survey */
else if (Svy.Status.ICanViewResults)
{
fprintf (Gbl.F.Out,"<div class=\"BUTTONS_AFTER_ALERT\">");
HTM_DIV_Begin ("class=\"BUTTONS_AFTER_ALERT\"");
Frm_StartForm (ActSeeSvy);
Svy_PutParamSvyCod (Svy.SvyCod);
@ -610,9 +611,8 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
/* Scope of the survey */
fprintf (Gbl.F.Out,"<div class=\"%s\">",
Svy.Status.Visible ? "ASG_GRP" :
"ASG_GRP_LIGHT");
HTM_DIV_Begin ("class=\"%s\"",Svy.Status.Visible ? "ASG_GRP" :
"ASG_GRP_LIGHT");
fprintf (Gbl.F.Out,"%s: ",Txt_Scope);
switch (Svy.Scope)
{
@ -641,9 +641,8 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
HTM_DIV_End ();
/* Users' roles who can answer the survey */
fprintf (Gbl.F.Out,"<div class=\"%s\">",
Svy.Status.Visible ? "ASG_GRP" :
"ASG_GRP_LIGHT");
HTM_DIV_Begin ("class=\"%s\"",Svy.Status.Visible ? "ASG_GRP" :
"ASG_GRP_LIGHT");
fprintf (Gbl.F.Out,"%s:<br />",Txt_Users);
Rol_WriteSelectorRoles (1 << Rol_STD |
1 << Rol_NET |
@ -662,9 +661,8 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to rigorous HTML
Str_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">",
Svy.Status.Visible ? "DAT" :
"DAT_LIGHT");
HTM_DIV_Begin ("class=\"PAR %s\"",Svy.Status.Visible ? "DAT" :
"DAT_LIGHT");
fprintf (Gbl.F.Out,"%s",Txt);
HTM_DIV_End ();
HTM_TD_End ();
@ -2445,9 +2443,8 @@ static void Svy_GetAndWriteNamesOfGrpsAssociatedToSvy (struct Survey *Svy)
Svy->SvyCod);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",
Svy->Status.Visible ? "ASG_GRP" :
"ASG_GRP_LIGHT");
HTM_DIV_Begin ("class=\"%s\"",Svy->Status.Visible ? "ASG_GRP" :
"ASG_GRP_LIGHT");
fprintf (Gbl.F.Out,"%s: ",NumRows == 1 ? Txt_Group :
Txt_Groups);

View File

@ -141,7 +141,7 @@ void Syl_PutFormWhichSyllabus (void)
/***** Form to select which syllabus I want to see (lectures/practicals) *****/
Frm_StartForm (ActSeeSyl);
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
fprintf (Gbl.F.Out,"<ul class=\"LIST_LEFT\">");
for (WhichSyllabus = (Syl_WhichSyllabus_t) 0;

View File

@ -99,7 +99,7 @@ void Tab_DrawTabs (void)
};
/***** Start tabs container *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassHeadRow3[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"%s\"",ClassHeadRow3[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"<nav id=\"tabs\">"
"<ul class=\"LIST_TABS\">");
@ -142,9 +142,9 @@ void Tab_DrawTabs (void)
Tab_GetIcon (NumTab),
Txt_TABS_TXT[NumTab],
Txt_TABS_TXT[NumTab]);
fprintf (Gbl.F.Out,"<div class=\"TAB_TXT %s\">",
NumTab == Gbl.Action.Tab ? The_ClassTxtTabOn[Gbl.Prefs.Theme] :
The_ClassTxtTabOff[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"TAB_TXT %s\"",
NumTab == Gbl.Action.Tab ? The_ClassTxtTabOn[Gbl.Prefs.Theme] :
The_ClassTxtTabOff[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s",Txt_TABS_TXT[NumTab]);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"</a>");

View File

@ -405,7 +405,7 @@ static void Tst_PutFormToViewTstResults (Act_Action_t Action)
{
extern const char *Txt_Results;
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
Lay_PutContextualLinkIconText (Action,NULL,NULL,
"tasks.svg",
Txt_Results);
@ -469,7 +469,7 @@ void Tst_ShowNewTest (void)
HTM_TABLE_End ();
/***** Test result will be saved? *****/
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
fprintf (Gbl.F.Out,"<label class=\"%s\">"
"<input type=\"checkbox\" name=\"Save\""
" value=\"Y\"",
@ -558,7 +558,7 @@ void Tst_AssessTest (void)
/***** Header *****/
if (Gbl.Usrs.Me.IBelongToCurrentCrs)
{
fprintf (Gbl.F.Out,"<div class=\"TEST_SUBTITLE\">");
HTM_DIV_Begin ("class=\"TEST_SUBTITLE\"");
fprintf (Gbl.F.Out,Txt_Test_No_X_that_you_make_in_this_course,NumTst);
HTM_DIV_End ();
}
@ -641,7 +641,7 @@ void Tst_ShowTstTotalMark (unsigned NumQsts,double TotalScore)
double TotalScoreOverSCORE_MAX = TotalScore * Tst_SCORE_MAX / (double) NumQsts;
/***** Write total mark ****/
fprintf (Gbl.F.Out,"<div class=\"DAT CM\">");
HTM_DIV_Begin ("class=\"DAT CM\"");
fprintf (Gbl.F.Out,"%s: <span class=\"%s\">%.2lf (%.2lf %s %u)</span>",
Txt_Score,
(TotalScoreOverSCORE_MAX >= (double) TotalScoreOverSCORE_MAX / 2.0) ? "ANS_OK" :
@ -1039,13 +1039,13 @@ static void Tst_WriteQstAndAnsTest (Tst_ActionToDoWithQuestions_t ActionToDoWith
HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd);
/***** Write number of question *****/
fprintf (Gbl.F.Out,"<div class=\"BIG_INDEX\">");
HTM_DIV_Begin ("class=\"BIG_INDEX\"");
fprintf (Gbl.F.Out,"%u",NumQst + 1);
HTM_DIV_End ();
/***** Write answer type (row[2]) *****/
Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (row[2]);
fprintf (Gbl.F.Out,"<div class=\"DAT_SMALL\">");
HTM_DIV_Begin ("class=\"DAT_SMALL\"");
fprintf (Gbl.F.Out,"%s",Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]);
HTM_DIV_End ();
@ -1105,7 +1105,7 @@ void Tst_WriteQstStem (const char *Stem,const char *ClassStem)
StemRigorousHTML,StemLength,false);
/***** Write the stem *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassStem);
HTM_DIV_Begin ("class=\"%s\"",ClassStem);
fprintf (Gbl.F.Out,"%s",StemRigorousHTML);
HTM_DIV_End ();
@ -1133,7 +1133,7 @@ static void Tst_PutFormToEditQstMedia (struct Media *Media,int NumMediaInForm,
Med_SetParamNames (&ParamUploadMedia,NumMediaInForm);
/***** Start container *****/
fprintf (Gbl.F.Out,"<div class=\"TEST_MED_EDIT_FORM\">");
HTM_DIV_Begin ("class=\"TEST_MED_EDIT_FORM\"");
/***** Choice 1: No media *****/
fprintf (Gbl.F.Out,"<label class=\"%s\">"
@ -1209,7 +1209,7 @@ void Tst_WriteQstFeedback (const char *Feedback,const char *ClassFeedback)
FeedbackRigorousHTML,FeedbackLength,false);
/***** Write the feedback *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassFeedback);
HTM_DIV_Begin ("class=\"%s\"",ClassFeedback);
fprintf (Gbl.F.Out,"%s",FeedbackRigorousHTML);
HTM_DIV_End ();
@ -1285,7 +1285,7 @@ void Tst_ShowFormAskEditTsts (void)
unsigned long NumRows;
/***** Contextual menu *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
TsI_PutFormToImportQuestions (); // Put link (form) to import questions from XML file
HTM_DIV_End ();
@ -2404,7 +2404,7 @@ void Tst_ListQuestionsToEdit (void)
if ((NumRows = Tst_GetQuestions (&mysql_res)) != 0) // Query database
{
/* Buttons for edition */
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
if (Gbl.Test.XML.CreateXML)
/* Create XML file for exporting questions
and put a link to download it */
@ -2917,13 +2917,13 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd);
/* Write number of question */
fprintf (Gbl.F.Out,"<div class=\"BIG_INDEX\">");
HTM_DIV_Begin ("class=\"BIG_INDEX\"");
fprintf (Gbl.F.Out,"%lu",NumRow + 1);
HTM_DIV_End ();
/* Write answer type (row[2]) */
Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (row[2]);
fprintf (Gbl.F.Out,"<div class=\"DAT_SMALL\">");
HTM_DIV_Begin ("class=\"DAT_SMALL\"");
fprintf (Gbl.F.Out,"%s",Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]);
HTM_DIV_End ();
@ -3412,7 +3412,7 @@ void Tst_WriteAnswersEdit (long QstCod)
HTM_TD_Begin ("class=\"LT\"");
/* Write the text of the answer and the media */
fprintf (Gbl.F.Out,"<div class=\"TEST_EDI\">");
HTM_DIV_Begin ("class=\"TEST_EDI\"");
fprintf (Gbl.F.Out,"%s",Answer);
Med_ShowMedia (&Gbl.Test.Answer.Options[NumOpt].Media,
"TEST_MED_EDIT_LIST_CONTAINER",
@ -3420,10 +3420,11 @@ void Tst_WriteAnswersEdit (long QstCod)
HTM_DIV_End ();
/* Write the text of the feedback */
fprintf (Gbl.F.Out,"<div class=\"TEST_EDI_LIGHT\">");
HTM_DIV_Begin ("class=\"TEST_EDI_LIGHT\"");
if (LengthFeedback)
fprintf (Gbl.F.Out,"%s",Feedback);
HTM_DIV_End ();
HTM_TD_End ();
HTM_TR_End ();
@ -3881,20 +3882,23 @@ static void Tst_WriteChoiceAnsAssessTest (struct UsrData *UsrDat,
/* Answer text and feedback */
HTM_TD_Begin ("class=\"LT\"");
fprintf (Gbl.F.Out,"<div class=\"ANS_TXT\">");
HTM_DIV_Begin ("class=\"ANS_TXT\"");
fprintf (Gbl.F.Out,"%s",Gbl.Test.Answer.Options[Indexes[NumOpt]].Text);
Med_ShowMedia (&Gbl.Test.Answer.Options[Indexes[NumOpt]].Media,
"TEST_MED_SHOW_CONTAINER",
"TEST_MED_SHOW");
HTM_DIV_End ();
if (Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK)
if (Gbl.Test.Answer.Options[Indexes[NumOpt]].Feedback)
if (Gbl.Test.Answer.Options[Indexes[NumOpt]].Feedback[0])
{
fprintf (Gbl.F.Out,"<div class=\"TEST_EXA_LIGHT\">");
HTM_DIV_Begin ("class=\"TEST_EXA_LIGHT\"");
fprintf (Gbl.F.Out,"%s",Gbl.Test.Answer.Options[Indexes[NumOpt]].Feedback);
HTM_DIV_End ();
}
HTM_TD_End ();
HTM_TR_End ();
@ -4192,8 +4196,7 @@ void Tst_WriteChoiceAnsViewMatch (long MchCod,unsigned QstInd,long QstCod,
/***** Write letter for this option *****/
HTM_TD_Begin ("class=\"MCH_TCH_BUTTON_TD\"");
fprintf (Gbl.F.Out,"<div class=\"MCH_TCH_BUTTON BT_%c\">",
'A' + (char) NumOpt);
HTM_DIV_Begin ("class=\"MCH_TCH_BUTTON BT_%c\"",'A' + (char) NumOpt);
fprintf (Gbl.F.Out,"%c",'a' + (char) NumOpt);
HTM_DIV_End ();
HTM_TD_End ();
@ -4373,17 +4376,20 @@ static void Tst_WriteTextAnsAssessTest (struct UsrData *UsrDat,
/* Answer text and feedback */
HTM_TD_Begin ("class=\"LT\"");
fprintf (Gbl.F.Out,"<div class=\"ANS_0\">");
HTM_DIV_Begin ("class=\"ANS_0\"");
fprintf (Gbl.F.Out,"%s",Gbl.Test.Answer.Options[NumOpt].Text);
HTM_DIV_End ();
if (Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK)
if (Gbl.Test.Answer.Options[NumOpt].Feedback)
if (Gbl.Test.Answer.Options[NumOpt].Feedback[0])
{
fprintf (Gbl.F.Out,"<div class=\"TEST_EXA_LIGHT\">");
HTM_DIV_Begin ("class=\"TEST_EXA_LIGHT\"");
fprintf (Gbl.F.Out,"%s",Gbl.Test.Answer.Options[NumOpt].Feedback);
HTM_DIV_End ();
}
HTM_TD_End ();
HTM_TR_End ();
@ -5363,7 +5369,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
/***** Right column: content of the answer *****/
HTM_TD_Begin ("class=\"TEST_EDI_ANS_RIGHT_COL COLOR%u\"",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"<div id=\"ans_%u\"",NumOpt);
HTM_DIV_Begin ("id=\"ans_%u\"",NumOpt);
if (!DisplayRightColumn) // Answer does not have content
fprintf (Gbl.F.Out," style=\"display:none;\""); // Hide column
fprintf (Gbl.F.Out,">");

View File

@ -509,7 +509,7 @@ static void TsI_ImportQuestionsFromXMLBuffer (const char *XMLBuffer)
Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE);
/***** Print XML tree *****/
fprintf (Gbl.F.Out,"<div class=\"TEST_FILE_CONTENT\">");
HTM_DIV_Begin ("class=\"TEST_FILE_CONTENT\"");
fprintf (Gbl.F.Out,"<textarea title=\"%s\" cols=\"60\" rows=\"5\""
" spellcheck=\"false\" readonly>",
Txt_XML_file_content);
@ -1152,15 +1152,18 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
/* Write the text and the feedback of the answer */
HTM_TD_Begin ("class=\"LT\"");
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassStem);
HTM_DIV_Begin ("class=\"%s\"",ClassStem);
fprintf (Gbl.F.Out,"%s",AnswerText);
HTM_DIV_End ();
if (AnswerFeedbackLength)
{
fprintf (Gbl.F.Out,"<div class=\"TEST_EDI_LIGHT\">");
HTM_DIV_Begin ("class=\"TEST_EDI_LIGHT\"");
fprintf (Gbl.F.Out,"%s",AnswerFeedback);
HTM_DIV_End ();
}
HTM_TD_End ();
HTM_TR_End ();

View File

@ -275,9 +275,8 @@ void The_PutIconsToSelectTheme (void)
Theme < The_NUM_THEMES;
Theme++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
Theme == Gbl.Prefs.Theme ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",Theme == Gbl.Prefs.Theme ? "PREF_ON" :
"PREF_OFF");
Frm_StartForm (ActChgThe);
Par_PutHiddenParamString ("Theme",The_ThemeId[Theme]);
snprintf (Icon,sizeof (Icon),

View File

@ -1170,9 +1170,9 @@ static void TL_PutFormWhichUsrs (void)
WhichUsrs < TL_NUM_WHICH_USRS;
WhichUsrs++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
WhichUsrs == Gbl.Timeline.WhichUsrs ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",
WhichUsrs == Gbl.Timeline.WhichUsrs ? "PREF_ON" :
"PREF_OFF");
Frm_StartForm (ActSeeSocTmlGbl);
Par_PutHiddenParamUnsigned ("WhichUsrs",WhichUsrs);
Ico_PutSettingIconLink (Icon[WhichUsrs],Txt_TIMELINE_WHICH_USERS[WhichUsrs]);
@ -1288,7 +1288,7 @@ static void TL_ShowWarningYouDontFollowAnyUser (void)
Ale_ShowAlert (Ale_WARNING,Txt_You_dont_follow_any_user);
/***** Put link to show users to follow *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
Fol_PutLinkWhoToFollow ();
HTM_DIV_End ();
}
@ -1392,9 +1392,9 @@ static void TL_PutLinkToViewNewPublications (void)
/***** Link to view (show hidden) new publications *****/
// div is hidden. When new posts arrive to the client via AJAX, div is shown
fprintf (Gbl.F.Out,"<div id=\"view_new_posts_container\""
" class=\"TL_WIDTH TL_SEP VERY_LIGHT_BLUE\""
" style=\"display:none;\">");
HTM_DIV_Begin ("id=\"view_new_posts_container\""
" 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>)"
@ -1414,8 +1414,8 @@ static void TL_PutLinkToViewOldPublications (void)
extern const char *Txt_See_more;
/***** Animated link to view old publications *****/
fprintf (Gbl.F.Out,"<div id=\"view_old_posts_container\""
" class=\"TL_WIDTH TL_SEP VERY_LIGHT_BLUE\">");
HTM_DIV_Begin ("id=\"view_old_posts_container\""
" class=\"TL_WIDTH TL_SEP VERY_LIGHT_BLUE\"");
fprintf (Gbl.F.Out,"<a href=\"\" class=\"%s\" onclick=\""
"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
@ -1506,7 +1506,7 @@ static void TL_WriteNote (const struct TL_Note *SocNot,
IAmTheAuthor = Usr_ItsMe (UsrDat.UsrCod);
/***** Left: write author's photo *****/
fprintf (Gbl.F.Out,"<div class=\"TL_LEFT_PHOTO\">");
HTM_DIV_Begin ("class=\"TL_LEFT_PHOTO\"");
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&UsrDat,PhotoURL);
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL,
@ -1514,7 +1514,7 @@ static void TL_WriteNote (const struct TL_Note *SocNot,
HTM_DIV_End ();
/***** Right: author's name, time, summary and buttons *****/
fprintf (Gbl.F.Out,"<div class=\"TL_RIGHT_CONT TL_RIGHT_WIDTH\">");
HTM_DIV_Begin ("class=\"TL_RIGHT_CONT TL_RIGHT_WIDTH\"");
/* Write author's full name and nickname */
TL_WriteAuthorNote (&UsrDat);
@ -1578,21 +1578,21 @@ static void TL_WriteNote (const struct TL_Note *SocNot,
case TL_NOTE_INS_DOC_PUB_FILE:
case TL_NOTE_INS_SHA_PUB_FILE:
/* Write location (institution) in hierarchy */
fprintf (Gbl.F.Out,"<div class=\"TL_LOC\">");
HTM_DIV_Begin ("class=\"TL_LOC\"");
fprintf (Gbl.F.Out,"%s: %s",Txt_Institution,Ins.ShrtName);
HTM_DIV_End ();
break;
case TL_NOTE_CTR_DOC_PUB_FILE:
case TL_NOTE_CTR_SHA_PUB_FILE:
/* Write location (centre) in hierarchy */
fprintf (Gbl.F.Out,"<div class=\"TL_LOC\">");
HTM_DIV_Begin ("class=\"TL_LOC\"");
fprintf (Gbl.F.Out,"%s: %s",Txt_Centre,Ctr.ShrtName);
HTM_DIV_End ();
break;
case TL_NOTE_DEG_DOC_PUB_FILE:
case TL_NOTE_DEG_SHA_PUB_FILE:
/* Write location (degree) in hierarchy */
fprintf (Gbl.F.Out,"<div class=\"TL_LOC\">");
HTM_DIV_Begin ("class=\"TL_LOC\"");
fprintf (Gbl.F.Out,"%s: %s",Txt_Degree,Deg.ShrtName);
HTM_DIV_End ();
break;
@ -1601,13 +1601,13 @@ static void TL_WriteNote (const struct TL_Note *SocNot,
case TL_NOTE_EXAM_ANNOUNCEMENT:
case TL_NOTE_NOTICE:
/* Write location (course) in hierarchy */
fprintf (Gbl.F.Out,"<div class=\"TL_LOC\">");
HTM_DIV_Begin ("class=\"TL_LOC\"");
fprintf (Gbl.F.Out,"%s: %s",Txt_Course,Crs.ShrtName);
HTM_DIV_End ();
break;
case TL_NOTE_FORUM_POST:
/* Write forum name */
fprintf (Gbl.F.Out,"<div class=\"TL_LOC\">");
HTM_DIV_Begin ("class=\"TL_LOC\"");
fprintf (Gbl.F.Out,"%s: %s",Txt_Forum,ForumName);
HTM_DIV_End ();
break;
@ -1617,7 +1617,7 @@ static void TL_WriteNote (const struct TL_Note *SocNot,
/* Write note summary */
TL_GetNoteSummary (SocNot,SummaryStr);
fprintf (Gbl.F.Out,"<div class=\"TL_TXT\">");
HTM_DIV_Begin ("class=\"TL_TXT\"");
fprintf (Gbl.F.Out,"%s",SummaryStr);
HTM_DIV_End ();
}
@ -1632,7 +1632,7 @@ static void TL_WriteNote (const struct TL_Note *SocNot,
NumComments = TL_GetNumCommentsInNote (SocNot->NotCod);
/* Put icon to add a comment */
fprintf (Gbl.F.Out,"<div class=\"TL_BOTTOM_LEFT\">");
HTM_DIV_Begin ("class=\"TL_BOTTOM_LEFT\"");
if (SocNot->Unavailable) // Unavailable notes can not be commented
TL_PutIconCommentDisabled ();
else
@ -1640,27 +1640,25 @@ static void TL_WriteNote (const struct TL_Note *SocNot,
HTM_DIV_End ();
/* Start container for buttons and comments */
fprintf (Gbl.F.Out,"<div class=\"TL_BOTTOM_RIGHT TL_RIGHT_WIDTH\">");
HTM_DIV_Begin ("class=\"TL_BOTTOM_RIGHT TL_RIGHT_WIDTH\"");
/* Start foot container */
fprintf (Gbl.F.Out,"<div class=\"TL_FOOT TL_RIGHT_WIDTH\">");
HTM_DIV_Begin ("class=\"TL_FOOT TL_RIGHT_WIDTH\"");
/* Foot column 1: Fav zone */
fprintf (Gbl.F.Out,"<div id=\"fav_not_%s_%u\""
" class=\"TL_FAV_NOT TL_FAV_NOT_WIDTH\">",
Gbl.UniqueNameEncrypted,NumDiv);
HTM_DIV_Begin ("id=\"fav_not_%s_%u\" class=\"TL_FAV_NOT TL_FAV_NOT_WIDTH\"",
Gbl.UniqueNameEncrypted,NumDiv);
TL_PutFormToFavUnfNote (SocNot,TL_SHOW_A_FEW_USRS);
HTM_DIV_End ();
/* Foot column 2: Share zone */
fprintf (Gbl.F.Out,"<div id=\"sha_not_%s_%u\""
" class=\"TL_SHA_NOT TL_SHA_NOT_WIDTH\">",
Gbl.UniqueNameEncrypted,NumDiv);
HTM_DIV_Begin ("id=\"sha_not_%s_%u\" class=\"TL_SHA_NOT TL_SHA_NOT_WIDTH\"",
Gbl.UniqueNameEncrypted,NumDiv);
TL_PutFormToShaUnsNote (SocNot,TL_SHOW_A_FEW_USRS);
HTM_DIV_End ();
/* Foot column 3: Icon to remove this note */
fprintf (Gbl.F.Out,"<div class=\"TL_REM\">");
HTM_DIV_Begin ("class=\"TL_REM\"");
if (IAmTheAuthor)
TL_PutFormToRemovePublication (SocNot->NotCod);
HTM_DIV_End ();
@ -1714,8 +1712,7 @@ static void TL_WriteTopMessage (TL_TopMessage_t TopMessage,long UsrCod)
UsrDat.UsrCod = UsrCod;
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS)) // Really we only need EncryptedUsrCod and FullName
{
fprintf (Gbl.F.Out,"<div class=\"TL_TOP_CONT"
" TL_TOP_PUBLISHER TL_WIDTH\">");
HTM_DIV_Begin ("class=\"TL_TOP_CONT TL_TOP_PUBLISHER TL_WIDTH\"");
/***** Show user's name inside form to go to user's public profile *****/
Frm_StartFormUnique (ActSeeOthPubPrf);
@ -1728,6 +1725,7 @@ static void TL_WriteTopMessage (TL_TopMessage_t TopMessage,long UsrCod)
/***** Show action made *****/
fprintf (Gbl.F.Out," %s:",Txt_TIMELINE_NOTE_TOP_MESSAGES[TopMessage]);
HTM_DIV_End ();
}
@ -1746,7 +1744,7 @@ static void TL_WriteAuthorNote (const struct UsrData *UsrDat)
extern const char *Txt_Another_user_s_profile;
bool ItsMe = Usr_ItsMe (UsrDat->UsrCod);
fprintf (Gbl.F.Out,"<div class=\"TL_RIGHT_AUTHOR TL_RIGHT_AUTHOR_WIDTH\">");
HTM_DIV_Begin ("class=\"TL_RIGHT_AUTHOR TL_RIGHT_AUTHOR_WIDTH\"");
/***** Show user's name inside form to go to user's public profile *****/
Frm_StartFormUnique (ActSeeOthPubPrf);
@ -1783,8 +1781,7 @@ static void TL_WriteDateTime (time_t TimeUTC)
Frm_SetUniqueId (IdDateTime);
/***** Container where the date-time is written *****/
fprintf (Gbl.F.Out,"<div id=\"%s\" class=\"TL_RIGHT_TIME DAT_LIGHT\">",
IdDateTime);
HTM_DIV_Begin ("id=\"%s\" class=\"TL_RIGHT_TIME DAT_LIGHT\"",IdDateTime);
HTM_DIV_End ();
/***** Script to write date and time in browser local time *****/
@ -1844,7 +1841,7 @@ static void TL_GetAndWritePost (long PstCod)
/***** Write content *****/
if (Content[0])
{
fprintf (Gbl.F.Out,"<div class=\"TL_TXT\">");
HTM_DIV_Begin ("class=\"TL_TXT\"");
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
HTM_DIV_End ();
}
@ -1948,7 +1945,7 @@ static void TL_PutFormGoToAction (const struct TL_Note *SocNot)
Gbl.Form.Inside) // Inside another form
{
/***** Do not put form *****/
fprintf (Gbl.F.Out,"<div class=\"TL_FORM_OFF\">");
HTM_DIV_Begin ("class=\"TL_FORM_OFF\"");
fprintf (Gbl.F.Out,"%s",Txt_TIMELINE_NOTE[SocNot->NoteType]);
if (SocNot->Unavailable)
fprintf (Gbl.F.Out," (%s)",Txt_not_available);
@ -1956,7 +1953,7 @@ static void TL_PutFormGoToAction (const struct TL_Note *SocNot)
}
else // Not inside another form
{
fprintf (Gbl.F.Out,"<div class=\"TL_FORM\">");
HTM_DIV_Begin ("class=\"TL_FORM\"");
/***** Parameters depending on the type of note *****/
switch (SocNot->NoteType)
@ -2321,7 +2318,7 @@ static void TL_PutFormToWriteNewPost (void)
"<li class=\"TL_WIDTH\">");
/***** Left: write author's photo (my photo) *****/
fprintf (Gbl.F.Out,"<div class=\"TL_LEFT_PHOTO\">");
HTM_DIV_Begin ("class=\"TL_LEFT_PHOTO\"");
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&Gbl.Usrs.Me.UsrDat,PhotoURL);
Pho_ShowUsrPhoto (&Gbl.Usrs.Me.UsrDat,ShowPhoto ? PhotoURL :
NULL,
@ -2329,10 +2326,10 @@ static void TL_PutFormToWriteNewPost (void)
HTM_DIV_End ();
/***** Right: author's name, time, summary and buttons *****/
fprintf (Gbl.F.Out,"<div class=\"TL_RIGHT_CONT TL_RIGHT_WIDTH\">");
HTM_DIV_Begin ("class=\"TL_RIGHT_CONT TL_RIGHT_WIDTH\"");
/* Write author's full name and nickname */
fprintf (Gbl.F.Out,"<div class=\"TL_RIGHT_AUTHOR TL_RIGHT_AUTHOR_WIDTH\">");
HTM_DIV_Begin ("class=\"TL_RIGHT_AUTHOR TL_RIGHT_AUTHOR_WIDTH\"");
fprintf (Gbl.F.Out,"<span class=\"DAT_N_BOLD\">%s</span>"
"<span class=\"DAT_LIGHT\"> @%s</span>",
Gbl.Usrs.Me.UsrDat.FullName,Gbl.Usrs.Me.UsrDat.Nickname);
@ -2340,7 +2337,7 @@ static void TL_PutFormToWriteNewPost (void)
/***** Form to write the post *****/
/* Start container */
fprintf (Gbl.F.Out,"<div class=\"TL_FORM_NEW_PST TL_RIGHT_WIDTH\">");
HTM_DIV_Begin ("class=\"TL_FORM_NEW_PST TL_RIGHT_WIDTH\"");
/* Begin form to write the post */
TL_FormStart (ActRcvSocPstGbl,ActRcvSocPstUsr);
@ -2383,8 +2380,7 @@ static void TL_PutTextarea (const char *Placeholder,const char *ClassTextArea)
IdDivImgButton);
/***** Start concealable div *****/
fprintf (Gbl.F.Out,"<div id=\"%s\" style=\"display:none;\">",
IdDivImgButton);
HTM_DIV_Begin ("id=\"%s\" style=\"display:none;\"",IdDivImgButton);
/***** Help on editor *****/
Lay_HelpPlainEditor ();
@ -2500,7 +2496,7 @@ static void TL_PutIconToToggleCommentNote (const char UniqueId[Frm_MAX_BYTES_ID
extern const char *Txt_Comment;
/***** Link to toggle on/off the form to comment a note *****/
fprintf (Gbl.F.Out,"<div id=\"%s_ico\" class=\"TL_ICO_COM_OFF\">",UniqueId);
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\""
@ -2521,7 +2517,7 @@ static void TL_PutIconCommentDisabled (void)
extern const char *Txt_Comment;
/***** Disabled icon to comment a note *****/
fprintf (Gbl.F.Out,"<div class=\"TL_ICO_COM_OFF TL_ICO_DISABLED\">");
HTM_DIV_Begin ("class=\"TL_ICO_COM_OFF TL_ICO_DISABLED\"");
fprintf (Gbl.F.Out,"<img src=\"%s/edit.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />",
@ -2542,13 +2538,12 @@ static void TL_PutHiddenFormToWriteNewCommentToNote (long NotCod,
char PhotoURL[PATH_MAX + 1];
/***** Start container *****/
fprintf (Gbl.F.Out,"<div id=\"%s\""
" class=\"TL_FORM_NEW_COM TL_RIGHT_WIDTH\""
" style=\"display:none;\">",
IdNewComment);
HTM_DIV_Begin ("id=\"%s\" class=\"TL_FORM_NEW_COM TL_RIGHT_WIDTH\""
" style=\"display:none;\"",
IdNewComment);
/***** Left: write author's photo (my photo) *****/
fprintf (Gbl.F.Out,"<div class=\"TL_COM_PHOTO\">");
HTM_DIV_Begin ("class=\"TL_COM_PHOTO\"");
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&Gbl.Usrs.Me.UsrDat,PhotoURL);
Pho_ShowUsrPhoto (&Gbl.Usrs.Me.UsrDat,ShowPhoto ? PhotoURL :
NULL,
@ -2557,7 +2552,7 @@ static void TL_PutHiddenFormToWriteNewCommentToNote (long NotCod,
/***** Right: form to write the comment *****/
/* Start right container */
fprintf (Gbl.F.Out,"<div class=\"TL_COM_CONT TL_COMM_WIDTH\">");
HTM_DIV_Begin ("class=\"TL_COM_CONT TL_COMM_WIDTH\"");
/* Begin form to write the post */
TL_FormStart (ActRcvSocComGbl,ActRcvSocComUsr);
@ -2632,10 +2627,9 @@ static void TL_WriteCommentsInNote (const struct TL_Note *SocNot)
Frm_SetUniqueId (IdComments);
/***** Link to toggle on/off comments *****/
fprintf (Gbl.F.Out,"<div id=\"con_%s\""
" class=\"TL_EXPAND_COM TL_RIGHT_WIDTH\""
" style=\"display:none;\">", // Initially hidden
IdComments);
HTM_DIV_Begin ("id=\"con_%s\" class=\"TL_EXPAND_COM TL_RIGHT_WIDTH\""
" style=\"display:none;\">", // Initially hidden
IdComments);
TL_PutIconToToggleComments (IdComments,"angle-down.svg",
Txt_See_only_the_latest_COMMENTS);
HTM_DIV_End ();
@ -2651,9 +2645,8 @@ static void TL_WriteCommentsInNote (const struct TL_Note *SocNot)
fprintf (Gbl.F.Out,"</ul>");
/***** Link to toggle on/off comments *****/
fprintf (Gbl.F.Out,"<div id=\"exp_%s\""
" class=\"TL_EXPAND_COM TL_RIGHT_WIDTH\">",
IdComments);
HTM_DIV_Begin ("id=\"exp_%s\" class=\"TL_EXPAND_COM TL_RIGHT_WIDTH\"",
IdComments);
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_See_the_previous_X_COMMENTS,
NumCommentsInitiallyHidden);
@ -2743,9 +2736,10 @@ static void TL_WriteComment (struct TL_Comment *SocCom,
/***** Write sharer/commenter if distinct to author *****/
TL_WriteTopMessage (TopMessage,UsrCod);
fprintf (Gbl.F.Out,"<div class=\"TL_LEFT_PHOTO\">");
HTM_DIV_Begin ("class=\"TL_LEFT_PHOTO\"");
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div class=\"TL_RIGHT_CONT TL_RIGHT_WIDTH\">");
HTM_DIV_Begin ("class=\"TL_RIGHT_CONT TL_RIGHT_WIDTH\"");
fprintf (Gbl.F.Out,"<ul class=\"LIST_LEFT\">");
}
@ -2768,7 +2762,7 @@ static void TL_WriteComment (struct TL_Comment *SocCom,
IAmTheAuthor = Usr_ItsMe (UsrDat.UsrCod);
/***** Left: write author's photo *****/
fprintf (Gbl.F.Out,"<div class=\"TL_COM_PHOTO\">");
HTM_DIV_Begin ("class=\"TL_COM_PHOTO\"");
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&UsrDat,PhotoURL);
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL,
@ -2776,7 +2770,7 @@ static void TL_WriteComment (struct TL_Comment *SocCom,
HTM_DIV_End ();
/***** Right: author's name, time, content, image and buttons *****/
fprintf (Gbl.F.Out,"<div class=\"TL_COM_CONT TL_COMM_WIDTH\">");
HTM_DIV_Begin ("class=\"TL_COM_CONT TL_COMM_WIDTH\"");
/* Write author's full name and nickname */
TL_WriteAuthorComment (&UsrDat);
@ -2787,7 +2781,7 @@ static void TL_WriteComment (struct TL_Comment *SocCom,
/* Write content of the comment */
if (SocCom->Content[0])
{
fprintf (Gbl.F.Out,"<div class=\"TL_TXT\">");
HTM_DIV_Begin ("class=\"TL_TXT\"");
Msg_WriteMsgContent (SocCom->Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
HTM_DIV_End ();
}
@ -2797,17 +2791,16 @@ static void TL_WriteComment (struct TL_Comment *SocCom,
"TL_COM_MED TL_COMM_WIDTH");
/* Start foot container */
fprintf (Gbl.F.Out,"<div class=\"TL_FOOT TL_COMM_WIDTH\">");
HTM_DIV_Begin ("class=\"TL_FOOT TL_COMM_WIDTH\"");
/* Fav zone */
fprintf (Gbl.F.Out,"<div id=\"fav_com_%s_%u\""
" class=\"TL_FAV_COM TL_FAV_WIDTH\">",
Gbl.UniqueNameEncrypted,NumDiv);
HTM_DIV_Begin ("id=\"fav_com_%s_%u\" class=\"TL_FAV_COM TL_FAV_WIDTH\"",
Gbl.UniqueNameEncrypted,NumDiv);
TL_PutFormToFavUnfComment (SocCom,TL_SHOW_A_FEW_USRS);
HTM_DIV_End ();
/* Put icon to remove this comment */
fprintf (Gbl.F.Out,"<div class=\"TL_REM\">");
HTM_DIV_Begin ("class=\"TL_REM\"");
if (IAmTheAuthor && !ShowCommentAlone)
TL_PutFormToRemoveComment (SocCom->PubCod);
HTM_DIV_End ();
@ -2841,7 +2834,7 @@ static void TL_WriteAuthorComment (struct UsrData *UsrDat)
bool ItsMe = Usr_ItsMe (UsrDat->UsrCod);
/***** Start container *****/
fprintf (Gbl.F.Out,"<div class=\"TL_COM_AUTHOR TL_COMM_AUTHOR_WIDTH\">");
HTM_DIV_Begin ("class=\"TL_COM_AUTHOR TL_COMM_AUTHOR_WIDTH\"");
/***** Show user's name inside form to go to user's public profile *****/
Frm_StartFormUnique (ActSeeOthPubPrf);
@ -3268,7 +3261,7 @@ static void TL_PutFormToShaUnsNote (const struct TL_Note *SocNot,
bool IAmASharerOfThisSocNot;
/***** Put form to share/unshare this note *****/
fprintf (Gbl.F.Out,"<div class=\"TL_ICO\">");
HTM_DIV_Begin ("class=\"TL_ICO\"");
IAmTheAuthor = Usr_ItsMe (SocNot->UsrCod);
if (SocNot->Unavailable || // Unavailable notes can not be shared
IAmTheAuthor) // I am the author
@ -3398,7 +3391,7 @@ static void TL_PutFormToFavUnfNote (const struct TL_Note *SocNot,
bool IAmAFaverOfThisSocNot;
/***** Put form to fav/unfav this note *****/
fprintf (Gbl.F.Out,"<div class=\"TL_ICO\">");
HTM_DIV_Begin ("class=\"TL_ICO\"");
IAmTheAuthor = Usr_ItsMe (SocNot->UsrCod);
if (SocNot->Unavailable || // Unavailable notes can not be favourited
IAmTheAuthor) // I am the author
@ -3566,7 +3559,7 @@ static void TL_PutFormToFavUnfComment (const struct TL_Comment *SocCom,
bool IAmAFaverOfThisSocCom;
/***** Put form to fav/unfav this comment *****/
fprintf (Gbl.F.Out,"<div class=\"TL_ICO\">");
HTM_DIV_Begin ("class=\"TL_ICO\"");
IAmTheAuthor = Usr_ItsMe (SocCom->UsrCod);
if (IAmTheAuthor) // I am the author
/* Put disabled icon */
@ -4520,11 +4513,11 @@ static void TL_ShowUsrsWhoHaveSharedNote (const struct TL_Note *SocNot,
TL_MAX_USRS_SHOWN);
/***** Show users *****/
fprintf (Gbl.F.Out,"<div class=\"TL_NUM_USRS\">");
HTM_DIV_Begin ("class=\"TL_NUM_USRS\"");
TL_ShowNumSharersOrFavers (SocNot->NumShared);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div class=\"TL_USRS\">");
HTM_DIV_Begin ("class=\"TL_USRS\"");
TL_ShowSharersOrFavers (&mysql_res,SocNot->NumShared,NumFirstUsrs);
if (NumFirstUsrs < SocNot->NumShared)
TL_PutFormToSeeAllSharersNote (SocNot,HowMany);
@ -4562,11 +4555,11 @@ static void TL_ShowUsrsWhoHaveMarkedNoteAsFav (const struct TL_Note *SocNot,
}
/***** Show users *****/
fprintf (Gbl.F.Out,"<div class=\"TL_NUM_USRS\">");
HTM_DIV_Begin ("class=\"TL_NUM_USRS\"");
TL_ShowNumSharersOrFavers (SocNot->NumFavs);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div class=\"TL_USRS\">");
HTM_DIV_Begin ("class=\"TL_USRS\"");
TL_ShowSharersOrFavers (&mysql_res,SocNot->NumFavs,NumFirstUsrs);
if (NumFirstUsrs < SocNot->NumFavs) // Not all are shown
TL_PutFormToSeeAllFaversNote (SocNot,HowMany);
@ -4602,11 +4595,11 @@ static void TL_ShowUsrsWhoHaveMarkedCommAsFav (const struct TL_Comment *SocCom,
TL_MAX_USRS_SHOWN);
/***** Show users *****/
fprintf (Gbl.F.Out,"<div class=\"TL_NUM_USRS\">");
HTM_DIV_Begin ("class=\"TL_NUM_USRS\"");
TL_ShowNumSharersOrFavers (SocCom->NumFavs);
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div class=\"TL_USRS\">");
HTM_DIV_Begin ("class=\"TL_USRS\"");
TL_ShowSharersOrFavers (&mysql_res,SocCom->NumFavs,NumFirstUsrs);
if (NumFirstUsrs < SocCom->NumFavs)
TL_PutFormToSeeAllFaversComment (SocCom,HowMany);
@ -4659,7 +4652,7 @@ static void TL_ShowSharersOrFavers (MYSQL_RES **mysql_res,
/***** Get user's data and show user's photo *****/
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS))
{
fprintf (Gbl.F.Out,"<div class=\"TL_SHARER\">");
HTM_DIV_Begin ("class=\"TL_SHARER\"");
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&UsrDat,PhotoURL);
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL,

View File

@ -232,7 +232,7 @@ static void TT_ShowTimeTableGrpsSelected (void)
extern const char *Txt_Groups_OF_A_USER;
extern const char *Txt_All_groups;
fprintf (Gbl.F.Out,"<div class=\"CLASSPHOTO_TITLE CM\">");
HTM_DIV_Begin ("class=\"CLASSPHOTO_TITLE CM\"");
switch (Gbl.Crs.Grps.WhichGrps)
{
case Grp_MY_GROUPS:
@ -1540,7 +1540,7 @@ static void TT_TimeTableDrawCell (unsigned Weekday,unsigned Interval,unsigned Co
if (IntervalType != TT_FREE_INTERVAL) // If cell is not empty...
{
/***** Start cell *****/
fprintf (Gbl.F.Out,"<div class=\"TT_CELL TT_TXT\">");
HTM_DIV_Begin ("class=\"TT_CELL TT_TXT\"");
/***** Course name *****/
if (Gbl.TimeTable.Type == TT_MY_TIMETABLE)

View File

@ -2588,7 +2588,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) (void))
extern const char *Txt_password;
/***** Links to other actions *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
Acc_PutLinkToCreateAccount ();
Pwd_PutLinkToSendNewPasswd ();
@ -2596,7 +2596,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) (void))
HTM_DIV_End ();
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
/***** Begin form *****/
Frm_StartForm (NextAction);
@ -2608,7 +2608,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) (void))
Hlp_PROFILE_LogIn,Box_NOT_CLOSABLE,2);
/***** User's ID/nickname *****/
fprintf (Gbl.F.Out,"<div class=\"LM\">");
HTM_DIV_Begin ("class=\"LM\"");
fprintf (Gbl.F.Out,"<label for=\"UsrId\">"
"<img src=\"%s/user.svg\" alt=\"%s\" title=\"%s\""
" class=\"CONTEXT_ICO_16x16\" />"
@ -2626,7 +2626,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) (void))
HTM_DIV_End ();
/***** User's password *****/
fprintf (Gbl.F.Out,"<div class=\"LM\">");
HTM_DIV_Begin ("class=\"LM\"");
fprintf (Gbl.F.Out,"<label for=\"UsrPwd\">"
"<img src=\"%s/key.svg\" alt=\"%s\" title=\"%s\""
" class=\"CONTEXT_ICO_16x16\" />"
@ -2812,8 +2812,7 @@ void Usr_WriteLoggedUsrHead (void)
char PhotoURL[PATH_MAX + 1];
unsigned NumAvailableRoles = Rol_GetNumAvailableRoles ();
fprintf (Gbl.F.Out,"<div class=\"HEAD_USR %s\">",
The_ClassUsr[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"HEAD_USR %s\"",The_ClassUsr[Gbl.Prefs.Theme]);
/***** User's role *****/
if (NumAvailableRoles == 1)
@ -4122,7 +4121,7 @@ static void Usr_WriteUsrData (const char *BgColor,
BgColor);
/***** Container to limit length *****/
fprintf (Gbl.F.Out,"<div class=\"USR_DAT\">");
HTM_DIV_Begin ("class=\"USR_DAT\"");
/***** Start link *****/
if (Link)
@ -6082,9 +6081,9 @@ void Usr_ShowFormsToSelectUsrListType (void (*FuncParams) (void))
Set_StartOneSettingSelector ();
/***** Select Usr_LIST_AS_CLASS_PHOTO *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",
Gbl.Usrs.Me.ListType == Usr_LIST_AS_CLASS_PHOTO ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",
Gbl.Usrs.Me.ListType == Usr_LIST_AS_CLASS_PHOTO ? "PREF_ON" :
"PREF_OFF");
Usr_FormToSelectUsrListType (FuncParams,Usr_LIST_AS_CLASS_PHOTO);
/* Number of columns in the class photo */
@ -6100,9 +6099,9 @@ void Usr_ShowFormsToSelectUsrListType (void (*FuncParams) (void))
HTM_DIV_End ();
/***** Select Usr_LIST_AS_LISTING *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",
Gbl.Usrs.Me.ListType == Usr_LIST_AS_LISTING ? "PREF_ON" :
"PREF_OFF");
HTM_DIV_Begin ("class=\"%s\"",
Gbl.Usrs.Me.ListType == Usr_LIST_AS_LISTING ? "PREF_ON" :
"PREF_OFF");
Usr_FormToSelectUsrListType (FuncParams,Usr_LIST_AS_LISTING);
/* See the photos in list? */
@ -7297,7 +7296,7 @@ void Usr_ListDataAdms (void)
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
{
@ -7352,7 +7351,7 @@ void Usr_ListDataAdms (void)
Hlp_USERS_Administrators,Box_NOT_CLOSABLE);
/***** Form to select scope *****/
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
Frm_StartForm (ActLstOth);
Usr_PutParamListWithPhotos ();
fprintf (Gbl.F.Out,"<label class=\"%s\">%s:&nbsp;",
@ -7365,8 +7364,8 @@ void Usr_ListDataAdms (void)
if (Gbl.Usrs.LstUsrs[Rol_DEG_ADM].NumUsrs)
{
/****** Show photos? *****/
fprintf (Gbl.F.Out,"<div class=\"PREF_CONTAINER\">");
fprintf (Gbl.F.Out,"<div class=\"PREF_OFF\">");
HTM_DIV_Begin ("class=\"PREF_CONTAINER\"");
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_StartForm (ActLstOth);
Sco_PutParamCurrentScope ();
Usr_PutCheckboxListWithPhotos ();
@ -7793,7 +7792,7 @@ void Usr_SeeGuests (void)
bool PutForm;
/***** Put contextual links *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Put link to remove old users */
Usr_PutLinkToSeeAdmins ();
@ -7826,7 +7825,7 @@ void Usr_SeeGuests (void)
/***** Form to select scope *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
{
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
Frm_StartForm (ActLstGst);
Usr_PutParamsPrefsAboutUsrList ();
fprintf (Gbl.F.Out,"<label class=\"%s\">%s:&nbsp;",
@ -7929,7 +7928,7 @@ void Usr_SeeStudents (void)
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Put link to go to admin student */
Enr_PutLinkToAdminOneUsr (ActReqMdfOneStd);
@ -7977,7 +7976,7 @@ void Usr_SeeStudents (void)
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
Frm_StartForm (ActLstStd);
Usr_PutParamsPrefsAboutUsrList ();
fprintf (Gbl.F.Out,"<label class=\"%s\">%s:&nbsp;",
@ -8100,7 +8099,7 @@ void Usr_SeeTeachers (void)
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
/* Put link to go to admin one user */
Enr_PutLinkToAdminOneUsr (ActReqMdfOneTch);
@ -8155,7 +8154,7 @@ void Usr_SeeTeachers (void)
Hlp_USERS_Teachers,Box_NOT_CLOSABLE);
/***** Form to select scope *****/
fprintf (Gbl.F.Out,"<div class=\"CM\">");
HTM_DIV_Begin ("class=\"CM\"");
Frm_StartForm (ActLstTch);
Usr_PutParamsPrefsAboutUsrList ();
fprintf (Gbl.F.Out,"<label class=\"%s\">%s:&nbsp;",
@ -8953,7 +8952,7 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType,
ClassPhoto,Pho_ZOOM,false);
/***** Photo foot *****/
fprintf (Gbl.F.Out,"<div class=\"CLASSPHOTO_CAPTION\">");
HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION\"");
/* Name */
if (UsrDat.FirstName[0])
@ -9713,9 +9712,8 @@ void Usr_WriteAuthor1Line (long UsrCod,bool Hidden)
"PHOTO15x20",Pho_ZOOM,false);
/***** Write name *****/
fprintf (Gbl.F.Out,"<div class=\"AUTHOR_1_LINE %s\">",
Hidden ? "AUTHOR_TXT_LIGHT" :
"AUTHOR_TXT");
HTM_DIV_Begin ("class=\"AUTHOR_1_LINE %s\"",Hidden ? "AUTHOR_TXT_LIGHT" :
"AUTHOR_TXT");
fprintf (Gbl.F.Out,"%s",UsrDat.FullName);
HTM_DIV_End ();