mirror of https://github.com/acanas/swad-core.git
Version19.42.4
This commit is contained in:
parent
6f566c2ab8
commit
6f2c3cf3a4
|
@ -220,7 +220,7 @@ void MFU_WriteBigMFUActions (struct MFU_ListMFUActions *ListMFUActions)
|
||||||
/***** Start box *****/
|
/***** Start box *****/
|
||||||
Box_StartBox (NULL,Txt_My_frequent_actions,NULL,
|
Box_StartBox (NULL,Txt_My_frequent_actions,NULL,
|
||||||
Hlp_ANALYTICS_Frequent,Box_NOT_CLOSABLE);
|
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 *****/
|
/***** Write list of frequently used actions *****/
|
||||||
fprintf (Gbl.F.Out,"<ul class=\"LIST_LEFT\">");
|
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];
|
char TabMenuStr[MFU_MAX_BYTES_TAB + 6 + MFU_MAX_BYTES_MENU + 1];
|
||||||
|
|
||||||
/***** Start div and link *****/
|
/***** Start div and link *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"MFU_actions\">");
|
HTM_DIV_Begin ("id=\"MFU_actions\"");
|
||||||
Frm_StartForm (ActMFUAct);
|
Frm_StartForm (ActMFUAct);
|
||||||
Frm_LinkFormSubmit (Txt_My_frequent_actions,NULL,NULL);
|
Frm_LinkFormSubmit (Txt_My_frequent_actions,NULL,NULL);
|
||||||
fprintf (Gbl.F.Out," %s"
|
fprintf (Gbl.F.Out," %s"
|
||||||
|
|
|
@ -105,8 +105,8 @@ void QR_PrintQRCode (void)
|
||||||
|
|
||||||
void QR_ImageQRCode (const char *QRString)
|
void QR_ImageQRCode (const char *QRString)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\" style=\"margin:0 auto; width:%upx;\">",
|
HTM_DIV_Begin ("class=\"CM\" style=\"margin:0 auto; width:%upx;\"",
|
||||||
QR_CODE_SIZE);
|
QR_CODE_SIZE);
|
||||||
fprintf (Gbl.F.Out,"<img src=\"https://chart.googleapis.com/chart?cht=qr&chs=%ux%u&chl=%s\""
|
fprintf (Gbl.F.Out,"<img src=\"https://chart.googleapis.com/chart?cht=qr&chs=%ux%u&chl=%s\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" style=\"width:%upx; height:%upx;"
|
" style=\"width:%upx; height:%upx;"
|
||||||
|
@ -149,7 +149,7 @@ void QR_ExamAnnnouncement (void)
|
||||||
extern const char *Txt_Link_to_announcement_of_exam;
|
extern const char *Txt_Link_to_announcement_of_exam;
|
||||||
|
|
||||||
/***** Show QR code with direct link to the exam announcement *****/
|
/***** 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&chs=%ux%u&chl=%s/?crs=%ld%%26act=%ld\""
|
fprintf (Gbl.F.Out,"<img src=\"https://chart.googleapis.com/chart?cht=qr&chs=%ux%u&chl=%s/?crs=%ld%%26act=%ld\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" style=\"width:250px; height:250px;\" />",
|
" style=\"width:250px; height:250px;\" />",
|
||||||
|
|
10
swad_alert.c
10
swad_alert.c
|
@ -432,11 +432,11 @@ static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Tx
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Write message *****/
|
/***** Write message *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ALERT_TXT\"");
|
if (AlertType == Ale_NONE)
|
||||||
if (AlertType != Ale_NONE)
|
HTM_DIV_Begin ("class=\"ALERT_TXT\"");
|
||||||
fprintf (Gbl.F.Out," style=\"background-image:url('%s/%s');\"",
|
else
|
||||||
Cfg_URL_ICON_PUBLIC,Ale_AlertIcons[AlertType]);
|
HTM_DIV_Begin ("class=\"ALERT_TXT\" style=\"background-image:url('%s/%s');\"",
|
||||||
fprintf (Gbl.F.Out,">");
|
Cfg_URL_ICON_PUBLIC,Ale_AlertIcons[AlertType]);
|
||||||
fprintf (Gbl.F.Out,"%s",Txt);
|
fprintf (Gbl.F.Out,"%s",Txt);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -3420,17 +3420,16 @@ static void Att_PutCheckOrCross (bool Present)
|
||||||
extern const char *Txt_Present;
|
extern const char *Txt_Present;
|
||||||
extern const char *Txt_Absent;
|
extern const char *Txt_Absent;
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"");
|
|
||||||
|
|
||||||
if (Present)
|
if (Present)
|
||||||
fprintf (Gbl.F.Out,"ATT_CHECK\" title=\"%s\">"
|
{
|
||||||
"✓",
|
HTM_DIV_Begin ("class=\"ATT_CHECK\" title=\"%s\"",Txt_Present);
|
||||||
Txt_Present);
|
fprintf (Gbl.F.Out,"✓");
|
||||||
|
}
|
||||||
else
|
else
|
||||||
fprintf (Gbl.F.Out,"ATT_CROSS\" title=\"%s\">"
|
{
|
||||||
"✗",
|
HTM_DIV_Begin ("class=\"ATT_CROSS\" title=\"%s\"",Txt_Absent);
|
||||||
Txt_Absent);
|
fprintf (Gbl.F.Out,"✗");
|
||||||
|
}
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
13
swad_box.c
13
swad_box.c
|
@ -139,20 +139,21 @@ static void Box_StartBoxInternal (const char *Width,const char *Title,
|
||||||
Gbl.Box.Ids[Gbl.Box.Nested] = NULL;
|
Gbl.Box.Ids[Gbl.Box.Nested] = NULL;
|
||||||
|
|
||||||
/***** Start box container *****/
|
/***** Start box container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_CONTAINER\"");
|
|
||||||
if (Closable == Box_CLOSABLE)
|
if (Closable == Box_CLOSABLE)
|
||||||
{
|
{
|
||||||
/* Create unique id for alert */
|
/* Create unique id for alert */
|
||||||
Frm_SetUniqueId (Gbl.Box.Ids[Gbl.Box.Nested]);
|
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 *****/
|
/***** Start box *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\"",ClassFrame);
|
|
||||||
if (Width)
|
if (Width)
|
||||||
fprintf (Gbl.F.Out," style=\"width:%s;\"",Width);
|
HTM_DIV_Begin ("class=\"%s\" style=\"width:%s;\"",ClassFrame,Width);
|
||||||
fprintf (Gbl.F.Out,">");
|
else
|
||||||
|
HTM_DIV_Begin ("class=\"%s\"",ClassFrame);
|
||||||
|
|
||||||
/***** Row for left and right icons *****/
|
/***** Row for left and right icons *****/
|
||||||
HTM_DIV_Begin ("class=\"FRAME_ICO\"");
|
HTM_DIV_Begin ("class=\"FRAME_ICO\"");
|
||||||
|
|
|
@ -487,7 +487,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
||||||
En OpenSWAD:
|
En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
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 CSS_FILE "swad19.41.3.css"
|
||||||
#define JS_FILE "swad19.39.js"
|
#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: 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
|
// 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.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.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)
|
Version 19.42.1: Oct 23, 2019 Code refactoring in HTML divs. (246088 lines)
|
||||||
|
|
|
@ -3372,7 +3372,7 @@ static void Brw_ShowDataOwnerAsgWrk (struct UsrData *UsrDat)
|
||||||
/***** Begin form to send a message to this user *****/
|
/***** Begin form to send a message to this user *****/
|
||||||
HTM_TD_Begin ("class=\"LT\"");
|
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)
|
switch (UsrDat->Roles.InCurrentCrs.Role)
|
||||||
{
|
{
|
||||||
|
@ -3768,7 +3768,7 @@ static void Brw_WriteTopBeforeShowingFileBrowser (void)
|
||||||
Brw_UpdateLastAccess ();
|
Brw_UpdateLastAccess ();
|
||||||
|
|
||||||
/***** Write contextual links *****/
|
/***** Write contextual links *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
|
|
||||||
/* Put checkbox to show the full tree */
|
/* Put checkbox to show the full tree */
|
||||||
Brw_PutCheckboxFullTree ();
|
Brw_PutCheckboxFullTree ();
|
||||||
|
@ -4069,7 +4069,7 @@ static void Brw_WriteSubtitleOfFileBrowser (void)
|
||||||
}
|
}
|
||||||
if (Subtitle[0])
|
if (Subtitle[0])
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"BROWSER_SUBTITLE\">");
|
HTM_DIV_Begin ("class=\"BROWSER_SUBTITLE\"");
|
||||||
fprintf (Gbl.F.Out,"%s",Subtitle);
|
fprintf (Gbl.F.Out,"%s",Subtitle);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -4104,7 +4104,7 @@ static void Brw_ShowAndStoreSizeOfFileTree (void)
|
||||||
extern const char *Txt_of_PART_OF_A_TOTAL;
|
extern const char *Txt_of_PART_OF_A_TOTAL;
|
||||||
char FileSizeStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1];
|
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])
|
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];
|
char JavaScriptFuncToExpandFolder[256 + Brw_MAX_ROW_ID];
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"expand_%s_%s\"",
|
|
||||||
FileBrowserId,RowId);
|
|
||||||
if (Hidden)
|
if (Hidden)
|
||||||
fprintf (Gbl.F.Out," style=\"display:none;\"");
|
HTM_DIV_Begin ("id=\"expand_%s_%s\" style=\"display:none;\"",FileBrowserId,RowId);
|
||||||
fprintf (Gbl.F.Out,">");
|
else
|
||||||
|
HTM_DIV_Begin ("id=\"expand_%s_%s\"",FileBrowserId,RowId);
|
||||||
|
|
||||||
/***** Form and icon *****/
|
/***** Form and icon *****/
|
||||||
snprintf (JavaScriptFuncToExpandFolder,sizeof (JavaScriptFuncToExpandFolder),
|
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];
|
char JavaScriptFuncToContractFolder[256 + Brw_MAX_ROW_ID];
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"contract_%s_%s\"",
|
|
||||||
FileBrowserId,RowId);
|
|
||||||
if (Hidden)
|
if (Hidden)
|
||||||
fprintf (Gbl.F.Out," style=\"display:none;\"");
|
HTM_DIV_Begin ("id=\"contract_%s_%s\" style=\"display:none;\"",FileBrowserId,RowId);
|
||||||
fprintf (Gbl.F.Out,">");
|
else
|
||||||
|
HTM_DIV_Begin ("id=\"contract_%s_%s\"",FileBrowserId,RowId);
|
||||||
|
|
||||||
/***** Form and icon *****/
|
/***** Form and icon *****/
|
||||||
snprintf (JavaScriptFuncToContractFolder,sizeof (JavaScriptFuncToContractFolder),
|
snprintf (JavaScriptFuncToContractFolder,sizeof (JavaScriptFuncToContractFolder),
|
||||||
|
@ -6076,13 +6074,16 @@ static void Brw_PutIconFolderWithoutPlus (const char *FileBrowserId,const char *
|
||||||
extern const char *Txt_Folder;
|
extern const char *Txt_Folder;
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"folder_%s_%s_%s\"",
|
|
||||||
Open ? "open" :
|
|
||||||
"closed",
|
|
||||||
FileBrowserId,RowId);
|
|
||||||
if (Hidden)
|
if (Hidden)
|
||||||
fprintf (Gbl.F.Out," style=\"display:none;\"");
|
HTM_DIV_Begin ("id=\"folder_%s_%s_%s\" style=\"display:none;\"",
|
||||||
fprintf (Gbl.F.Out,">");
|
Open ? "open" :
|
||||||
|
"closed",
|
||||||
|
FileBrowserId,RowId);
|
||||||
|
else
|
||||||
|
HTM_DIV_Begin ("id=\"folder_%s_%s_%s\"",
|
||||||
|
Open ? "open" :
|
||||||
|
"closed",
|
||||||
|
FileBrowserId,RowId);
|
||||||
|
|
||||||
/***** Icon *****/
|
/***** Icon *****/
|
||||||
fprintf (Gbl.F.Out,"<img src=\"%s/%s\""
|
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)
|
bool Open,bool Hidden)
|
||||||
{
|
{
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"folder_%s_%s_%s\"",
|
|
||||||
Open ? "open" :
|
|
||||||
"closed",
|
|
||||||
FileBrowserId,RowId);
|
|
||||||
if (Hidden)
|
if (Hidden)
|
||||||
fprintf (Gbl.F.Out," style=\"display:none;\"");
|
HTM_DIV_Begin ("id=\"folder_%s_%s_%s\" style=\"display:none;\"",
|
||||||
fprintf (Gbl.F.Out,">");
|
Open ? "open" :
|
||||||
|
"closed",
|
||||||
|
FileBrowserId,RowId);
|
||||||
|
else
|
||||||
|
HTM_DIV_Begin ("id=\"folder_%s_%s_%s\"",
|
||||||
|
Open ? "open" :
|
||||||
|
"closed",
|
||||||
|
FileBrowserId,RowId);
|
||||||
|
|
||||||
/***** Form and icon *****/
|
/***** Form and icon *****/
|
||||||
Ico_PutContextualIconToCreateInFolder (Brw_ActFormCreate[Gbl.FileBrowser.Type],
|
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%%;\"",
|
HTM_TD_Begin ("class=\"%s LM\" style=\"width:99%%;\"",
|
||||||
Gbl.FileBrowser.TxtStyle);
|
Gbl.FileBrowser.TxtStyle);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FILENAME\">");
|
HTM_DIV_Begin ("class=\"FILENAME\"");
|
||||||
|
|
||||||
/***** Form to rename folder *****/
|
/***** Form to rename folder *****/
|
||||||
if (Gbl.FileBrowser.ICanEditFileOrFolder) // Can I rename this 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);
|
Gbl.FileBrowser.TxtStyle);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out," ");
|
fprintf (Gbl.F.Out," ");
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FILENAME\">");
|
HTM_DIV_Begin ("class=\"FILENAME\"");
|
||||||
|
|
||||||
Frm_StartForm (Brw_ActDowFile[Gbl.FileBrowser.Type]);
|
Frm_StartForm (Brw_ActDowFile[Gbl.FileBrowser.Type]);
|
||||||
Brw_PutImplicitParamsFileBrowser ();
|
Brw_PutImplicitParamsFileBrowser ();
|
||||||
|
@ -8380,7 +8384,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow)
|
||||||
extern const char *Txt_Done;
|
extern const char *Txt_Done;
|
||||||
|
|
||||||
/***** Start box *****/
|
/***** Start box *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"dropzone-upload\">");
|
HTM_DIV_Begin ("id=\"dropzone-upload\"");
|
||||||
Box_StartBox ("95%",Txt_Upload_files,NULL,
|
Box_StartBox ("95%",Txt_Upload_files,NULL,
|
||||||
NULL,Box_NOT_CLOSABLE);
|
NULL,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
|
@ -8404,7 +8408,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow)
|
||||||
Par_PutHiddenParamString ("ses",Gbl.Session.Id);
|
Par_PutHiddenParamString ("ses",Gbl.Session.Id);
|
||||||
Brw_PutImplicitParamsFileBrowser ();
|
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>",
|
fprintf (Gbl.F.Out,"<span class=\"DAT_LIGHT\">%s</span>",
|
||||||
Txt_Select_one_or_more_files_from_your_computer_or_drag_and_drop_here);
|
Txt_Select_one_or_more_files_from_your_computer_or_drag_and_drop_here);
|
||||||
HTM_DIV_End ();
|
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;
|
extern const char *Txt_or_you_can_upload_a_new_file_to_the_folder_X;
|
||||||
|
|
||||||
/***** Start box *****/
|
/***** 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,
|
Box_StartBox (NULL,Txt_Upload_file,NULL,
|
||||||
NULL,Box_NOT_CLOSABLE);
|
NULL,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
|
|
|
@ -135,7 +135,7 @@ void Fol_SuggestUsrsToFollowMainZone (void)
|
||||||
struct UsrData UsrDat;
|
struct UsrData UsrDat;
|
||||||
|
|
||||||
/***** Put links to request my public profile and another user's profile *****/
|
/***** 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_PutLinkMyPublicProfile ();
|
||||||
Prf_PutLinkRequestAnotherUserProfile ();
|
Prf_PutLinkRequestAnotherUserProfile ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -208,7 +208,7 @@ void Fol_SuggestUsrsToFollowMainZoneOnRightColumn (void)
|
||||||
&mysql_res)))
|
&mysql_res)))
|
||||||
{
|
{
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONNECTED\">");
|
HTM_DIV_Begin ("class=\"CONNECTED\"");
|
||||||
|
|
||||||
/***** Title with link to suggest more users to follow *****/
|
/***** Title with link to suggest more users to follow *****/
|
||||||
Frm_StartForm (ActSeeSocPrf);
|
Frm_StartForm (ActSeeSocPrf);
|
||||||
|
@ -518,11 +518,11 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
|
||||||
Lay_StartSection (Fol_FOLLOW_SECTION_ID);
|
Lay_StartSection (Fol_FOLLOW_SECTION_ID);
|
||||||
|
|
||||||
/***** Followed users *****/
|
/***** Followed users *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"following_side\">");
|
HTM_DIV_Begin ("id=\"following_side\"");
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_SIDE\">");
|
HTM_DIV_Begin ("class=\"FOLLOW_SIDE\"");
|
||||||
|
|
||||||
/* User follows me? */
|
/* 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)
|
if (UsrFollowsMe)
|
||||||
fprintf (Gbl.F.Out,"%s",Txt_FOLLOWS_YOU);
|
fprintf (Gbl.F.Out,"%s",Txt_FOLLOWS_YOU);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -537,8 +537,8 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Followers *****/
|
/***** Followers *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"followers_side\">");
|
HTM_DIV_Begin ("id=\"followers_side\"");
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_SIDE\">");
|
HTM_DIV_Begin ("class=\"FOLLOW_SIDE\"");
|
||||||
|
|
||||||
/* Number of followers */
|
/* Number of followers */
|
||||||
Fol_ShowNumberOfFollowingOrFollowers (UsrDat,
|
Fol_ShowNumberOfFollowingOrFollowers (UsrDat,
|
||||||
|
@ -546,7 +546,7 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
|
||||||
ActSeeFlr,Txt_Followers);
|
ActSeeFlr,Txt_Followers);
|
||||||
|
|
||||||
/* I follow user? */
|
/* I follow user? */
|
||||||
fprintf (Gbl.F.Out,"<div id=\"follow_usr\">");
|
HTM_DIV_Begin ("id=\"follow_usr\"");
|
||||||
if (Gbl.Usrs.Me.Logged && // Logged
|
if (Gbl.Usrs.Me.Logged && // Logged
|
||||||
!ItsMe) // Not me!
|
!ItsMe) // Not me!
|
||||||
{
|
{
|
||||||
|
@ -555,8 +555,7 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
|
||||||
Frm_StartForm (ActUnfUsr);
|
Frm_StartForm (ActUnfUsr);
|
||||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||||
Frm_LinkFormSubmit (Txt_Following_unfollow,"REC_DAT_BOLD",NULL);
|
Frm_LinkFormSubmit (Txt_Following_unfollow,"REC_DAT_BOLD",NULL);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ICO_HIGHLIGHT\""
|
HTM_DIV_Begin ("class=\"ICO_HIGHLIGHT\" style=\"display:inline;\"");
|
||||||
" style=\"display:inline;\" >");
|
|
||||||
fprintf (Gbl.F.Out,"<img src=\"%s/user-check.svg\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/user-check.svg\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"ICO40x40\" />",
|
" class=\"ICO40x40\" />",
|
||||||
|
@ -571,8 +570,7 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
|
||||||
Frm_StartForm (ActFolUsr);
|
Frm_StartForm (ActFolUsr);
|
||||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||||
Frm_LinkFormSubmit (Txt_Follow,"REC_DAT_BOLD",NULL);
|
Frm_LinkFormSubmit (Txt_Follow,"REC_DAT_BOLD",NULL);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ICO_HIGHLIGHT\""
|
HTM_DIV_Begin ("class=\"ICO_HIGHLIGHT\" style=\"display:inline;\"");
|
||||||
" style=\"display:inline;\" >");
|
|
||||||
fprintf (Gbl.F.Out,"<img src=\"%s/user-plus.svg\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/user-plus.svg\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"ICO40x40\" />",
|
" class=\"ICO40x40\" />",
|
||||||
|
@ -606,7 +604,7 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat,
|
||||||
extern const char *The_ClassFormOutBoxBold[The_NUM_THEMES];
|
extern const char *The_ClassFormOutBoxBold[The_NUM_THEMES];
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_BOX\">");
|
HTM_DIV_Begin ("class=\"FOLLOW_BOX\"");
|
||||||
|
|
||||||
/***** Number *****/
|
/***** Number *****/
|
||||||
if (NumUsrs)
|
if (NumUsrs)
|
||||||
|
@ -632,9 +630,9 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat,
|
||||||
fprintf (Gbl.F.Out,"</span>");
|
fprintf (Gbl.F.Out,"</span>");
|
||||||
|
|
||||||
/***** Text *****/
|
/***** Text *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
(Gbl.Action.Act == Action) ? The_ClassFormOutBoxBold[Gbl.Prefs.Theme] :
|
(Gbl.Action.Act == Action) ? The_ClassFormOutBoxBold[Gbl.Prefs.Theme] :
|
||||||
The_ClassFormOutBox [Gbl.Prefs.Theme]);
|
The_ClassFormOutBox [Gbl.Prefs.Theme]);
|
||||||
if (NumUsrs)
|
if (NumUsrs)
|
||||||
{
|
{
|
||||||
/* Form to list users */
|
/* Form to list users */
|
||||||
|
@ -859,7 +857,7 @@ static void Fol_ShowFollowedOrFollower (struct UsrData *UsrDat)
|
||||||
/* Put form to go to public profile */
|
/* Put form to go to public profile */
|
||||||
Frm_StartForm (ActSeeOthPubPrf);
|
Frm_StartForm (ActSeeOthPubPrf);
|
||||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
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);
|
Frm_LinkFormSubmit (Txt_Another_user_s_profile,"DAT",NULL);
|
||||||
Usr_WriteFirstNameBRSurnames (UsrDat);
|
Usr_WriteFirstNameBRSurnames (UsrDat);
|
||||||
fprintf (Gbl.F.Out,"</a>");
|
fprintf (Gbl.F.Out,"</a>");
|
||||||
|
@ -916,7 +914,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
|
||||||
/* Put form to go to public profile */
|
/* Put form to go to public profile */
|
||||||
Frm_StartForm (ActSeeOthPubPrf);
|
Frm_StartForm (ActSeeOthPubPrf);
|
||||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
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);
|
Frm_LinkFormSubmit (Txt_Another_user_s_profile,"CON_CRS",NULL);
|
||||||
Usr_WriteFirstNameBRSurnames (UsrDat);
|
Usr_WriteFirstNameBRSurnames (UsrDat);
|
||||||
fprintf (Gbl.F.Out,"</a>");
|
fprintf (Gbl.F.Out,"</a>");
|
||||||
|
@ -954,7 +952,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
|
||||||
static void Fol_PutInactiveIconToFollowUnfollow (void)
|
static void Fol_PutInactiveIconToFollowUnfollow (void)
|
||||||
{
|
{
|
||||||
/***** Inactive icon to follow/unfollow *****/
|
/***** 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\" />",
|
fprintf (Gbl.F.Out,"<img src=\"%s/user.svg\" alt=\"\" class=\"ICO16x16\" />",
|
||||||
Cfg_URL_ICON_PUBLIC);
|
Cfg_URL_ICON_PUBLIC);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -972,7 +970,7 @@ static void Fol_PutIconToFollow (struct UsrData *UsrDat)
|
||||||
Frm_StartForm (ActFolUsr);
|
Frm_StartForm (ActFolUsr);
|
||||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||||
Frm_LinkFormSubmit (Txt_Follow,NULL,NULL);
|
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\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/user-plus.svg\""
|
||||||
" alt=\"%s\" title=\"%s\" class=\"ICO16x16\" />",
|
" alt=\"%s\" title=\"%s\" class=\"ICO16x16\" />",
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
|
@ -994,7 +992,7 @@ static void Fol_PutIconToUnfollow (struct UsrData *UsrDat)
|
||||||
Frm_StartForm (ActUnfUsr);
|
Frm_StartForm (ActUnfUsr);
|
||||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||||
Frm_LinkFormSubmit (Txt_Unfollow,NULL,NULL);
|
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\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/user-check.svg\""
|
||||||
" alt=\"%s\" title=\"%s\" class=\"ICO16x16\" />",
|
" alt=\"%s\" title=\"%s\" class=\"ICO16x16\" />",
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
|
|
|
@ -1440,7 +1440,7 @@ static void For_WriteNumberOfPosts (long UsrCod)
|
||||||
unsigned NumPsts;
|
unsigned NumPsts;
|
||||||
|
|
||||||
/***** Star table cell *****/
|
/***** 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 *****/
|
/***** Get number of posts from database *****/
|
||||||
if (Gbl.Forum.ForumSelected.Location > 0)
|
if (Gbl.Forum.ForumSelected.Location > 0)
|
||||||
|
@ -1757,7 +1757,7 @@ static void For_PutFormWhichForums (void)
|
||||||
- only the forums of current institution/degree/course *****/
|
- only the forums of current institution/degree/course *****/
|
||||||
Frm_StartForm (ActSeeFor);
|
Frm_StartForm (ActSeeFor);
|
||||||
For_PutParamForumOrder (Gbl.Forum.ThreadsOrder);
|
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>");
|
fprintf (Gbl.F.Out,"<ul>");
|
||||||
|
|
||||||
for (ForumSet = (For_ForumSet_t) 0;
|
for (ForumSet = (For_ForumSet_t) 0;
|
||||||
|
|
14
swad_game.c
14
swad_game.c
|
@ -461,9 +461,8 @@ void Gam_ShowOneGame (long GamCod,
|
||||||
Lay_EndArticle ();
|
Lay_EndArticle ();
|
||||||
|
|
||||||
/* Number of questions */
|
/* Number of questions */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",Game.Hidden ? "ASG_GRP_LIGHT" :
|
||||||
Game.Hidden ? "ASG_GRP_LIGHT" :
|
"ASG_GRP");
|
||||||
"ASG_GRP");
|
|
||||||
fprintf (Gbl.F.Out,"%s: %u",Txt_No_of_questions,Game.NumQsts);
|
fprintf (Gbl.F.Out,"%s: %u",Txt_No_of_questions,Game.NumQsts);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -511,9 +510,8 @@ void Gam_ShowOneGame (long GamCod,
|
||||||
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
|
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
|
||||||
Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML 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
|
Str_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
|
||||||
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">",
|
HTM_DIV_Begin ("class=\"PAR %s\"",Game.Hidden ? "DAT_LIGHT" :
|
||||||
Game.Hidden ? "DAT_LIGHT" :
|
"DAT");
|
||||||
"DAT");
|
|
||||||
fprintf (Gbl.F.Out,"%s",Txt);
|
fprintf (Gbl.F.Out,"%s",Txt);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_TD_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);
|
HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd);
|
||||||
|
|
||||||
/* Write number of question */
|
/* Write number of question */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"BIG_INDEX\">");
|
HTM_DIV_Begin ("class=\"BIG_INDEX\"");
|
||||||
fprintf (Gbl.F.Out,"%s",StrQstInd);
|
fprintf (Gbl.F.Out,"%s",StrQstInd);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Write answer type (row[2]) */
|
/* Write answer type (row[2]) */
|
||||||
Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (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]);
|
fprintf (Gbl.F.Out,"%s",Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
|
10
swad_group.c
10
swad_group.c
|
@ -410,7 +410,7 @@ void Grp_ShowFormToSelectSeveralGroups (void (*FuncParams) (void),
|
||||||
Grp_FreeListGrpTypesAndGrps ();
|
Grp_FreeListGrpTypesAndGrps ();
|
||||||
|
|
||||||
/***** Submit button *****/
|
/***** 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,
|
Frm_LinkFormSubmitAnimated (Txt_Update_users,
|
||||||
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
|
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
|
||||||
"CopyMessageToHiddenFields();");
|
"CopyMessageToHiddenFields();");
|
||||||
|
@ -452,7 +452,7 @@ static void Grp_PutCheckboxAllGrps (Grp_WhichGroups_t GroupsSelectableByStdsOrNE
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_OPT\"");
|
||||||
fprintf (Gbl.F.Out,"<input type=\"checkbox\""
|
fprintf (Gbl.F.Out,"<input type=\"checkbox\""
|
||||||
" id=\"AllGroups\" name=\"AllGroups\" value=\"Y\"");
|
" id=\"AllGroups\" name=\"AllGroups\" value=\"Y\"");
|
||||||
if (ICanSelUnselGroup)
|
if (ICanSelUnselGroup)
|
||||||
|
@ -5007,9 +5007,9 @@ void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,void (*FuncParams) (void))
|
||||||
WhichGrps <= Grp_ALL_GROUPS;
|
WhichGrps <= Grp_ALL_GROUPS;
|
||||||
WhichGrps++)
|
WhichGrps++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
WhichGrps == Gbl.Crs.Grps.WhichGrps ? "PREF_ON" :
|
WhichGrps == Gbl.Crs.Grps.WhichGrps ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
Frm_StartForm (Action);
|
Frm_StartForm (Action);
|
||||||
Par_PutHiddenParamUnsigned ("WhichGrps",(unsigned) WhichGrps);
|
Par_PutHiddenParamUnsigned ("WhichGrps",(unsigned) WhichGrps);
|
||||||
if (FuncParams) // Extra parameters depending on the action
|
if (FuncParams) // Extra parameters depending on the action
|
||||||
|
|
|
@ -65,7 +65,7 @@ extern struct Globals Gbl;
|
||||||
void Hie_SeePending (void)
|
void Hie_SeePending (void)
|
||||||
{
|
{
|
||||||
/***** Put contextual links *****/
|
/***** Put contextual links *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
|
|
||||||
/* Put link to remove old courses */
|
/* Put link to remove old courses */
|
||||||
Crs_PutLinkToRemoveOldCrss ();
|
Crs_PutLinkToRemoveOldCrss ();
|
||||||
|
@ -207,7 +207,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
|
||||||
const char *ClassTxt = The_ClassBreadcrumb[Gbl.Prefs.Theme];
|
const char *ClassTxt = The_ClassBreadcrumb[Gbl.Prefs.Theme];
|
||||||
|
|
||||||
/***** Form to go to the system *****/
|
/***** 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," ");
|
fprintf (Gbl.F.Out," ");
|
||||||
|
|
||||||
Frm_StartFormGoTo (ActMnu);
|
Frm_StartFormGoTo (ActMnu);
|
||||||
|
@ -220,7 +220,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
|
||||||
|
|
||||||
if (Gbl.Hierarchy.Cty.CtyCod > 0) // Country selected...
|
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 *****/
|
/***** Separator *****/
|
||||||
fprintf (Gbl.F.Out," > ");
|
fprintf (Gbl.F.Out," > ");
|
||||||
|
@ -236,7 +236,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"BC BC_SEMIOFF %s\">",ClassTxt);
|
HTM_DIV_Begin ("class=\"BC BC_SEMIOFF %s\"",ClassTxt);
|
||||||
|
|
||||||
/***** Separator *****/
|
/***** Separator *****/
|
||||||
fprintf (Gbl.F.Out," > ");
|
fprintf (Gbl.F.Out," > ");
|
||||||
|
@ -252,7 +252,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
|
||||||
|
|
||||||
if (Gbl.Hierarchy.Ins.InsCod > 0) // Institution selected...
|
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 *****/
|
/***** Separator *****/
|
||||||
fprintf (Gbl.F.Out," > ");
|
fprintf (Gbl.F.Out," > ");
|
||||||
|
@ -268,7 +268,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
|
||||||
}
|
}
|
||||||
else if (Gbl.Hierarchy.Cty.CtyCod > 0)
|
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 *****/
|
/***** Separator *****/
|
||||||
fprintf (Gbl.F.Out," > ");
|
fprintf (Gbl.F.Out," > ");
|
||||||
|
@ -283,7 +283,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"BC BC_OFF %s\">",ClassTxt);
|
HTM_DIV_Begin ("class=\"BC BC_OFF %s\"",ClassTxt);
|
||||||
|
|
||||||
/***** Separator *****/
|
/***** Separator *****/
|
||||||
fprintf (Gbl.F.Out," > ");
|
fprintf (Gbl.F.Out," > ");
|
||||||
|
@ -296,7 +296,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
|
||||||
|
|
||||||
if (Gbl.Hierarchy.Ctr.CtrCod > 0) // Centre selected...
|
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 *****/
|
/***** Separator *****/
|
||||||
fprintf (Gbl.F.Out," > ");
|
fprintf (Gbl.F.Out," > ");
|
||||||
|
@ -312,7 +312,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
|
||||||
}
|
}
|
||||||
else if (Gbl.Hierarchy.Ins.InsCod > 0)
|
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 *****/
|
/***** Separator *****/
|
||||||
fprintf (Gbl.F.Out," > ");
|
fprintf (Gbl.F.Out," > ");
|
||||||
|
@ -327,7 +327,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"BC BC_OFF %s\">",ClassTxt);
|
HTM_DIV_Begin ("class=\"BC BC_OFF %s\"",ClassTxt);
|
||||||
|
|
||||||
/***** Separator *****/
|
/***** Separator *****/
|
||||||
fprintf (Gbl.F.Out," > ");
|
fprintf (Gbl.F.Out," > ");
|
||||||
|
@ -340,7 +340,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
|
||||||
|
|
||||||
if (Gbl.Hierarchy.Deg.DegCod > 0) // Degree selected...
|
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 *****/
|
/***** Separator *****/
|
||||||
fprintf (Gbl.F.Out," > ");
|
fprintf (Gbl.F.Out," > ");
|
||||||
|
@ -356,7 +356,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
|
||||||
}
|
}
|
||||||
else if (Gbl.Hierarchy.Ctr.CtrCod > 0)
|
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 *****/
|
/***** Separator *****/
|
||||||
fprintf (Gbl.F.Out," > ");
|
fprintf (Gbl.F.Out," > ");
|
||||||
|
@ -371,7 +371,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"BC BC_OFF %s\">",ClassTxt);
|
HTM_DIV_Begin ("class=\"BC BC_OFF %s\"",ClassTxt);
|
||||||
|
|
||||||
/***** Separator *****/
|
/***** Separator *****/
|
||||||
fprintf (Gbl.F.Out," > ");
|
fprintf (Gbl.F.Out," > ");
|
||||||
|
@ -382,11 +382,11 @@ void Hie_WriteHierarchyInBreadcrumb (void)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"BC%s %s\">",
|
HTM_DIV_Begin ("class=\"BC%s %s\"",
|
||||||
(Gbl.Hierarchy.Level == Hie_CRS) ? "" :
|
(Gbl.Hierarchy.Level == Hie_CRS) ? "" :
|
||||||
((Gbl.Hierarchy.Deg.DegCod > 0) ? " BC_SEMIOFF" :
|
((Gbl.Hierarchy.Deg.DegCod > 0) ? " BC_SEMIOFF" :
|
||||||
" BC_OFF"),
|
" BC_OFF"),
|
||||||
ClassTxt);
|
ClassTxt);
|
||||||
|
|
||||||
/***** Separator *****/
|
/***** Separator *****/
|
||||||
fprintf (Gbl.F.Out," > ");
|
fprintf (Gbl.F.Out," > ");
|
||||||
|
@ -437,10 +437,10 @@ void Hie_WriteBigNameCtyInsCtrDegCrs (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Text *****/
|
/***** Text *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"big_name_container\">");
|
HTM_DIV_Begin ("id=\"big_name_container\"");
|
||||||
if (Gbl.Hierarchy.Cty.CtyCod > 0)
|
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
|
fprintf (Gbl.F.Out,"%s", // Full name
|
||||||
(Gbl.Hierarchy.Level == Hie_CRS) ? Gbl.Hierarchy.Crs.FullName :
|
(Gbl.Hierarchy.Level == Hie_CRS) ? Gbl.Hierarchy.Crs.FullName :
|
||||||
((Gbl.Hierarchy.Level == Hie_DEG) ? Gbl.Hierarchy.Deg.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.Level == Hie_INS) ? Gbl.Hierarchy.Ins.FullName :
|
||||||
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]))));
|
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]))));
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
fprintf (Gbl.F.Out,"<div class=\"NOT_SHOWN\">");
|
|
||||||
|
HTM_DIV_Begin ("class=\"NOT_SHOWN\"");
|
||||||
fprintf (Gbl.F.Out," / "); // To separate
|
fprintf (Gbl.F.Out," / "); // To separate
|
||||||
HTM_DIV_End ();
|
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
|
fprintf (Gbl.F.Out,"%s", // Short name
|
||||||
(Gbl.Hierarchy.Level == Hie_CRS) ? Gbl.Hierarchy.Crs.ShrtName :
|
(Gbl.Hierarchy.Level == Hie_CRS) ? Gbl.Hierarchy.Crs.ShrtName :
|
||||||
((Gbl.Hierarchy.Level == Hie_DEG) ? Gbl.Hierarchy.Deg.ShrtName :
|
((Gbl.Hierarchy.Level == Hie_DEG) ? Gbl.Hierarchy.Deg.ShrtName :
|
||||||
|
@ -462,14 +464,16 @@ void Hie_WriteBigNameCtyInsCtrDegCrs (void)
|
||||||
}
|
}
|
||||||
else // No country specified ==> home page
|
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
|
fprintf (Gbl.F.Out,"%s: %s", // Full name
|
||||||
Cfg_PLATFORM_SHORT_NAME,Txt_TAGLINE);
|
Cfg_PLATFORM_SHORT_NAME,Txt_TAGLINE);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
fprintf (Gbl.F.Out,"<div class=\"NOT_SHOWN\">");
|
|
||||||
|
HTM_DIV_Begin ("class=\"NOT_SHOWN\"");
|
||||||
fprintf (Gbl.F.Out," / "); // To separate
|
fprintf (Gbl.F.Out," / "); // To separate
|
||||||
HTM_DIV_End ();
|
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
|
fprintf (Gbl.F.Out,"%s", // Short name
|
||||||
Cfg_PLATFORM_SHORT_NAME);
|
Cfg_PLATFORM_SHORT_NAME);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
17
swad_icon.c
17
swad_icon.c
|
@ -124,9 +124,9 @@ void Ico_PutIconsToSelectIconSet (void)
|
||||||
IconSet < Ico_NUM_ICON_SETS;
|
IconSet < Ico_NUM_ICON_SETS;
|
||||||
IconSet++)
|
IconSet++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
IconSet == Gbl.Prefs.IconSet ? "PREF_ON" :
|
IconSet == Gbl.Prefs.IconSet ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
Frm_StartForm (ActChgIco);
|
Frm_StartForm (ActChgIco);
|
||||||
Par_PutHiddenParamString ("IconSet",Ico_IconSetId[IconSet]);
|
Par_PutHiddenParamString ("IconSet",Ico_IconSetId[IconSet]);
|
||||||
snprintf (Icon,sizeof (Icon),
|
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)
|
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\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"CONTEXT_ICO_16x16\" />",
|
" class=\"CONTEXT_ICO_16x16\" />",
|
||||||
Cfg_URL_ICON_PUBLIC,Icon,
|
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)
|
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);
|
Ico_PutIconLink (Icon,Title);
|
||||||
HTM_DIV_End ();
|
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)
|
void Ico_PutIconTextLink (const char *Icon,const char *Text)
|
||||||
{
|
{
|
||||||
/***** Print icon and optional 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\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"CONTEXT_ICO_x16\" />"
|
" class=\"CONTEXT_ICO_x16\" />"
|
||||||
" %s",
|
" %s",
|
||||||
|
@ -411,7 +411,7 @@ void Ico_PutIconOff (const char *Icon,const char *Title)
|
||||||
|
|
||||||
void Ico_PutCalculateIcon (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
|
fprintf (Gbl.F.Out,"<img id=\"update_%d\" src=\"%s/recycle16x16.gif\"" // TODO: change name and resolution to refresh64x64.png
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"CONTEXT_ICO_16x16\" />"
|
" class=\"CONTEXT_ICO_16x16\" />"
|
||||||
|
@ -432,8 +432,7 @@ void Ico_PutCalculateIcon (const char *Title)
|
||||||
|
|
||||||
void Ico_PutCalculateIconWithText (const char *Text)
|
void Ico_PutCalculateIconWithText (const char *Text)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ICO_HIGHLIGHT\""
|
HTM_DIV_Begin ("class=\"ICO_HIGHLIGHT\" style=\"margin:0 6px 0 0; display:inline;\"");
|
||||||
" style=\"margin:0 6px 0 0; display:inline;\">");
|
|
||||||
fprintf (Gbl.F.Out,"<img id=\"update_%d\" src=\"%s/recycle16x16.gif\""
|
fprintf (Gbl.F.Out,"<img id=\"update_%d\" src=\"%s/recycle16x16.gif\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"ICO20x20\" />"
|
" class=\"ICO20x20\" />"
|
||||||
|
|
18
swad_info.c
18
swad_info.c
|
@ -384,7 +384,7 @@ void Inf_ShowInfo (void)
|
||||||
/* Put checkbox to force students to read this couse info */
|
/* Put checkbox to force students to read this couse info */
|
||||||
if (MustBeRead)
|
if (MustBeRead)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
Inf_PutCheckboxConfirmIHaveReadInfo ();
|
Inf_PutCheckboxConfirmIHaveReadInfo ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -395,7 +395,7 @@ void Inf_ShowInfo (void)
|
||||||
/* Put checkbox to force students to read this couse info */
|
/* Put checkbox to force students to read this couse info */
|
||||||
if (InfoSrc != Inf_INFO_SRC_NONE)
|
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
|
Disabled = (Gbl.Usrs.Me.Role.Logged == Rol_NET); // Non-editing teachers can not change the status of checkbox
|
||||||
Inf_PutCheckboxForceStdsToReadInfo (MustBeRead,Disabled);
|
Inf_PutCheckboxForceStdsToReadInfo (MustBeRead,Disabled);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -599,7 +599,7 @@ void Inf_WriteMsgYouMustReadInfo (void)
|
||||||
Ale_ShowAlert (Ale_WARNING,Txt_You_should_read_the_following_information);
|
Ale_ShowAlert (Ale_WARNING,Txt_You_should_read_the_following_information);
|
||||||
|
|
||||||
/***** Write every information I must read *****/
|
/***** 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\""
|
fprintf (Gbl.F.Out,"<ul class=\"LIST_LEFT\""
|
||||||
" style=\"list-style-type:initial;\">");
|
" style=\"list-style-type:initial;\">");
|
||||||
for (InfoType = (Inf_InfoType_t) 0;
|
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]);
|
Frm_StartForm (Inf_ActionsInfo[InfoSrc][Gbl.Crs.Info.Type]);
|
||||||
|
|
||||||
/***** File *****/
|
/***** File *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
fprintf (Gbl.F.Out,"<label class=\"%s\">"
|
fprintf (Gbl.F.Out,"<label class=\"%s\">"
|
||||||
"%s: "
|
"%s: "
|
||||||
"<input type=\"file\" name=\"%s\" />"
|
"<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]);
|
Frm_StartForm (Inf_ActionsInfo[InfoSrc][Gbl.Crs.Info.Type]);
|
||||||
|
|
||||||
/***** Link *****/
|
/***** Link *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
fprintf (Gbl.F.Out,"<label class=\"%s\">"
|
fprintf (Gbl.F.Out,"<label class=\"%s\">"
|
||||||
"%s: "
|
"%s: "
|
||||||
"<input type=\"url\" name=\"InfoSrcURL\""
|
"<input type=\"url\" name=\"InfoSrcURL\""
|
||||||
|
@ -1798,7 +1798,7 @@ static bool Inf_CheckAndShowPlainTxt (void)
|
||||||
Gbl.Crs.Info.Type == Inf_TEACHING_GUIDE)
|
Gbl.Crs.Info.Type == Inf_TEACHING_GUIDE)
|
||||||
Lay_WriteHeaderClassPhoto (false,false,Gbl.Hierarchy.Ins.InsCod,Gbl.Hierarchy.Deg.DegCod,Gbl.Hierarchy.Crs.CrsCod);
|
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 *****/
|
/***** Convert to respectful HTML and insert links *****/
|
||||||
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
|
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)
|
Gbl.Crs.Info.Type == Inf_TEACHING_GUIDE)
|
||||||
Lay_WriteHeaderClassPhoto (false,false,Gbl.Hierarchy.Ins.InsCod,Gbl.Hierarchy.Deg.DegCod,Gbl.Hierarchy.Crs.CrsCod);
|
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 *****/
|
/***** Store text into a temporary .md file in HTML output directory *****/
|
||||||
// TODO: change to another directory?
|
// TODO: change to another directory?
|
||||||
|
@ -2078,7 +2078,7 @@ void Inf_EditPlainTxtInfo (void)
|
||||||
TxtHTML,NULL);
|
TxtHTML,NULL);
|
||||||
|
|
||||||
/***** Edition area *****/
|
/***** Edition area *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Lay_HelpPlainEditor ();
|
Lay_HelpPlainEditor ();
|
||||||
fprintf (Gbl.F.Out,"<textarea name=\"Txt\" cols=\"80\" rows=\"20\">"
|
fprintf (Gbl.F.Out,"<textarea name=\"Txt\" cols=\"80\" rows=\"20\">"
|
||||||
"%s"
|
"%s"
|
||||||
|
@ -2129,7 +2129,7 @@ void Inf_EditRichTxtInfo (void)
|
||||||
TxtHTML,NULL);
|
TxtHTML,NULL);
|
||||||
|
|
||||||
/***** Edition area *****/
|
/***** Edition area *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Lay_HelpRichEditor ();
|
Lay_HelpRichEditor ();
|
||||||
fprintf (Gbl.F.Out,"<textarea name=\"Txt\" cols=\"80\" rows=\"20\">"
|
fprintf (Gbl.F.Out,"<textarea name=\"Txt\" cols=\"80\" rows=\"20\">"
|
||||||
"%s"
|
"%s"
|
||||||
|
|
|
@ -334,7 +334,7 @@ static void Ins_Configuration (bool PrintView)
|
||||||
|
|
||||||
/***** Title *****/
|
/***** Title *****/
|
||||||
PutLink = !PrintView && Gbl.Hierarchy.Ins.WWW[0];
|
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)
|
if (PutLink)
|
||||||
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
||||||
" class=\"FRAME_TITLE_BIG\" title=\"%s\">",
|
" class=\"FRAME_TITLE_BIG\" title=\"%s\">",
|
||||||
|
@ -485,7 +485,7 @@ static void Ins_Configuration (bool PrintView)
|
||||||
}
|
}
|
||||||
else // I can not change institution WWW
|
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\">"
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</a>",
|
"</a>",
|
||||||
|
@ -1555,7 +1555,7 @@ static void Ins_ListInstitutionsForEdition (void)
|
||||||
{
|
{
|
||||||
Str_Copy (WWW,Ins->WWW,
|
Str_Copy (WWW,Ins->WWW,
|
||||||
Cns_MAX_BYTES_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\""
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
||||||
" class=\"DAT\" title=\"%s\">"
|
" class=\"DAT\" title=\"%s\">"
|
||||||
"%s"
|
"%s"
|
||||||
|
|
100
swad_layout.c
100
swad_layout.c
|
@ -271,12 +271,12 @@ void Lay_WriteStartOfPage (void)
|
||||||
{
|
{
|
||||||
case Act_BRW_1ST_TAB:
|
case Act_BRW_1ST_TAB:
|
||||||
fprintf (Gbl.F.Out,"<body onload=\"init();\">\n");
|
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\""
|
fprintf (Gbl.F.Out,"<img id=\"zoomImg\" src=\"%s/usr_bl.jpg\""
|
||||||
" alt=\"\" title=\"\""
|
" alt=\"\" title=\"\""
|
||||||
" class=\"IMG_USR\" />",
|
" class=\"IMG_USR\" />",
|
||||||
Cfg_URL_ICON_PUBLIC);
|
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 ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
break;
|
break;
|
||||||
|
@ -296,7 +296,7 @@ void Lay_WriteStartOfPage (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Start box that contains the whole page except the foot *****/
|
/***** 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 *****/
|
/***** Header of layout *****/
|
||||||
Lay_WritePageTopHeading ();
|
Lay_WritePageTopHeading ();
|
||||||
|
@ -305,7 +305,7 @@ void Lay_WriteStartOfPage (void)
|
||||||
Tab_DrawTabs ();
|
Tab_DrawTabs ();
|
||||||
|
|
||||||
/***** 4th row: main zone *****/
|
/***** 4th row: main zone *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"main_zone\">");
|
HTM_DIV_Begin ("id=\"main_zone\"");
|
||||||
|
|
||||||
/* Left column */
|
/* Left column */
|
||||||
if (Gbl.Prefs.SideCols & Lay_SHOW_LEFT_COLUMN) // Left column visible
|
if (Gbl.Prefs.SideCols & Lay_SHOW_LEFT_COLUMN) // Left column visible
|
||||||
|
@ -331,29 +331,29 @@ void Lay_WriteStartOfPage (void)
|
||||||
switch (Gbl.Prefs.SideCols)
|
switch (Gbl.Prefs.SideCols)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
fprintf (Gbl.F.Out,"<div id=\"main_zone_central_none\">");
|
HTM_DIV_Begin ("id=\"main_zone_central_none\"");
|
||||||
break;
|
break;
|
||||||
case Lay_SHOW_LEFT_COLUMN:
|
case Lay_SHOW_LEFT_COLUMN:
|
||||||
fprintf (Gbl.F.Out,"<div id=\"main_zone_central_left\">");
|
HTM_DIV_Begin ("id=\"main_zone_central_left\"");
|
||||||
break;
|
break;
|
||||||
case Lay_SHOW_RIGHT_COLUMN:
|
case Lay_SHOW_RIGHT_COLUMN:
|
||||||
fprintf (Gbl.F.Out,"<div id=\"main_zone_central_right\">");
|
HTM_DIV_Begin ("id=\"main_zone_central_right\"");
|
||||||
break;
|
break;
|
||||||
case (Lay_SHOW_LEFT_COLUMN | Lay_SHOW_RIGHT_COLUMN):
|
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;
|
break;
|
||||||
}
|
}
|
||||||
fprintf (Gbl.F.Out,"<div id=\"main_zone_central_container\" class=\"%s\">",
|
HTM_DIV_Begin ("id=\"main_zone_central_container\" class=\"%s\"",
|
||||||
The_TabOnBgColors[Gbl.Prefs.Theme]);
|
The_TabOnBgColors[Gbl.Prefs.Theme]);
|
||||||
|
|
||||||
/* Layout with horizontal or vertical menu */
|
/* 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 */
|
/* Menu */
|
||||||
Mnu_WriteMenuThisTab ();
|
Mnu_WriteMenuThisTab ();
|
||||||
|
|
||||||
/* Start canvas: main zone for actions output */
|
/* 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 it is mandatory to read any information about course */
|
||||||
if (Gbl.Crs.Info.ShowMsgMustBeRead)
|
if (Gbl.Crs.Info.ShowMsgMustBeRead)
|
||||||
|
@ -923,17 +923,16 @@ static void Lay_WritePageTopHeading (void)
|
||||||
|
|
||||||
/***** 1st. row *****/
|
/***** 1st. row *****/
|
||||||
/* Start 1st. row */
|
/* Start 1st. row */
|
||||||
fprintf (Gbl.F.Out,"<div id=\"head_row_1\" class=\"%s\">",
|
HTM_DIV_Begin ("id=\"head_row_1\" class=\"%s\"",ClassHeadRow1[Gbl.Prefs.Theme]);
|
||||||
ClassHeadRow1[Gbl.Prefs.Theme]);
|
|
||||||
|
|
||||||
/* 1st. row, 1st. column: logo, tagline and search */
|
/* 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 */
|
/* Begin form to go to home page */
|
||||||
Frm_StartFormGoTo (ActMnu);
|
Frm_StartFormGoTo (ActMnu);
|
||||||
Par_PutHiddenParamUnsigned ("NxtTab",(unsigned) TabSys);
|
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);
|
Frm_LinkFormSubmit (Txt_System,NULL,NULL);
|
||||||
fprintf (Gbl.F.Out,"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"CM\""
|
" class=\"CM\""
|
||||||
|
@ -943,7 +942,7 @@ static void Lay_WritePageTopHeading (void)
|
||||||
Cfg_PLATFORM_SHORT_NAME,Cfg_PLATFORM_FULL_NAME,
|
Cfg_PLATFORM_SHORT_NAME,Cfg_PLATFORM_FULL_NAME,
|
||||||
Cfg_PLATFORM_LOGO_SMALL_WIDTH,Cfg_PLATFORM_LOGO_SMALL_HEIGHT);
|
Cfg_PLATFORM_LOGO_SMALL_WIDTH,Cfg_PLATFORM_LOGO_SMALL_HEIGHT);
|
||||||
HTM_DIV_End ();
|
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);
|
Frm_LinkFormSubmit (Txt_System,NULL,NULL);
|
||||||
fprintf (Gbl.F.Out,"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"CM\""
|
" class=\"CM\""
|
||||||
|
@ -953,7 +952,7 @@ static void Lay_WritePageTopHeading (void)
|
||||||
Cfg_PLATFORM_SHORT_NAME,Cfg_PLATFORM_FULL_NAME,
|
Cfg_PLATFORM_SHORT_NAME,Cfg_PLATFORM_FULL_NAME,
|
||||||
Cfg_PLATFORM_LOGO_BIG_WIDTH,Cfg_PLATFORM_LOGO_BIG_HEIGHT);
|
Cfg_PLATFORM_LOGO_BIG_WIDTH,Cfg_PLATFORM_LOGO_BIG_HEIGHT);
|
||||||
HTM_DIV_End ();
|
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);
|
Frm_LinkFormSubmit (Txt_TAGLINE,The_ClassTagline[Gbl.Prefs.Theme],NULL);
|
||||||
fprintf (Gbl.F.Out,"%s"
|
fprintf (Gbl.F.Out,"%s"
|
||||||
"</a>",
|
"</a>",
|
||||||
|
@ -969,13 +968,13 @@ static void Lay_WritePageTopHeading (void)
|
||||||
|
|
||||||
/* 1st. row, 3rd. column: logged user or language selection,
|
/* 1st. row, 3rd. column: logged user or language selection,
|
||||||
and link to open/close session */
|
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)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
Usr_WriteLoggedUsrHead ();
|
Usr_WriteLoggedUsrHead ();
|
||||||
else
|
else
|
||||||
Lan_PutSelectorToSelectLanguage ();
|
Lan_PutSelectorToSelectLanguage ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div id=\"login_box\">");
|
HTM_DIV_Begin ("id=\"login_box\"");
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
Usr_PutFormLogOut ();
|
Usr_PutFormLogOut ();
|
||||||
else
|
else
|
||||||
|
@ -988,23 +987,22 @@ static void Lay_WritePageTopHeading (void)
|
||||||
|
|
||||||
/***** 2nd. row *****/
|
/***** 2nd. row *****/
|
||||||
/* Start second row */
|
/* Start second row */
|
||||||
fprintf (Gbl.F.Out,"<div id=\"head_row_2\" class=\"%s\">",
|
HTM_DIV_Begin ("id=\"head_row_2\" class=\"%s\"",ClassHeadRow2[Gbl.Prefs.Theme]);
|
||||||
ClassHeadRow2[Gbl.Prefs.Theme]);
|
|
||||||
|
|
||||||
/* 2nd. row, 1st. column
|
/* 2nd. row, 1st. column
|
||||||
Clock with hour:minute (server hour is shown) */
|
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 ();
|
Dat_ShowClientLocalTime ();
|
||||||
HTM_DIV_End (); // End first column
|
HTM_DIV_End (); // End first column
|
||||||
|
|
||||||
/* 2nd. row, 2nd. column: degree and course */
|
/* 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 ();
|
Lay_WriteBreadcrumb ();
|
||||||
Hie_WriteBigNameCtyInsCtrDegCrs ();
|
Hie_WriteBigNameCtyInsCtrDegCrs ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* 2nd. row, 3rd. column */
|
/* 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)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
Ntf_WriteNumberOfNewNtfs ();
|
Ntf_WriteNumberOfNewNtfs ();
|
||||||
HTM_DIV_End (); // Used for AJAX based refresh
|
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];
|
extern const char *Txt_TABS_TXT[Tab_NUM_TABS];
|
||||||
|
|
||||||
/***** Container start *****/
|
/***** Container start *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"action_title\""
|
HTM_DIV_Begin ("id=\"action_title\" style=\"background-image:url('%s/%s');\"",
|
||||||
" style=\"background-image:url('%s/%s');\">",
|
Gbl.Prefs.URLIconSet,
|
||||||
Gbl.Prefs.URLIconSet,
|
Act_GetIcon (Act_GetSuperAction (Gbl.Action.Act)));
|
||||||
Act_GetIcon (Act_GetSuperAction (Gbl.Action.Act)));
|
|
||||||
|
|
||||||
/***** Title *****/
|
/***** Title *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",The_ClassTitleAction[Gbl.Prefs.Theme]);
|
||||||
The_ClassTitleAction[Gbl.Prefs.Theme]);
|
|
||||||
fprintf (Gbl.F.Out,"%s > %s",
|
fprintf (Gbl.F.Out,"%s > %s",
|
||||||
Txt_TABS_TXT[Act_GetTab (Gbl.Action.Act)],
|
Txt_TABS_TXT[Act_GetTab (Gbl.Action.Act)],
|
||||||
Act_GetTitleAction (Gbl.Action.Act));
|
Act_GetTitleAction (Gbl.Action.Act));
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Subtitle *****/
|
/***** Subtitle *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",The_ClassSubtitleAction[Gbl.Prefs.Theme]);
|
||||||
The_ClassSubtitleAction[Gbl.Prefs.Theme]);
|
fprintf (Gbl.F.Out,"%s",Act_GetSubtitleAction (Gbl.Action.Act));
|
||||||
fprintf (Gbl.F.Out,"%s",
|
|
||||||
Act_GetSubtitleAction (Gbl.Action.Act));
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Container end *****/
|
/***** Container end *****/
|
||||||
|
@ -1072,9 +1066,9 @@ static void Lay_ShowLeftColumn (void)
|
||||||
{
|
{
|
||||||
struct MFU_ListMFUActions ListMFUActions;
|
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)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
{
|
{
|
||||||
/***** Most frequently used actions *****/
|
/***** Most frequently used actions *****/
|
||||||
|
@ -1089,14 +1083,14 @@ static void Lay_ShowLeftColumn (void)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Month *****/
|
/***** Month *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"LEFT_RIGHT_CELL\">");
|
HTM_DIV_Begin ("class=\"LEFT_RIGHT_CELL\"");
|
||||||
Cal_DrawCurrentMonth ();
|
Cal_DrawCurrentMonth ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Notices (yellow notes) *****/
|
/***** Notices (yellow notes) *****/
|
||||||
if (Gbl.Hierarchy.Level == Hie_CRS)
|
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,
|
Not_ShowNotices (Not_LIST_BRIEF_NOTICES,
|
||||||
-1L); // No notice highlighted
|
-1L); // No notice highlighted
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -1121,20 +1115,18 @@ static void Lay_ShowRightColumn (void)
|
||||||
/***** Number of connected users in the whole platform *****/
|
/***** Number of connected users in the whole platform *****/
|
||||||
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
|
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div id=\"globalconnected\"" // Used for AJAX based refresh
|
HTM_DIV_Begin ("id=\"globalconnected\" class=\"LEFT_RIGHT_CELL\""); // Used for AJAX based refresh
|
||||||
" class=\"LEFT_RIGHT_CELL\">");
|
|
||||||
Con_ShowGlobalConnectedUsrs ();
|
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 *****/
|
/***** Number of connected users in the current course *****/
|
||||||
if (Gbl.Hierarchy.Level == Hie_CRS) // There is a course selected
|
if (Gbl.Hierarchy.Level == Hie_CRS) // There is a course selected
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div id=\"courseconnected\"" // Used for AJAX based refresh
|
HTM_DIV_Begin ("id=\"courseconnected\" class=\"LEFT_RIGHT_CELL\""); // Used for AJAX based refresh
|
||||||
" class=\"LEFT_RIGHT_CELL\">");
|
|
||||||
Gbl.Scope.Current = Hie_CRS;
|
Gbl.Scope.Current = Hie_CRS;
|
||||||
Con_ShowConnectedUsrsBelongingToCurrentCrs ();
|
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
|
else if (Gbl.Usrs.Me.Logged) // I am logged
|
||||||
{
|
{
|
||||||
|
@ -1142,7 +1134,7 @@ static void Lay_ShowRightColumn (void)
|
||||||
gettimeofday (&tv1,NULL);
|
gettimeofday (&tv1,NULL);
|
||||||
*/
|
*/
|
||||||
/***** Suggest one user to follow *****/
|
/***** Suggest one user to follow *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"LEFT_RIGHT_CELL\">");
|
HTM_DIV_Begin ("class=\"LEFT_RIGHT_CELL\"");
|
||||||
Fol_SuggestUsrsToFollowMainZoneOnRightColumn ();
|
Fol_SuggestUsrsToFollowMainZoneOnRightColumn ();
|
||||||
/*
|
/*
|
||||||
gettimeofday (&tv2,NULL);
|
gettimeofday (&tv2,NULL);
|
||||||
|
@ -1162,7 +1154,7 @@ static void Lay_ShowRightColumn (void)
|
||||||
if (!Gbl.Usrs.Me.Logged)
|
if (!Gbl.Usrs.Me.Logged)
|
||||||
{
|
{
|
||||||
/***** SWADroid advertisement *****/
|
/***** 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\""
|
fprintf (Gbl.F.Out,"<a href=\"https://play.google.com/store/apps/details?id=es.ugr.swad.swadroid\""
|
||||||
" target=\"_blank\" title=\"%s\">"
|
" target=\"_blank\" title=\"%s\">"
|
||||||
"<img src=\"%s/SWADroid120x200.png\""
|
"<img src=\"%s/SWADroid120x200.png\""
|
||||||
|
@ -1286,11 +1278,11 @@ void Lay_PutContextualCheckbox (Act_Action_t NextAction,
|
||||||
FuncParams ();
|
FuncParams ();
|
||||||
|
|
||||||
/***** Start container and label *****/
|
/***** Start container and label *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT %s %s\" title=\"%s\">",
|
HTM_DIV_Begin ("class=\"CONTEXT_OPT %s %s\" title=\"%s\"",
|
||||||
Checked ? "CHECKBOX_CHECKED" :
|
Checked ? "CHECKBOX_CHECKED" :
|
||||||
"CHECKBOX_UNCHECKED",
|
"CHECKBOX_UNCHECKED",
|
||||||
The_ClassFormOutBoxBold[Gbl.Prefs.Theme],
|
The_ClassFormOutBoxBold[Gbl.Prefs.Theme],
|
||||||
Title);
|
Title);
|
||||||
fprintf (Gbl.F.Out,"<label>");
|
fprintf (Gbl.F.Out,"<label>");
|
||||||
|
|
||||||
/****** Checkbox and text *****/
|
/****** Checkbox and text *****/
|
||||||
|
@ -1715,7 +1707,7 @@ void Lay_AdvertisementMobile (void)
|
||||||
|
|
||||||
if (!(rand () % Lay_SHOW_ADVERTISEMENT_ONE_TIME_OF_X))
|
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 *****/
|
/***** Start box and table *****/
|
||||||
Box_StartBoxTable (NULL,NULL,NULL,
|
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_Inline_math;
|
||||||
extern const char *Txt_Equation_centered;
|
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"
|
fprintf (Gbl.F.Out,"%s: %s"
|
||||||
" "
|
" "
|
||||||
"%s: <code>%s</code>"
|
"%s: <code>%s</code>"
|
||||||
|
|
|
@ -162,7 +162,7 @@ void Lnk_WriteMenuWithInstitutionalLinks (void)
|
||||||
/***** Write all the links *****/
|
/***** Write all the links *****/
|
||||||
if (Gbl.Links.Num)
|
if (Gbl.Links.Num)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div id=\"institutional_links\">");
|
HTM_DIV_Begin ("id=\"institutional_links\"");
|
||||||
|
|
||||||
Frm_StartForm (ActSeeLnk);
|
Frm_StartForm (ActSeeLnk);
|
||||||
Frm_LinkFormSubmit (Txt_Links,NULL,NULL);
|
Frm_LinkFormSubmit (Txt_Links,NULL,NULL);
|
||||||
|
|
|
@ -278,7 +278,7 @@ void Log_RequestLogo (Hie_Level_t Scope)
|
||||||
if (Fil_CheckIfPathExists (PathLogo))
|
if (Fil_CheckIfPathExists (PathLogo))
|
||||||
{
|
{
|
||||||
/***** Form to remove photo *****/
|
/***** Form to remove photo *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Lay_PutContextualLinkIconText (ActionRem,NULL,NULL,
|
Lay_PutContextualLinkIconText (ActionRem,NULL,NULL,
|
||||||
"trash.svg",
|
"trash.svg",
|
||||||
Txt_Remove_logo);
|
Txt_Remove_logo);
|
||||||
|
|
11
swad_mail.c
11
swad_mail.c
|
@ -922,7 +922,7 @@ static void Mai_ListEmails (void)
|
||||||
Hlp_MESSAGES_Email,Box_NOT_CLOSABLE);
|
Hlp_MESSAGES_Email,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
/***** Start list with users' email addresses *****/
|
/***** 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 *****/
|
/***** Initialize structure with user's data *****/
|
||||||
Usr_UsrDataConstructor (&UsrDat);
|
Usr_UsrDataConstructor (&UsrDat);
|
||||||
|
@ -978,19 +978,18 @@ static void Mai_ListEmails (void)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Show a message with the number of users with email ****/
|
/***** Show a message with the number of users with email ****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"DAT CM\">");
|
HTM_DIV_Begin ("class=\"DAT CM\"");
|
||||||
fprintf (Gbl.F.Out,Txt_X_users_who_have_email,
|
fprintf (Gbl.F.Out,Txt_X_users_who_have_email,NumUsrsWithEmail);
|
||||||
NumUsrsWithEmail);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Show a message with the number of users who have accepted and have email ****/
|
/***** 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,
|
fprintf (Gbl.F.Out,Txt_X_users_who_have_accepted_and_who_have_email,
|
||||||
NumAcceptedUsrsWithEmail);
|
NumAcceptedUsrsWithEmail);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Icon to open the client email program *****/
|
/***** 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\""
|
fprintf (Gbl.F.Out,"<a href=\"mailto:%s?subject=%s&cc=%s&bcc=%s\""
|
||||||
" title=\"%s\" class=\"%s\">",
|
" title=\"%s\" class=\"%s\">",
|
||||||
Gbl.Usrs.Me.UsrDat.Email,
|
Gbl.Usrs.Me.UsrDat.Email,
|
||||||
|
|
84
swad_match.c
84
swad_match.c
|
@ -609,10 +609,9 @@ static void Mch_GetAndWriteNamesOfGrpsAssociatedToMatch (const struct Match *Mat
|
||||||
Match->MchCod);
|
Match->MchCod);
|
||||||
|
|
||||||
/***** Write heading *****/
|
/***** Write heading *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ASG_GRP\">");
|
HTM_DIV_Begin ("class=\"ASG_GRP\"");
|
||||||
fprintf (Gbl.F.Out,"%s: ",
|
fprintf (Gbl.F.Out,"%s: ",NumRows == 1 ? Txt_Group :
|
||||||
NumRows == 1 ? Txt_Group :
|
Txt_Groups);
|
||||||
Txt_Groups);
|
|
||||||
|
|
||||||
/***** Write groups *****/
|
/***** Write groups *****/
|
||||||
if (NumRows) // Groups found...
|
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
|
if (Match->Status.QstInd < Mch_AFTER_LAST_QUESTION) // Unfinished match
|
||||||
{
|
{
|
||||||
/* Current question index / total of questions */
|
/* 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);
|
fprintf (Gbl.F.Out,"%u/%u",Match->Status.QstInd,NumQsts);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -1351,7 +1350,7 @@ void Mch_ResumeMatch (void)
|
||||||
Mch_UpdateMatchStatusInDB (&Match);
|
Mch_UpdateMatchStatusInDB (&Match);
|
||||||
|
|
||||||
/***** Show current match status *****/
|
/***** 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);
|
Mch_ShowMatchStatusForTch (&Match);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -1784,7 +1783,7 @@ void Mch_PlayPauseMatch (void)
|
||||||
Mch_UpdateMatchStatusInDB (&Match);
|
Mch_UpdateMatchStatusInDB (&Match);
|
||||||
|
|
||||||
/***** Show current match status *****/
|
/***** 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);
|
Mch_ShowMatchStatusForTch (&Match);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -1817,7 +1816,7 @@ void Mch_ChangeNumColsMch (void)
|
||||||
Mch_UpdateMatchStatusInDB (&Match);
|
Mch_UpdateMatchStatusInDB (&Match);
|
||||||
|
|
||||||
/***** Show current match status *****/
|
/***** 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);
|
Mch_ShowMatchStatusForTch (&Match);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -1849,7 +1848,7 @@ void Mch_ToggleVisibilResultsMchQst (void)
|
||||||
Mch_UpdateMatchStatusInDB (&Match);
|
Mch_UpdateMatchStatusInDB (&Match);
|
||||||
|
|
||||||
/***** Show current match status *****/
|
/***** 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);
|
Mch_ShowMatchStatusForTch (&Match);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -1878,7 +1877,7 @@ void Mch_BackMatch (void)
|
||||||
Mch_UpdateMatchStatusInDB (&Match);
|
Mch_UpdateMatchStatusInDB (&Match);
|
||||||
|
|
||||||
/***** Show current match status *****/
|
/***** 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);
|
Mch_ShowMatchStatusForTch (&Match);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -1907,7 +1906,7 @@ void Mch_ForwardMatch (void)
|
||||||
Mch_UpdateMatchStatusInDB (&Match);
|
Mch_UpdateMatchStatusInDB (&Match);
|
||||||
|
|
||||||
/***** Show current match status *****/
|
/***** 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);
|
Mch_ShowMatchStatusForTch (&Match);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -2110,11 +2109,10 @@ bool Mch_CheckIfICanPlayThisMatchBasedOnGrps (long MchCod)
|
||||||
static void Mch_ShowLeftColumnTch (struct Match *Match)
|
static void Mch_ShowLeftColumnTch (struct Match *Match)
|
||||||
{
|
{
|
||||||
/***** Start left container *****/
|
/***** Start left container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MCH_LEFT\">");
|
HTM_DIV_Begin ("class=\"MCH_LEFT\"");
|
||||||
|
|
||||||
/***** Refreshable part *****/
|
/***** Refreshable part *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"match_left\""
|
HTM_DIV_Begin ("id=\"match_left\" class=\"MCH_REFRESHABLE_TEACHER\"");
|
||||||
" class=\"MCH_REFRESHABLE_TEACHER\">");
|
|
||||||
Mch_ShowRefreshablePartTch (Match);
|
Mch_ShowRefreshablePartTch (Match);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -2142,7 +2140,7 @@ static void Mch_ShowRefreshablePartTch (struct Match *Match)
|
||||||
unsigned NumAnswerersQst;
|
unsigned NumAnswerersQst;
|
||||||
|
|
||||||
/***** Top *****/
|
/***** Top *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MCH_TOP\">");
|
HTM_DIV_Begin ("class=\"MCH_TOP\"");
|
||||||
|
|
||||||
/* Write elapsed time in match */
|
/* Write elapsed time in match */
|
||||||
Mch_GetElapsedTimeInMatch (Match,&Time);
|
Mch_GetElapsedTimeInMatch (Match,&Time);
|
||||||
|
@ -2154,7 +2152,7 @@ static void Mch_ShowRefreshablePartTch (struct Match *Match)
|
||||||
Mch_ShowNumQstInMatch (Match);
|
Mch_ShowNumQstInMatch (Match);
|
||||||
|
|
||||||
/***** Write elapsed time in question *****/
|
/***** 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 &&
|
if (Match->Status.QstInd > 0 &&
|
||||||
Match->Status.QstInd < Mch_AFTER_LAST_QUESTION)
|
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 *****/
|
/***** Number of users who have answered this question *****/
|
||||||
NumAnswerersQst = Mch_GetNumUsrsWhoHaveAnswerQst (Match->MchCod,
|
NumAnswerersQst = Mch_GetNumUsrsWhoHaveAnswerQst (Match->MchCod,
|
||||||
Match->Status.QstInd);
|
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 />"
|
fprintf (Gbl.F.Out,"%s<br />"
|
||||||
"<strong>",
|
"<strong>",
|
||||||
Txt_MATCH_respond);
|
Txt_MATCH_respond);
|
||||||
|
@ -2197,7 +2195,7 @@ static void Mch_ShowRefreshablePartTch (struct Match *Match)
|
||||||
static void Mch_ShowRightColumnTch (struct Match *Match)
|
static void Mch_ShowRightColumnTch (struct Match *Match)
|
||||||
{
|
{
|
||||||
/***** Start right container *****/
|
/***** Start right container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MCH_RIGHT\">");
|
HTM_DIV_Begin ("class=\"MCH_RIGHT\"");
|
||||||
|
|
||||||
/***** Top row: match title *****/
|
/***** Top row: match title *****/
|
||||||
Mch_ShowMatchTitle (Match);
|
Mch_ShowMatchTitle (Match);
|
||||||
|
@ -2219,10 +2217,10 @@ static void Mch_ShowRightColumnTch (struct Match *Match)
|
||||||
static void Mch_ShowLeftColumnStd (struct Match *Match)
|
static void Mch_ShowLeftColumnStd (struct Match *Match)
|
||||||
{
|
{
|
||||||
/***** Start left container *****/
|
/***** Start left container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MCH_LEFT\">");
|
HTM_DIV_Begin ("class=\"MCH_LEFT\"");
|
||||||
|
|
||||||
/***** Top *****/
|
/***** Top *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MCH_TOP\">");
|
HTM_DIV_Begin ("class=\"MCH_TOP\"");
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Write number of question *****/
|
/***** Write number of question *****/
|
||||||
|
@ -2241,7 +2239,7 @@ static void Mch_ShowRightColumnStd (struct Match *Match)
|
||||||
extern const char *Txt_Please_wait_;
|
extern const char *Txt_Please_wait_;
|
||||||
|
|
||||||
/***** Start right container *****/
|
/***** Start right container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MCH_RIGHT\">");
|
HTM_DIV_Begin ("class=\"MCH_RIGHT\"");
|
||||||
|
|
||||||
/***** Top row *****/
|
/***** Top row *****/
|
||||||
Mch_ShowMatchTitle (Match);
|
Mch_ShowMatchTitle (Match);
|
||||||
|
@ -2251,7 +2249,7 @@ static void Mch_ShowRightColumnStd (struct Match *Match)
|
||||||
{
|
{
|
||||||
if (Match->Status.QstInd < Mch_AFTER_LAST_QUESTION) // Unfinished
|
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 ******/
|
/***** Update players ******/
|
||||||
Mch_RegisterMeAsPlayerInMatch (Match->MchCod);
|
Mch_RegisterMeAsPlayerInMatch (Match->MchCod);
|
||||||
|
@ -2279,7 +2277,7 @@ static void Mch_ShowNumQstInMatch (struct Match *Match)
|
||||||
extern const char *Txt_MATCH_End;
|
extern const char *Txt_MATCH_End;
|
||||||
unsigned NumQsts = Gam_GetNumQstsGame (Match->GamCod);
|
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
|
if (Match->Status.QstInd == 0) // Not started
|
||||||
fprintf (Gbl.F.Out,"%s",Txt_MATCH_Start);
|
fprintf (Gbl.F.Out,"%s",Txt_MATCH_Start);
|
||||||
else if (Match->Status.QstInd >= Mch_AFTER_LAST_QUESTION) // Finished
|
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;
|
extern const char *Txt_Resume;
|
||||||
|
|
||||||
/***** Start buttons container *****/
|
/***** Start buttons container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTONS_CONTAINER\">");
|
HTM_DIV_Begin ("class=\"MCH_BUTTONS_CONTAINER\"");
|
||||||
|
|
||||||
/***** Left button *****/
|
/***** 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)
|
if (Match->Status.QstInd == 0)
|
||||||
/* Put button to close browser tab */
|
/* Put button to close browser tab */
|
||||||
Mch_PutBigButtonClose ();
|
Mch_PutBigButtonClose ();
|
||||||
|
@ -2316,7 +2314,7 @@ static void Mch_PutMatchControlButtons (struct Match *Match)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Center button *****/
|
/***** 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
|
if (Match->Status.Playing) // Being played
|
||||||
/* Put button to pause match */
|
/* Put button to pause match */
|
||||||
Mch_PutBigButton (ActPlyPauMch,"play_pause",Match->MchCod,
|
Mch_PutBigButton (ActPlyPauMch,"play_pause",Match->MchCod,
|
||||||
|
@ -2335,7 +2333,7 @@ static void Mch_PutMatchControlButtons (struct Match *Match)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Right button *****/
|
/***** 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
|
if (Match->Status.QstInd >= Mch_AFTER_LAST_QUESTION) // Finished
|
||||||
/* Put button to close browser tab */
|
/* Put button to close browser tab */
|
||||||
Mch_PutBigButtonClose ();
|
Mch_PutBigButtonClose ();
|
||||||
|
@ -2374,9 +2372,10 @@ static void Mch_ShowFormColumns (struct Match *Match)
|
||||||
NumCols <= Mch_MAX_COLS;
|
NumCols <= Mch_MAX_COLS;
|
||||||
NumCols++)
|
NumCols++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
(Match->Status.NumCols == NumCols) ? "PREF_ON" :
|
(Match->Status.NumCols == NumCols) ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
|
|
||||||
/***** Begin form *****/
|
/***** Begin form *****/
|
||||||
Frm_StartForm (ActChgNumColMch);
|
Frm_StartForm (ActChgNumColMch);
|
||||||
Mch_PutParamMchCod (Match->MchCod); // Current match being played
|
Mch_PutParamMchCod (Match->MchCod); // Current match being played
|
||||||
|
@ -2417,9 +2416,8 @@ static void Mch_ShowFormViewResult (struct Match *Match)
|
||||||
|
|
||||||
/***** Begin selector *****/
|
/***** Begin selector *****/
|
||||||
Set_StartOneSettingSelector ();
|
Set_StartOneSettingSelector ();
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",(Match->Status.ShowQstResults) ? "PREF_ON" :
|
||||||
(Match->Status.ShowQstResults) ? "PREF_ON" :
|
"PREF_OFF");
|
||||||
"PREF_OFF");
|
|
||||||
|
|
||||||
/***** Begin form *****/
|
/***** Begin form *****/
|
||||||
Frm_StartForm (ActChgVisResMchQst);
|
Frm_StartForm (ActChgVisResMchQst);
|
||||||
|
@ -2442,7 +2440,7 @@ static void Mch_ShowFormViewResult (struct Match *Match)
|
||||||
static void Mch_ShowMatchTitle (struct Match *Match)
|
static void Mch_ShowMatchTitle (struct Match *Match)
|
||||||
{
|
{
|
||||||
/***** Match title *****/
|
/***** Match title *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MCH_TOP\">");
|
HTM_DIV_Begin ("class=\"MCH_TOP\"");
|
||||||
fprintf (Gbl.F.Out,"%s",Match->Title);
|
fprintf (Gbl.F.Out,"%s",Match->Title);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -2480,7 +2478,7 @@ static void Mch_ShowQuestionAndAnswersTch (struct Match *Match)
|
||||||
if (Gbl.Test.AnswerType != Tst_ANS_UNIQUE_CHOICE)
|
if (Gbl.Test.AnswerType != Tst_ANS_UNIQUE_CHOICE)
|
||||||
Lay_ShowErrorAndExit ("Wrong answer type.");
|
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]) */
|
/* Write stem (row[1]) */
|
||||||
Tst_WriteQstStem (row[1],"MCH_TCH_STEM");
|
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);
|
Mch_PutParamMchCod (MchCod);
|
||||||
|
|
||||||
/***** Put icon with link *****/
|
/***** 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\" "
|
fprintf (Gbl.F.Out,"<a href=\"\" class=\"MCH_BUTTON_ON\" title=\"%s\" "
|
||||||
" onclick=\"document.getElementById('%s').submit();"
|
" onclick=\"document.getElementById('%s').submit();"
|
||||||
" return false;\">"
|
" return false;\">"
|
||||||
|
@ -2886,8 +2884,8 @@ static void Mch_PutBigButton (Act_Action_t NextAction,const char *Id,
|
||||||
static void Mch_PutBigButtonOff (const char *Icon)
|
static void Mch_PutBigButtonOff (const char *Icon)
|
||||||
{
|
{
|
||||||
/***** Put inactive icon *****/
|
/***** Put inactive icon *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTON_CONTAINER\">");
|
HTM_DIV_Begin ("class=\"MCH_BUTTON_CONTAINER\"");
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTON_OFF\">");
|
HTM_DIV_Begin ("class=\"MCH_BUTTON_OFF\"");
|
||||||
fprintf (Gbl.F.Out,"<i class=\"%s\"></i>",Icon);
|
fprintf (Gbl.F.Out,"<i class=\"%s\"></i>",Icon);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -2898,7 +2896,7 @@ static void Mch_PutBigButtonClose (void)
|
||||||
extern const char *Txt_Close;
|
extern const char *Txt_Close;
|
||||||
|
|
||||||
/***** Put icon with link *****/
|
/***** 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\" "
|
fprintf (Gbl.F.Out,"<a href=\"\" class=\"MCH_BUTTON_ON\" title=\"%s\" "
|
||||||
" onclick=\"window.close();"
|
" onclick=\"window.close();"
|
||||||
" return false;\"\">"
|
" return false;\"\">"
|
||||||
|
@ -2914,7 +2912,7 @@ static void Mch_PutBigButtonClose (void)
|
||||||
|
|
||||||
static void Mch_ShowWaitImage (const char *Txt)
|
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\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/wait.gif\""
|
||||||
" alt=\"%s\" title=\"%s\" class=\"MCH_WAIT_IMG\" />",
|
" alt=\"%s\" title=\"%s\" class=\"MCH_WAIT_IMG\" />",
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
|
@ -3017,7 +3015,7 @@ void Mch_JoinMatchAsStd (void)
|
||||||
Mch_GetDataOfMatchByCod (&Match);
|
Mch_GetDataOfMatchByCod (&Match);
|
||||||
|
|
||||||
/***** Show current match status *****/
|
/***** 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);
|
Mch_ShowMatchStatusForStd (&Match);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -3222,7 +3220,7 @@ void Mch_ReceiveQuestionAnswer (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Show current match status *****/
|
/***** 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);
|
Mch_ShowMatchStatusForStd (&Match);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -3350,7 +3348,7 @@ static void Mch_DrawBarNumUsrs (unsigned NumAnswerersAns,unsigned NumAnswerersQs
|
||||||
Txt_of_PART_OF_A_TOTAL,NumAnswerersQst);
|
Txt_of_PART_OF_A_TOTAL,NumAnswerersQst);
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** 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 *****/
|
/***** Draw bar with a with proportional to the number of clicks *****/
|
||||||
if (NumAnswerersAns && NumAnswerersQst)
|
if (NumAnswerersAns && NumAnswerersQst)
|
||||||
|
|
|
@ -93,7 +93,7 @@ void McR_PutFormToViewMchResults (Act_Action_t Action)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Results;
|
extern const char *Txt_Results;
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
Lay_PutContextualLinkIconText (Action,NULL,NULL,
|
Lay_PutContextualLinkIconText (Action,NULL,NULL,
|
||||||
"tasks.svg",
|
"tasks.svg",
|
||||||
Txt_Results);
|
Txt_Results);
|
||||||
|
|
31
swad_media.c
31
swad_media.c
|
@ -351,10 +351,10 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
|
||||||
Frm_SetUniqueId (Id);
|
Frm_SetUniqueId (Id);
|
||||||
|
|
||||||
/***** Start media uploader container *****/
|
/***** Start media uploader container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MED_UPLOADER\">"); // container
|
HTM_DIV_Begin ("class=\"MED_UPLOADER\""); // container
|
||||||
|
|
||||||
/***** Icon 'clip' *****/
|
/***** 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=\"\""
|
fprintf (Gbl.F.Out,"<a href=\"\""
|
||||||
" onclick=\"mediaActivateMediaUploader('%s');return false;\">"
|
" onclick=\"mediaActivateMediaUploader('%s');return false;\">"
|
||||||
"<img src=\"%s/paperclip.svg\""
|
"<img src=\"%s/paperclip.svg\""
|
||||||
|
@ -367,9 +367,8 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
|
||||||
HTM_DIV_End (); // <id>_med_ico
|
HTM_DIV_End (); // <id>_med_ico
|
||||||
|
|
||||||
/***** Start media uploader *****/
|
/***** Start media uploader *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"%s_med_upl\"" // container <id>_med_upl
|
HTM_DIV_Begin ("id=\"%s_med_upl\" style=\"display:none;\"", // container <id>_med_upl
|
||||||
" style=\"display:none;\" />",
|
Id);
|
||||||
Id);
|
|
||||||
|
|
||||||
/***** Start box *****/
|
/***** Start box *****/
|
||||||
Box_StartBox (NULL,Txt_Multimedia,NULL,
|
Box_StartBox (NULL,Txt_Multimedia,NULL,
|
||||||
|
@ -380,8 +379,8 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
|
||||||
|
|
||||||
/***** Icons *****/
|
/***** Icons *****/
|
||||||
/* Start icons */
|
/* Start icons */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"PREF_CONTAINERS\">"); // icons containers
|
HTM_DIV_Begin ("class=\"PREF_CONTAINERS\""); // icons containers
|
||||||
fprintf (Gbl.F.Out,"<div class=\"PREF_CONTAINER\">"); // icons container
|
HTM_DIV_Begin ("class=\"PREF_CONTAINER\""); // icons container
|
||||||
|
|
||||||
/* Upload icon */
|
/* Upload icon */
|
||||||
Med_PutIconMediaUploader (Id,"ico_upl", // <id>_ico_upl
|
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)
|
const char *Title)
|
||||||
{
|
{
|
||||||
/***** Icon to activate form in media uploader *****/
|
/***** 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);
|
UniqueId,IdSuffix);
|
||||||
fprintf (Gbl.F.Out,"<a href=\"\" onclick=\"%s('%s');return false;\">"
|
fprintf (Gbl.F.Out,"<a href=\"\" onclick=\"%s('%s');return false;\">"
|
||||||
"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
|
"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
|
||||||
|
@ -1442,7 +1441,7 @@ void Med_ShowMedia (struct Media *Media,
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/***** Start media container *****/
|
/***** Start media container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassContainer);
|
HTM_DIV_Begin ("class=\"%s\"",ClassContainer);
|
||||||
|
|
||||||
switch (Media->Type)
|
switch (Media->Type)
|
||||||
{
|
{
|
||||||
|
@ -1622,11 +1621,11 @@ static void Med_ShowGIF (struct Media *Media,
|
||||||
FileNameMedia);
|
FileNameMedia);
|
||||||
|
|
||||||
/***** Show static PNG and animated GIF *****/
|
/***** Show static PNG and animated GIF *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MED_PLAY\""
|
HTM_DIV_Begin ("class=\"MED_PLAY\""
|
||||||
" onmouseover=\"toggleOnGIF(this,'%s');\""
|
" onmouseover=\"toggleOnGIF(this,'%s');\""
|
||||||
" onmouseout=\"toggleOffGIF(this,'%s');\">",
|
" onmouseout=\"toggleOffGIF(this,'%s');\"",
|
||||||
URL_GIF,
|
URL_GIF,
|
||||||
URL_PNG);
|
URL_PNG);
|
||||||
|
|
||||||
/* Image */
|
/* Image */
|
||||||
fprintf (Gbl.F.Out,"<img src=\"%s\" class=\"%s\" alt=\"\"",
|
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;
|
// allow="accelerometer; autoplay; encrypted-media;
|
||||||
// gyroscope; picture-in-picture" allowfullscreen>
|
// gyroscope; picture-in-picture" allowfullscreen>
|
||||||
// </iframe>
|
// </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\""
|
fprintf (Gbl.F.Out,"<iframe src=\"https://www.youtube.com/embed/%s\""
|
||||||
" frameborder=\"0\""
|
" frameborder=\"0\""
|
||||||
" allow=\"accelerometer; autoplay; encrypted-media;"
|
" 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%;"
|
// style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;"
|
||||||
// allowfullscreen>
|
// allowfullscreen>
|
||||||
// </iframe>
|
// </iframe>
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MED_EMBED_CONT\">");
|
HTM_DIV_Begin ("class=\"MED_EMBED_CONT\"");
|
||||||
fprintf (Gbl.F.Out,"<iframe src=\"%s\""
|
fprintf (Gbl.F.Out,"<iframe src=\"%s\""
|
||||||
" frameborder=\"0\""
|
" frameborder=\"0\""
|
||||||
" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\""
|
" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\""
|
||||||
|
|
21
swad_menu.c
21
swad_menu.c
|
@ -360,23 +360,21 @@ void Mnu_WriteMenuThisTab (void)
|
||||||
fprintf (Gbl.F.Out,"<li class=\"MENU_LIST_ITEM\">");
|
fprintf (Gbl.F.Out,"<li class=\"MENU_LIST_ITEM\">");
|
||||||
|
|
||||||
/***** Start container used to highlight this option *****/
|
/***** Start container used to highlight this option *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
IsTheSelectedAction ? "MENU_OPT_ON" :
|
IsTheSelectedAction ? "MENU_OPT_ON" :
|
||||||
"MENU_OPT_OFF");
|
"MENU_OPT_OFF");
|
||||||
|
|
||||||
/***** Begin form and link *****/
|
/***** Begin form and link *****/
|
||||||
Frm_StartForm (NumAct);
|
Frm_StartForm (NumAct);
|
||||||
Frm_LinkFormSubmit (Title,The_ClassTxtMenu[Gbl.Prefs.Theme],NULL);
|
Frm_LinkFormSubmit (Title,The_ClassTxtMenu[Gbl.Prefs.Theme],NULL);
|
||||||
|
|
||||||
/***** Icon *****/
|
/***** Icon *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MENU_ICO\""
|
HTM_DIV_Begin ("class=\"MENU_ICO\" style=\"background-image:url('%s/%s');\"",
|
||||||
" style=\"background-image:url('%s/%s');\">",
|
Gbl.Prefs.URLIconSet,
|
||||||
Gbl.Prefs.URLIconSet,
|
Act_GetIcon (NumAct));
|
||||||
Act_GetIcon (NumAct));
|
|
||||||
|
|
||||||
/***** Text *****/
|
/***** Text *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MENU_TEXT %s\">",
|
HTM_DIV_Begin ("class=\"MENU_TEXT %s\"",The_ClassTxtMenu[Gbl.Prefs.Theme]);
|
||||||
The_ClassTxtMenu[Gbl.Prefs.Theme]);
|
|
||||||
fprintf (Gbl.F.Out,"%s",Txt_MENU_TITLE[Gbl.Action.Tab][NumOptInMenu]);
|
fprintf (Gbl.F.Out,"%s",Txt_MENU_TITLE[Gbl.Action.Tab][NumOptInMenu]);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -417,9 +415,8 @@ void Mnu_PutIconsToSelectMenu (void)
|
||||||
Menu < Mnu_NUM_MENUS;
|
Menu < Mnu_NUM_MENUS;
|
||||||
Menu++)
|
Menu++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",Menu == Gbl.Prefs.Menu ? "PREF_ON" :
|
||||||
Menu == Gbl.Prefs.Menu ? "PREF_ON" :
|
"PREF_OFF");
|
||||||
"PREF_OFF");
|
|
||||||
Frm_StartForm (ActChgMnu);
|
Frm_StartForm (ActChgMnu);
|
||||||
Par_PutHiddenParamUnsigned ("Menu",(unsigned) Menu);
|
Par_PutHiddenParamUnsigned ("Menu",(unsigned) Menu);
|
||||||
Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Txt_MENU_NAMES[Menu]);
|
Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Txt_MENU_NAMES[Menu]);
|
||||||
|
|
|
@ -364,7 +364,7 @@ static void Msg_PutLinkToShowMorePotentialRecipients (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Show_more_recipients;
|
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,
|
Lay_PutContextualLinkIconTextOnSubmit (ActReqMsgUsr,NULL,
|
||||||
Msg_PutParamsShowMorePotentialRecipients,
|
Msg_PutParamsShowMorePotentialRecipients,
|
||||||
"users.svg",
|
"users.svg",
|
||||||
|
@ -442,16 +442,16 @@ static void Msg_ShowOneUniqueRecipient (void)
|
||||||
"PHOTO21x28",Pho_ZOOM,false);
|
"PHOTO21x28",Pho_ZOOM,false);
|
||||||
|
|
||||||
/****** Write user's IDs ******/
|
/****** Write user's IDs ******/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MSG_TO_ONE_RCP %s\">",
|
HTM_DIV_Begin ("class=\"MSG_TO_ONE_RCP %s\"",
|
||||||
Gbl.Usrs.Other.UsrDat.Accepted ? "DAT_SMALL_NOBR_N" :
|
Gbl.Usrs.Other.UsrDat.Accepted ? "DAT_SMALL_NOBR_N" :
|
||||||
"DAT_SMALL_NOBR");
|
"DAT_SMALL_NOBR");
|
||||||
ID_WriteUsrIDs (&Gbl.Usrs.Other.UsrDat,NULL);
|
ID_WriteUsrIDs (&Gbl.Usrs.Other.UsrDat,NULL);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Write user's name *****/
|
/***** Write user's name *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MSG_TO_ONE_RCP %s\">",
|
HTM_DIV_Begin ("class=\"MSG_TO_ONE_RCP %s\"",
|
||||||
Gbl.Usrs.Other.UsrDat.Accepted ? "DAT_SMALL_NOBR_N" :
|
Gbl.Usrs.Other.UsrDat.Accepted ? "DAT_SMALL_NOBR_N" :
|
||||||
"DAT_SMALL_NOBR");
|
"DAT_SMALL_NOBR");
|
||||||
fprintf (Gbl.F.Out,"%s",Gbl.Usrs.Other.UsrDat.FullName);
|
fprintf (Gbl.F.Out,"%s",Gbl.Usrs.Other.UsrDat.FullName);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -1665,7 +1665,7 @@ void Msg_ShowRecMsgs (void)
|
||||||
/***** Link to view banned users *****/
|
/***** Link to view banned users *****/
|
||||||
if (Msg_GetNumUsrsBannedByMe ())
|
if (Msg_GetNumUsrsBannedByMe ())
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
Msg_PutLinkToViewBannedUsers ();
|
Msg_PutLinkToViewBannedUsers ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -1759,14 +1759,14 @@ static void Msg_ShowSentOrReceivedMessages (void)
|
||||||
/* Form to see messages again */
|
/* Form to see messages again */
|
||||||
Frm_StartForm (ActionSee[Gbl.Msg.TypeOfMessages]);
|
Frm_StartForm (ActionSee[Gbl.Msg.TypeOfMessages]);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Msg_ShowFormSelectCourseSentOrRecMsgs ();
|
Msg_ShowFormSelectCourseSentOrRecMsgs ();
|
||||||
if (Gbl.Msg.TypeOfMessages == Msg_MESSAGES_RECEIVED)
|
if (Gbl.Msg.TypeOfMessages == Msg_MESSAGES_RECEIVED)
|
||||||
Msg_ShowFormToShowOnlyUnreadMessages ();
|
Msg_ShowFormToShowOnlyUnreadMessages ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
Msg_ShowFormToFilterMsgs ();
|
Msg_ShowFormToFilterMsgs ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
Frm_LinkFormSubmitAnimated (Txt_Update_messages,
|
Frm_LinkFormSubmitAnimated (Txt_Update_messages,
|
||||||
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
|
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
|
||||||
NULL);
|
NULL);
|
||||||
|
@ -3229,7 +3229,7 @@ void Msg_WriteMsgAuthor (struct UsrData *UsrDat,bool Enabled,const char *BgColor
|
||||||
HTM_TD_Begin ("class=\"LT %s\"",BgColor);
|
HTM_TD_Begin ("class=\"LT %s\"",BgColor);
|
||||||
else
|
else
|
||||||
HTM_TD_Begin ("class=\"LT\"");
|
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);
|
Usr_WriteFirstNameBRSurnames (UsrDat);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -3282,7 +3282,7 @@ bool Msg_WriteCrsOrgMsg (long CrsCod)
|
||||||
ThereIsOrgCrs = true;
|
ThereIsOrgCrs = true;
|
||||||
if ((FromThisCrs = (CrsCod == Gbl.Hierarchy.Crs.CrsCod))) // Message sent from current course
|
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);
|
fprintf (Gbl.F.Out,"(%s)",Txt_from_this_course);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -3291,7 +3291,7 @@ bool Msg_WriteCrsOrgMsg (long CrsCod)
|
||||||
/* Write course, including link */
|
/* Write course, including link */
|
||||||
Frm_StartFormGoTo (ActSeeCrsInf);
|
Frm_StartFormGoTo (ActSeeCrsInf);
|
||||||
Crs_PutParamCrsCod (Crs.CrsCod);
|
Crs_PutParamCrsCod (Crs.CrsCod);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"AUTHOR_TXT\">");
|
HTM_DIV_Begin ("class=\"AUTHOR_TXT\"");
|
||||||
fprintf (Gbl.F.Out,"(");
|
fprintf (Gbl.F.Out,"(");
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
||||||
Txt_Go_to_X,
|
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
|
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);
|
fprintf (Gbl.F.Out,"(%s)",Txt_no_course_of_origin);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -207,7 +207,7 @@ void Net_ShowWebsAndSocialNets (const struct UsrData *UsrDat)
|
||||||
char URL[Cns_MAX_BYTES_WWW + 1];
|
char URL[Cns_MAX_BYTES_WWW + 1];
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_WEBS\">");
|
HTM_DIV_Begin ("class=\"REC_WEBS\"");
|
||||||
|
|
||||||
/***** Show link to public profile *****/
|
/***** Show link to public profile *****/
|
||||||
Net_ShowAWebOrSocialNet (Prf_GetURLPublicProfile (URL,UsrDat->Nickname),
|
Net_ShowAWebOrSocialNet (Prf_GetURLPublicProfile (URL,UsrDat->Nickname),
|
||||||
|
@ -251,7 +251,7 @@ static void Net_ShowAWebOrSocialNet (const char *URL,
|
||||||
const char *Icon,const char *Title)
|
const char *Icon,const char *Title)
|
||||||
{
|
{
|
||||||
/***** Write link and icon *****/
|
/***** 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\">"
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" title=\"%s\">"
|
||||||
"<img src=\"%s/%s\""
|
"<img src=\"%s/%s\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
|
|
|
@ -469,7 +469,7 @@ void Not_ShowNotices (Not_Listing_t TypeNoticesListing,long HighlightNotCod)
|
||||||
RSS_UpdateRSSFileForACrs (&Gbl.Hierarchy.Crs);
|
RSS_UpdateRSSFileForACrs (&Gbl.Hierarchy.Crs);
|
||||||
|
|
||||||
/* Put a link to the RSS file */
|
/* 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=\"");
|
fprintf (Gbl.F.Out,"<a href=\"");
|
||||||
RSS_WriteRSSLink (Gbl.F.Out,Gbl.Hierarchy.Crs.CrsCod);
|
RSS_WriteRSSLink (Gbl.F.Out,Gbl.Hierarchy.Crs.CrsCod);
|
||||||
fprintf (Gbl.F.Out,"\" target=\"_blank\">"
|
fprintf (Gbl.F.Out,"\" target=\"_blank\">"
|
||||||
|
@ -654,12 +654,12 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
|
||||||
{
|
{
|
||||||
Lay_StartArticle (Anchor);
|
Lay_StartArticle (Anchor);
|
||||||
if (Highlight)
|
if (Highlight)
|
||||||
fprintf (Gbl.F.Out,"<div class=\"NOTICE_HIGHLIGHT\">");
|
HTM_DIV_Begin ("class=\"NOTICE_HIGHLIGHT\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Start yellow note *****/
|
/***** Start yellow note *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s %s\">",
|
HTM_DIV_Begin ("class=\"%s %s\"",
|
||||||
ContainerClass[Status],ContainerWidthClass[TypeNoticesListing]);
|
ContainerClass[Status],ContainerWidthClass[TypeNoticesListing]);
|
||||||
|
|
||||||
/***** Write the date in the top part of the yellow note *****/
|
/***** Write the date in the top part of the yellow note *****/
|
||||||
/* Write symbol to indicate if notice is obsolete or active */
|
/* 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 */
|
/* Write the date */
|
||||||
UniqueId++;
|
UniqueId++;
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",DateClass[Status]);
|
HTM_DIV_Begin ("class=\"%s\"",DateClass[Status]);
|
||||||
if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES)
|
if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES)
|
||||||
{
|
{
|
||||||
/* Form to view full notice */
|
/* Form to view full notice */
|
||||||
|
@ -712,12 +712,12 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
|
||||||
/***** Write the content of the notice *****/
|
/***** Write the content of the notice *****/
|
||||||
if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES)
|
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);
|
fprintf (Gbl.F.Out,"%s",Content);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Put form to view full notice */
|
/* 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
|
Not_SetNotCodToEdit (NotCod); // To be used as parameter
|
||||||
Lay_PutContextualLinkOnlyIcon (ActSeeOneNot,Anchor,Not_PutParams,
|
Lay_PutContextualLinkOnlyIcon (ActSeeOneNot,Anchor,Not_PutParams,
|
||||||
"ellipsis-h.svg",
|
"ellipsis-h.svg",
|
||||||
|
@ -726,14 +726,14 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",TextClass[Status]);
|
HTM_DIV_Begin ("class=\"%s\"",TextClass[Status]);
|
||||||
fprintf (Gbl.F.Out,"%s",Content);
|
fprintf (Gbl.F.Out,"%s",Content);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Write the author *****/
|
/***** Write the author *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"NOTICE_AUTHOR %s\">", // Limited width
|
HTM_DIV_Begin ("class=\"NOTICE_AUTHOR %s\"", // Limited width
|
||||||
AuthorClass[Status]);
|
AuthorClass[Status]);
|
||||||
Usr_UsrDataConstructor (&UsrDat);
|
Usr_UsrDataConstructor (&UsrDat);
|
||||||
UsrDat.UsrCod = UsrCod;
|
UsrDat.UsrCod = UsrCod;
|
||||||
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS)) // Get from the database the data of the autor
|
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS)) // Get from the database the data of the autor
|
||||||
|
|
|
@ -359,7 +359,7 @@ void Ntf_ShowMyNotifications (void)
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,SubQuery);
|
Gbl.Usrs.Me.UsrDat.UsrCod,SubQuery);
|
||||||
|
|
||||||
/***** Contextual links *****/
|
/***** Contextual links *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
|
|
||||||
/* Write form to show all notifications */
|
/* Write form to show all notifications */
|
||||||
Ntf_WriteFormAllNotifications (AllNotifications);
|
Ntf_WriteFormAllNotifications (AllNotifications);
|
||||||
|
|
|
@ -128,7 +128,7 @@ void Pag_WriteLinksToPagesCentered (Pag_WhatPaginate_t WhatPaginate,
|
||||||
long ThrCod,
|
long ThrCod,
|
||||||
struct Pagination *Pagination)
|
struct Pagination *Pagination)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Pag_WriteLinksToPages (WhatPaginate,
|
Pag_WriteLinksToPages (WhatPaginate,
|
||||||
ThrCod,
|
ThrCod,
|
||||||
Pagination,true,NULL,"PAG_TXT",false);
|
Pagination,true,NULL,"PAG_TXT",false);
|
||||||
|
|
|
@ -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_I_understand_that_this_action_can_not_be_undone;
|
||||||
extern const char *Txt_For_security_enter_your_password;
|
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\">"
|
fprintf (Gbl.F.Out,"<label class=\"%s\">"
|
||||||
"<input type=\"checkbox\" name=\"Consent\" value=\"Y\" />"
|
"<input type=\"checkbox\" name=\"Consent\" value=\"Y\" />"
|
||||||
"%s"
|
"%s"
|
||||||
|
|
30
swad_photo.c
30
swad_photo.c
|
@ -784,7 +784,7 @@ static bool Pho_ReceivePhotoAndDetectFaces (bool ItsMe,const struct UsrData *Usr
|
||||||
"%s/%s_map.jpg",
|
"%s/%s_map.jpg",
|
||||||
Cfg_PATH_PHOTO_TMP_PUBLIC,
|
Cfg_PATH_PHOTO_TMP_PUBLIC,
|
||||||
Gbl.UniqueNameEncrypted);
|
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\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/%s_map.jpg\""
|
||||||
" usemap=\"#faces_map\""
|
" usemap=\"#faces_map\""
|
||||||
" alt=\"%s\" title=\"%s\" />",
|
" alt=\"%s\" title=\"%s\" />",
|
||||||
|
@ -1207,18 +1207,17 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
|
||||||
if (PutZoomCode)
|
if (PutZoomCode)
|
||||||
{
|
{
|
||||||
Frm_SetUniqueId (IdCaption);
|
Frm_SetUniqueId (IdCaption);
|
||||||
fprintf (Gbl.F.Out,"<div id=\"%s\" class=\"NOT_SHOWN\">",
|
HTM_DIV_Begin ("id=\"%s\" class=\"NOT_SHOWN\"",IdCaption);
|
||||||
IdCaption);
|
|
||||||
|
|
||||||
/* First name and surnames */
|
/* 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);
|
Usr_WriteFirstNameBRSurnames (UsrDat);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Nickname */
|
/* Nickname */
|
||||||
if (UsrDat->Nickname[0])
|
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);
|
fprintf (Gbl.F.Out,"@%s",UsrDat->Nickname);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -1226,14 +1225,14 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
|
||||||
/* Institution full name and institution country */
|
/* Institution full name and institution country */
|
||||||
if (UsrDat->InsCod > 0)
|
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);
|
Ins_WriteInstitutionNameAndCty (UsrDat->InsCod);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
/* User's country */
|
/* User's country */
|
||||||
else if (UsrDat->CtyCod > 0)
|
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,
|
Cty_WriteCountryName (UsrDat->CtyCod,
|
||||||
NULL); // Don't put link to country
|
NULL); // Don't put link to country
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -1243,10 +1242,9 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
|
||||||
Usr_GetMainDeg (UsrDat->UsrCod,MainDegreeShrtName,&MaxRole);
|
Usr_GetMainDeg (UsrDat->UsrCod,MainDegreeShrtName,&MaxRole);
|
||||||
if (MainDegreeShrtName[0])
|
if (MainDegreeShrtName[0])
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE DAT_SMALL\">");
|
HTM_DIV_Begin ("class=\"ZOOM_TXT_LINE DAT_SMALL\"");
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ZOOM_DEG\""
|
HTM_DIV_Begin ("class=\"ZOOM_DEG\" style=\"background-image:url('%s/%s');\"",
|
||||||
" style=\"background-image:url('%s/%s');\">",
|
Cfg_URL_ICON_PUBLIC,Rol_Icons[MaxRole]);
|
||||||
Cfg_URL_ICON_PUBLIC,Rol_Icons[MaxRole]);
|
|
||||||
fprintf (Gbl.F.Out,"%s",
|
fprintf (Gbl.F.Out,"%s",
|
||||||
MainDegreeShrtName);
|
MainDegreeShrtName);
|
||||||
HTM_DIV_End ();
|
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)
|
if (UsrDat->Nickname[0]) // Get social data only if nickname is retrieved (in some actions)
|
||||||
{
|
{
|
||||||
Fol_GetNumFollow (UsrDat->UsrCod,&NumFollowing,&NumFollowers);
|
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>"
|
fprintf (Gbl.F.Out,"<span class=\"DAT_N_BOLD\">%u</span>"
|
||||||
"<span class=\"DAT_SMALL\"> %s </span>"
|
"<span class=\"DAT_SMALL\"> %s </span>"
|
||||||
"<span class=\"DAT_N_BOLD\">%u</span>"
|
"<span class=\"DAT_N_BOLD\">%u</span>"
|
||||||
|
@ -2013,7 +2011,7 @@ static void Pho_PutLinkToCalculateDegreeStats (void)
|
||||||
Deg_GetDataOfDegreeByCod (&Deg);
|
Deg_GetDataOfDegreeByCod (&Deg);
|
||||||
|
|
||||||
/***** Start div *****/
|
/***** Start div *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
|
|
||||||
/***** Begin form *****/
|
/***** Begin form *****/
|
||||||
Frm_StartForm (ActCalPhoDeg);
|
Frm_StartForm (ActCalPhoDeg);
|
||||||
|
@ -2490,8 +2488,8 @@ static void Pho_ShowDegreeAvgPhotoAndStat (struct Degree *Deg,
|
||||||
NumStds > 0 ? (int) (((NumStdsWithPhoto * 100.0) / NumStds) + 0.5) :
|
NumStds > 0 ? (int) (((NumStdsWithPhoto * 100.0) / NumStds) + 0.5) :
|
||||||
0);
|
0);
|
||||||
Frm_SetUniqueId (IdCaption);
|
Frm_SetUniqueId (IdCaption);
|
||||||
fprintf (Gbl.F.Out,"<div id=\"%s\" class=\"NOT_SHOWN\">",IdCaption);
|
HTM_DIV_Begin ("id=\"%s\" class=\"NOT_SHOWN\"",IdCaption);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE DAT_N\">");
|
HTM_DIV_Begin ("class=\"ZOOM_TXT_LINE DAT_N\"");
|
||||||
fprintf (Gbl.F.Out,"%s",PhotoCaption);
|
fprintf (Gbl.F.Out,"%s",PhotoCaption);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -2517,7 +2515,7 @@ static void Pho_ShowDegreeAvgPhotoAndStat (struct Degree *Deg,
|
||||||
PhotoWidth,PhotoHeight);
|
PhotoWidth,PhotoHeight);
|
||||||
|
|
||||||
/***** Caption *****/
|
/***** Caption *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CLASSPHOTO_CAPTION\">");
|
HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION\"");
|
||||||
fprintf (Gbl.F.Out,"%s<br />"
|
fprintf (Gbl.F.Out,"%s<br />"
|
||||||
"%d %s<br />"
|
"%d %s<br />"
|
||||||
"%d %s<br />"
|
"%d %s<br />"
|
||||||
|
|
|
@ -188,7 +188,7 @@ void Prf_RequestUserProfile (void)
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
{
|
{
|
||||||
/***** Put link to show my public profile and users to follow *****/
|
/***** 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 ();
|
Prf_PutLinkMyPublicProfile ();
|
||||||
Fol_PutLinkWhoToFollow ();
|
Fol_PutLinkWhoToFollow ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -288,7 +288,7 @@ bool Prf_ShowUserProfile (struct UsrData *UsrDat)
|
||||||
/***** Contextual links *****/
|
/***** Contextual links *****/
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
|
|
||||||
if (ItsMe)
|
if (ItsMe)
|
||||||
/* Put link to show another user's profile */
|
/* Put link to show another user's profile */
|
||||||
|
@ -404,7 +404,7 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
|
||||||
|
|
||||||
/***** Left list *****/
|
/***** Left list *****/
|
||||||
/* Start 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\">");
|
fprintf (Gbl.F.Out,"<ul class=\"PRF_FIG_UL DAT_NOBR_N\">");
|
||||||
|
|
||||||
/* Time since first click */
|
/* Time since first click */
|
||||||
|
@ -424,7 +424,7 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Right list *****/
|
/***** 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);
|
UsrIsBannedFromRanking = Usr_CheckIfUsrBanned (UsrDat->UsrCod);
|
||||||
if (!UsrIsBannedFromRanking)
|
if (!UsrIsBannedFromRanking)
|
||||||
|
@ -1780,7 +1780,7 @@ static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank)
|
||||||
{
|
{
|
||||||
Frm_StartForm (ActSeeOthPubPrf);
|
Frm_StartForm (ActSeeOthPubPrf);
|
||||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
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);
|
Frm_LinkFormSubmit (Txt_Another_user_s_profile,"DAT_SMALL",NULL);
|
||||||
Usr_WriteFirstNameBRSurnames (UsrDat);
|
Usr_WriteFirstNameBRSurnames (UsrDat);
|
||||||
fprintf (Gbl.F.Out,"</a>");
|
fprintf (Gbl.F.Out,"</a>");
|
||||||
|
|
|
@ -418,9 +418,9 @@ static void Prj_ShowFormToFilterByMy_All (void)
|
||||||
My_All <= (Prj_WhoseProjects_t) (Prj_NUM_WHOSE_PROJECTS - 1);
|
My_All <= (Prj_WhoseProjects_t) (Prj_NUM_WHOSE_PROJECTS - 1);
|
||||||
My_All++)
|
My_All++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
(Gbl.Prjs.Filter.My_All == My_All) ? "PREF_ON" :
|
(Gbl.Prjs.Filter.My_All == My_All) ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
Frm_StartForm (ActSeePrj);
|
Frm_StartForm (ActSeePrj);
|
||||||
Filter.My_All = My_All;
|
Filter.My_All = My_All;
|
||||||
Filter.PreNon = Gbl.Prjs.Filter.PreNon;
|
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 <= (Prj_PreassignedNonpreassig_t) (Prj_NUM_PREASSIGNED_NONPREASSIG - 1);
|
||||||
PreNon++)
|
PreNon++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
(Gbl.Prjs.Filter.PreNon & (1 << PreNon)) ? "PREF_ON" :
|
(Gbl.Prjs.Filter.PreNon & (1 << PreNon)) ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
Frm_StartForm (ActSeePrj);
|
Frm_StartForm (ActSeePrj);
|
||||||
Filter.My_All = Gbl.Prjs.Filter.My_All;
|
Filter.My_All = Gbl.Prjs.Filter.My_All;
|
||||||
Filter.PreNon = Gbl.Prjs.Filter.PreNon ^ (1 << PreNon); // Toggle
|
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 <= (Prj_HiddenVisibl_t) (Prj_NUM_HIDDEN_VISIBL - 1);
|
||||||
HidVis++)
|
HidVis++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
(Gbl.Prjs.Filter.HidVis & (1 << HidVis)) ? "PREF_ON" :
|
(Gbl.Prjs.Filter.HidVis & (1 << HidVis)) ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
Frm_StartForm (ActSeePrj);
|
Frm_StartForm (ActSeePrj);
|
||||||
Filter.My_All = Gbl.Prjs.Filter.My_All;
|
Filter.My_All = Gbl.Prjs.Filter.My_All;
|
||||||
Filter.PreNon = Gbl.Prjs.Filter.PreNon;
|
Filter.PreNon = Gbl.Prjs.Filter.PreNon;
|
||||||
|
@ -536,9 +536,9 @@ static void Prj_ShowFormToFilterByWarning (void)
|
||||||
Faultiness <= (Prj_Faultiness_t) (Prj_NUM_FAULTINESS - 1);
|
Faultiness <= (Prj_Faultiness_t) (Prj_NUM_FAULTINESS - 1);
|
||||||
Faultiness++)
|
Faultiness++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
(Gbl.Prjs.Filter.Faulti & (1 << Faultiness)) ? "PREF_ON" :
|
(Gbl.Prjs.Filter.Faulti & (1 << Faultiness)) ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
Frm_StartForm (ActSeePrj);
|
Frm_StartForm (ActSeePrj);
|
||||||
Filter.My_All = Gbl.Prjs.Filter.My_All;
|
Filter.My_All = Gbl.Prjs.Filter.My_All;
|
||||||
Filter.PreNon = Gbl.Prjs.Filter.PreNon;
|
Filter.PreNon = Gbl.Prjs.Filter.PreNon;
|
||||||
|
@ -2514,7 +2514,7 @@ static void Prj_PutFormsToRemEditOnePrj (const struct Project *Prj,
|
||||||
if (Prj_CheckIfICanLockProjects ())
|
if (Prj_CheckIfICanLockProjects ())
|
||||||
{
|
{
|
||||||
/* Put form to lock/unlock project edition */
|
/* 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);
|
Prj_FormLockUnlock (Prj);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -976,13 +976,14 @@ static void Rec_ListRecordsGsts (Rec_SharedRecordViewType_t TypeOfView)
|
||||||
|
|
||||||
if (TypeOfView == Rec_SHA_RECORD_LIST) // Listing several records
|
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 */
|
/* Link to print view */
|
||||||
Frm_StartForm (ActPrnRecSevGst);
|
Frm_StartForm (ActPrnRecSevGst);
|
||||||
Usr_PutHiddenParSelectedUsrsCods ();
|
Usr_PutHiddenParSelectedUsrsCods ();
|
||||||
Rec_ShowLinkToPrintPreviewOfRecords ();
|
Rec_ShowLinkToPrintPreviewOfRecords ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1006,19 +1007,20 @@ static void Rec_ListRecordsGsts (Rec_SharedRecordViewType_t TypeOfView)
|
||||||
"record_%u",
|
"record_%u",
|
||||||
NumUsr);
|
NumUsr);
|
||||||
Lay_StartSection (RecordSectionId);
|
Lay_StartSection (RecordSectionId);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_USR\"");
|
|
||||||
if (Gbl.Action.Act == ActPrnRecSevGst &&
|
if (Gbl.Action.Act == ActPrnRecSevGst &&
|
||||||
NumUsr != 0 &&
|
NumUsr != 0 &&
|
||||||
(NumUsr % Gbl.Usrs.Listing.RecsPerPag) == 0)
|
(NumUsr % Gbl.Usrs.Listing.RecsPerPag) == 0)
|
||||||
fprintf (Gbl.F.Out," style=\"page-break-before:always;\"");
|
HTM_DIV_Begin ("class=\"REC_USR\" style=\"page-break-before:always;\"");
|
||||||
fprintf (Gbl.F.Out,">");
|
else
|
||||||
|
HTM_DIV_Begin ("class=\"REC_USR\"");
|
||||||
|
|
||||||
/* Show optional alert */
|
/* Show optional alert */
|
||||||
if (UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod) // Selected user
|
if (UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod) // Selected user
|
||||||
Ale_ShowAlerts (NULL);
|
Ale_ShowAlerts (NULL);
|
||||||
|
|
||||||
/* Shared record */
|
/* Shared record */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
|
HTM_DIV_Begin ("class=\"REC_LEFT\"");
|
||||||
Rec_ShowSharedUsrRecord (TypeOfView,&UsrDat,RecordSectionId);
|
Rec_ShowSharedUsrRecord (TypeOfView,&UsrDat,RecordSectionId);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -1069,7 +1071,7 @@ static void Rec_ShowRecordOneStdCrs (void)
|
||||||
Rec_GetListRecordFieldsInCurrentCrs ();
|
Rec_GetListRecordFieldsInCurrentCrs ();
|
||||||
|
|
||||||
/***** Put contextual links *****/
|
/***** Put contextual links *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
|
|
||||||
/* Link to edit record fields */
|
/* Link to edit record fields */
|
||||||
if (Gbl.Usrs.Me.Role.Logged == Rol_TCH)
|
if (Gbl.Usrs.Me.Role.Logged == Rol_TCH)
|
||||||
|
@ -1089,10 +1091,10 @@ static void Rec_ShowRecordOneStdCrs (void)
|
||||||
Ale_ShowAlerts (NULL);
|
Ale_ShowAlerts (NULL);
|
||||||
|
|
||||||
/***** Start container for this user *****/
|
/***** Start container for this user *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_USR\">");
|
HTM_DIV_Begin ("class=\"REC_USR\"");
|
||||||
|
|
||||||
/***** Shared record *****/
|
/***** 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);
|
Rec_ShowSharedUsrRecord (Rec_SHA_RECORD_LIST,&Gbl.Usrs.Other.UsrDat,NULL);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -1105,7 +1107,7 @@ static void Rec_ShowRecordOneStdCrs (void)
|
||||||
ItsMe = Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod);
|
ItsMe = Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||||
if (ItsMe)
|
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);
|
Rec_ShowCrsRecord (Rec_CRS_MY_RECORD_AS_STUDENT_FORM,&Gbl.Usrs.Other.UsrDat,NULL);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -1113,7 +1115,7 @@ static void Rec_ShowRecordOneStdCrs (void)
|
||||||
case Rol_NET:
|
case Rol_NET:
|
||||||
case Rol_TCH:
|
case Rol_TCH:
|
||||||
case Rol_SYS_ADM:
|
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);
|
Rec_ShowCrsRecord (Rec_CRS_LIST_ONE_RECORD,&Gbl.Usrs.Other.UsrDat,NULL);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
break;
|
break;
|
||||||
|
@ -1172,7 +1174,7 @@ static void Rec_ListRecordsStds (Rec_SharedRecordViewType_t ShaTypeOfView,
|
||||||
|
|
||||||
if (ShaTypeOfView == Rec_SHA_RECORD_LIST)
|
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 */
|
/* Link to edit record fields */
|
||||||
if (Gbl.Usrs.Me.Role.Logged == Rol_TCH)
|
if (Gbl.Usrs.Me.Role.Logged == Rol_TCH)
|
||||||
|
@ -1183,6 +1185,7 @@ static void Rec_ListRecordsStds (Rec_SharedRecordViewType_t ShaTypeOfView,
|
||||||
Usr_PutHiddenParSelectedUsrsCods ();
|
Usr_PutHiddenParSelectedUsrsCods ();
|
||||||
Rec_ShowLinkToPrintPreviewOfRecords ();
|
Rec_ShowLinkToPrintPreviewOfRecords ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1208,19 +1211,20 @@ static void Rec_ListRecordsStds (Rec_SharedRecordViewType_t ShaTypeOfView,
|
||||||
"record_%u",
|
"record_%u",
|
||||||
NumUsr);
|
NumUsr);
|
||||||
Lay_StartSection (RecordSectionId);
|
Lay_StartSection (RecordSectionId);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_USR\"");
|
|
||||||
if (Gbl.Action.Act == ActPrnRecSevStd &&
|
if (Gbl.Action.Act == ActPrnRecSevStd &&
|
||||||
NumUsr != 0 &&
|
NumUsr != 0 &&
|
||||||
(NumUsr % Gbl.Usrs.Listing.RecsPerPag) == 0)
|
(NumUsr % Gbl.Usrs.Listing.RecsPerPag) == 0)
|
||||||
fprintf (Gbl.F.Out," style=\"page-break-before:always;\"");
|
HTM_DIV_Begin ("class=\"REC_USR\" style=\"page-break-before:always;\"");
|
||||||
fprintf (Gbl.F.Out,">");
|
else
|
||||||
|
HTM_DIV_Begin ("class=\"REC_USR\"");
|
||||||
|
|
||||||
/* Show optional alert */
|
/* Show optional alert */
|
||||||
if (UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod) // Selected user
|
if (UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod) // Selected user
|
||||||
Ale_ShowAlerts (NULL);
|
Ale_ShowAlerts (NULL);
|
||||||
|
|
||||||
/* Shared record */
|
/* Shared record */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
|
HTM_DIV_Begin ("class=\"REC_LEFT\"");
|
||||||
Rec_ShowSharedUsrRecord (ShaTypeOfView,&UsrDat,RecordSectionId);
|
Rec_ShowSharedUsrRecord (ShaTypeOfView,&UsrDat,RecordSectionId);
|
||||||
HTM_DIV_End ();
|
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...
|
(Gbl.Usrs.Me.Role.Logged == Rol_STD && // I am student in this course...
|
||||||
ItsMe)) // ...and it's me
|
ItsMe)) // ...and it's me
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
|
HTM_DIV_Begin ("class=\"REC_RIGHT\"");
|
||||||
Rec_ShowCrsRecord (CrsTypeOfView,&UsrDat,RecordSectionId);
|
Rec_ShowCrsRecord (CrsTypeOfView,&UsrDat,RecordSectionId);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -1299,7 +1303,7 @@ static void Rec_ShowRecordOneTchCrs (void)
|
||||||
ShowOfficeHours = Rec_GetParamShowOfficeHours ();
|
ShowOfficeHours = Rec_GetParamShowOfficeHours ();
|
||||||
|
|
||||||
/***** Show contextual menu *****/
|
/***** Show contextual menu *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
|
|
||||||
/* Show office hours? */
|
/* Show office hours? */
|
||||||
Rec_WriteFormShowOfficeHoursOneTch (ShowOfficeHours);
|
Rec_WriteFormShowOfficeHoursOneTch (ShowOfficeHours);
|
||||||
|
@ -1318,17 +1322,17 @@ static void Rec_ShowRecordOneTchCrs (void)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Start container for this user *****/
|
/***** Start container for this user *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_USR\">");
|
HTM_DIV_Begin ("class=\"REC_USR\"");
|
||||||
|
|
||||||
/***** Shared record *****/
|
/***** 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);
|
Rec_ShowSharedUsrRecord (Rec_SHA_RECORD_LIST,&Gbl.Usrs.Other.UsrDat,NULL);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Office hours *****/
|
/***** Office hours *****/
|
||||||
if (ShowOfficeHours)
|
if (ShowOfficeHours)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
|
HTM_DIV_Begin ("class=\"REC_RIGHT\"");
|
||||||
Gbl.TimeTable.Type = TT_TUTORING_TIMETABLE;
|
Gbl.TimeTable.Type = TT_TUTORING_TIMETABLE;
|
||||||
Box_StartBox (Width,Txt_TIMETABLE_TYPES[Gbl.TimeTable.Type],NULL,
|
Box_StartBox (Width,Txt_TIMETABLE_TYPES[Gbl.TimeTable.Type],NULL,
|
||||||
Hlp_USERS_Teachers_timetable,Box_NOT_CLOSABLE);
|
Hlp_USERS_Teachers_timetable,Box_NOT_CLOSABLE);
|
||||||
|
@ -1389,7 +1393,7 @@ static void Rec_ListRecordsTchs (Rec_SharedRecordViewType_t TypeOfView)
|
||||||
if (Gbl.Action.Act == ActSeeRecSevTch)
|
if (Gbl.Action.Act == ActSeeRecSevTch)
|
||||||
{
|
{
|
||||||
/***** Show contextual menu *****/
|
/***** Show contextual menu *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
|
|
||||||
/* Show office hours? */
|
/* Show office hours? */
|
||||||
Rec_WriteFormShowOfficeHoursSeveralTchs (ShowOfficeHours);
|
Rec_WriteFormShowOfficeHoursSeveralTchs (ShowOfficeHours);
|
||||||
|
@ -1429,26 +1433,27 @@ static void Rec_ListRecordsTchs (Rec_SharedRecordViewType_t TypeOfView)
|
||||||
"record_%u",
|
"record_%u",
|
||||||
NumUsr);
|
NumUsr);
|
||||||
Lay_StartSection (RecordSectionId);
|
Lay_StartSection (RecordSectionId);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_USR\"");
|
|
||||||
if (Gbl.Action.Act == ActPrnRecSevTch &&
|
if (Gbl.Action.Act == ActPrnRecSevTch &&
|
||||||
NumUsr != 0 &&
|
NumUsr != 0 &&
|
||||||
(NumUsr % Gbl.Usrs.Listing.RecsPerPag) == 0)
|
(NumUsr % Gbl.Usrs.Listing.RecsPerPag) == 0)
|
||||||
fprintf (Gbl.F.Out," style=\"page-break-before:always;\"");
|
HTM_DIV_Begin ("class=\"REC_USR\" style=\"page-break-before:always;\"");
|
||||||
fprintf (Gbl.F.Out,">");
|
else
|
||||||
|
HTM_DIV_Begin ("class=\"REC_USR\"");
|
||||||
|
|
||||||
/* Show optional alert */
|
/* Show optional alert */
|
||||||
if (UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod) // Selected user
|
if (UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod) // Selected user
|
||||||
Ale_ShowAlerts (NULL);
|
Ale_ShowAlerts (NULL);
|
||||||
|
|
||||||
/* Shared record */
|
/* Shared record */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
|
HTM_DIV_Begin ("class=\"REC_LEFT\"");
|
||||||
Rec_ShowSharedUsrRecord (TypeOfView,&UsrDat,RecordSectionId);
|
Rec_ShowSharedUsrRecord (TypeOfView,&UsrDat,RecordSectionId);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Office hours */
|
/* Office hours */
|
||||||
if (ShowOfficeHours)
|
if (ShowOfficeHours)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
|
HTM_DIV_Begin ("class=\"REC_RIGHT\"");
|
||||||
Gbl.TimeTable.Type = TT_TUTORING_TIMETABLE;
|
Gbl.TimeTable.Type = TT_TUTORING_TIMETABLE;
|
||||||
Box_StartBox (Width,Txt_TIMETABLE_TYPES[Gbl.TimeTable.Type],NULL,
|
Box_StartBox (Width,Txt_TIMETABLE_TYPES[Gbl.TimeTable.Type],NULL,
|
||||||
Hlp_USERS_Teachers_timetable,Box_NOT_CLOSABLE);
|
Hlp_USERS_Teachers_timetable,Box_NOT_CLOSABLE);
|
||||||
|
@ -2104,7 +2109,7 @@ void Rec_ShowSharedRecordUnmodifiable (struct UsrData *UsrDat)
|
||||||
UsrDat->Accepted = Usr_CheckIfUsrHasAcceptedInCurrentCrs (UsrDat);
|
UsrDat->Accepted = Usr_CheckIfUsrHasAcceptedInCurrentCrs (UsrDat);
|
||||||
|
|
||||||
/***** Show user's record *****/
|
/***** 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);
|
Rec_ShowSharedUsrRecord (Rec_SHA_OTHER_USR_CHECK,UsrDat,NULL);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -2479,7 +2484,7 @@ static void Rec_PutIconsCommands (void)
|
||||||
Gbl.Record.UsrDat);
|
Gbl.Record.UsrDat);
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_ICO\">");
|
HTM_DIV_Begin ("class=\"FRAME_ICO\"");
|
||||||
|
|
||||||
if (ItsMe)
|
if (ItsMe)
|
||||||
/***** Button to edit my record card *****/
|
/***** Button to edit my record card *****/
|
||||||
|
@ -2746,7 +2751,7 @@ static void Rec_ShowPhoto (struct UsrData *UsrDat)
|
||||||
static void Rec_ShowFullName (struct UsrData *UsrDat)
|
static void Rec_ShowFullName (struct UsrData *UsrDat)
|
||||||
{
|
{
|
||||||
HTM_TD_Begin ("class=\"REC_C2_MID LT\"");
|
HTM_TD_Begin ("class=\"REC_C2_MID LT\"");
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_NAME\">");
|
HTM_DIV_Begin ("class=\"REC_NAME\"");
|
||||||
|
|
||||||
/***** First name *****/
|
/***** First name *****/
|
||||||
fprintf (Gbl.F.Out,"%s<br />",UsrDat->FirstName);
|
fprintf (Gbl.F.Out,"%s<br />",UsrDat->FirstName);
|
||||||
|
@ -2772,7 +2777,7 @@ static void Rec_ShowNickname (struct UsrData *UsrDat,bool PutFormLinks)
|
||||||
bool ItsMe;
|
bool ItsMe;
|
||||||
|
|
||||||
HTM_TD_Begin ("class=\"REC_C2_MID LB\"");
|
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 (UsrDat->Nickname[0])
|
||||||
{
|
{
|
||||||
if (PutFormLinks)
|
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\"");
|
HTM_TD_Begin ("class=\"REC_C2_BOT REC_DAT_BOLD LM\"");
|
||||||
if (UsrDat->Email[0])
|
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))
|
if (Mai_ICanSeeOtherUsrEmail (UsrDat))
|
||||||
fprintf (Gbl.F.Out,"<a href=\"mailto:%s\" class=\"REC_DAT_BOLD\">"
|
fprintf (Gbl.F.Out,"<a href=\"mailto:%s\" class=\"REC_DAT_BOLD\">"
|
||||||
"%s"
|
"%s"
|
||||||
|
@ -3765,7 +3770,7 @@ static void Rec_WriteLinkToDataProtectionClause (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_DATA_PROTECTION_CLAUSE;
|
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>",
|
fprintf (Gbl.F.Out,"<a class=\"TIT\" href=\"%s/\" target=\"_blank\">%s</a>",
|
||||||
Cfg_URL_DATA_PROTECTION_PUBLIC,
|
Cfg_URL_DATA_PROTECTION_PUBLIC,
|
||||||
Txt_DATA_PROTECTION_CLAUSE);
|
Txt_DATA_PROTECTION_CLAUSE);
|
||||||
|
@ -3963,10 +3968,10 @@ void Rec_ShowMySharedRecordAndMore (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_USR\">");
|
HTM_DIV_Begin ("class=\"REC_USR\"");
|
||||||
|
|
||||||
/***** Left part *****/
|
/***** Left part *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
|
HTM_DIV_Begin ("class=\"REC_LEFT\"");
|
||||||
|
|
||||||
/* My shared record card */
|
/* My shared record card */
|
||||||
Rec_ShowSharedUsrRecord (Rec_SHA_MY_RECORD_FORM,&Gbl.Usrs.Me.UsrDat,NULL);
|
Rec_ShowSharedUsrRecord (Rec_SHA_MY_RECORD_FORM,&Gbl.Usrs.Me.UsrDat,NULL);
|
||||||
|
@ -3975,7 +3980,7 @@ void Rec_ShowMySharedRecordAndMore (void)
|
||||||
|
|
||||||
/***** Right part *****/
|
/***** Right part *****/
|
||||||
/* Start container for 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 */
|
/* My institution, centre and department */
|
||||||
Rec_ShowFormMyInsCtrDpt (IAmATeacher);
|
Rec_ShowFormMyInsCtrDpt (IAmATeacher);
|
||||||
|
|
|
@ -274,7 +274,7 @@ static void Rep_PutLinkToMyUsageReport (struct Rep_Report *Report)
|
||||||
Rep_TitleReport (&Report->CurrentTimeUTC);
|
Rep_TitleReport (&Report->CurrentTimeUTC);
|
||||||
|
|
||||||
/***** Put anchor and report filename *****/
|
/***** 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\""
|
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"FILENAME_TXT\""
|
||||||
" title=\"%s\" target=\"_blank\">"
|
" title=\"%s\" target=\"_blank\">"
|
||||||
"<img src=\"%s/file-alt.svg\" alt=\"%s\""
|
"<img src=\"%s/file-alt.svg\" alt=\"%s\""
|
||||||
|
@ -287,7 +287,8 @@ static void Rep_PutLinkToMyUsageReport (struct Rep_Report *Report)
|
||||||
Txt_Report,
|
Txt_Report,
|
||||||
Report->FilenameReport);
|
Report->FilenameReport);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
fprintf (Gbl.F.Out,"<div class=\"DAT_LIGHT\">");
|
|
||||||
|
HTM_DIV_Begin ("class=\"DAT_LIGHT\"");
|
||||||
fprintf (Gbl.F.Out,"%s",
|
fprintf (Gbl.F.Out,"%s",
|
||||||
Txt_This_link_will_remain_active_as_long_as_your_user_s_account_exists);
|
Txt_This_link_will_remain_active_as_long_as_your_user_s_account_exists);
|
||||||
HTM_DIV_End ();
|
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_User[Usr_NUM_SEXS];
|
||||||
extern const char *Txt_Date;
|
extern const char *Txt_Date;
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TITLE_REPORT DAT\">");
|
HTM_DIV_Begin ("class=\"TITLE_REPORT DAT\"");
|
||||||
|
|
||||||
/***** User *****/
|
/***** User *****/
|
||||||
fprintf (Gbl.F.Out,"%s: <span class=\"DAT_N_BOLD\">%s</span>",
|
fprintf (Gbl.F.Out,"%s: <span class=\"DAT_N_BOLD\">%s</span>",
|
||||||
|
|
|
@ -134,7 +134,7 @@ static void Sch_PutFormToSearchWithWhatToSearchAndScope (Act_Action_t Action,Hie
|
||||||
Sch_WhatToSearch_t WhatToSearch;
|
Sch_WhatToSearch_t WhatToSearch;
|
||||||
|
|
||||||
/***** Start box *****/
|
/***** Start box *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Box_StartBox (NULL,Txt_Search,Crs_PutIconToSelectMyCourses,
|
Box_StartBox (NULL,Txt_Search,Crs_PutIconToSelectMyCourses,
|
||||||
Hlp_START_Search,Box_NOT_CLOSABLE);
|
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,
|
/***** Scope (whole platform, current country, current institution,
|
||||||
current centre, current degree or current course) *****/
|
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: ",
|
fprintf (Gbl.F.Out,"<label class=\"%s\">%s: ",
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope);
|
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope);
|
||||||
Gbl.Scope.Allowed = 1 << Hie_SYS |
|
Gbl.Scope.Allowed = 1 << Hie_SYS |
|
||||||
|
@ -228,13 +228,15 @@ static bool Sch_CheckIfIHavePermissionToSearch (Sch_WhatToSearch_t WhatToSearch)
|
||||||
|
|
||||||
void Sch_PutFormToSearchInPageTopHeading (void)
|
void Sch_PutFormToSearchInPageTopHeading (void)
|
||||||
{
|
{
|
||||||
|
HTM_DIV_Begin ("id=\"head_row_1_search\"");
|
||||||
|
|
||||||
/***** Put form *****/
|
/***** Put form *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"head_row_1_search\">");
|
|
||||||
Frm_StartForm (ActSch);
|
Frm_StartForm (ActSch);
|
||||||
Sco_PutParamScope ("ScopeSch",Hie_SYS);
|
Sco_PutParamScope ("ScopeSch",Hie_SYS);
|
||||||
Sch_PutInputStringToSearch ("head_search_text");
|
Sch_PutInputStringToSearch ("head_search_text");
|
||||||
Sch_PutMagnifyingGlassButton ("search-white.svg");
|
Sch_PutMagnifyingGlassButton ("search-white.svg");
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
||||||
HTM_DIV_End (); // head_row_1_search
|
HTM_DIV_End (); // head_row_1_search
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,32 +79,41 @@ void Set_EditSettings (void)
|
||||||
/***** Internationalization: language, first day of week, date format *****/
|
/***** Internationalization: language, first day of week, date format *****/
|
||||||
Box_StartBox (NULL,Txt_Internationalization,NULL,
|
Box_StartBox (NULL,Txt_Internationalization,NULL,
|
||||||
Hlp_PROFILE_Settings_internationalization,Box_NOT_CLOSABLE);
|
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
|
Lan_PutBoxToSelectLanguage (); // 1. Language
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_INLINE\">");
|
|
||||||
|
HTM_DIV_Begin ("class=\"FRAME_INLINE\"");
|
||||||
Cal_PutIconsToSelectFirstDayOfWeek (); // 2. First day of week
|
Cal_PutIconsToSelectFirstDayOfWeek (); // 2. First day of week
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_INLINE\">");
|
|
||||||
|
HTM_DIV_Begin ("class=\"FRAME_INLINE\"");
|
||||||
Dat_PutBoxToSelectDateFormat (); // 3. Date format
|
Dat_PutBoxToSelectDateFormat (); // 3. Date format
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
Box_EndBox ();
|
Box_EndBox ();
|
||||||
|
|
||||||
/***** Design: icon set, menu, theme, side columns *****/
|
/***** Design: icon set, menu, theme, side columns *****/
|
||||||
Box_StartBox (NULL,Txt_Design,NULL,
|
Box_StartBox (NULL,Txt_Design,NULL,
|
||||||
Hlp_PROFILE_Settings_design,Box_NOT_CLOSABLE);
|
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
|
Ico_PutIconsToSelectIconSet (); // 4. Icon set
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_INLINE\">");
|
|
||||||
|
HTM_DIV_Begin ("class=\"FRAME_INLINE\"");
|
||||||
Mnu_PutIconsToSelectMenu (); // 5. Menu
|
Mnu_PutIconsToSelectMenu (); // 5. Menu
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_INLINE\">");
|
|
||||||
|
HTM_DIV_Begin ("class=\"FRAME_INLINE\"");
|
||||||
The_PutIconsToSelectTheme (); // 6. Theme
|
The_PutIconsToSelectTheme (); // 6. Theme
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_INLINE\">");
|
|
||||||
|
HTM_DIV_Begin ("class=\"FRAME_INLINE\"");
|
||||||
Set_PutIconsToSelectSideCols (); // 7. Side columns
|
Set_PutIconsToSelectSideCols (); // 7. Side columns
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
Box_EndBox ();
|
Box_EndBox ();
|
||||||
|
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
|
@ -246,9 +255,8 @@ static void Set_PutIconsToSelectSideCols (void)
|
||||||
SideCols <= Lay_SHOW_BOTH_COLUMNS;
|
SideCols <= Lay_SHOW_BOTH_COLUMNS;
|
||||||
SideCols++)
|
SideCols++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",SideCols == Gbl.Prefs.SideCols ? "PREF_ON" :
|
||||||
SideCols == Gbl.Prefs.SideCols ? "PREF_ON" :
|
"PREF_OFF");
|
||||||
"PREF_OFF");
|
|
||||||
Frm_StartForm (ActChgCol);
|
Frm_StartForm (ActChgCol);
|
||||||
Par_PutHiddenParamUnsigned ("SideCols",SideCols);
|
Par_PutHiddenParamUnsigned ("SideCols",SideCols);
|
||||||
snprintf (Icon,sizeof (Icon),
|
snprintf (Icon,sizeof (Icon),
|
||||||
|
@ -386,7 +394,7 @@ unsigned Set_GetParamSideCols (void)
|
||||||
*/
|
*/
|
||||||
void Set_StartSettingsHead (void)
|
void Set_StartSettingsHead (void)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"PREF_CONTAINERS\">");
|
HTM_DIV_Begin ("class=\"PREF_CONTAINERS\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Set_EndSettingsHead (void)
|
void Set_EndSettingsHead (void)
|
||||||
|
@ -396,7 +404,7 @@ void Set_EndSettingsHead (void)
|
||||||
|
|
||||||
void Set_StartOneSettingSelector (void)
|
void Set_StartOneSettingSelector (void)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"PREF_CONTAINER\">");
|
HTM_DIV_Begin ("class=\"PREF_CONTAINER\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Set_EndOneSettingSelector (void)
|
void Set_EndOneSettingSelector (void)
|
||||||
|
|
|
@ -316,7 +316,7 @@ void Sta_AskShowCrsHits (void)
|
||||||
unsigned long i;
|
unsigned long i;
|
||||||
|
|
||||||
/***** Contextual links *****/
|
/***** 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 */
|
/* Put form to go to test edition and configuration */
|
||||||
Sta_PutLinkToGlobalHits ();
|
Sta_PutLinkToGlobalHits ();
|
||||||
|
@ -523,7 +523,7 @@ void Sta_AskShowGblHits (void)
|
||||||
Sta_ClicksGroupedBy_t ClicksGroupedBy;
|
Sta_ClicksGroupedBy_t ClicksGroupedBy;
|
||||||
|
|
||||||
/***** Contextual links *****/
|
/***** 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 */
|
/* Put form to go to test edition and configuration */
|
||||||
Sta_PutLinkToCourseHits ();
|
Sta_PutLinkToCourseHits ();
|
||||||
|
@ -3995,7 +3995,7 @@ void Sta_ShowLastClicks (void)
|
||||||
extern const char *Txt_Last_clicks_in_real_time;
|
extern const char *Txt_Last_clicks_in_real_time;
|
||||||
|
|
||||||
/***** Contextual links *****/
|
/***** 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 */
|
/* Put form to go to test edition and configuration */
|
||||||
Sta_PutLinkToGlobalHits ();
|
Sta_PutLinkToGlobalHits ();
|
||||||
|
@ -4010,10 +4010,9 @@ void Sta_ShowLastClicks (void)
|
||||||
Hlp_USERS_Connected_last_clicks,Box_NOT_CLOSABLE);
|
Hlp_USERS_Connected_last_clicks,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
/***** Get and show last clicks *****/
|
/***** Get and show last clicks *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"lastclicks\"" // Used for AJAX based refresh
|
HTM_DIV_Begin ("id=\"lastclicks\" class=\"CM\""); // Used for AJAX based refresh
|
||||||
" class=\"CM\">");
|
|
||||||
Sta_GetAndShowLastClicks ();
|
Sta_GetAndShowLastClicks ();
|
||||||
HTM_DIV_End (); // Used for AJAX based refresh
|
HTM_DIV_End (); // Used for AJAX based refresh
|
||||||
|
|
||||||
/***** End box *****/
|
/***** End box *****/
|
||||||
Box_EndBox ();
|
Box_EndBox ();
|
||||||
|
|
|
@ -537,7 +537,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
|
||||||
Lay_EndArticle ();
|
Lay_EndArticle ();
|
||||||
|
|
||||||
/* Number of questions and number of distinct users who have already answered this survey */
|
/* 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" :
|
Svy.Status.Visible ? "ASG_GRP" :
|
||||||
"ASG_GRP_LIGHT");
|
"ASG_GRP_LIGHT");
|
||||||
fprintf (Gbl.F.Out,"%s: %u; %s: %u",
|
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,
|
Txt_No_of_users,
|
||||||
Svy.NumUsrs);
|
Svy.NumUsrs);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
/* Status of the survey */
|
/* Status of the survey */
|
||||||
|
@ -560,7 +561,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
|
||||||
/* Possible button to answer this survey */
|
/* Possible button to answer this survey */
|
||||||
if (Svy.Status.ICanAnswer)
|
if (Svy.Status.ICanAnswer)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"BUTTONS_AFTER_ALERT\">");
|
HTM_DIV_Begin ("class=\"BUTTONS_AFTER_ALERT\"");
|
||||||
|
|
||||||
Frm_StartForm (ActSeeSvy);
|
Frm_StartForm (ActSeeSvy);
|
||||||
Svy_PutParamSvyCod (Svy.SvyCod);
|
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 */
|
/* Possible button to see the result of the survey */
|
||||||
else if (Svy.Status.ICanViewResults)
|
else if (Svy.Status.ICanViewResults)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"BUTTONS_AFTER_ALERT\">");
|
HTM_DIV_Begin ("class=\"BUTTONS_AFTER_ALERT\"");
|
||||||
|
|
||||||
Frm_StartForm (ActSeeSvy);
|
Frm_StartForm (ActSeeSvy);
|
||||||
Svy_PutParamSvyCod (Svy.SvyCod);
|
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);
|
HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
|
||||||
|
|
||||||
/* Scope of the survey */
|
/* Scope of the survey */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",Svy.Status.Visible ? "ASG_GRP" :
|
||||||
Svy.Status.Visible ? "ASG_GRP" :
|
"ASG_GRP_LIGHT");
|
||||||
"ASG_GRP_LIGHT");
|
|
||||||
fprintf (Gbl.F.Out,"%s: ",Txt_Scope);
|
fprintf (Gbl.F.Out,"%s: ",Txt_Scope);
|
||||||
switch (Svy.Scope)
|
switch (Svy.Scope)
|
||||||
{
|
{
|
||||||
|
@ -641,9 +641,8 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Users' roles who can answer the survey */
|
/* Users' roles who can answer the survey */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",Svy.Status.Visible ? "ASG_GRP" :
|
||||||
Svy.Status.Visible ? "ASG_GRP" :
|
"ASG_GRP_LIGHT");
|
||||||
"ASG_GRP_LIGHT");
|
|
||||||
fprintf (Gbl.F.Out,"%s:<br />",Txt_Users);
|
fprintf (Gbl.F.Out,"%s:<br />",Txt_Users);
|
||||||
Rol_WriteSelectorRoles (1 << Rol_STD |
|
Rol_WriteSelectorRoles (1 << Rol_STD |
|
||||||
1 << Rol_NET |
|
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,
|
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
|
||||||
Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML 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
|
Str_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
|
||||||
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">",
|
HTM_DIV_Begin ("class=\"PAR %s\"",Svy.Status.Visible ? "DAT" :
|
||||||
Svy.Status.Visible ? "DAT" :
|
"DAT_LIGHT");
|
||||||
"DAT_LIGHT");
|
|
||||||
fprintf (Gbl.F.Out,"%s",Txt);
|
fprintf (Gbl.F.Out,"%s",Txt);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
@ -2445,9 +2443,8 @@ static void Svy_GetAndWriteNamesOfGrpsAssociatedToSvy (struct Survey *Svy)
|
||||||
Svy->SvyCod);
|
Svy->SvyCod);
|
||||||
|
|
||||||
/***** Write heading *****/
|
/***** Write heading *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",Svy->Status.Visible ? "ASG_GRP" :
|
||||||
Svy->Status.Visible ? "ASG_GRP" :
|
"ASG_GRP_LIGHT");
|
||||||
"ASG_GRP_LIGHT");
|
|
||||||
fprintf (Gbl.F.Out,"%s: ",NumRows == 1 ? Txt_Group :
|
fprintf (Gbl.F.Out,"%s: ",NumRows == 1 ? Txt_Group :
|
||||||
Txt_Groups);
|
Txt_Groups);
|
||||||
|
|
||||||
|
|
|
@ -141,7 +141,7 @@ void Syl_PutFormWhichSyllabus (void)
|
||||||
|
|
||||||
/***** Form to select which syllabus I want to see (lectures/practicals) *****/
|
/***** Form to select which syllabus I want to see (lectures/practicals) *****/
|
||||||
Frm_StartForm (ActSeeSyl);
|
Frm_StartForm (ActSeeSyl);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
fprintf (Gbl.F.Out,"<ul class=\"LIST_LEFT\">");
|
fprintf (Gbl.F.Out,"<ul class=\"LIST_LEFT\">");
|
||||||
|
|
||||||
for (WhichSyllabus = (Syl_WhichSyllabus_t) 0;
|
for (WhichSyllabus = (Syl_WhichSyllabus_t) 0;
|
||||||
|
|
|
@ -99,7 +99,7 @@ void Tab_DrawTabs (void)
|
||||||
};
|
};
|
||||||
|
|
||||||
/***** Start tabs container *****/
|
/***** 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\">"
|
fprintf (Gbl.F.Out,"<nav id=\"tabs\">"
|
||||||
"<ul class=\"LIST_TABS\">");
|
"<ul class=\"LIST_TABS\">");
|
||||||
|
|
||||||
|
@ -142,9 +142,9 @@ void Tab_DrawTabs (void)
|
||||||
Tab_GetIcon (NumTab),
|
Tab_GetIcon (NumTab),
|
||||||
Txt_TABS_TXT[NumTab],
|
Txt_TABS_TXT[NumTab],
|
||||||
Txt_TABS_TXT[NumTab]);
|
Txt_TABS_TXT[NumTab]);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TAB_TXT %s\">",
|
HTM_DIV_Begin ("class=\"TAB_TXT %s\"",
|
||||||
NumTab == Gbl.Action.Tab ? The_ClassTxtTabOn[Gbl.Prefs.Theme] :
|
NumTab == Gbl.Action.Tab ? The_ClassTxtTabOn[Gbl.Prefs.Theme] :
|
||||||
The_ClassTxtTabOff[Gbl.Prefs.Theme]);
|
The_ClassTxtTabOff[Gbl.Prefs.Theme]);
|
||||||
fprintf (Gbl.F.Out,"%s",Txt_TABS_TXT[NumTab]);
|
fprintf (Gbl.F.Out,"%s",Txt_TABS_TXT[NumTab]);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
fprintf (Gbl.F.Out,"</a>");
|
fprintf (Gbl.F.Out,"</a>");
|
||||||
|
|
50
swad_test.c
50
swad_test.c
|
@ -405,7 +405,7 @@ static void Tst_PutFormToViewTstResults (Act_Action_t Action)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Results;
|
extern const char *Txt_Results;
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
Lay_PutContextualLinkIconText (Action,NULL,NULL,
|
Lay_PutContextualLinkIconText (Action,NULL,NULL,
|
||||||
"tasks.svg",
|
"tasks.svg",
|
||||||
Txt_Results);
|
Txt_Results);
|
||||||
|
@ -469,7 +469,7 @@ void Tst_ShowNewTest (void)
|
||||||
HTM_TABLE_End ();
|
HTM_TABLE_End ();
|
||||||
|
|
||||||
/***** Test result will be saved? *****/
|
/***** Test result will be saved? *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
fprintf (Gbl.F.Out,"<label class=\"%s\">"
|
fprintf (Gbl.F.Out,"<label class=\"%s\">"
|
||||||
"<input type=\"checkbox\" name=\"Save\""
|
"<input type=\"checkbox\" name=\"Save\""
|
||||||
" value=\"Y\"",
|
" value=\"Y\"",
|
||||||
|
@ -558,7 +558,7 @@ void Tst_AssessTest (void)
|
||||||
/***** Header *****/
|
/***** Header *****/
|
||||||
if (Gbl.Usrs.Me.IBelongToCurrentCrs)
|
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);
|
fprintf (Gbl.F.Out,Txt_Test_No_X_that_you_make_in_this_course,NumTst);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -641,7 +641,7 @@ void Tst_ShowTstTotalMark (unsigned NumQsts,double TotalScore)
|
||||||
double TotalScoreOverSCORE_MAX = TotalScore * Tst_SCORE_MAX / (double) NumQsts;
|
double TotalScoreOverSCORE_MAX = TotalScore * Tst_SCORE_MAX / (double) NumQsts;
|
||||||
|
|
||||||
/***** Write total mark ****/
|
/***** 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>",
|
fprintf (Gbl.F.Out,"%s: <span class=\"%s\">%.2lf (%.2lf %s %u)</span>",
|
||||||
Txt_Score,
|
Txt_Score,
|
||||||
(TotalScoreOverSCORE_MAX >= (double) TotalScoreOverSCORE_MAX / 2.0) ? "ANS_OK" :
|
(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);
|
HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd);
|
||||||
|
|
||||||
/***** Write number of question *****/
|
/***** 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);
|
fprintf (Gbl.F.Out,"%u",NumQst + 1);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Write answer type (row[2]) *****/
|
/***** Write answer type (row[2]) *****/
|
||||||
Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (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]);
|
fprintf (Gbl.F.Out,"%s",Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -1105,7 +1105,7 @@ void Tst_WriteQstStem (const char *Stem,const char *ClassStem)
|
||||||
StemRigorousHTML,StemLength,false);
|
StemRigorousHTML,StemLength,false);
|
||||||
|
|
||||||
/***** Write the stem *****/
|
/***** Write the stem *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassStem);
|
HTM_DIV_Begin ("class=\"%s\"",ClassStem);
|
||||||
fprintf (Gbl.F.Out,"%s",StemRigorousHTML);
|
fprintf (Gbl.F.Out,"%s",StemRigorousHTML);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -1133,7 +1133,7 @@ static void Tst_PutFormToEditQstMedia (struct Media *Media,int NumMediaInForm,
|
||||||
Med_SetParamNames (&ParamUploadMedia,NumMediaInForm);
|
Med_SetParamNames (&ParamUploadMedia,NumMediaInForm);
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TEST_MED_EDIT_FORM\">");
|
HTM_DIV_Begin ("class=\"TEST_MED_EDIT_FORM\"");
|
||||||
|
|
||||||
/***** Choice 1: No media *****/
|
/***** Choice 1: No media *****/
|
||||||
fprintf (Gbl.F.Out,"<label class=\"%s\">"
|
fprintf (Gbl.F.Out,"<label class=\"%s\">"
|
||||||
|
@ -1209,7 +1209,7 @@ void Tst_WriteQstFeedback (const char *Feedback,const char *ClassFeedback)
|
||||||
FeedbackRigorousHTML,FeedbackLength,false);
|
FeedbackRigorousHTML,FeedbackLength,false);
|
||||||
|
|
||||||
/***** Write the feedback *****/
|
/***** Write the feedback *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassFeedback);
|
HTM_DIV_Begin ("class=\"%s\"",ClassFeedback);
|
||||||
fprintf (Gbl.F.Out,"%s",FeedbackRigorousHTML);
|
fprintf (Gbl.F.Out,"%s",FeedbackRigorousHTML);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -1285,7 +1285,7 @@ void Tst_ShowFormAskEditTsts (void)
|
||||||
unsigned long NumRows;
|
unsigned long NumRows;
|
||||||
|
|
||||||
/***** Contextual menu *****/
|
/***** 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
|
TsI_PutFormToImportQuestions (); // Put link (form) to import questions from XML file
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -2404,7 +2404,7 @@ void Tst_ListQuestionsToEdit (void)
|
||||||
if ((NumRows = Tst_GetQuestions (&mysql_res)) != 0) // Query database
|
if ((NumRows = Tst_GetQuestions (&mysql_res)) != 0) // Query database
|
||||||
{
|
{
|
||||||
/* Buttons for edition */
|
/* Buttons for edition */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
if (Gbl.Test.XML.CreateXML)
|
if (Gbl.Test.XML.CreateXML)
|
||||||
/* Create XML file for exporting questions
|
/* Create XML file for exporting questions
|
||||||
and put a link to download it */
|
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);
|
HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd);
|
||||||
|
|
||||||
/* Write number of question */
|
/* 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);
|
fprintf (Gbl.F.Out,"%lu",NumRow + 1);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Write answer type (row[2]) */
|
/* Write answer type (row[2]) */
|
||||||
Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (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]);
|
fprintf (Gbl.F.Out,"%s",Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -3412,7 +3412,7 @@ void Tst_WriteAnswersEdit (long QstCod)
|
||||||
HTM_TD_Begin ("class=\"LT\"");
|
HTM_TD_Begin ("class=\"LT\"");
|
||||||
|
|
||||||
/* Write the text of the answer and the media */
|
/* 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);
|
fprintf (Gbl.F.Out,"%s",Answer);
|
||||||
Med_ShowMedia (&Gbl.Test.Answer.Options[NumOpt].Media,
|
Med_ShowMedia (&Gbl.Test.Answer.Options[NumOpt].Media,
|
||||||
"TEST_MED_EDIT_LIST_CONTAINER",
|
"TEST_MED_EDIT_LIST_CONTAINER",
|
||||||
|
@ -3420,10 +3420,11 @@ void Tst_WriteAnswersEdit (long QstCod)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Write the text of the feedback */
|
/* Write the text of the feedback */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TEST_EDI_LIGHT\">");
|
HTM_DIV_Begin ("class=\"TEST_EDI_LIGHT\"");
|
||||||
if (LengthFeedback)
|
if (LengthFeedback)
|
||||||
fprintf (Gbl.F.Out,"%s",Feedback);
|
fprintf (Gbl.F.Out,"%s",Feedback);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
@ -3881,20 +3882,23 @@ static void Tst_WriteChoiceAnsAssessTest (struct UsrData *UsrDat,
|
||||||
|
|
||||||
/* Answer text and feedback */
|
/* Answer text and feedback */
|
||||||
HTM_TD_Begin ("class=\"LT\"");
|
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);
|
fprintf (Gbl.F.Out,"%s",Gbl.Test.Answer.Options[Indexes[NumOpt]].Text);
|
||||||
Med_ShowMedia (&Gbl.Test.Answer.Options[Indexes[NumOpt]].Media,
|
Med_ShowMedia (&Gbl.Test.Answer.Options[Indexes[NumOpt]].Media,
|
||||||
"TEST_MED_SHOW_CONTAINER",
|
"TEST_MED_SHOW_CONTAINER",
|
||||||
"TEST_MED_SHOW");
|
"TEST_MED_SHOW");
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
if (Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK)
|
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)
|
||||||
if (Gbl.Test.Answer.Options[Indexes[NumOpt]].Feedback[0])
|
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);
|
fprintf (Gbl.F.Out,"%s",Gbl.Test.Answer.Options[Indexes[NumOpt]].Feedback);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
@ -4192,8 +4196,7 @@ void Tst_WriteChoiceAnsViewMatch (long MchCod,unsigned QstInd,long QstCod,
|
||||||
|
|
||||||
/***** Write letter for this option *****/
|
/***** Write letter for this option *****/
|
||||||
HTM_TD_Begin ("class=\"MCH_TCH_BUTTON_TD\"");
|
HTM_TD_Begin ("class=\"MCH_TCH_BUTTON_TD\"");
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MCH_TCH_BUTTON BT_%c\">",
|
HTM_DIV_Begin ("class=\"MCH_TCH_BUTTON BT_%c\"",'A' + (char) NumOpt);
|
||||||
'A' + (char) NumOpt);
|
|
||||||
fprintf (Gbl.F.Out,"%c",'a' + (char) NumOpt);
|
fprintf (Gbl.F.Out,"%c",'a' + (char) NumOpt);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
@ -4373,17 +4376,20 @@ static void Tst_WriteTextAnsAssessTest (struct UsrData *UsrDat,
|
||||||
|
|
||||||
/* Answer text and feedback */
|
/* Answer text and feedback */
|
||||||
HTM_TD_Begin ("class=\"LT\"");
|
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);
|
fprintf (Gbl.F.Out,"%s",Gbl.Test.Answer.Options[NumOpt].Text);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
if (Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK)
|
if (Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK)
|
||||||
if (Gbl.Test.Answer.Options[NumOpt].Feedback)
|
if (Gbl.Test.Answer.Options[NumOpt].Feedback)
|
||||||
if (Gbl.Test.Answer.Options[NumOpt].Feedback[0])
|
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);
|
fprintf (Gbl.F.Out,"%s",Gbl.Test.Answer.Options[NumOpt].Feedback);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
HTM_TR_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 *****/
|
/***** Right column: content of the answer *****/
|
||||||
HTM_TD_Begin ("class=\"TEST_EDI_ANS_RIGHT_COL COLOR%u\"",Gbl.RowEvenOdd);
|
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
|
if (!DisplayRightColumn) // Answer does not have content
|
||||||
fprintf (Gbl.F.Out," style=\"display:none;\""); // Hide column
|
fprintf (Gbl.F.Out," style=\"display:none;\""); // Hide column
|
||||||
fprintf (Gbl.F.Out,">");
|
fprintf (Gbl.F.Out,">");
|
||||||
|
|
|
@ -509,7 +509,7 @@ static void TsI_ImportQuestionsFromXMLBuffer (const char *XMLBuffer)
|
||||||
Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE);
|
Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
/***** Print XML tree *****/
|
/***** 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\""
|
fprintf (Gbl.F.Out,"<textarea title=\"%s\" cols=\"60\" rows=\"5\""
|
||||||
" spellcheck=\"false\" readonly>",
|
" spellcheck=\"false\" readonly>",
|
||||||
Txt_XML_file_content);
|
Txt_XML_file_content);
|
||||||
|
@ -1152,15 +1152,18 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
|
||||||
|
|
||||||
/* Write the text and the feedback of the answer */
|
/* Write the text and the feedback of the answer */
|
||||||
HTM_TD_Begin ("class=\"LT\"");
|
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);
|
fprintf (Gbl.F.Out,"%s",AnswerText);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
if (AnswerFeedbackLength)
|
if (AnswerFeedbackLength)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TEST_EDI_LIGHT\">");
|
HTM_DIV_Begin ("class=\"TEST_EDI_LIGHT\"");
|
||||||
fprintf (Gbl.F.Out,"%s",AnswerFeedback);
|
fprintf (Gbl.F.Out,"%s",AnswerFeedback);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
|
|
@ -275,9 +275,8 @@ void The_PutIconsToSelectTheme (void)
|
||||||
Theme < The_NUM_THEMES;
|
Theme < The_NUM_THEMES;
|
||||||
Theme++)
|
Theme++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",Theme == Gbl.Prefs.Theme ? "PREF_ON" :
|
||||||
Theme == Gbl.Prefs.Theme ? "PREF_ON" :
|
"PREF_OFF");
|
||||||
"PREF_OFF");
|
|
||||||
Frm_StartForm (ActChgThe);
|
Frm_StartForm (ActChgThe);
|
||||||
Par_PutHiddenParamString ("Theme",The_ThemeId[Theme]);
|
Par_PutHiddenParamString ("Theme",The_ThemeId[Theme]);
|
||||||
snprintf (Icon,sizeof (Icon),
|
snprintf (Icon,sizeof (Icon),
|
||||||
|
|
147
swad_timeline.c
147
swad_timeline.c
|
@ -1170,9 +1170,9 @@ static void TL_PutFormWhichUsrs (void)
|
||||||
WhichUsrs < TL_NUM_WHICH_USRS;
|
WhichUsrs < TL_NUM_WHICH_USRS;
|
||||||
WhichUsrs++)
|
WhichUsrs++)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
WhichUsrs == Gbl.Timeline.WhichUsrs ? "PREF_ON" :
|
WhichUsrs == Gbl.Timeline.WhichUsrs ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
Frm_StartForm (ActSeeSocTmlGbl);
|
Frm_StartForm (ActSeeSocTmlGbl);
|
||||||
Par_PutHiddenParamUnsigned ("WhichUsrs",WhichUsrs);
|
Par_PutHiddenParamUnsigned ("WhichUsrs",WhichUsrs);
|
||||||
Ico_PutSettingIconLink (Icon[WhichUsrs],Txt_TIMELINE_WHICH_USERS[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);
|
Ale_ShowAlert (Ale_WARNING,Txt_You_dont_follow_any_user);
|
||||||
|
|
||||||
/***** Put link to show users to follow *****/
|
/***** Put link to show users to follow *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
Fol_PutLinkWhoToFollow ();
|
Fol_PutLinkWhoToFollow ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -1392,9 +1392,9 @@ static void TL_PutLinkToViewNewPublications (void)
|
||||||
|
|
||||||
/***** Link to view (show hidden) new publications *****/
|
/***** Link to view (show hidden) new publications *****/
|
||||||
// div is hidden. When new posts arrive to the client via AJAX, div is shown
|
// 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\""
|
HTM_DIV_Begin ("id=\"view_new_posts_container\""
|
||||||
" class=\"TL_WIDTH TL_SEP VERY_LIGHT_BLUE\""
|
" class=\"TL_WIDTH TL_SEP VERY_LIGHT_BLUE\""
|
||||||
" style=\"display:none;\">");
|
" style=\"display:none;\"");
|
||||||
fprintf (Gbl.F.Out,"<a href=\"\" class=\"%s\""
|
fprintf (Gbl.F.Out,"<a href=\"\" class=\"%s\""
|
||||||
" onclick=\"moveNewTimelineToTimeline(); return false;\" />"
|
" onclick=\"moveNewTimelineToTimeline(); return false;\" />"
|
||||||
"%s (<span id=\"view_new_posts_count\">0</span>)"
|
"%s (<span id=\"view_new_posts_count\">0</span>)"
|
||||||
|
@ -1414,8 +1414,8 @@ static void TL_PutLinkToViewOldPublications (void)
|
||||||
extern const char *Txt_See_more;
|
extern const char *Txt_See_more;
|
||||||
|
|
||||||
/***** Animated link to view old publications *****/
|
/***** Animated link to view old publications *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"view_old_posts_container\""
|
HTM_DIV_Begin ("id=\"view_old_posts_container\""
|
||||||
" class=\"TL_WIDTH TL_SEP VERY_LIGHT_BLUE\">");
|
" class=\"TL_WIDTH TL_SEP VERY_LIGHT_BLUE\"");
|
||||||
fprintf (Gbl.F.Out,"<a href=\"\" class=\"%s\" onclick=\""
|
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('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
|
"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);
|
IAmTheAuthor = Usr_ItsMe (UsrDat.UsrCod);
|
||||||
|
|
||||||
/***** Left: write author's photo *****/
|
/***** 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);
|
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&UsrDat,PhotoURL);
|
||||||
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
|
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -1514,7 +1514,7 @@ static void TL_WriteNote (const struct TL_Note *SocNot,
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Right: author's name, time, summary and buttons *****/
|
/***** 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 */
|
/* Write author's full name and nickname */
|
||||||
TL_WriteAuthorNote (&UsrDat);
|
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_DOC_PUB_FILE:
|
||||||
case TL_NOTE_INS_SHA_PUB_FILE:
|
case TL_NOTE_INS_SHA_PUB_FILE:
|
||||||
/* Write location (institution) in hierarchy */
|
/* 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);
|
fprintf (Gbl.F.Out,"%s: %s",Txt_Institution,Ins.ShrtName);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
break;
|
break;
|
||||||
case TL_NOTE_CTR_DOC_PUB_FILE:
|
case TL_NOTE_CTR_DOC_PUB_FILE:
|
||||||
case TL_NOTE_CTR_SHA_PUB_FILE:
|
case TL_NOTE_CTR_SHA_PUB_FILE:
|
||||||
/* Write location (centre) in hierarchy */
|
/* 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);
|
fprintf (Gbl.F.Out,"%s: %s",Txt_Centre,Ctr.ShrtName);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
break;
|
break;
|
||||||
case TL_NOTE_DEG_DOC_PUB_FILE:
|
case TL_NOTE_DEG_DOC_PUB_FILE:
|
||||||
case TL_NOTE_DEG_SHA_PUB_FILE:
|
case TL_NOTE_DEG_SHA_PUB_FILE:
|
||||||
/* Write location (degree) in hierarchy */
|
/* 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);
|
fprintf (Gbl.F.Out,"%s: %s",Txt_Degree,Deg.ShrtName);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
break;
|
break;
|
||||||
|
@ -1601,13 +1601,13 @@ static void TL_WriteNote (const struct TL_Note *SocNot,
|
||||||
case TL_NOTE_EXAM_ANNOUNCEMENT:
|
case TL_NOTE_EXAM_ANNOUNCEMENT:
|
||||||
case TL_NOTE_NOTICE:
|
case TL_NOTE_NOTICE:
|
||||||
/* Write location (course) in hierarchy */
|
/* 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);
|
fprintf (Gbl.F.Out,"%s: %s",Txt_Course,Crs.ShrtName);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
break;
|
break;
|
||||||
case TL_NOTE_FORUM_POST:
|
case TL_NOTE_FORUM_POST:
|
||||||
/* Write forum name */
|
/* 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);
|
fprintf (Gbl.F.Out,"%s: %s",Txt_Forum,ForumName);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
break;
|
break;
|
||||||
|
@ -1617,7 +1617,7 @@ static void TL_WriteNote (const struct TL_Note *SocNot,
|
||||||
|
|
||||||
/* Write note summary */
|
/* Write note summary */
|
||||||
TL_GetNoteSummary (SocNot,SummaryStr);
|
TL_GetNoteSummary (SocNot,SummaryStr);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_TXT\">");
|
HTM_DIV_Begin ("class=\"TL_TXT\"");
|
||||||
fprintf (Gbl.F.Out,"%s",SummaryStr);
|
fprintf (Gbl.F.Out,"%s",SummaryStr);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -1632,7 +1632,7 @@ static void TL_WriteNote (const struct TL_Note *SocNot,
|
||||||
NumComments = TL_GetNumCommentsInNote (SocNot->NotCod);
|
NumComments = TL_GetNumCommentsInNote (SocNot->NotCod);
|
||||||
|
|
||||||
/* Put icon to add a comment */
|
/* 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
|
if (SocNot->Unavailable) // Unavailable notes can not be commented
|
||||||
TL_PutIconCommentDisabled ();
|
TL_PutIconCommentDisabled ();
|
||||||
else
|
else
|
||||||
|
@ -1640,27 +1640,25 @@ static void TL_WriteNote (const struct TL_Note *SocNot,
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Start container for buttons and comments */
|
/* 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 */
|
/* 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 */
|
/* Foot column 1: Fav zone */
|
||||||
fprintf (Gbl.F.Out,"<div id=\"fav_not_%s_%u\""
|
HTM_DIV_Begin ("id=\"fav_not_%s_%u\" class=\"TL_FAV_NOT TL_FAV_NOT_WIDTH\"",
|
||||||
" class=\"TL_FAV_NOT TL_FAV_NOT_WIDTH\">",
|
Gbl.UniqueNameEncrypted,NumDiv);
|
||||||
Gbl.UniqueNameEncrypted,NumDiv);
|
|
||||||
TL_PutFormToFavUnfNote (SocNot,TL_SHOW_A_FEW_USRS);
|
TL_PutFormToFavUnfNote (SocNot,TL_SHOW_A_FEW_USRS);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Foot column 2: Share zone */
|
/* Foot column 2: Share zone */
|
||||||
fprintf (Gbl.F.Out,"<div id=\"sha_not_%s_%u\""
|
HTM_DIV_Begin ("id=\"sha_not_%s_%u\" class=\"TL_SHA_NOT TL_SHA_NOT_WIDTH\"",
|
||||||
" class=\"TL_SHA_NOT TL_SHA_NOT_WIDTH\">",
|
Gbl.UniqueNameEncrypted,NumDiv);
|
||||||
Gbl.UniqueNameEncrypted,NumDiv);
|
|
||||||
TL_PutFormToShaUnsNote (SocNot,TL_SHOW_A_FEW_USRS);
|
TL_PutFormToShaUnsNote (SocNot,TL_SHOW_A_FEW_USRS);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Foot column 3: Icon to remove this note */
|
/* Foot column 3: Icon to remove this note */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_REM\">");
|
HTM_DIV_Begin ("class=\"TL_REM\"");
|
||||||
if (IAmTheAuthor)
|
if (IAmTheAuthor)
|
||||||
TL_PutFormToRemovePublication (SocNot->NotCod);
|
TL_PutFormToRemovePublication (SocNot->NotCod);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -1714,8 +1712,7 @@ static void TL_WriteTopMessage (TL_TopMessage_t TopMessage,long UsrCod)
|
||||||
UsrDat.UsrCod = UsrCod;
|
UsrDat.UsrCod = UsrCod;
|
||||||
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS)) // Really we only need EncryptedUsrCod and FullName
|
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS)) // Really we only need EncryptedUsrCod and FullName
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_TOP_CONT"
|
HTM_DIV_Begin ("class=\"TL_TOP_CONT TL_TOP_PUBLISHER TL_WIDTH\"");
|
||||||
" TL_TOP_PUBLISHER TL_WIDTH\">");
|
|
||||||
|
|
||||||
/***** Show user's name inside form to go to user's public profile *****/
|
/***** Show user's name inside form to go to user's public profile *****/
|
||||||
Frm_StartFormUnique (ActSeeOthPubPrf);
|
Frm_StartFormUnique (ActSeeOthPubPrf);
|
||||||
|
@ -1728,6 +1725,7 @@ static void TL_WriteTopMessage (TL_TopMessage_t TopMessage,long UsrCod)
|
||||||
|
|
||||||
/***** Show action made *****/
|
/***** Show action made *****/
|
||||||
fprintf (Gbl.F.Out," %s:",Txt_TIMELINE_NOTE_TOP_MESSAGES[TopMessage]);
|
fprintf (Gbl.F.Out," %s:",Txt_TIMELINE_NOTE_TOP_MESSAGES[TopMessage]);
|
||||||
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1746,7 +1744,7 @@ static void TL_WriteAuthorNote (const struct UsrData *UsrDat)
|
||||||
extern const char *Txt_Another_user_s_profile;
|
extern const char *Txt_Another_user_s_profile;
|
||||||
bool ItsMe = Usr_ItsMe (UsrDat->UsrCod);
|
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 *****/
|
/***** Show user's name inside form to go to user's public profile *****/
|
||||||
Frm_StartFormUnique (ActSeeOthPubPrf);
|
Frm_StartFormUnique (ActSeeOthPubPrf);
|
||||||
|
@ -1783,8 +1781,7 @@ static void TL_WriteDateTime (time_t TimeUTC)
|
||||||
Frm_SetUniqueId (IdDateTime);
|
Frm_SetUniqueId (IdDateTime);
|
||||||
|
|
||||||
/***** Container where the date-time is written *****/
|
/***** Container where the date-time is written *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"%s\" class=\"TL_RIGHT_TIME DAT_LIGHT\">",
|
HTM_DIV_Begin ("id=\"%s\" class=\"TL_RIGHT_TIME DAT_LIGHT\"",IdDateTime);
|
||||||
IdDateTime);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Script to write date and time in browser local time *****/
|
/***** Script to write date and time in browser local time *****/
|
||||||
|
@ -1844,7 +1841,7 @@ static void TL_GetAndWritePost (long PstCod)
|
||||||
/***** Write content *****/
|
/***** Write content *****/
|
||||||
if (Content[0])
|
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);
|
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -1948,7 +1945,7 @@ static void TL_PutFormGoToAction (const struct TL_Note *SocNot)
|
||||||
Gbl.Form.Inside) // Inside another form
|
Gbl.Form.Inside) // Inside another form
|
||||||
{
|
{
|
||||||
/***** Do not put 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]);
|
fprintf (Gbl.F.Out,"%s",Txt_TIMELINE_NOTE[SocNot->NoteType]);
|
||||||
if (SocNot->Unavailable)
|
if (SocNot->Unavailable)
|
||||||
fprintf (Gbl.F.Out," (%s)",Txt_not_available);
|
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
|
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 *****/
|
/***** Parameters depending on the type of note *****/
|
||||||
switch (SocNot->NoteType)
|
switch (SocNot->NoteType)
|
||||||
|
@ -2321,7 +2318,7 @@ static void TL_PutFormToWriteNewPost (void)
|
||||||
"<li class=\"TL_WIDTH\">");
|
"<li class=\"TL_WIDTH\">");
|
||||||
|
|
||||||
/***** Left: write author's photo (my photo) *****/
|
/***** 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);
|
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&Gbl.Usrs.Me.UsrDat,PhotoURL);
|
||||||
Pho_ShowUsrPhoto (&Gbl.Usrs.Me.UsrDat,ShowPhoto ? PhotoURL :
|
Pho_ShowUsrPhoto (&Gbl.Usrs.Me.UsrDat,ShowPhoto ? PhotoURL :
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -2329,10 +2326,10 @@ static void TL_PutFormToWriteNewPost (void)
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Right: author's name, time, summary and buttons *****/
|
/***** 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 */
|
/* 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>"
|
fprintf (Gbl.F.Out,"<span class=\"DAT_N_BOLD\">%s</span>"
|
||||||
"<span class=\"DAT_LIGHT\"> @%s</span>",
|
"<span class=\"DAT_LIGHT\"> @%s</span>",
|
||||||
Gbl.Usrs.Me.UsrDat.FullName,Gbl.Usrs.Me.UsrDat.Nickname);
|
Gbl.Usrs.Me.UsrDat.FullName,Gbl.Usrs.Me.UsrDat.Nickname);
|
||||||
|
@ -2340,7 +2337,7 @@ static void TL_PutFormToWriteNewPost (void)
|
||||||
|
|
||||||
/***** Form to write the post *****/
|
/***** Form to write the post *****/
|
||||||
/* Start container */
|
/* 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 */
|
/* Begin form to write the post */
|
||||||
TL_FormStart (ActRcvSocPstGbl,ActRcvSocPstUsr);
|
TL_FormStart (ActRcvSocPstGbl,ActRcvSocPstUsr);
|
||||||
|
@ -2383,8 +2380,7 @@ static void TL_PutTextarea (const char *Placeholder,const char *ClassTextArea)
|
||||||
IdDivImgButton);
|
IdDivImgButton);
|
||||||
|
|
||||||
/***** Start concealable div *****/
|
/***** Start concealable div *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"%s\" style=\"display:none;\">",
|
HTM_DIV_Begin ("id=\"%s\" style=\"display:none;\"",IdDivImgButton);
|
||||||
IdDivImgButton);
|
|
||||||
|
|
||||||
/***** Help on editor *****/
|
/***** Help on editor *****/
|
||||||
Lay_HelpPlainEditor ();
|
Lay_HelpPlainEditor ();
|
||||||
|
@ -2500,7 +2496,7 @@ static void TL_PutIconToToggleCommentNote (const char UniqueId[Frm_MAX_BYTES_ID
|
||||||
extern const char *Txt_Comment;
|
extern const char *Txt_Comment;
|
||||||
|
|
||||||
/***** Link to toggle on/off the form to comment a note *****/
|
/***** 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=\"\""
|
fprintf (Gbl.F.Out,"<a href=\"\""
|
||||||
" onclick=\"toggleNewComment ('%s');return false;\">"
|
" onclick=\"toggleNewComment ('%s');return false;\">"
|
||||||
"<img src=\"%s/edit.svg\" alt=\"%s\" title=\"%s\""
|
"<img src=\"%s/edit.svg\" alt=\"%s\" title=\"%s\""
|
||||||
|
@ -2521,7 +2517,7 @@ static void TL_PutIconCommentDisabled (void)
|
||||||
extern const char *Txt_Comment;
|
extern const char *Txt_Comment;
|
||||||
|
|
||||||
/***** Disabled icon to comment a note *****/
|
/***** 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\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/edit.svg\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"ICO16x16\" />",
|
" class=\"ICO16x16\" />",
|
||||||
|
@ -2542,13 +2538,12 @@ static void TL_PutHiddenFormToWriteNewCommentToNote (long NotCod,
|
||||||
char PhotoURL[PATH_MAX + 1];
|
char PhotoURL[PATH_MAX + 1];
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"%s\""
|
HTM_DIV_Begin ("id=\"%s\" class=\"TL_FORM_NEW_COM TL_RIGHT_WIDTH\""
|
||||||
" class=\"TL_FORM_NEW_COM TL_RIGHT_WIDTH\""
|
" style=\"display:none;\"",
|
||||||
" style=\"display:none;\">",
|
IdNewComment);
|
||||||
IdNewComment);
|
|
||||||
|
|
||||||
/***** Left: write author's photo (my photo) *****/
|
/***** 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);
|
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&Gbl.Usrs.Me.UsrDat,PhotoURL);
|
||||||
Pho_ShowUsrPhoto (&Gbl.Usrs.Me.UsrDat,ShowPhoto ? PhotoURL :
|
Pho_ShowUsrPhoto (&Gbl.Usrs.Me.UsrDat,ShowPhoto ? PhotoURL :
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -2557,7 +2552,7 @@ static void TL_PutHiddenFormToWriteNewCommentToNote (long NotCod,
|
||||||
|
|
||||||
/***** Right: form to write the comment *****/
|
/***** Right: form to write the comment *****/
|
||||||
/* Start right container */
|
/* 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 */
|
/* Begin form to write the post */
|
||||||
TL_FormStart (ActRcvSocComGbl,ActRcvSocComUsr);
|
TL_FormStart (ActRcvSocComGbl,ActRcvSocComUsr);
|
||||||
|
@ -2632,10 +2627,9 @@ static void TL_WriteCommentsInNote (const struct TL_Note *SocNot)
|
||||||
Frm_SetUniqueId (IdComments);
|
Frm_SetUniqueId (IdComments);
|
||||||
|
|
||||||
/***** Link to toggle on/off comments *****/
|
/***** Link to toggle on/off comments *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"con_%s\""
|
HTM_DIV_Begin ("id=\"con_%s\" class=\"TL_EXPAND_COM TL_RIGHT_WIDTH\""
|
||||||
" class=\"TL_EXPAND_COM TL_RIGHT_WIDTH\""
|
" style=\"display:none;\">", // Initially hidden
|
||||||
" style=\"display:none;\">", // Initially hidden
|
IdComments);
|
||||||
IdComments);
|
|
||||||
TL_PutIconToToggleComments (IdComments,"angle-down.svg",
|
TL_PutIconToToggleComments (IdComments,"angle-down.svg",
|
||||||
Txt_See_only_the_latest_COMMENTS);
|
Txt_See_only_the_latest_COMMENTS);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -2651,9 +2645,8 @@ static void TL_WriteCommentsInNote (const struct TL_Note *SocNot)
|
||||||
fprintf (Gbl.F.Out,"</ul>");
|
fprintf (Gbl.F.Out,"</ul>");
|
||||||
|
|
||||||
/***** Link to toggle on/off comments *****/
|
/***** Link to toggle on/off comments *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"exp_%s\""
|
HTM_DIV_Begin ("id=\"exp_%s\" class=\"TL_EXPAND_COM TL_RIGHT_WIDTH\"",
|
||||||
" class=\"TL_EXPAND_COM TL_RIGHT_WIDTH\">",
|
IdComments);
|
||||||
IdComments);
|
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
||||||
Txt_See_the_previous_X_COMMENTS,
|
Txt_See_the_previous_X_COMMENTS,
|
||||||
NumCommentsInitiallyHidden);
|
NumCommentsInitiallyHidden);
|
||||||
|
@ -2743,9 +2736,10 @@ static void TL_WriteComment (struct TL_Comment *SocCom,
|
||||||
/***** Write sharer/commenter if distinct to author *****/
|
/***** Write sharer/commenter if distinct to author *****/
|
||||||
TL_WriteTopMessage (TopMessage,UsrCod);
|
TL_WriteTopMessage (TopMessage,UsrCod);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_LEFT_PHOTO\">");
|
HTM_DIV_Begin ("class=\"TL_LEFT_PHOTO\"");
|
||||||
HTM_DIV_End ();
|
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\">");
|
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);
|
IAmTheAuthor = Usr_ItsMe (UsrDat.UsrCod);
|
||||||
|
|
||||||
/***** Left: write author's photo *****/
|
/***** 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);
|
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&UsrDat,PhotoURL);
|
||||||
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
|
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -2776,7 +2770,7 @@ static void TL_WriteComment (struct TL_Comment *SocCom,
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Right: author's name, time, content, image and buttons *****/
|
/***** 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 */
|
/* Write author's full name and nickname */
|
||||||
TL_WriteAuthorComment (&UsrDat);
|
TL_WriteAuthorComment (&UsrDat);
|
||||||
|
@ -2787,7 +2781,7 @@ static void TL_WriteComment (struct TL_Comment *SocCom,
|
||||||
/* Write content of the comment */
|
/* Write content of the comment */
|
||||||
if (SocCom->Content[0])
|
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);
|
Msg_WriteMsgContent (SocCom->Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -2797,17 +2791,16 @@ static void TL_WriteComment (struct TL_Comment *SocCom,
|
||||||
"TL_COM_MED TL_COMM_WIDTH");
|
"TL_COM_MED TL_COMM_WIDTH");
|
||||||
|
|
||||||
/* Start foot container */
|
/* 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 */
|
/* Fav zone */
|
||||||
fprintf (Gbl.F.Out,"<div id=\"fav_com_%s_%u\""
|
HTM_DIV_Begin ("id=\"fav_com_%s_%u\" class=\"TL_FAV_COM TL_FAV_WIDTH\"",
|
||||||
" class=\"TL_FAV_COM TL_FAV_WIDTH\">",
|
Gbl.UniqueNameEncrypted,NumDiv);
|
||||||
Gbl.UniqueNameEncrypted,NumDiv);
|
|
||||||
TL_PutFormToFavUnfComment (SocCom,TL_SHOW_A_FEW_USRS);
|
TL_PutFormToFavUnfComment (SocCom,TL_SHOW_A_FEW_USRS);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Put icon to remove this comment */
|
/* Put icon to remove this comment */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_REM\">");
|
HTM_DIV_Begin ("class=\"TL_REM\"");
|
||||||
if (IAmTheAuthor && !ShowCommentAlone)
|
if (IAmTheAuthor && !ShowCommentAlone)
|
||||||
TL_PutFormToRemoveComment (SocCom->PubCod);
|
TL_PutFormToRemoveComment (SocCom->PubCod);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -2841,7 +2834,7 @@ static void TL_WriteAuthorComment (struct UsrData *UsrDat)
|
||||||
bool ItsMe = Usr_ItsMe (UsrDat->UsrCod);
|
bool ItsMe = Usr_ItsMe (UsrDat->UsrCod);
|
||||||
|
|
||||||
/***** Start container *****/
|
/***** 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 *****/
|
/***** Show user's name inside form to go to user's public profile *****/
|
||||||
Frm_StartFormUnique (ActSeeOthPubPrf);
|
Frm_StartFormUnique (ActSeeOthPubPrf);
|
||||||
|
@ -3268,7 +3261,7 @@ static void TL_PutFormToShaUnsNote (const struct TL_Note *SocNot,
|
||||||
bool IAmASharerOfThisSocNot;
|
bool IAmASharerOfThisSocNot;
|
||||||
|
|
||||||
/***** Put form to share/unshare this note *****/
|
/***** 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);
|
IAmTheAuthor = Usr_ItsMe (SocNot->UsrCod);
|
||||||
if (SocNot->Unavailable || // Unavailable notes can not be shared
|
if (SocNot->Unavailable || // Unavailable notes can not be shared
|
||||||
IAmTheAuthor) // I am the author
|
IAmTheAuthor) // I am the author
|
||||||
|
@ -3398,7 +3391,7 @@ static void TL_PutFormToFavUnfNote (const struct TL_Note *SocNot,
|
||||||
bool IAmAFaverOfThisSocNot;
|
bool IAmAFaverOfThisSocNot;
|
||||||
|
|
||||||
/***** Put form to fav/unfav this note *****/
|
/***** 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);
|
IAmTheAuthor = Usr_ItsMe (SocNot->UsrCod);
|
||||||
if (SocNot->Unavailable || // Unavailable notes can not be favourited
|
if (SocNot->Unavailable || // Unavailable notes can not be favourited
|
||||||
IAmTheAuthor) // I am the author
|
IAmTheAuthor) // I am the author
|
||||||
|
@ -3566,7 +3559,7 @@ static void TL_PutFormToFavUnfComment (const struct TL_Comment *SocCom,
|
||||||
bool IAmAFaverOfThisSocCom;
|
bool IAmAFaverOfThisSocCom;
|
||||||
|
|
||||||
/***** Put form to fav/unfav this comment *****/
|
/***** 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);
|
IAmTheAuthor = Usr_ItsMe (SocCom->UsrCod);
|
||||||
if (IAmTheAuthor) // I am the author
|
if (IAmTheAuthor) // I am the author
|
||||||
/* Put disabled icon */
|
/* Put disabled icon */
|
||||||
|
@ -4520,11 +4513,11 @@ static void TL_ShowUsrsWhoHaveSharedNote (const struct TL_Note *SocNot,
|
||||||
TL_MAX_USRS_SHOWN);
|
TL_MAX_USRS_SHOWN);
|
||||||
|
|
||||||
/***** Show users *****/
|
/***** Show users *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_NUM_USRS\">");
|
HTM_DIV_Begin ("class=\"TL_NUM_USRS\"");
|
||||||
TL_ShowNumSharersOrFavers (SocNot->NumShared);
|
TL_ShowNumSharersOrFavers (SocNot->NumShared);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_USRS\">");
|
HTM_DIV_Begin ("class=\"TL_USRS\"");
|
||||||
TL_ShowSharersOrFavers (&mysql_res,SocNot->NumShared,NumFirstUsrs);
|
TL_ShowSharersOrFavers (&mysql_res,SocNot->NumShared,NumFirstUsrs);
|
||||||
if (NumFirstUsrs < SocNot->NumShared)
|
if (NumFirstUsrs < SocNot->NumShared)
|
||||||
TL_PutFormToSeeAllSharersNote (SocNot,HowMany);
|
TL_PutFormToSeeAllSharersNote (SocNot,HowMany);
|
||||||
|
@ -4562,11 +4555,11 @@ static void TL_ShowUsrsWhoHaveMarkedNoteAsFav (const struct TL_Note *SocNot,
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Show users *****/
|
/***** Show users *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_NUM_USRS\">");
|
HTM_DIV_Begin ("class=\"TL_NUM_USRS\"");
|
||||||
TL_ShowNumSharersOrFavers (SocNot->NumFavs);
|
TL_ShowNumSharersOrFavers (SocNot->NumFavs);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_USRS\">");
|
HTM_DIV_Begin ("class=\"TL_USRS\"");
|
||||||
TL_ShowSharersOrFavers (&mysql_res,SocNot->NumFavs,NumFirstUsrs);
|
TL_ShowSharersOrFavers (&mysql_res,SocNot->NumFavs,NumFirstUsrs);
|
||||||
if (NumFirstUsrs < SocNot->NumFavs) // Not all are shown
|
if (NumFirstUsrs < SocNot->NumFavs) // Not all are shown
|
||||||
TL_PutFormToSeeAllFaversNote (SocNot,HowMany);
|
TL_PutFormToSeeAllFaversNote (SocNot,HowMany);
|
||||||
|
@ -4602,11 +4595,11 @@ static void TL_ShowUsrsWhoHaveMarkedCommAsFav (const struct TL_Comment *SocCom,
|
||||||
TL_MAX_USRS_SHOWN);
|
TL_MAX_USRS_SHOWN);
|
||||||
|
|
||||||
/***** Show users *****/
|
/***** Show users *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_NUM_USRS\">");
|
HTM_DIV_Begin ("class=\"TL_NUM_USRS\"");
|
||||||
TL_ShowNumSharersOrFavers (SocCom->NumFavs);
|
TL_ShowNumSharersOrFavers (SocCom->NumFavs);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_USRS\">");
|
HTM_DIV_Begin ("class=\"TL_USRS\"");
|
||||||
TL_ShowSharersOrFavers (&mysql_res,SocCom->NumFavs,NumFirstUsrs);
|
TL_ShowSharersOrFavers (&mysql_res,SocCom->NumFavs,NumFirstUsrs);
|
||||||
if (NumFirstUsrs < SocCom->NumFavs)
|
if (NumFirstUsrs < SocCom->NumFavs)
|
||||||
TL_PutFormToSeeAllFaversComment (SocCom,HowMany);
|
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 *****/
|
/***** Get user's data and show user's photo *****/
|
||||||
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS))
|
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);
|
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&UsrDat,PhotoURL);
|
||||||
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
|
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
|
||||||
NULL,
|
NULL,
|
||||||
|
|
|
@ -232,7 +232,7 @@ static void TT_ShowTimeTableGrpsSelected (void)
|
||||||
extern const char *Txt_Groups_OF_A_USER;
|
extern const char *Txt_Groups_OF_A_USER;
|
||||||
extern const char *Txt_All_groups;
|
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)
|
switch (Gbl.Crs.Grps.WhichGrps)
|
||||||
{
|
{
|
||||||
case Grp_MY_GROUPS:
|
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...
|
if (IntervalType != TT_FREE_INTERVAL) // If cell is not empty...
|
||||||
{
|
{
|
||||||
/***** Start cell *****/
|
/***** Start cell *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TT_CELL TT_TXT\">");
|
HTM_DIV_Begin ("class=\"TT_CELL TT_TXT\"");
|
||||||
|
|
||||||
/***** Course name *****/
|
/***** Course name *****/
|
||||||
if (Gbl.TimeTable.Type == TT_MY_TIMETABLE)
|
if (Gbl.TimeTable.Type == TT_MY_TIMETABLE)
|
||||||
|
|
52
swad_user.c
52
swad_user.c
|
@ -2588,7 +2588,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) (void))
|
||||||
extern const char *Txt_password;
|
extern const char *Txt_password;
|
||||||
|
|
||||||
/***** Links to other actions *****/
|
/***** Links to other actions *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
|
|
||||||
Acc_PutLinkToCreateAccount ();
|
Acc_PutLinkToCreateAccount ();
|
||||||
Pwd_PutLinkToSendNewPasswd ();
|
Pwd_PutLinkToSendNewPasswd ();
|
||||||
|
@ -2596,7 +2596,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) (void))
|
||||||
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
|
|
||||||
/***** Begin form *****/
|
/***** Begin form *****/
|
||||||
Frm_StartForm (NextAction);
|
Frm_StartForm (NextAction);
|
||||||
|
@ -2608,7 +2608,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) (void))
|
||||||
Hlp_PROFILE_LogIn,Box_NOT_CLOSABLE,2);
|
Hlp_PROFILE_LogIn,Box_NOT_CLOSABLE,2);
|
||||||
|
|
||||||
/***** User's ID/nickname *****/
|
/***** User's ID/nickname *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"LM\">");
|
HTM_DIV_Begin ("class=\"LM\"");
|
||||||
fprintf (Gbl.F.Out,"<label for=\"UsrId\">"
|
fprintf (Gbl.F.Out,"<label for=\"UsrId\">"
|
||||||
"<img src=\"%s/user.svg\" alt=\"%s\" title=\"%s\""
|
"<img src=\"%s/user.svg\" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"CONTEXT_ICO_16x16\" />"
|
" class=\"CONTEXT_ICO_16x16\" />"
|
||||||
|
@ -2626,7 +2626,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) (void))
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** User's password *****/
|
/***** User's password *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"LM\">");
|
HTM_DIV_Begin ("class=\"LM\"");
|
||||||
fprintf (Gbl.F.Out,"<label for=\"UsrPwd\">"
|
fprintf (Gbl.F.Out,"<label for=\"UsrPwd\">"
|
||||||
"<img src=\"%s/key.svg\" alt=\"%s\" title=\"%s\""
|
"<img src=\"%s/key.svg\" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"CONTEXT_ICO_16x16\" />"
|
" class=\"CONTEXT_ICO_16x16\" />"
|
||||||
|
@ -2812,8 +2812,7 @@ void Usr_WriteLoggedUsrHead (void)
|
||||||
char PhotoURL[PATH_MAX + 1];
|
char PhotoURL[PATH_MAX + 1];
|
||||||
unsigned NumAvailableRoles = Rol_GetNumAvailableRoles ();
|
unsigned NumAvailableRoles = Rol_GetNumAvailableRoles ();
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"HEAD_USR %s\">",
|
HTM_DIV_Begin ("class=\"HEAD_USR %s\"",The_ClassUsr[Gbl.Prefs.Theme]);
|
||||||
The_ClassUsr[Gbl.Prefs.Theme]);
|
|
||||||
|
|
||||||
/***** User's role *****/
|
/***** User's role *****/
|
||||||
if (NumAvailableRoles == 1)
|
if (NumAvailableRoles == 1)
|
||||||
|
@ -4122,7 +4121,7 @@ static void Usr_WriteUsrData (const char *BgColor,
|
||||||
BgColor);
|
BgColor);
|
||||||
|
|
||||||
/***** Container to limit length *****/
|
/***** Container to limit length *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"USR_DAT\">");
|
HTM_DIV_Begin ("class=\"USR_DAT\"");
|
||||||
|
|
||||||
/***** Start link *****/
|
/***** Start link *****/
|
||||||
if (Link)
|
if (Link)
|
||||||
|
@ -6082,9 +6081,9 @@ void Usr_ShowFormsToSelectUsrListType (void (*FuncParams) (void))
|
||||||
Set_StartOneSettingSelector ();
|
Set_StartOneSettingSelector ();
|
||||||
|
|
||||||
/***** Select Usr_LIST_AS_CLASS_PHOTO *****/
|
/***** Select Usr_LIST_AS_CLASS_PHOTO *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
Gbl.Usrs.Me.ListType == Usr_LIST_AS_CLASS_PHOTO ? "PREF_ON" :
|
Gbl.Usrs.Me.ListType == Usr_LIST_AS_CLASS_PHOTO ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
Usr_FormToSelectUsrListType (FuncParams,Usr_LIST_AS_CLASS_PHOTO);
|
Usr_FormToSelectUsrListType (FuncParams,Usr_LIST_AS_CLASS_PHOTO);
|
||||||
|
|
||||||
/* Number of columns in the class photo */
|
/* Number of columns in the class photo */
|
||||||
|
@ -6100,9 +6099,9 @@ void Usr_ShowFormsToSelectUsrListType (void (*FuncParams) (void))
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Select Usr_LIST_AS_LISTING *****/
|
/***** Select Usr_LIST_AS_LISTING *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
HTM_DIV_Begin ("class=\"%s\"",
|
||||||
Gbl.Usrs.Me.ListType == Usr_LIST_AS_LISTING ? "PREF_ON" :
|
Gbl.Usrs.Me.ListType == Usr_LIST_AS_LISTING ? "PREF_ON" :
|
||||||
"PREF_OFF");
|
"PREF_OFF");
|
||||||
Usr_FormToSelectUsrListType (FuncParams,Usr_LIST_AS_LISTING);
|
Usr_FormToSelectUsrListType (FuncParams,Usr_LIST_AS_LISTING);
|
||||||
|
|
||||||
/* See the photos in list? */
|
/* See the photos in list? */
|
||||||
|
@ -7297,7 +7296,7 @@ void Usr_ListDataAdms (void)
|
||||||
case Rol_CTR_ADM:
|
case Rol_CTR_ADM:
|
||||||
case Rol_INS_ADM:
|
case Rol_INS_ADM:
|
||||||
case Rol_SYS_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)
|
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
|
||||||
{
|
{
|
||||||
|
@ -7352,7 +7351,7 @@ void Usr_ListDataAdms (void)
|
||||||
Hlp_USERS_Administrators,Box_NOT_CLOSABLE);
|
Hlp_USERS_Administrators,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
/***** Form to select scope *****/
|
/***** Form to select scope *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Frm_StartForm (ActLstOth);
|
Frm_StartForm (ActLstOth);
|
||||||
Usr_PutParamListWithPhotos ();
|
Usr_PutParamListWithPhotos ();
|
||||||
fprintf (Gbl.F.Out,"<label class=\"%s\">%s: ",
|
fprintf (Gbl.F.Out,"<label class=\"%s\">%s: ",
|
||||||
|
@ -7365,8 +7364,8 @@ void Usr_ListDataAdms (void)
|
||||||
if (Gbl.Usrs.LstUsrs[Rol_DEG_ADM].NumUsrs)
|
if (Gbl.Usrs.LstUsrs[Rol_DEG_ADM].NumUsrs)
|
||||||
{
|
{
|
||||||
/****** Show photos? *****/
|
/****** Show photos? *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"PREF_CONTAINER\">");
|
HTM_DIV_Begin ("class=\"PREF_CONTAINER\"");
|
||||||
fprintf (Gbl.F.Out,"<div class=\"PREF_OFF\">");
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Frm_StartForm (ActLstOth);
|
Frm_StartForm (ActLstOth);
|
||||||
Sco_PutParamCurrentScope ();
|
Sco_PutParamCurrentScope ();
|
||||||
Usr_PutCheckboxListWithPhotos ();
|
Usr_PutCheckboxListWithPhotos ();
|
||||||
|
@ -7793,7 +7792,7 @@ void Usr_SeeGuests (void)
|
||||||
bool PutForm;
|
bool PutForm;
|
||||||
|
|
||||||
/***** Put contextual links *****/
|
/***** Put contextual links *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
HTM_DIV_Begin ("class=\"CONTEXT_MENU\"");
|
||||||
|
|
||||||
/* Put link to remove old users */
|
/* Put link to remove old users */
|
||||||
Usr_PutLinkToSeeAdmins ();
|
Usr_PutLinkToSeeAdmins ();
|
||||||
|
@ -7826,7 +7825,7 @@ void Usr_SeeGuests (void)
|
||||||
/***** Form to select scope *****/
|
/***** Form to select scope *****/
|
||||||
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
|
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Frm_StartForm (ActLstGst);
|
Frm_StartForm (ActLstGst);
|
||||||
Usr_PutParamsPrefsAboutUsrList ();
|
Usr_PutParamsPrefsAboutUsrList ();
|
||||||
fprintf (Gbl.F.Out,"<label class=\"%s\">%s: ",
|
fprintf (Gbl.F.Out,"<label class=\"%s\">%s: ",
|
||||||
|
@ -7929,7 +7928,7 @@ void Usr_SeeStudents (void)
|
||||||
case Rol_CTR_ADM:
|
case Rol_CTR_ADM:
|
||||||
case Rol_INS_ADM:
|
case Rol_INS_ADM:
|
||||||
case Rol_SYS_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 */
|
/* Put link to go to admin student */
|
||||||
Enr_PutLinkToAdminOneUsr (ActReqMdfOneStd);
|
Enr_PutLinkToAdminOneUsr (ActReqMdfOneStd);
|
||||||
|
@ -7977,7 +7976,7 @@ void Usr_SeeStudents (void)
|
||||||
case Rol_CTR_ADM:
|
case Rol_CTR_ADM:
|
||||||
case Rol_INS_ADM:
|
case Rol_INS_ADM:
|
||||||
case Rol_SYS_ADM:
|
case Rol_SYS_ADM:
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Frm_StartForm (ActLstStd);
|
Frm_StartForm (ActLstStd);
|
||||||
Usr_PutParamsPrefsAboutUsrList ();
|
Usr_PutParamsPrefsAboutUsrList ();
|
||||||
fprintf (Gbl.F.Out,"<label class=\"%s\">%s: ",
|
fprintf (Gbl.F.Out,"<label class=\"%s\">%s: ",
|
||||||
|
@ -8100,7 +8099,7 @@ void Usr_SeeTeachers (void)
|
||||||
case Rol_CTR_ADM:
|
case Rol_CTR_ADM:
|
||||||
case Rol_INS_ADM:
|
case Rol_INS_ADM:
|
||||||
case Rol_SYS_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 */
|
/* Put link to go to admin one user */
|
||||||
Enr_PutLinkToAdminOneUsr (ActReqMdfOneTch);
|
Enr_PutLinkToAdminOneUsr (ActReqMdfOneTch);
|
||||||
|
@ -8155,7 +8154,7 @@ void Usr_SeeTeachers (void)
|
||||||
Hlp_USERS_Teachers,Box_NOT_CLOSABLE);
|
Hlp_USERS_Teachers,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
/***** Form to select scope *****/
|
/***** Form to select scope *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
HTM_DIV_Begin ("class=\"CM\"");
|
||||||
Frm_StartForm (ActLstTch);
|
Frm_StartForm (ActLstTch);
|
||||||
Usr_PutParamsPrefsAboutUsrList ();
|
Usr_PutParamsPrefsAboutUsrList ();
|
||||||
fprintf (Gbl.F.Out,"<label class=\"%s\">%s: ",
|
fprintf (Gbl.F.Out,"<label class=\"%s\">%s: ",
|
||||||
|
@ -8953,7 +8952,7 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType,
|
||||||
ClassPhoto,Pho_ZOOM,false);
|
ClassPhoto,Pho_ZOOM,false);
|
||||||
|
|
||||||
/***** Photo foot *****/
|
/***** Photo foot *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CLASSPHOTO_CAPTION\">");
|
HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION\"");
|
||||||
|
|
||||||
/* Name */
|
/* Name */
|
||||||
if (UsrDat.FirstName[0])
|
if (UsrDat.FirstName[0])
|
||||||
|
@ -9713,9 +9712,8 @@ void Usr_WriteAuthor1Line (long UsrCod,bool Hidden)
|
||||||
"PHOTO15x20",Pho_ZOOM,false);
|
"PHOTO15x20",Pho_ZOOM,false);
|
||||||
|
|
||||||
/***** Write name *****/
|
/***** Write name *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"AUTHOR_1_LINE %s\">",
|
HTM_DIV_Begin ("class=\"AUTHOR_1_LINE %s\"",Hidden ? "AUTHOR_TXT_LIGHT" :
|
||||||
Hidden ? "AUTHOR_TXT_LIGHT" :
|
"AUTHOR_TXT");
|
||||||
"AUTHOR_TXT");
|
|
||||||
fprintf (Gbl.F.Out,"%s",UsrDat.FullName);
|
fprintf (Gbl.F.Out,"%s",UsrDat.FullName);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue