Version 22.107: May 05, 2023 Changes in layout institutional links and connected users.

This commit is contained in:
acanas 2023-05-05 17:00:50 +02:00
parent d280fd6ecf
commit f34e47a567
10 changed files with 187 additions and 214 deletions

View File

@ -911,12 +911,6 @@ a:hover /* Default ==> underlined */
box-sizing:border-box;
width:100%;
}
.LEFT_RIGHT_CELL
{
padding:0 6px;
text-align:center;
vertical-align:top;
}
@media only screen and (max-width: 1280px)
{ /* For mobile phones and tablets */
@ -968,6 +962,7 @@ a:hover /* Default ==> underlined */
display:table-cell;
box-sizing:border-box;
width:160px;
padding:0 6px;
text-align:center;
vertical-align:top;
}
@ -976,6 +971,7 @@ a:hover /* Default ==> underlined */
display:table-cell;
box-sizing:border-box;
width:160px;
padding:0 6px;
text-align:center;
vertical-align:top;
position:absolute;
@ -1259,13 +1255,8 @@ a:hover /* Default ==> underlined */
.CON
{
box-sizing:border-box;
margin:0 auto;
border-style:solid;
border-width:1px;
border-color:#80c040;
margin:6px 0;
width:100%;
padding:5px;
border-radius:2px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
@ -1293,7 +1284,7 @@ a:hover /* Default ==> underlined */
}
.CON_USR_NARROW_TIT
{
max-width:136px;
max-width:134px;
text-align:center;
vertical-align:middle;
white-space:nowrap;
@ -1360,8 +1351,6 @@ a:hover /* Default ==> underlined */
/*************************** Most frequent actions ***************************/
#MFU_actions
{
box-sizing:border-box;
width:148px;
padding:5px;
font-size:11pt;
}
@ -1369,7 +1358,7 @@ a:hover /* Default ==> underlined */
{
display:inline-block;
box-sizing:border-box;
width:134px;
width:100%;
margin:0;
padding:0;
list-style-type:none;
@ -1378,7 +1367,6 @@ a:hover /* Default ==> underlined */
}
#MFU_actions li
{
width:134px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
@ -1963,30 +1951,21 @@ a:hover img.CENTER_PHOTO_SHOW
box-sizing:border-box;
width:148px;
margin:0;
border-style:solid;
border-width:1px;
border-color:#8cbcce;
padding:5px;
border-radius:2px;
font-size:11pt;
}
#institutional_links ul
{
display:inline-block;
box-sizing:border-box;
width:138px;
width:136px;
margin:2px 0;
padding:6px 0 0 0;
border-style:solid;
border-width:1px 0 0 0;
border-color:rgba(140,188,206,0.2);
padding:0;
list-style-type:none;
text-align:left;
vertical-align:middle;
}
#institutional_links li
{
width:138px;
width:136px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;

View File

@ -951,36 +951,36 @@ void Ban_WriteMenuWithBanners (void)
/***** Reset banners *****/
Ban_ResetBanners (&Banners);
/***** Get random banner *****/
/***** Get random banners *****/
// The banner(s) will change once in a while
Banners.Num = Ban_DB_GetRandomBanners (&mysql_res);
Ban_GetListBanners (&Banners,&mysql_res);
/***** Write all banners *****/
for (NumBan = 0;
NumBan < Banners.Num;
NumBan++)
{
/***** Write data of this banner *****/
/* Begin container */
HTM_DIV_Begin ("class=\"CM\"");
/***** Write all banners *****/
for (NumBan = 0;
NumBan < Banners.Num;
NumBan++)
{
/***** Write data of this banner *****/
/* Begin container */
HTM_DIV_Begin ("class=\"CM\"");
/* Begin form */
Frm_BeginForm (ActClkBan);
ParCod_PutPar (ParCod_Ban,Banners.Lst[NumBan].BanCod);
Par_PutParString (NULL,"URL",Banners.Lst[NumBan].WWW);
/* Begin form */
Frm_BeginForm (ActClkBan);
ParCod_PutPar (ParCod_Ban,Banners.Lst[NumBan].BanCod);
Par_PutParString (NULL,"URL",Banners.Lst[NumBan].WWW);
/* Banner image */
HTM_INPUT_IMAGE (Cfg_URL_BANNER_PUBLIC,Banners.Lst[NumBan].Img,
Banners.Lst[NumBan].FullName,
"class=\"BANNER\"");
/* Banner image */
HTM_INPUT_IMAGE (Cfg_URL_BANNER_PUBLIC,Banners.Lst[NumBan].Img,
Banners.Lst[NumBan].FullName,
"class=\"BANNER\"");
/* End form */
Frm_EndForm ();
/* End form */
Frm_EndForm ();
/* End container */
HTM_DIV_End ();
}
/* End container */
HTM_DIV_End ();
}
/***** Free list of banners *****/
Ban_FreeListBanners (&Banners);

View File

@ -2717,7 +2717,7 @@ void Brw_ShowFileBrowserProject (long PrjCod)
extern const char *Txt_Documents;
/***** Begin fieldset *****/
HTM_FIELDSET_Begin ();
HTM_FIELDSET_Begin (NULL);
HTM_LEGEND (Txt_Documents);
Brw_WriteTopBeforeShowingFileBrowser ();

View File

@ -629,11 +629,12 @@ TODO: Emilce Barrera Mesa: Podr
TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen.
*/
#define Log_PLATFORM_VERSION "SWAD 22.106 (2023-05-05)"
#define CSS_FILE "swad22.105.css"
#define Log_PLATFORM_VERSION "SWAD 22.107 (2023-05-05)"
#define CSS_FILE "swad22.107.css"
#define JS_FILE "swad22.49.js"
/*
Version 22.106: May 05, 2023 Changes in layoyt of frequent actions. (338126 lines)
Version 22.107: May 05, 2023 Changes in layout institutional links and connected users. (338108 lines)
Version 22.106: May 05, 2023 Changes in layout of frequent actions. (338126 lines)
Version 22.105: May 05, 2023 Changes in CSS. (338102 lines)
Version 22.104.6: May 04, 2023 Changes in projects. (338079 lines)
Version 22.104.5: May 04, 2023 Fixed issue in indicators. (338079 lines)

View File

@ -87,6 +87,8 @@ void Con_ShowConnectedUsrs (void)
{
extern const char *Hlp_USERS_Connected;
extern const char *Txt_Connected_users;
extern const char *Txt_Sessions;
extern const char *Txt_Connected_PLURAL;
char *Title;
/***** Contextual menu *****/
@ -119,11 +121,19 @@ void Con_ShowConnectedUsrs (void)
false,false,true,0x7);
/***** Number of connected users in the whole platform *****/
Con_ShowGlobalConnectedUsrs ();
HTM_FIELDSET_Begin ("class=\"CON CON_%s\"",The_GetSuffix ());
HTM_LEGEND (Txt_Sessions);
Con_ShowGlobalConnectedUsrs ();
HTM_FIELDSET_End ();
/***** Show connected users in the current location *****/
if (Gbl.Scope.Current != HieLvl_UNK)
Con_ShowConnectedUsrsBelongingToLocation ();
{
HTM_FIELDSET_Begin ("class=\"CON CON_%s\"",The_GetSuffix ());
HTM_LEGEND (Txt_Connected_PLURAL);
Con_ShowConnectedUsrsBelongingToLocation ();
HTM_FIELDSET_End ();
}
/***** End box *****/
Box_BoxEnd ();
@ -150,6 +160,7 @@ static void Con_PutParScope (__attribute__((unused)) void *Args)
void Con_ShowGlobalConnectedUsrs (void)
{
extern const char *Txt_Sessions;
extern const char *Txt_Connected_users;
extern const char *Txt_session;
extern const char *Txt_sessions;
@ -168,43 +179,36 @@ void Con_ShowGlobalConnectedUsrs (void)
NumUsrsTotal += NumUsrs[Role];
}
/***** Container start *****/
HTM_DIV_Begin ("class=\"CON CON_%s\"",
The_GetSuffix ());
/***** Number of sessions *****/
/* Link to view more details about connected users */
Frm_BeginForm (ActLstCon);
/***** Number of sessions *****/
/* Link to view more details about connected users */
Frm_BeginForm (ActLstCon);
HTM_BUTTON_Submit_Begin (Txt_Connected_users,"class=\"BT_LINK\"");
/* Write total number of sessions */
HTM_TxtF ("%u&nbsp;%s",Gbl.Session.NumSessions,
Gbl.Session.NumSessions == 1 ? Txt_session :
Txt_sessions);
/* Write total number of sessions */
HTM_TxtF ("%u&nbsp;%s",Gbl.Session.NumSessions,
Gbl.Session.NumSessions == 1 ? Txt_session :
Txt_sessions);
HTM_BUTTON_End ();
Frm_EndForm ();
HTM_BUTTON_End ();
Frm_EndForm ();
if (NumUsrsTotal)
{
HTM_DIV_Begin ("class=\"CON_LIST\"");
if (NumUsrsTotal)
{
HTM_DIV_Begin ("class=\"CON_LIST\"");
/***** Write total number of users *****/
HTM_TxtF ("%u&nbsp;%s:",NumUsrsTotal,
NumUsrsTotal == 1 ? Txt_user[Usr_SEX_UNKNOWN] :
Txt_users[Usr_SEX_UNKNOWN]);
/***** Write total number of users *****/
HTM_TxtF ("%u&nbsp;%s:",NumUsrsTotal,
NumUsrsTotal == 1 ? Txt_user[Usr_SEX_UNKNOWN] :
Txt_users[Usr_SEX_UNKNOWN]);
/***** Write total number of users with each role *****/
for (Role = Rol_GST, NumUsrsTotal = 0;
Role <= Rol_SYS_ADM;
Role++)
Con_ShowGlobalConnectedUsrsRole (Role,NumUsrs[Role]);
/***** Write total number of users with each role *****/
for (Role = Rol_GST, NumUsrsTotal = 0;
Role <= Rol_SYS_ADM;
Role++)
Con_ShowGlobalConnectedUsrsRole (Role,NumUsrs[Role]);
HTM_DIV_End ();
}
/***** Container end *****/
HTM_DIV_End ();
HTM_DIV_End ();
}
}
static void Con_ShowGlobalConnectedUsrsRole (Rol_Role_t Role,unsigned UsrsTotal)
@ -269,38 +273,28 @@ static void Con_ShowConnectedUsrsBelongingToLocation (void)
extern const char *Txt_from;
struct Con_ConnectedUsrs Usrs;
/***** Begin container *****/
HTM_DIV_Begin ("class=\"CON CON_%s\"",
The_GetSuffix ());
/***** Number of connected users who belong to scope *****/
Con_GetNumConnectedWithARoleBelongingToCurrentScope (Rol_UNK,&Usrs);
/***** Number of connected users who belong to scope *****/
Con_GetNumConnectedWithARoleBelongingToCurrentScope (Rol_UNK,&Usrs);
HTM_DIV_Begin (NULL);
/* Write number of connected users */
HTM_TxtF ("%u %s ",Usrs.NumUsrs,Txt_from);
/* Write number of connected users */
HTM_TxtF ("%u %s ",Usrs.NumUsrs,Txt_from);
/* Put form to change scope */
Frm_BeginForm (ActLstCon);
Sco_PutSelectorScope ("ScopeCon",HTM_SUBMIT_ON_CHANGE);
Frm_EndForm ();
/* Put form to change scope */
Frm_BeginForm (ActLstCon);
Sco_PutSelectorScope ("ScopeCon",HTM_SUBMIT_ON_CHANGE);
Frm_EndForm ();
/***** Number of teachers and students *****/
HTM_TABLE_Begin ("CON_LIST");
Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_TCH);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_NET);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_STD);
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_GST);
HTM_TABLE_End ();
HTM_DIV_End ();
/***** Number of teachers and students *****/
HTM_TABLE_Begin ("CON_LIST");
Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_TCH);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_NET);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_STD);
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_GST);
HTM_TABLE_End ();
/***** Put link to register students *****/
Enr_CheckStdsAndPutButtonToRegisterStdsInCurrentCrs ();
/***** End container *****/
HTM_DIV_End ();
/***** Put link to register students *****/
Enr_CheckStdsAndPutButtonToRegisterStdsInCurrentCrs ();
}
/*****************************************************************************/
@ -318,32 +312,25 @@ void Con_ShowConnectedUsrsBelongingToCurrentCrs (void)
if (Gbl.Hierarchy.Crs.CrsCod <= 0) // No course selected
return;
/***** Begin container *****/
HTM_DIV_Begin ("class=\"CON CON_%s\"",
The_GetSuffix ());
/***** Number of connected users who belong to course *****/
/* Link to view more details about connected users */
Frm_BeginForm (ActLstCon);
HTM_BUTTON_Submit_Begin (Txt_Connected_users,"class=\"BT_LINK\"");
Str_Copy (CourseName,Gbl.Hierarchy.Crs.ShrtName,sizeof (CourseName) - 1);
Con_GetNumConnectedWithARoleBelongingToCurrentScope (Rol_UNK,&Usrs);
HTM_TxtF ("%u %s %s",Usrs.NumUsrs,Txt_from,CourseName);
HTM_BUTTON_End ();
Frm_EndForm ();
/***** Number of connected users who belong to course *****/
/* Link to view more details about connected users */
Frm_BeginForm (ActLstCon);
HTM_BUTTON_Submit_Begin (Txt_Connected_users,"class=\"BT_LINK\"");
Str_Copy (CourseName,Gbl.Hierarchy.Crs.ShrtName,sizeof (CourseName) - 1);
Con_GetNumConnectedWithARoleBelongingToCurrentScope (Rol_UNK,&Usrs);
HTM_TxtF ("%u %s %s",Usrs.NumUsrs,Txt_from,CourseName);
HTM_BUTTON_End ();
Frm_EndForm ();
/***** Number of teachers and students *****/
HTM_TABLE_Begin ("CON_LIST");
Gbl.Usrs.Connected.NumUsr = 0;
Gbl.Usrs.Connected.NumUsrs = 0;
Gbl.Usrs.Connected.NumUsrsToList = 0;
Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Rol_TCH);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Rol_NET);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Rol_STD);
HTM_TABLE_End ();
/***** End container *****/
HTM_DIV_End ();
/***** Number of teachers and students *****/
HTM_TABLE_Begin ("CON_LIST");
Gbl.Usrs.Connected.NumUsr = 0;
Gbl.Usrs.Connected.NumUsrs = 0;
Gbl.Usrs.Connected.NumUsrsToList = 0;
Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Rol_TCH);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Rol_NET);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Rol_STD);
HTM_TABLE_End ();
}
/*****************************************************************************/

