mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-16 13:44:06 +02:00
Version19.42.2
This commit is contained in:
parent
d3ab3b9297
commit
8824f0ba48
11
swad_QR.c
11
swad_QR.c
|
@ -105,13 +105,12 @@ void QR_PrintQRCode (void)
|
||||||
|
|
||||||
void QR_ImageQRCode (const char *QRString)
|
void QR_ImageQRCode (const char *QRString)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\""
|
fprintf (Gbl.F.Out,"<div class=\"CM\" style=\"margin:0 auto; width:%upx;\">",
|
||||||
" style=\"margin:0 auto; width:%upx;\">"
|
QR_CODE_SIZE);
|
||||||
"<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;"
|
||||||
" border:1px dashed silver;\" />",
|
" border:1px dashed silver;\" />",
|
||||||
QR_CODE_SIZE,
|
|
||||||
QR_CODE_SIZE,QR_CODE_SIZE,
|
QR_CODE_SIZE,QR_CODE_SIZE,
|
||||||
QRString,
|
QRString,
|
||||||
QRString,
|
QRString,
|
||||||
|
@ -150,8 +149,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
||||||
"<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;\" />",
|
||||||
300,300,
|
300,300,
|
||||||
|
|
12
swad_alert.c
12
swad_alert.c
|
@ -412,14 +412,14 @@ static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Tx
|
||||||
Frm_SetUniqueId (IdAlert);
|
Frm_SetUniqueId (IdAlert);
|
||||||
fprintf (Gbl.F.Out," id=\"%s\"",IdAlert);
|
fprintf (Gbl.F.Out," id=\"%s\"",IdAlert);
|
||||||
}
|
}
|
||||||
fprintf (Gbl.F.Out," class=\"CM\">"
|
fprintf (Gbl.F.Out," class=\"CM\">");
|
||||||
"<div class=\"ALERT\">");
|
fprintf (Gbl.F.Out,"<div class=\"ALERT\">");
|
||||||
|
|
||||||
/***** Icon to close the alert *****/
|
/***** Icon to close the alert *****/
|
||||||
if (AlertClosable[AlertType])
|
if (AlertClosable[AlertType])
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ALERT_CLOSE\">"
|
fprintf (Gbl.F.Out,"<div class=\"ALERT_CLOSE\">");
|
||||||
"<a href=\"\""
|
fprintf (Gbl.F.Out,"<a href=\"\""
|
||||||
" onclick=\"toggleDisplay('%s');return false;\" />"
|
" onclick=\"toggleDisplay('%s');return false;\" />"
|
||||||
"<img src=\"%s/close.svg\""
|
"<img src=\"%s/close.svg\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
|
@ -436,8 +436,8 @@ static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Tx
|
||||||
if (AlertType != Ale_NONE)
|
if (AlertType != Ale_NONE)
|
||||||
fprintf (Gbl.F.Out," style=\"background-image:url('%s/%s');\"",
|
fprintf (Gbl.F.Out," style=\"background-image:url('%s/%s');\"",
|
||||||
Cfg_URL_ICON_PUBLIC,Ale_AlertIcons[AlertType]);
|
Cfg_URL_ICON_PUBLIC,Ale_AlertIcons[AlertType]);
|
||||||
fprintf (Gbl.F.Out,">%s",
|
fprintf (Gbl.F.Out,">");
|
||||||
Txt);
|
fprintf (Gbl.F.Out,"%s",Txt);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -324,15 +324,13 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Write the subject of the announcement *****/
|
/***** Write the subject of the announcement *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",SubjectClass[Status]);
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Subject);
|
||||||
SubjectClass[Status],Subject);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Write the content of the announcement *****/
|
/***** Write the content of the announcement *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",ContentClass[Status]);
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Content);
|
||||||
ContentClass[Status],Content);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Write form *****/
|
/***** Write form *****/
|
||||||
|
|
|
@ -443,11 +443,10 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
|
||||||
HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
|
HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
|
||||||
if (Gbl.Crs.Grps.NumGrps)
|
if (Gbl.Crs.Grps.NumGrps)
|
||||||
Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (&Asg);
|
Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (&Asg);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">"
|
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">",
|
||||||
"%s",
|
|
||||||
Asg.Hidden ? "DAT_LIGHT" :
|
Asg.Hidden ? "DAT_LIGHT" :
|
||||||
"DAT",
|
"DAT");
|
||||||
Txt);
|
fprintf (Gbl.F.Out,"%s",Txt);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
@ -1633,9 +1632,10 @@ static void Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (struct Assignment *Asg)
|
||||||
Asg->AsgCod);
|
Asg->AsgCod);
|
||||||
|
|
||||||
/***** Write heading *****/
|
/***** Write heading *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">%s: ",
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
||||||
Asg->Hidden ? "ASG_GRP_LIGHT" :
|
Asg->Hidden ? "ASG_GRP_LIGHT" :
|
||||||
"ASG_GRP",
|
"ASG_GRP");
|
||||||
|
fprintf (Gbl.F.Out,"%s: ",
|
||||||
(NumRows == 1) ? Txt_Group :
|
(NumRows == 1) ? Txt_Group :
|
||||||
Txt_Groups);
|
Txt_Groups);
|
||||||
|
|
||||||
|
|
|
@ -481,11 +481,10 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
|
||||||
HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
|
HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
|
||||||
if (Gbl.Crs.Grps.NumGrps)
|
if (Gbl.Crs.Grps.NumGrps)
|
||||||
Att_GetAndWriteNamesOfGrpsAssociatedToAttEvent (Att);
|
Att_GetAndWriteNamesOfGrpsAssociatedToAttEvent (Att);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
||||||
"%s",
|
|
||||||
Att->Hidden ? "DAT_LIGHT" :
|
Att->Hidden ? "DAT_LIGHT" :
|
||||||
"DAT",
|
"DAT");
|
||||||
Description);
|
fprintf (Gbl.F.Out,"%s",Description);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
@ -1524,9 +1523,10 @@ static void Att_GetAndWriteNamesOfGrpsAssociatedToAttEvent (struct AttendanceEve
|
||||||
Att->AttCod);
|
Att->AttCod);
|
||||||
|
|
||||||
/***** Write heading *****/
|
/***** Write heading *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">%s: ",
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
||||||
Att->Hidden ? "ASG_GRP_LIGHT" :
|
Att->Hidden ? "ASG_GRP_LIGHT" :
|
||||||
"ASG_GRP",
|
"ASG_GRP");
|
||||||
|
fprintf (Gbl.F.Out,"%s: ",
|
||||||
(NumGrps == 1) ? Txt_Group :
|
(NumGrps == 1) ? Txt_Group :
|
||||||
Txt_Groups);
|
Txt_Groups);
|
||||||
|
|
||||||
|
|
|
@ -195,11 +195,10 @@ static void Box_StartBoxInternal (const char *Width,const char *Title,
|
||||||
/***** Frame title *****/
|
/***** Frame title *****/
|
||||||
if (Title)
|
if (Title)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_TITLE %s\">"
|
fprintf (Gbl.F.Out,"<div class=\"FRAME_TITLE %s\">",
|
||||||
"%s",
|
|
||||||
Gbl.Box.Nested ? "FRAME_TITLE_SMALL" :
|
Gbl.Box.Nested ? "FRAME_TITLE_SMALL" :
|
||||||
"FRAME_TITLE_BIG",
|
"FRAME_TITLE_BIG");
|
||||||
Title);
|
fprintf (Gbl.F.Out,"%s",Title);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,8 +99,8 @@ void Btn_PutButtonInline (Btn_Button_t Button,const char *TxtButton)
|
||||||
|
|
||||||
void Btn_PutCreateButton (const char *TxtButton)
|
void Btn_PutCreateButton (const char *TxtButton)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">"
|
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
||||||
"<button type=\"submit\" class=\"BT_SUBMIT BT_CREATE\">"
|
fprintf (Gbl.F.Out,"<button type=\"submit\" class=\"BT_SUBMIT BT_CREATE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</button>",
|
"</button>",
|
||||||
TxtButton);
|
TxtButton);
|
||||||
|
@ -117,8 +117,8 @@ void Btn_PutCreateButtonInline (const char *TxtButton)
|
||||||
|
|
||||||
void Btn_PutConfirmButton (const char *TxtButton)
|
void Btn_PutConfirmButton (const char *TxtButton)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">"
|
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
||||||
"<button type=\"submit\" class=\"BT_SUBMIT BT_CONFIRM\">"
|
fprintf (Gbl.F.Out,"<button type=\"submit\" class=\"BT_SUBMIT BT_CONFIRM\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</button>",
|
"</button>",
|
||||||
TxtButton);
|
TxtButton);
|
||||||
|
@ -135,8 +135,8 @@ void Btn_PutConfirmButtonInline (const char *TxtButton)
|
||||||
|
|
||||||
void Btn_PutRemoveButton (const char *TxtButton)
|
void Btn_PutRemoveButton (const char *TxtButton)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\">"
|
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
||||||
"<button type=\"submit\" class=\"BT_SUBMIT BT_REMOVE\">"
|
fprintf (Gbl.F.Out,"<button type=\"submit\" class=\"BT_SUBMIT BT_REMOVE\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</button>",
|
"</button>",
|
||||||
TxtButton);
|
TxtButton);
|
||||||
|
|
|
@ -391,9 +391,8 @@ static void Ctr_Configuration (bool PrintView)
|
||||||
}
|
}
|
||||||
else if (PhotoAttribution)
|
else if (PhotoAttribution)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ATTRIBUTION\">"
|
fprintf (Gbl.F.Out,"<div class=\"ATTRIBUTION\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",PhotoAttribution);
|
||||||
PhotoAttribution);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -587,8 +586,8 @@ static void Ctr_Configuration (bool PrintView)
|
||||||
}
|
}
|
||||||
else // I can not change centre WWW
|
else // I can not change centre WWW
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_LONG\">"
|
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_LONG\">");
|
||||||
"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</a>",
|
"</a>",
|
||||||
Gbl.Hierarchy.Ctr.WWW,
|
Gbl.Hierarchy.Ctr.WWW,
|
||||||
|
@ -1606,8 +1605,8 @@ static void Ctr_ListCentresForEdition (void)
|
||||||
{
|
{
|
||||||
Str_Copy (WWW,Ctr->WWW,
|
Str_Copy (WWW,Ctr->WWW,
|
||||||
Cns_MAX_BYTES_WWW);
|
Cns_MAX_BYTES_WWW);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_SHORT\">"
|
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_SHORT\">");
|
||||||
"<a href=\"%s\" target=\"_blank\""
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
||||||
" class=\"DAT\" title=\"%s\">"
|
" class=\"DAT\" title=\"%s\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</a>",
|
"</a>",
|
||||||
|
|
|
@ -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.1 (2019-10-23)"
|
#define Log_PLATFORM_VERSION "SWAD 19.42.2 (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.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)
|
||||||
Version 19.42: Oct 23, 2019 Module swad_table is renamed as swad_HTML. (245956 lines)
|
Version 19.42: Oct 23, 2019 Module swad_table is renamed as swad_HTML. (245956 lines)
|
||||||
Version 19.41.4: Oct 23, 2019 Number of cols in match in range [1...4]. (245955 lines)
|
Version 19.41.4: Oct 23, 2019 Number of cols in match in range [1...4]. (245955 lines)
|
||||||
|
|
|
@ -268,9 +268,8 @@ static void Con_ShowConnectedUsrsBelongingToLocation (void)
|
||||||
|
|
||||||
/***** Number of connected users who belong to scope *****/
|
/***** Number of connected users who belong to scope *****/
|
||||||
Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_UNK,&Usrs);
|
Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_UNK,&Usrs);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONNECTED_TXT\">%u %s ",
|
fprintf (Gbl.F.Out,"<div class=\"CONNECTED_TXT\">");
|
||||||
Usrs.NumUsrs,
|
fprintf (Gbl.F.Out,"%u %s ",Usrs.NumUsrs,Txt_from);
|
||||||
Txt_from);
|
|
||||||
|
|
||||||
/* Put form to change scope */
|
/* Put form to change scope */
|
||||||
Frm_StartForm (ActLstCon);
|
Frm_StartForm (ActLstCon);
|
||||||
|
|
|
@ -308,9 +308,8 @@ static void Cty_Configuration (bool PrintView)
|
||||||
}
|
}
|
||||||
else if (MapAttribution)
|
else if (MapAttribution)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ATTRIBUTION\">"
|
fprintf (Gbl.F.Out,"<div class=\"ATTRIBUTION\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",MapAttribution);
|
||||||
MapAttribution);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -471,8 +471,8 @@ static void Deg_Configuration (bool PrintView)
|
||||||
}
|
}
|
||||||
else // I can not change degree WWW
|
else // I can not change degree WWW
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_LONG\">"
|
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_LONG\">");
|
||||||
"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</a>",
|
"</a>",
|
||||||
Gbl.Hierarchy.Deg.WWW,
|
Gbl.Hierarchy.Deg.WWW,
|
||||||
|
@ -835,8 +835,8 @@ static void Deg_ListDegreesForEdition (void)
|
||||||
{
|
{
|
||||||
Str_Copy (WWW,Deg->WWW,
|
Str_Copy (WWW,Deg->WWW,
|
||||||
Cns_MAX_BYTES_WWW);
|
Cns_MAX_BYTES_WWW);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_SHORT\">"
|
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_SHORT\">");
|
||||||
"<a href=\"%s\" target=\"_blank\""
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
||||||
" class=\"DAT\" title=\"%s\">"
|
" class=\"DAT\" title=\"%s\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</a>",
|
"</a>",
|
||||||
|
|
|
@ -728,28 +728,22 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
|
||||||
Hlp_USERS_Administration_administer_multiple_users,Box_NOT_CLOSABLE);
|
Hlp_USERS_Administration_administer_multiple_users,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
/***** Step 1: List of students to be enroled / removed *****/
|
/***** Step 1: List of students to be enroled / removed *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s LM\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s LM\">",The_ClassTitle[Gbl.Prefs.Theme]);
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Txt_Step_1_Provide_a_list_of_users);
|
||||||
The_ClassTitle[Gbl.Prefs.Theme],
|
|
||||||
Txt_Step_1_Provide_a_list_of_users);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
Ale_ShowAlert (Ale_INFO,Txt_Type_or_paste_a_list_of_IDs_nicks_or_emails_);
|
Ale_ShowAlert (Ale_INFO,Txt_Type_or_paste_a_list_of_IDs_nicks_or_emails_);
|
||||||
Enr_PutAreaToEnterUsrsIDs ();
|
Enr_PutAreaToEnterUsrsIDs ();
|
||||||
|
|
||||||
/***** Step 2: Put different actions to register/remove users to/from current course *****/
|
/***** Step 2: Put different actions to register/remove users to/from current course *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s LM\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s LM\">",The_ClassTitle[Gbl.Prefs.Theme]);
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Txt_Step_2_Select_the_desired_action);
|
||||||
The_ClassTitle[Gbl.Prefs.Theme],
|
|
||||||
Txt_Step_2_Select_the_desired_action);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
Enr_PutActionsRegRemSeveralUsrs ();
|
Enr_PutActionsRegRemSeveralUsrs ();
|
||||||
|
|
||||||
/***** Step 3: Select groups in which register / remove users *****/
|
/***** Step 3: Select groups in which register / remove users *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s LM\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s LM\">",The_ClassTitle[Gbl.Prefs.Theme]);
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Txt_Step_3_Optionally_select_groups);
|
||||||
The_ClassTitle[Gbl.Prefs.Theme],
|
|
||||||
Txt_Step_3_Optionally_select_groups);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
if (Gbl.Hierarchy.Level == Hie_CRS) // Course selected
|
if (Gbl.Hierarchy.Level == Hie_CRS) // Course selected
|
||||||
{
|
{
|
||||||
|
@ -765,10 +759,8 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Step 4: Confirm register / remove students *****/
|
/***** Step 4: Confirm register / remove students *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s LM\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s LM\">",The_ClassTitle[Gbl.Prefs.Theme]);
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Txt_Step_4_Confirm_the_enrolment_removing);
|
||||||
The_ClassTitle[Gbl.Prefs.Theme],
|
|
||||||
Txt_Step_4_Confirm_the_enrolment_removing);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
Pwd_AskForConfirmationOnDangerousAction ();
|
Pwd_AskForConfirmationOnDangerousAction ();
|
||||||
|
|
||||||
|
|
|
@ -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\"");
|
fprintf (Gbl.F.Out,"<div class=\"OWNER_WORKS_DATA AUTHOR_TXT\">");
|
||||||
|
|
||||||
switch (UsrDat->Roles.InCurrentCrs.Role)
|
switch (UsrDat->Roles.InCurrentCrs.Role)
|
||||||
{
|
{
|
||||||
|
@ -4069,9 +4069,8 @@ static void Brw_WriteSubtitleOfFileBrowser (void)
|
||||||
}
|
}
|
||||||
if (Subtitle[0])
|
if (Subtitle[0])
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"BROWSER_SUBTITLE\">"
|
fprintf (Gbl.F.Out,"<div class=\"BROWSER_SUBTITLE\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Subtitle);
|
||||||
Subtitle);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6306,8 +6305,8 @@ 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," "
|
fprintf (Gbl.F.Out," ");
|
||||||
"<div class=\"FILENAME\">");
|
fprintf (Gbl.F.Out,"<div class=\"FILENAME\">");
|
||||||
|
|
||||||
Frm_StartForm (Brw_ActDowFile[Gbl.FileBrowser.Type]);
|
Frm_StartForm (Brw_ActDowFile[Gbl.FileBrowser.Type]);
|
||||||
Brw_PutImplicitParamsFileBrowser ();
|
Brw_PutImplicitParamsFileBrowser ();
|
||||||
|
@ -8405,8 +8404,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"dz-message\">");
|
||||||
"<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 ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
|
@ -518,8 +518,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div id=\"following_side\">");
|
||||||
"<div class=\"FOLLOW_SIDE\">");
|
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_SIDE\">");
|
||||||
|
|
||||||
/* User follows me? */
|
/* User follows me? */
|
||||||
fprintf (Gbl.F.Out,"<div id=\"follows_me\" class=\"DAT_LIGHT\">");
|
fprintf (Gbl.F.Out,"<div id=\"follows_me\" class=\"DAT_LIGHT\">");
|
||||||
|
@ -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\">"
|
fprintf (Gbl.F.Out,"<div id=\"followers_side\">");
|
||||||
"<div class=\"FOLLOW_SIDE\">");
|
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_SIDE\">");
|
||||||
|
|
||||||
/* Number of followers */
|
/* Number of followers */
|
||||||
Fol_ShowNumberOfFollowingOrFollowers (UsrDat,
|
Fol_ShowNumberOfFollowingOrFollowers (UsrDat,
|
||||||
|
@ -556,8 +556,8 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
|
||||||
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\""
|
fprintf (Gbl.F.Out,"<div class=\"ICO_HIGHLIGHT\""
|
||||||
" style=\"display:inline;\" >"
|
" style=\"display:inline;\" >");
|
||||||
"<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\" />",
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
|
@ -572,8 +572,8 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
|
||||||
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\""
|
fprintf (Gbl.F.Out,"<div class=\"ICO_HIGHLIGHT\""
|
||||||
" style=\"display:inline;\" >"
|
" style=\"display:inline;\" >");
|
||||||
"<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\" />",
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
|
@ -954,10 +954,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_USR_ICO ICO_HIDDEN\">");
|
||||||
"<img src=\"%s/user.svg\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/user.svg\" alt=\"\" class=\"ICO16x16\" />",
|
||||||
" alt=\"\""
|
|
||||||
" class=\"ICO16x16\" />",
|
|
||||||
Cfg_URL_ICON_PUBLIC);
|
Cfg_URL_ICON_PUBLIC);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -974,10 +972,9 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_USR_ICO ICO_HIGHLIGHT\">");
|
||||||
"<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=\"ICO16x16\" />",
|
||||||
" class=\"ICO16x16\" />",
|
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
Txt_Follow,Txt_Follow);
|
Txt_Follow,Txt_Follow);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -997,10 +994,9 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"FOLLOW_USR_ICO ICO_HIGHLIGHT\">");
|
||||||
"<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=\"ICO16x16\" />",
|
||||||
" class=\"ICO16x16\" />",
|
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
Txt_Unfollow,Txt_Unfollow);
|
Txt_Unfollow,Txt_Unfollow);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
|
@ -1757,8 +1757,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"SEL_BELOW_TITLE\">");
|
||||||
"<ul>");
|
fprintf (Gbl.F.Out,"<ul>");
|
||||||
|
|
||||||
for (ForumSet = (For_ForumSet_t) 0;
|
for (ForumSet = (For_ForumSet_t) 0;
|
||||||
ForumSet < For_NUM_FORUM_SETS;
|
ForumSet < For_NUM_FORUM_SETS;
|
||||||
|
|
24
swad_game.c
24
swad_game.c
|
@ -461,12 +461,10 @@ void Gam_ShowOneGame (long GamCod,
|
||||||
Lay_EndArticle ();
|
Lay_EndArticle ();
|
||||||
|
|
||||||
/* Number of questions */
|
/* Number of questions */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
||||||
"%s: %u",
|
|
||||||
Game.Hidden ? "ASG_GRP_LIGHT" :
|
Game.Hidden ? "ASG_GRP_LIGHT" :
|
||||||
"ASG_GRP",
|
"ASG_GRP");
|
||||||
Txt_No_of_questions,
|
fprintf (Gbl.F.Out,"%s: %u",Txt_No_of_questions,Game.NumQsts);
|
||||||
Game.NumQsts);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
@ -513,11 +511,10 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">",
|
||||||
"%s",
|
|
||||||
Game.Hidden ? "DAT_LIGHT" :
|
Game.Hidden ? "DAT_LIGHT" :
|
||||||
"DAT",
|
"DAT");
|
||||||
Txt);
|
fprintf (Gbl.F.Out,"%s",Txt);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
@ -1741,15 +1738,14 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"BIG_INDEX\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",StrQstInd);
|
||||||
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\">%s",
|
fprintf (Gbl.F.Out,"<div class=\"DAT_SMALL\">");
|
||||||
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 ();
|
||||||
|
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
|
@ -410,8 +410,7 @@ void Grp_ShowFormToSelectSeveralGroups (void (*FuncParams) (void),
|
||||||
Grp_FreeListGrpTypesAndGrps ();
|
Grp_FreeListGrpTypesAndGrps ();
|
||||||
|
|
||||||
/***** Submit button *****/
|
/***** Submit button *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CM\""
|
fprintf (Gbl.F.Out,"<div class=\"CM\" style=\"padding-top:12px;\">");
|
||||||
" 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();");
|
||||||
|
@ -453,8 +452,8 @@ static void Grp_PutCheckboxAllGrps (Grp_WhichGroups_t GroupsSelectableByStdsOrNE
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT\">"
|
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT\">");
|
||||||
"<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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -207,7 +207,8 @@ 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);
|
fprintf (Gbl.F.Out,"<div class=\"BC %s\">",ClassTxt);
|
||||||
|
fprintf (Gbl.F.Out," ");
|
||||||
|
|
||||||
Frm_StartFormGoTo (ActMnu);
|
Frm_StartFormGoTo (ActMnu);
|
||||||
Par_PutHiddenParamUnsigned ("NxtTab",(unsigned) TabSys);
|
Par_PutHiddenParamUnsigned ("NxtTab",(unsigned) TabSys);
|
||||||
|
@ -439,19 +440,19 @@ void Hie_WriteBigNameCtyInsCtrDegCrs (void)
|
||||||
fprintf (Gbl.F.Out,"<div id=\"big_name_container\">");
|
fprintf (Gbl.F.Out,"<div 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\">"
|
fprintf (Gbl.F.Out,"<div id=\"big_full_name\">");
|
||||||
"%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 :
|
||||||
((Gbl.Hierarchy.Level == Hie_CTR) ? Gbl.Hierarchy.Ctr.FullName :
|
((Gbl.Hierarchy.Level == Hie_CTR) ? Gbl.Hierarchy.Ctr.FullName :
|
||||||
((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\">"
|
fprintf (Gbl.F.Out,"<div class=\"NOT_SHOWN\">");
|
||||||
" / "); // To separate
|
fprintf (Gbl.F.Out," / "); // To separate
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
fprintf (Gbl.F.Out,"<div id=\"big_short_name\">"
|
fprintf (Gbl.F.Out,"<div id=\"big_short_name\">");
|
||||||
"%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 :
|
||||||
((Gbl.Hierarchy.Level == Hie_CTR) ? Gbl.Hierarchy.Ctr.ShrtName :
|
((Gbl.Hierarchy.Level == Hie_CTR) ? Gbl.Hierarchy.Ctr.ShrtName :
|
||||||
|
@ -461,15 +462,15 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div id=\"big_full_name\">");
|
||||||
"%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\">"
|
fprintf (Gbl.F.Out,"<div class=\"NOT_SHOWN\">");
|
||||||
" / "); // To separate
|
fprintf (Gbl.F.Out," / "); // To separate
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
fprintf (Gbl.F.Out,"<div id=\"big_short_name\">"
|
fprintf (Gbl.F.Out,"<div id=\"big_short_name\">");
|
||||||
"%s", // Short name
|
fprintf (Gbl.F.Out,"%s", // Short name
|
||||||
Cfg_PLATFORM_SHORT_NAME);
|
Cfg_PLATFORM_SHORT_NAME);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
18
swad_icon.c
18
swad_icon.c
|
@ -332,11 +332,9 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",DivClass);
|
||||||
"<img src=\"%s/%s\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/%s\" alt=\"%s\" title=\"%s\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
|
||||||
" class=\"CONTEXT_ICO_16x16\" />",
|
" class=\"CONTEXT_ICO_16x16\" />",
|
||||||
DivClass,
|
|
||||||
Cfg_URL_ICON_PUBLIC,Icon,
|
Cfg_URL_ICON_PUBLIC,Icon,
|
||||||
Title,Title);
|
Title,Title);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -373,8 +371,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT ICO_HIGHLIGHT\">");
|
||||||
"<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",
|
||||||
Cfg_URL_ICON_PUBLIC,Icon,Text,Text,
|
Cfg_URL_ICON_PUBLIC,Icon,Text,Text,
|
||||||
|
@ -413,8 +411,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT ICO_HIGHLIGHT\">");
|
||||||
"<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\" />"
|
||||||
"<img id=\"updating_%d\" src=\"%s/working16x16.gif\"" // TODO: change name and resolution to refreshing64x64.gif
|
"<img id=\"updating_%d\" src=\"%s/working16x16.gif\"" // TODO: change name and resolution to refreshing64x64.gif
|
||||||
|
@ -435,8 +433,8 @@ 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\""
|
fprintf (Gbl.F.Out,"<div class=\"ICO_HIGHLIGHT\""
|
||||||
" style=\"margin:0 6px 0 0; display:inline;\">"
|
" style=\"margin:0 6px 0 0; display:inline;\">");
|
||||||
"<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\" />"
|
||||||
"<img id=\"updating_%d\" src=\"%s/working16x16.gif\""
|
"<img id=\"updating_%d\" src=\"%s/working16x16.gif\""
|
||||||
|
|
12
swad_info.c
12
swad_info.c
|
@ -599,8 +599,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
||||||
"<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;
|
||||||
InfoType < Inf_NUM_INFO_TYPES;
|
InfoType < Inf_NUM_INFO_TYPES;
|
||||||
|
@ -1272,8 +1272,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
||||||
"<label class=\"%s\">"
|
fprintf (Gbl.F.Out,"<label class=\"%s\">"
|
||||||
"%s: "
|
"%s: "
|
||||||
"<input type=\"file\" name=\"%s\" />"
|
"<input type=\"file\" name=\"%s\" />"
|
||||||
"</label>",
|
"</label>",
|
||||||
|
@ -1307,8 +1307,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
||||||
"<label class=\"%s\">"
|
fprintf (Gbl.F.Out,"<label class=\"%s\">"
|
||||||
"%s: "
|
"%s: "
|
||||||
"<input type=\"url\" name=\"InfoSrcURL\""
|
"<input type=\"url\" name=\"InfoSrcURL\""
|
||||||
" size=\"50\" maxlength=\"256\" value=\"",
|
" size=\"50\" maxlength=\"256\" value=\"",
|
||||||
|
|
|
@ -485,8 +485,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_LONG\">");
|
||||||
"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</a>",
|
"</a>",
|
||||||
Gbl.Hierarchy.Ins.WWW,
|
Gbl.Hierarchy.Ins.WWW,
|
||||||
|
@ -1555,8 +1555,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_SHORT\">");
|
||||||
"<a href=\"%s\" target=\"_blank\""
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\""
|
||||||
" class=\"DAT\" title=\"%s\">"
|
" class=\"DAT\" title=\"%s\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</a>",
|
"</a>",
|
||||||
|
|
|
@ -270,13 +270,13 @@ void Lay_WriteStartOfPage (void)
|
||||||
switch (BrowserTab)
|
switch (BrowserTab)
|
||||||
{
|
{
|
||||||
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");
|
||||||
"<div id=\"zoomLyr\" class=\"ZOOM\">"
|
fprintf (Gbl.F.Out,"<div id=\"zoomLyr\" class=\"ZOOM\">");
|
||||||
"<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\" />",
|
||||||
"<div id=\"zoomTxt\" class=\"CM\">",
|
|
||||||
Cfg_URL_ICON_PUBLIC);
|
Cfg_URL_ICON_PUBLIC);
|
||||||
|
fprintf (Gbl.F.Out,"<div id=\"zoomTxt\" class=\"CM\">");
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
break;
|
break;
|
||||||
|
@ -1046,17 +1046,17 @@ static void Lay_WriteTitleAction (void)
|
||||||
Act_GetIcon (Act_GetSuperAction (Gbl.Action.Act)));
|
Act_GetIcon (Act_GetSuperAction (Gbl.Action.Act)));
|
||||||
|
|
||||||
/***** Title *****/
|
/***** Title *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
||||||
"%s > %s",
|
The_ClassTitleAction[Gbl.Prefs.Theme]);
|
||||||
The_ClassTitleAction[Gbl.Prefs.Theme],
|
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\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
||||||
"%s",
|
The_ClassSubtitleAction[Gbl.Prefs.Theme]);
|
||||||
The_ClassSubtitleAction[Gbl.Prefs.Theme],
|
fprintf (Gbl.F.Out,"%s",
|
||||||
Act_GetSubtitleAction (Gbl.Action.Act));
|
Act_GetSubtitleAction (Gbl.Action.Act));
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
|
@ -1162,8 +1162,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"LEFT_RIGHT_CELL\">");
|
||||||
"<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\""
|
||||||
" alt=\"SWADroid\" title=\"SWADroid\""
|
" alt=\"SWADroid\" title=\"SWADroid\""
|
||||||
|
@ -1286,12 +1286,12 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT %s %s\" title=\"%s\">",
|
||||||
"<label>",
|
|
||||||
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>");
|
||||||
|
|
||||||
/****** Checkbox and text *****/
|
/****** Checkbox and text *****/
|
||||||
fprintf (Gbl.F.Out,"<input type=\"checkbox\" name=\"%s\" value=\"Y\"",
|
fprintf (Gbl.F.Out,"<input type=\"checkbox\" name=\"%s\" value=\"Y\"",
|
||||||
|
@ -1472,20 +1472,19 @@ static void Lay_WriteAboutZone (void)
|
||||||
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"ABOUT\" target=\"_blank\">"
|
fprintf (Gbl.F.Out,"<a href=\"%s\" class=\"ABOUT\" target=\"_blank\">"
|
||||||
"<img src=\"%s/%s\""
|
"<img src=\"%s/%s\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" style=\"width:%upx; height:%upx;\" />"
|
" style=\"width:%upx; height:%upx;\" />",
|
||||||
"<div>"
|
|
||||||
"%s",
|
|
||||||
Cfg_ABOUT_URL,
|
Cfg_ABOUT_URL,
|
||||||
Cfg_URL_ICON_PUBLIC,Cfg_ABOUT_LOGO,
|
Cfg_URL_ICON_PUBLIC,Cfg_ABOUT_LOGO,
|
||||||
Cfg_ABOUT_NAME,Cfg_ABOUT_NAME,
|
Cfg_ABOUT_NAME,Cfg_ABOUT_NAME,
|
||||||
Cfg_ABOUT_LOGO_WIDTH,Cfg_ABOUT_LOGO_HEIGHT,
|
Cfg_ABOUT_LOGO_WIDTH,Cfg_ABOUT_LOGO_HEIGHT);
|
||||||
Cfg_ABOUT_NAME);
|
fprintf (Gbl.F.Out,"<div>");
|
||||||
|
fprintf (Gbl.F.Out,"%s",Cfg_ABOUT_NAME);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
fprintf (Gbl.F.Out,"</a>");
|
fprintf (Gbl.F.Out,"</a>");
|
||||||
|
|
||||||
/***** Questions and problems *****/
|
/***** Questions and problems *****/
|
||||||
fprintf (Gbl.F.Out,"<div>"
|
fprintf (Gbl.F.Out,"<div>");
|
||||||
"%s: "
|
fprintf (Gbl.F.Out,"%s: "
|
||||||
"<a href=\"mailto:%s\" class=\"ABOUT\" target=\"_blank\">%s</a>",
|
"<a href=\"mailto:%s\" class=\"ABOUT\" target=\"_blank\">%s</a>",
|
||||||
Txt_Questions_and_problems,
|
Txt_Questions_and_problems,
|
||||||
Cfg_PLATFORM_RESPONSIBLE_EMAIL,Cfg_PLATFORM_RESPONSIBLE_EMAIL);
|
Cfg_PLATFORM_RESPONSIBLE_EMAIL,Cfg_PLATFORM_RESPONSIBLE_EMAIL);
|
||||||
|
@ -1802,8 +1801,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"HELP_EDIT\">");
|
||||||
"%s: %s"
|
fprintf (Gbl.F.Out,"%s: %s"
|
||||||
" "
|
" "
|
||||||
"%s: <code>%s</code>"
|
"%s: <code>%s</code>"
|
||||||
" "
|
" "
|
||||||
|
|
|
@ -990,8 +990,8 @@ static void Mai_ListEmails (void)
|
||||||
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\">"
|
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||||
"<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,
|
||||||
Gbl.Hierarchy.Crs.FullName,
|
Gbl.Hierarchy.Crs.FullName,
|
||||||
|
|
39
swad_match.c
39
swad_match.c
|
@ -609,7 +609,8 @@ static void Mch_GetAndWriteNamesOfGrpsAssociatedToMatch (const struct Match *Mat
|
||||||
Match->MchCod);
|
Match->MchCod);
|
||||||
|
|
||||||
/***** Write heading *****/
|
/***** Write heading *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ASG_GRP\">%s: ",
|
fprintf (Gbl.F.Out,"<div class=\"ASG_GRP\">");
|
||||||
|
fprintf (Gbl.F.Out,"%s: ",
|
||||||
NumRows == 1 ? Txt_Group :
|
NumRows == 1 ? Txt_Group :
|
||||||
Txt_Groups);
|
Txt_Groups);
|
||||||
|
|
||||||
|
@ -674,9 +675,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"DAT\">");
|
||||||
"%u/%u",
|
fprintf (Gbl.F.Out,"%u/%u",Match->Status.QstInd,NumQsts);
|
||||||
Match->Status.QstInd,NumQsts);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2168,8 +2168,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"MCH_NUM_ANSWERERS\">");
|
||||||
"%s<br />"
|
fprintf (Gbl.F.Out,"%s<br />"
|
||||||
"<strong>",
|
"<strong>",
|
||||||
Txt_MATCH_respond);
|
Txt_MATCH_respond);
|
||||||
if (Match->Status.QstInd > 0 &&
|
if (Match->Status.QstInd > 0 &&
|
||||||
|
@ -2442,9 +2442,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"MCH_TOP\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Match->Title);
|
||||||
Match->Title);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2869,8 +2868,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTON_CONTAINER\">");
|
||||||
"<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;\">"
|
||||||
"<i class=\"%s\"></i>"
|
"<i class=\"%s\"></i>"
|
||||||
|
@ -2887,10 +2886,9 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTON_CONTAINER\">");
|
||||||
"<div class=\"MCH_BUTTON_OFF\">"
|
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTON_OFF\">");
|
||||||
"<i class=\"%s\"></i>",
|
fprintf (Gbl.F.Out,"<i class=\"%s\"></i>",Icon);
|
||||||
Icon);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -2900,8 +2898,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"MCH_BUTTON_CONTAINER\">");
|
||||||
"<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;\"\">"
|
||||||
"<i class=\"%s\"></i>"
|
"<i class=\"%s\"></i>"
|
||||||
|
@ -2916,10 +2914,9 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"MCH_WAIT_CONTAINER\">");
|
||||||
"<img src=\"%s/wait.gif\""
|
fprintf (Gbl.F.Out,"<img src=\"%s/wait.gif\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\" class=\"MCH_WAIT_IMG\" />",
|
||||||
" class=\"MCH_WAIT_IMG\" />",
|
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
Txt,
|
Txt,
|
||||||
Txt);
|
Txt);
|
||||||
|
|
36
swad_media.c
36
swad_media.c
|
@ -354,14 +354,14 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MED_UPLOADER\">"); // container
|
fprintf (Gbl.F.Out,"<div class=\"MED_UPLOADER\">"); // container
|
||||||
|
|
||||||
/***** Icon 'clip' *****/
|
/***** Icon 'clip' *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"%s_med_ico\">" // <id>_med_ico
|
fprintf (Gbl.F.Out,"<div id=\"%s_med_ico\">",Id); // <id>_med_ico
|
||||||
"<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\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"ICO_HIGHLIGHT ICOx16\" />"
|
" class=\"ICO_HIGHLIGHT ICOx16\" />"
|
||||||
"</a>",
|
"</a>",
|
||||||
Id,Id,
|
Id,
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
Txt_Multimedia,Txt_Multimedia);
|
Txt_Multimedia,Txt_Multimedia);
|
||||||
HTM_DIV_End (); // <id>_med_ico
|
HTM_DIV_End (); // <id>_med_ico
|
||||||
|
@ -380,8 +380,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
|
fprintf (Gbl.F.Out,"<div class=\"PREF_CONTAINERS\">"); // icons containers
|
||||||
"<div class=\"PREF_CONTAINER\">"); // icons container
|
fprintf (Gbl.F.Out,"<div 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
|
||||||
|
@ -420,8 +420,8 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
|
||||||
|
|
||||||
|
|
||||||
/***** Media file *****/
|
/***** Media file *****/
|
||||||
fprintf (Gbl.F.Out,"<div>"
|
fprintf (Gbl.F.Out,"<div>");
|
||||||
"<input id=\"%s_fil\" type=\"file\"" // <id>_fil
|
fprintf (Gbl.F.Out,"<input id=\"%s_fil\" type=\"file\"" // <id>_fil
|
||||||
" name=\"%s\" accept=\"image/,video/\""
|
" name=\"%s\" accept=\"image/,video/\""
|
||||||
" class=\"%s\" disabled=\"disabled\""
|
" class=\"%s\" disabled=\"disabled\""
|
||||||
" style=\"display:none;\" />",
|
" style=\"display:none;\" />",
|
||||||
|
@ -431,8 +431,8 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
|
||||||
HTM_DIV_End (); // <id>_fil
|
HTM_DIV_End (); // <id>_fil
|
||||||
|
|
||||||
/***** Media URL *****/
|
/***** Media URL *****/
|
||||||
fprintf (Gbl.F.Out,"<div>"
|
fprintf (Gbl.F.Out,"<div>");
|
||||||
"<input id=\"%s_url\" type=\"url\"" // <id>_url
|
fprintf (Gbl.F.Out,"<input id=\"%s_url\" type=\"url\"" // <id>_url
|
||||||
" name=\"%s\" placeholder=\"%s\""
|
" name=\"%s\" placeholder=\"%s\""
|
||||||
" class=\"%s\" maxlength=\"%u\" value=\"\""
|
" class=\"%s\" maxlength=\"%u\" value=\"\""
|
||||||
" disabled=\"disabled\""
|
" disabled=\"disabled\""
|
||||||
|
@ -443,8 +443,8 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
|
||||||
HTM_DIV_End (); // <id>_url
|
HTM_DIV_End (); // <id>_url
|
||||||
|
|
||||||
/***** Media title *****/
|
/***** Media title *****/
|
||||||
fprintf (Gbl.F.Out,"<div>"
|
fprintf (Gbl.F.Out,"<div>");
|
||||||
"<input id=\"%s_tit\" type=\"text\"" // <id>_tit
|
fprintf (Gbl.F.Out,"<input id=\"%s_tit\" type=\"text\"" // <id>_tit
|
||||||
" name=\"%s\" placeholder=\"%s\""
|
" name=\"%s\" placeholder=\"%s\""
|
||||||
" class=\"%s\" maxlength=\"%u\" value=\"\""
|
" class=\"%s\" maxlength=\"%u\" value=\"\""
|
||||||
" disabled=\"disabled\""
|
" disabled=\"disabled\""
|
||||||
|
@ -475,12 +475,12 @@ 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
|
fprintf (Gbl.F.Out,"<div id=\"%s_%s\" class=\"PREF_OFF\">", // <id>_IdSuffix
|
||||||
"<a href=\"\" onclick=\"%s('%s');return false;\">"
|
UniqueId,IdSuffix);
|
||||||
|
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\""
|
||||||
" class=\"ICO_HIGHLIGHT ICOx16\" />"
|
" class=\"ICO_HIGHLIGHT ICOx16\" />"
|
||||||
"</a>",
|
"</a>",
|
||||||
UniqueId,IdSuffix,
|
|
||||||
FunctionName,UniqueId,
|
FunctionName,UniqueId,
|
||||||
Cfg_URL_ICON_PUBLIC,Icon,Title,Title);
|
Cfg_URL_ICON_PUBLIC,Icon,Title,Title);
|
||||||
HTM_DIV_End (); // <id>_IdSuffix
|
HTM_DIV_End (); // <id>_IdSuffix
|
||||||
|
@ -1723,8 +1723,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"MED_VIDEO_CONT\">");
|
||||||
"<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;"
|
||||||
" gyroscope; picture-in-picture\""
|
" gyroscope; picture-in-picture\""
|
||||||
|
@ -1763,8 +1763,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"MED_EMBED_CONT\">");
|
||||||
"<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\""
|
||||||
" allowfullscreen=\"allowfullscreen\""
|
" allowfullscreen=\"allowfullscreen\""
|
||||||
|
|
|
@ -375,10 +375,9 @@ void Mnu_WriteMenuThisTab (void)
|
||||||
Act_GetIcon (NumAct));
|
Act_GetIcon (NumAct));
|
||||||
|
|
||||||
/***** Text *****/
|
/***** Text *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"MENU_TEXT %s\">"
|
fprintf (Gbl.F.Out,"<div class=\"MENU_TEXT %s\">",
|
||||||
"%s",
|
The_ClassTxtMenu[Gbl.Prefs.Theme]);
|
||||||
The_ClassTxtMenu[Gbl.Prefs.Theme],
|
fprintf (Gbl.F.Out,"%s",Txt_MENU_TITLE[Gbl.Action.Tab][NumOptInMenu]);
|
||||||
Txt_MENU_TITLE[Gbl.Action.Tab][NumOptInMenu]);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** End link and form *****/
|
/***** End link and form *****/
|
||||||
|
|
|
@ -449,11 +449,10 @@ static void Msg_ShowOneUniqueRecipient (void)
|
||||||
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\">"
|
fprintf (Gbl.F.Out,"<div class=\"MSG_TO_ONE_RCP %s\">",
|
||||||
"%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");
|
||||||
Gbl.Usrs.Other.UsrDat.FullName);
|
fprintf (Gbl.F.Out,"%s",Gbl.Usrs.Other.UsrDat.FullName);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Hidden parameter with user's nickname *****/
|
/***** Hidden parameter with user's nickname *****/
|
||||||
|
@ -3283,9 +3282,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"AUTHOR_TXT\">");
|
||||||
"(%s)",
|
fprintf (Gbl.F.Out,"(%s)",Txt_from_this_course);
|
||||||
Txt_from_this_course);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
else // Message sent from another course
|
else // Message sent from another course
|
||||||
|
@ -3293,8 +3291,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"AUTHOR_TXT\">");
|
||||||
"(");
|
fprintf (Gbl.F.Out,"(");
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
||||||
Txt_Go_to_X,
|
Txt_Go_to_X,
|
||||||
Crs.FullName);
|
Crs.FullName);
|
||||||
|
@ -3308,9 +3306,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"AUTHOR_TXT\">");
|
||||||
"(%s)",
|
fprintf (Gbl.F.Out,"(%s)",Txt_no_course_of_origin);
|
||||||
Txt_no_course_of_origin);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -251,9 +251,8 @@ 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\""
|
fprintf (Gbl.F.Out,"<div class=\"ICO_HIGHLIGHT\" style=\"display:inline;\">");
|
||||||
" style=\"display:inline;\">"
|
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" title=\"%s\">"
|
||||||
"<a href=\"%s\" target=\"_blank\" title=\"%s\">"
|
|
||||||
"<img src=\"%s/%s\""
|
"<img src=\"%s/%s\""
|
||||||
" alt=\"%s\" title=\"%s\""
|
" alt=\"%s\" title=\"%s\""
|
||||||
" class=\"ICO16x16\" />"
|
" class=\"ICO16x16\" />"
|
||||||
|
|
|
@ -469,8 +469,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
||||||
"<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\">"
|
||||||
"<img src=\"%s/rss-square.svg\""
|
"<img src=\"%s/rss-square.svg\""
|
||||||
|
@ -712,9 +712,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"NOTICE_TEXT_BRIEF\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Content);
|
||||||
Content);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/* Put form to view full notice */
|
/* Put form to view full notice */
|
||||||
|
@ -727,9 +726,8 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",TextClass[Status]);
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Content);
|
||||||
TextClass[Status],Content);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -888,8 +888,8 @@ 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;\">"
|
fprintf (Gbl.F.Out,"<div class=\"CM\" style=\"margin:12px;\">");
|
||||||
"<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"
|
||||||
"</label>"
|
"</label>"
|
||||||
|
|
34
swad_photo.c
34
swad_photo.c
|
@ -784,8 +784,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TIT CM\">");
|
||||||
"<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\" />",
|
||||||
Cfg_URL_PHOTO_TMP_PUBLIC,
|
Cfg_URL_PHOTO_TMP_PUBLIC,
|
||||||
|
@ -1218,9 +1218,8 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
|
||||||
/* Nickname */
|
/* Nickname */
|
||||||
if (UsrDat->Nickname[0])
|
if (UsrDat->Nickname[0])
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE DAT_SMALL_N\">"
|
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE DAT_SMALL_N\">");
|
||||||
"@%s",
|
fprintf (Gbl.F.Out,"@%s",UsrDat->Nickname);
|
||||||
UsrDat->Nickname);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1244,11 +1243,11 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE DAT_SMALL\">");
|
||||||
"<div class=\"ZOOM_DEG\""
|
fprintf (Gbl.F.Out,"<div class=\"ZOOM_DEG\""
|
||||||
" style=\"background-image:url('%s/%s');\">"
|
" style=\"background-image:url('%s/%s');\">",
|
||||||
"%s",
|
Cfg_URL_ICON_PUBLIC,Rol_Icons[MaxRole]);
|
||||||
Cfg_URL_ICON_PUBLIC,Rol_Icons[MaxRole],
|
fprintf (Gbl.F.Out,"%s",
|
||||||
MainDegreeShrtName);
|
MainDegreeShrtName);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -1258,8 +1257,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE\">");
|
||||||
"<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>"
|
||||||
"<span class=\"DAT_SMALL\"> %s</span>",
|
"<span class=\"DAT_SMALL\"> %s</span>",
|
||||||
|
@ -2491,10 +2490,9 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div id=\"%s\" class=\"NOT_SHOWN\">",IdCaption);
|
||||||
"<div class=\"ZOOM_TXT_LINE DAT_N\">"
|
fprintf (Gbl.F.Out,"<div class=\"ZOOM_TXT_LINE DAT_N\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",PhotoCaption);
|
||||||
IdCaption,PhotoCaption);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
@ -2519,8 +2517,8 @@ static void Pho_ShowDegreeAvgPhotoAndStat (struct Degree *Deg,
|
||||||
PhotoWidth,PhotoHeight);
|
PhotoWidth,PhotoHeight);
|
||||||
|
|
||||||
/***** Caption *****/
|
/***** Caption *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CLASSPHOTO_CAPTION\">"
|
fprintf (Gbl.F.Out,"<div class=\"CLASSPHOTO_CAPTION\">");
|
||||||
"%s<br />"
|
fprintf (Gbl.F.Out,"%s<br />"
|
||||||
"%d %s<br />"
|
"%d %s<br />"
|
||||||
"%d %s<br />"
|
"%d %s<br />"
|
||||||
"(%d%%)",
|
"(%d%%)",
|
||||||
|
|
|
@ -404,8 +404,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"PRF_FIG_LEFT_CONTAINER\">");
|
||||||
"<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 */
|
||||||
Prf_ShowTimeSinceFirstClick (UsrDat,&UsrFigures);
|
Prf_ShowTimeSinceFirstClick (UsrDat,&UsrFigures);
|
||||||
|
|
|
@ -3765,8 +3765,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
||||||
"<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);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
|
@ -274,8 +274,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"FILENAME_TXT CM\">");
|
||||||
"<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\""
|
||||||
" class=\"ICO64x64\" /><br />"
|
" class=\"ICO64x64\" /><br />"
|
||||||
|
@ -287,8 +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\">"
|
fprintf (Gbl.F.Out,"<div class=\"DAT_LIGHT\">");
|
||||||
"%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 ();
|
||||||
|
|
||||||
|
|
|
@ -143,8 +143,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
||||||
"<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 |
|
||||||
1 << Hie_CTY |
|
1 << Hie_CTY |
|
||||||
|
|
|
@ -537,10 +537,10 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
||||||
"%s: %u; %s: %u",
|
|
||||||
Svy.Status.Visible ? "ASG_GRP" :
|
Svy.Status.Visible ? "ASG_GRP" :
|
||||||
"ASG_GRP_LIGHT",
|
"ASG_GRP_LIGHT");
|
||||||
|
fprintf (Gbl.F.Out,"%s: %u; %s: %u",
|
||||||
Txt_No_of_questions,
|
Txt_No_of_questions,
|
||||||
Svy.NumQsts,
|
Svy.NumQsts,
|
||||||
Txt_No_of_users,
|
Txt_No_of_users,
|
||||||
|
@ -610,10 +610,10 @@ 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\">%s: ",
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
||||||
Svy.Status.Visible ? "ASG_GRP" :
|
Svy.Status.Visible ? "ASG_GRP" :
|
||||||
"ASG_GRP_LIGHT",
|
"ASG_GRP_LIGHT");
|
||||||
Txt_Scope);
|
fprintf (Gbl.F.Out,"%s: ",Txt_Scope);
|
||||||
switch (Svy.Scope)
|
switch (Svy.Scope)
|
||||||
{
|
{
|
||||||
case Hie_UNK: // Unknown
|
case Hie_UNK: // Unknown
|
||||||
|
@ -641,10 +641,10 @@ 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\">%s:<br />",
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
||||||
Svy.Status.Visible ? "ASG_GRP" :
|
Svy.Status.Visible ? "ASG_GRP" :
|
||||||
"ASG_GRP_LIGHT",
|
"ASG_GRP_LIGHT");
|
||||||
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 |
|
||||||
1 << Rol_TCH,
|
1 << Rol_TCH,
|
||||||
|
@ -662,11 +662,10 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">",
|
||||||
"%s",
|
|
||||||
Svy.Status.Visible ? "DAT" :
|
Svy.Status.Visible ? "DAT" :
|
||||||
"DAT_LIGHT",
|
"DAT_LIGHT");
|
||||||
Txt);
|
fprintf (Gbl.F.Out,"%s",Txt);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
@ -2446,10 +2445,10 @@ static void Svy_GetAndWriteNamesOfGrpsAssociatedToSvy (struct Survey *Svy)
|
||||||
Svy->SvyCod);
|
Svy->SvyCod);
|
||||||
|
|
||||||
/***** Write heading *****/
|
/***** Write heading *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">%s: ",
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",
|
||||||
Svy->Status.Visible ? "ASG_GRP" :
|
Svy->Status.Visible ? "ASG_GRP" :
|
||||||
"ASG_GRP_LIGHT",
|
"ASG_GRP_LIGHT");
|
||||||
NumRows == 1 ? Txt_Group :
|
fprintf (Gbl.F.Out,"%s: ",NumRows == 1 ? Txt_Group :
|
||||||
Txt_Groups);
|
Txt_Groups);
|
||||||
|
|
||||||
/***** Write groups *****/
|
/***** Write groups *****/
|
||||||
|
|
|
@ -141,8 +141,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
||||||
"<ul class=\"LIST_LEFT\">");
|
fprintf (Gbl.F.Out,"<ul class=\"LIST_LEFT\">");
|
||||||
|
|
||||||
for (WhichSyllabus = (Syl_WhichSyllabus_t) 0;
|
for (WhichSyllabus = (Syl_WhichSyllabus_t) 0;
|
||||||
WhichSyllabus < For_NUM_FORUM_SETS;
|
WhichSyllabus < For_NUM_FORUM_SETS;
|
||||||
|
|
18
swad_tab.c
18
swad_tab.c
|
@ -99,10 +99,9 @@ void Tab_DrawTabs (void)
|
||||||
};
|
};
|
||||||
|
|
||||||
/***** Start tabs container *****/
|
/***** Start tabs container *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"%s\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassHeadRow3[Gbl.Prefs.Theme]);
|
||||||
"<nav id=\"tabs\">"
|
fprintf (Gbl.F.Out,"<nav id=\"tabs\">"
|
||||||
"<ul class=\"LIST_TABS\">",
|
"<ul class=\"LIST_TABS\">");
|
||||||
ClassHeadRow3[Gbl.Prefs.Theme]);
|
|
||||||
|
|
||||||
/***** Draw the tabs *****/
|
/***** Draw the tabs *****/
|
||||||
for (NumTab = (Tab_Tab_t) 1;
|
for (NumTab = (Tab_Tab_t) 1;
|
||||||
|
@ -138,16 +137,15 @@ void Tab_DrawTabs (void)
|
||||||
NumTab == Gbl.Action.Tab ? The_ClassTxtTabOn[Gbl.Prefs.Theme] :
|
NumTab == Gbl.Action.Tab ? The_ClassTxtTabOn[Gbl.Prefs.Theme] :
|
||||||
The_ClassTxtTabOff[Gbl.Prefs.Theme],NULL);
|
The_ClassTxtTabOff[Gbl.Prefs.Theme],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=\"TAB_ICO\" />"
|
" class=\"TAB_ICO\" />",
|
||||||
"<div class=\"TAB_TXT %s\">"
|
|
||||||
"%s",
|
|
||||||
Gbl.Prefs.URLIconSet,
|
Gbl.Prefs.URLIconSet,
|
||||||
Tab_GetIcon (NumTab),
|
Tab_GetIcon (NumTab),
|
||||||
Txt_TABS_TXT[NumTab],
|
Txt_TABS_TXT[NumTab],
|
||||||
Txt_TABS_TXT[NumTab],
|
|
||||||
NumTab == Gbl.Action.Tab ? The_ClassTxtTabOn[Gbl.Prefs.Theme] :
|
|
||||||
The_ClassTxtTabOff[Gbl.Prefs.Theme],
|
|
||||||
Txt_TABS_TXT[NumTab]);
|
Txt_TABS_TXT[NumTab]);
|
||||||
|
fprintf (Gbl.F.Out,"<div class=\"TAB_TXT %s\">",
|
||||||
|
NumTab == Gbl.Action.Tab ? The_ClassTxtTabOn[Gbl.Prefs.Theme] :
|
||||||
|
The_ClassTxtTabOff[Gbl.Prefs.Theme]);
|
||||||
|
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>");
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
70
swad_test.c
70
swad_test.c
|
@ -469,8 +469,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"CM\">");
|
||||||
"<label class=\"%s\">"
|
fprintf (Gbl.F.Out,"<label class=\"%s\">"
|
||||||
"<input type=\"checkbox\" name=\"Save\""
|
"<input type=\"checkbox\" name=\"Save\""
|
||||||
" value=\"Y\"",
|
" value=\"Y\"",
|
||||||
The_ClassFormInBox[Gbl.Prefs.Theme]);
|
The_ClassFormInBox[Gbl.Prefs.Theme]);
|
||||||
|
@ -641,8 +641,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"DAT CM\">");
|
||||||
"%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" :
|
||||||
"ANS_BAD",
|
"ANS_BAD",
|
||||||
|
@ -1039,16 +1039,14 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"BIG_INDEX\">");
|
||||||
"%u",
|
fprintf (Gbl.F.Out,"%u",NumQst + 1);
|
||||||
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\">"
|
fprintf (Gbl.F.Out,"<div class=\"DAT_SMALL\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]);
|
||||||
Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
@ -1107,9 +1105,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassStem);
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",StemRigorousHTML);
|
||||||
ClassStem,StemRigorousHTML);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Free memory allocated for the stem *****/
|
/***** Free memory allocated for the stem *****/
|
||||||
|
@ -1212,9 +1209,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassFeedback);
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",FeedbackRigorousHTML);
|
||||||
ClassFeedback,FeedbackRigorousHTML);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Free memory allocated for the feedback *****/
|
/***** Free memory allocated for the feedback *****/
|
||||||
|
@ -2921,16 +2917,14 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"BIG_INDEX\">");
|
||||||
"%lu",
|
fprintf (Gbl.F.Out,"%lu",NumRow + 1);
|
||||||
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\">"
|
fprintf (Gbl.F.Out,"<div class=\"DAT_SMALL\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]);
|
||||||
Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
@ -3418,9 +3412,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TEST_EDI\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Answer);
|
||||||
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",
|
||||||
"TEST_MED_EDIT_LIST");
|
"TEST_MED_EDIT_LIST");
|
||||||
|
@ -3888,9 +3881,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"ANS_TXT\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Gbl.Test.Answer.Options[Indexes[NumOpt]].Text);
|
||||||
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");
|
||||||
|
@ -3899,9 +3891,8 @@ static void Tst_WriteChoiceAnsAssessTest (struct UsrData *UsrDat,
|
||||||
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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TEST_EXA_LIGHT\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Gbl.Test.Answer.Options[Indexes[NumOpt]].Feedback);
|
||||||
Gbl.Test.Answer.Options[Indexes[NumOpt]].Feedback);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
@ -4201,10 +4192,9 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"MCH_TCH_BUTTON BT_%c\">",
|
||||||
"%c",
|
'A' + (char) NumOpt);
|
||||||
'A' + (char) NumOpt,
|
fprintf (Gbl.F.Out,"%c",'a' + (char) NumOpt);
|
||||||
'a' + (char) NumOpt);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
@ -4383,17 +4373,15 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"ANS_0\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Gbl.Test.Answer.Options[NumOpt].Text);
|
||||||
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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TEST_EXA_LIGHT\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Gbl.Test.Answer.Options[NumOpt].Feedback);
|
||||||
Gbl.Test.Answer.Options[NumOpt].Feedback);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
|
@ -509,8 +509,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TEST_FILE_CONTENT\">");
|
||||||
"<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);
|
||||||
XML_PrintTree (RootElem);
|
XML_PrintTree (RootElem);
|
||||||
|
@ -1152,15 +1152,13 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassStem);
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",AnswerText);
|
||||||
ClassStem,AnswerText);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
if (AnswerFeedbackLength)
|
if (AnswerFeedbackLength)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TEST_EDI_LIGHT\">"
|
fprintf (Gbl.F.Out,"<div class=\"TEST_EDI_LIGHT\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",AnswerFeedback);
|
||||||
AnswerFeedback);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
|
@ -1394,8 +1394,8 @@ static void TL_PutLinkToViewNewPublications (void)
|
||||||
// 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\""
|
fprintf (Gbl.F.Out,"<div 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;\">");
|
||||||
"<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>)"
|
||||||
"</a>",
|
"</a>",
|
||||||
|
@ -1415,8 +1415,8 @@ static void TL_PutLinkToViewOldPublications (void)
|
||||||
|
|
||||||
/***** Animated link to view old publications *****/
|
/***** Animated link to view old publications *****/
|
||||||
fprintf (Gbl.F.Out,"<div id=\"view_old_posts_container\""
|
fprintf (Gbl.F.Out,"<div id=\"view_old_posts_container\""
|
||||||
" class=\"TL_WIDTH TL_SEP VERY_LIGHT_BLUE\">"
|
" class=\"TL_WIDTH TL_SEP VERY_LIGHT_BLUE\">");
|
||||||
"<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
|
||||||
"refreshOldTimeline();"
|
"refreshOldTimeline();"
|
||||||
|
@ -1578,25 +1578,22 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TL_LOC\">");
|
||||||
"%s: %s",
|
fprintf (Gbl.F.Out,"%s: %s",Txt_Institution,Ins.ShrtName);
|
||||||
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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TL_LOC\">");
|
||||||
"%s: %s",
|
fprintf (Gbl.F.Out,"%s: %s",Txt_Centre,Ctr.ShrtName);
|
||||||
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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TL_LOC\">");
|
||||||
"%s: %s",
|
fprintf (Gbl.F.Out,"%s: %s",Txt_Degree,Deg.ShrtName);
|
||||||
Txt_Degree,Deg.ShrtName);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
break;
|
break;
|
||||||
case TL_NOTE_CRS_DOC_PUB_FILE:
|
case TL_NOTE_CRS_DOC_PUB_FILE:
|
||||||
|
@ -1604,16 +1601,14 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TL_LOC\">");
|
||||||
"%s: %s",
|
fprintf (Gbl.F.Out,"%s: %s",Txt_Course,Crs.ShrtName);
|
||||||
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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TL_LOC\">");
|
||||||
"%s: %s",
|
fprintf (Gbl.F.Out,"%s: %s",Txt_Forum,ForumName);
|
||||||
Txt_Forum,ForumName);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -1622,9 +1617,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TL_TXT\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",SummaryStr);
|
||||||
SummaryStr);
|
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1954,9 +1948,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TL_FORM_OFF\">");
|
||||||
"%s",
|
fprintf (Gbl.F.Out,"%s",Txt_TIMELINE_NOTE[SocNot->NoteType]);
|
||||||
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);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -2339,8 +2332,8 @@ static void TL_PutFormToWriteNewPost (void)
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_RIGHT_CONT TL_RIGHT_WIDTH\">");
|
fprintf (Gbl.F.Out,"<div 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TL_RIGHT_AUTHOR TL_RIGHT_AUTHOR_WIDTH\">");
|
||||||
"<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);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -2507,13 +2500,13 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div id=\"%s_ico\" class=\"TL_ICO_COM_OFF\">",UniqueId);
|
||||||
"<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\""
|
||||||
" class=\"CONTEXT_ICO_16x16\" />"
|
" class=\"CONTEXT_ICO_16x16\" />"
|
||||||
"</a>",
|
"</a>",
|
||||||
UniqueId,UniqueId,
|
UniqueId,
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
Txt_Comment,Txt_Comment);
|
Txt_Comment,Txt_Comment);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
@ -2528,8 +2521,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"TL_ICO_COM_OFF TL_ICO_DISABLED\">");
|
||||||
"<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\" />",
|
||||||
Cfg_URL_ICON_PUBLIC,
|
Cfg_URL_ICON_PUBLIC,
|
||||||
|
@ -2752,8 +2745,8 @@ static void TL_WriteComment (struct TL_Comment *SocCom,
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_LEFT_PHOTO\">");
|
fprintf (Gbl.F.Out,"<div class=\"TL_LEFT_PHOTO\">");
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
fprintf (Gbl.F.Out,"<div class=\"TL_RIGHT_CONT TL_RIGHT_WIDTH\">"
|
fprintf (Gbl.F.Out,"<div class=\"TL_RIGHT_CONT TL_RIGHT_WIDTH\">");
|
||||||
"<ul class=\"LIST_LEFT\">");
|
fprintf (Gbl.F.Out,"<ul class=\"LIST_LEFT\">");
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Start list item *****/
|
/***** Start list item *****/
|
||||||
|
|
19
swad_user.c
19
swad_user.c
|
@ -2608,8 +2608,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"LM\">");
|
||||||
"<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\" />"
|
||||||
"</label>"
|
"</label>"
|
||||||
|
@ -2626,8 +2626,8 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"LM\">");
|
||||||
"<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\" />"
|
||||||
"</label>"
|
"</label>"
|
||||||
|
@ -7365,8 +7365,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\">"
|
fprintf (Gbl.F.Out,"<div class=\"PREF_CONTAINER\">");
|
||||||
"<div class=\"PREF_OFF\">");
|
fprintf (Gbl.F.Out,"<div class=\"PREF_OFF\">");
|
||||||
Frm_StartForm (ActLstOth);
|
Frm_StartForm (ActLstOth);
|
||||||
Sco_PutParamCurrentScope ();
|
Sco_PutParamCurrentScope ();
|
||||||
Usr_PutCheckboxListWithPhotos ();
|
Usr_PutCheckboxListWithPhotos ();
|
||||||
|
@ -9713,11 +9713,10 @@ 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\">"
|
fprintf (Gbl.F.Out,"<div class=\"AUTHOR_1_LINE %s\">",
|
||||||
"%s",
|
|
||||||
Hidden ? "AUTHOR_TXT_LIGHT" :
|
Hidden ? "AUTHOR_TXT_LIGHT" :
|
||||||
"AUTHOR_TXT",
|
"AUTHOR_TXT");
|
||||||
UsrDat.FullName);
|
fprintf (Gbl.F.Out,"%s",UsrDat.FullName);
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Free memory used for user's data *****/
|
/***** Free memory used for user's data *****/
|
||||||
|
|
Loading…
Reference in New Issue
Block a user