View File

@ -333,7 +333,7 @@ void Lay_WriteStartOfPage (void)
if (Gbl.Prefs.SideCols & Lay_SHOW_LEFT_COLUMN) // Left column visible
{
HTM_Txt ("<aside id=\"left_col\">");
Lay_ShowLeftColumn ();
Lay_ShowLeftColumn ();
HTM_Txt ("</aside>");
}
@ -345,7 +345,7 @@ void Lay_WriteStartOfPage (void)
if (Gbl.Prefs.SideCols & Lay_SHOW_RIGHT_COLUMN) // Right column visible
{
HTM_Txt ("<aside id=\"right_col\">");
Lay_ShowRightColumn ();
Lay_ShowRightColumn ();
HTM_Txt ("</aside>");
}
@ -1103,37 +1103,25 @@ static void Lay_ShowLeftColumn (void)
{
struct MFU_ListMFUActions ListMFUActions;
HTM_DIV_Begin ("style=\"width:160px;\"");
if (Gbl.Usrs.Me.Logged)
{
/***** Most frequently used actions *****/
MFU_AllocateMFUActions (&ListMFUActions,6);
MFU_GetMFUActions (&ListMFUActions,6);
MFU_WriteSmallMFUActions (&ListMFUActions);
MFU_FreeMFUActions (&ListMFUActions);
}
else
/***** Institutional links *****/
Lnk_WriteMenuWithInstitutionalLinks ();
HTM_DIV_Begin ("class=\"LEFT_RIGHT_CELL\"");
if (Gbl.Usrs.Me.Logged)
{
/***** Most frequently used actions *****/
MFU_AllocateMFUActions (&ListMFUActions,6);
MFU_GetMFUActions (&ListMFUActions,6);
MFU_WriteSmallMFUActions (&ListMFUActions);
MFU_FreeMFUActions (&ListMFUActions);
}
else
/***** Institutional links *****/
Lnk_WriteMenuWithInstitutionalLinks ();
HTM_DIV_End ();
/***** Month *****/
Cal_DrawCurrentMonth ();
/***** Month *****/
HTM_DIV_Begin ("class=\"LEFT_RIGHT_CELL\"");
Cal_DrawCurrentMonth ();
HTM_DIV_End ();
/***** Notices (yellow notes) *****/
if (Gbl.Hierarchy.Level == HieLvl_CRS)
{
HTM_DIV_Begin ("class=\"LEFT_RIGHT_CELL\"");
Not_ShowNotices (Not_LIST_BRIEF_NOTICES,
-1L); // No notice highlighted
HTM_DIV_End ();
}
HTM_DIV_End ();
/***** Notices (yellow notes) *****/
if (Gbl.Hierarchy.Level == HieLvl_CRS)
Not_ShowNotices (Not_LIST_BRIEF_NOTICES,
-1L); // No notice highlighted
}
/*****************************************************************************/
@ -1142,9 +1130,9 @@ static void Lay_ShowLeftColumn (void)
static void Lay_ShowRightColumn (void)
{
extern const char *Txt_Sessions;
extern const char *Txt_Connected_PLURAL;
extern const char *Txt_If_you_have_an_Android_device_try_SWADroid;
// struct timeval tv1,tv2;
// long tv_usecs;
/***** Banners *****/
Ban_WriteMenuWithBanners ();
@ -1152,38 +1140,38 @@ static void Lay_ShowRightColumn (void)
/***** Number of connected users in the whole platform *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
{
HTM_DIV_Begin ("id=\"globalconnected\" class=\"LEFT_RIGHT_CELL\""); // Used for AJAX based refresh
Con_ShowGlobalConnectedUsrs ();
HTM_DIV_End (); // Used for AJAX based refresh
HTM_FIELDSET_Begin ("class=\"CON CON_%s\"",The_GetSuffix ());
HTM_LEGEND (Txt_Sessions);
HTM_DIV_Begin ("id=\"globalconnected\""); // Used for AJAX based refresh
Con_ShowGlobalConnectedUsrs ();
HTM_DIV_End (); // Used for AJAX based refresh
HTM_FIELDSET_End ();
}
/***** Number of connected users in the current course *****/
if (Gbl.Hierarchy.Level == HieLvl_CRS) // There is a course selected
{
HTM_DIV_Begin ("id=\"courseconnected\" class=\"LEFT_RIGHT_CELL\""); // Used for AJAX based refresh
Gbl.Scope.Current = HieLvl_CRS;
Con_ShowConnectedUsrsBelongingToCurrentCrs ();
HTM_DIV_End (); // Used for AJAX based refresh
HTM_FIELDSET_Begin ("class=\"CON CON_%s\"",The_GetSuffix ());
HTM_LEGEND (Txt_Connected_PLURAL);
HTM_DIV_Begin ("id=\"courseconnected\""); // Used for AJAX based refresh
Gbl.Scope.Current = HieLvl_CRS;
Con_ShowConnectedUsrsBelongingToCurrentCrs ();
HTM_DIV_End (); // Used for AJAX based refresh
HTM_FIELDSET_End ();
}
else if (Gbl.Usrs.Me.Logged) // I am logged
{
else if (Gbl.Usrs.Me.Logged) // I am logged
/***** Suggest one user to follow *****/
HTM_DIV_Begin ("class=\"LEFT_RIGHT_CELL\"");
Fol_SuggestUsrsToFollowMainZoneOnRightColumn ();
HTM_DIV_End ();
}
Fol_SuggestUsrsToFollowMainZoneOnRightColumn ();
if (!Gbl.Usrs.Me.Logged)
{
/***** SWADroid advertisement *****/
HTM_DIV_Begin ("class=\"LEFT_RIGHT_CELL\"");
HTM_A_Begin ("href=\"%s\" target=\"_blank\" title=\"%s\"",
Cfg_SWADROID_URL,
Txt_If_you_have_an_Android_device_try_SWADroid);
HTM_IMG (Cfg_URL_ICON_PUBLIC,Cfg_SWADROID_ICO,NULL,
"class=\"SWADROID\"");
HTM_A_End ();
HTM_DIV_End ();
HTM_A_Begin ("href=\"%s\" target=\"_blank\" title=\"%s\"",
Cfg_SWADROID_URL,
Txt_If_you_have_an_Android_device_try_SWADroid);
HTM_IMG (Cfg_URL_ICON_PUBLIC,Cfg_SWADROID_ICO,NULL,
"class=\"SWADROID\"");
HTM_A_End ();
}
}

View File

@ -172,22 +172,17 @@ void Lnk_WriteMenuWithInstitutionalLinks (void)
/***** Get list of links *****/
Lnk_GetListLinks (&Links);
/***** Write all links *****/
if (Links.Num)
{
HTM_DIV_Begin ("id=\"institutional_links\" class=\"INS_LNK_%s\"",
The_GetSuffix ());
/***** Write all links *****/
if (Links.Num)
{
HTM_FIELDSET_Begin ("id=\"institutional_links\" class=\"INS_LNK_%s\"",
The_GetSuffix ());
HTM_LEGEND (Txt_Links);
Frm_BeginForm (ActSeeLnk);
HTM_BUTTON_Submit_Begin (Txt_Links,"class=\"BT_LINK\"");
HTM_TxtF ("%s",Txt_Links);
HTM_BUTTON_End ();
Frm_EndForm ();
Lnk_WriteListOfLinks (&Links,NULL);
Lnk_WriteListOfLinks (&Links,NULL);
HTM_DIV_End ();
}
HTM_FIELDSET_End ();
}
/***** Free list of links *****/
Lnk_FreeListLinks (&Links);

View File

@ -1347,7 +1347,7 @@ void Prj_ShowBoxWithOneProject (struct Prj_Projects *Projects)
Hlp_ASSESSMENT_Projects,Box_NOT_CLOSABLE);
/***** Show project data *****/
HTM_FIELDSET_Begin ();
HTM_FIELDSET_Begin (NULL);
HTM_LEGEND (Txt_Project);
HTM_TABLE_BeginWidePadding (2);
@ -3735,7 +3735,7 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
/***** 1. Project members *****/
if (!ItsANewProject) // Existing project
{
HTM_FIELDSET_Begin ();
HTM_FIELDSET_Begin (NULL);
HTM_LEGEND (Txt_Members);
HTM_TABLE_BeginWidePadding (2);
Projects->View = Prj_EDIT_ONE_PROJECT;
@ -3748,7 +3748,7 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
}
/***** 2. Project data *****/
HTM_FIELDSET_Begin ();
HTM_FIELDSET_Begin (NULL);
HTM_LEGEND (Txt_Data);
/* Begin data form */
@ -4495,7 +4495,7 @@ static void Prj_ShowRubrics (struct Prj_Projects *Projects)
PrjCfg_Rubric_t WhichRubric;
/***** Begin fieldset *****/
HTM_FIELDSET_Begin ();
HTM_FIELDSET_Begin (NULL);
HTM_LEGEND (Txt_Assessment);
/***** Begin table *****/

View File

@ -147,13 +147,13 @@ void PrjCfg_ShowFormConfig (void)
Frm_BeginForm (ActRcvCfgPrj);
/***** Projects are editable by non-editing teachers? *****/
HTM_FIELDSET_Begin ();
HTM_FIELDSET_Begin (NULL);
HTM_LEGEND (Txt_Create_project);
PrjCfg_ShowFormNETCanCreate (&Projects.Config);
HTM_FIELDSET_End ();
/***** Rubrics *****/
HTM_FIELDSET_Begin ();
HTM_FIELDSET_Begin (NULL);
HTM_LEGEND (Txt_Rubrics);
PrjCfg_ShowFormRubrics (&Projects.Config);
HTM_FIELDSET_End ();

View File

@ -5620,6 +5620,29 @@ const char *Txt_Congratulations_You_have_created_your_account_X_Now_Y_will_reque
" (the same applies to institutions, centers and degrees)."; // Çeviri lazim!
#endif
const char *Txt_Connected_PLURAL =
#if L==1 // ca
"Connectats";
#elif L==2 // de
"Angemeldet";
#elif L==3 // en
"Connected";
#elif L==4 // es
"Conectados";
#elif L==5 // fr
"Connect&eacute;s";
#elif L==6 // gn
"Conectados"; // Okoteve traducción
#elif L==7 // it
"Connessi";
#elif L==8 // pl
"Online";
#elif L==9 // pt
"Conectados";
#elif L==10 // tr
"Connected"; // Çeviri lazim!
#endif
const char *Txt_connected_PLURAL =
#if L==1 // ca
"connectats";