mirror of https://github.com/acanas/swad-core.git
Version 16.209.4
This commit is contained in:
parent
120ea3e0d9
commit
0c2180ee04
|
@ -2091,13 +2091,7 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
text-align:center;
|
text-align:center;
|
||||||
vertical-align:top;
|
vertical-align:top;
|
||||||
}
|
}
|
||||||
.REC_SHA
|
.REC_SHA, .REC_CRS, .REC_TT
|
||||||
{
|
|
||||||
display:inline-block;
|
|
||||||
margin:0 6px;
|
|
||||||
vertical-align:top;
|
|
||||||
}
|
|
||||||
.REC_CRS
|
|
||||||
{
|
{
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
margin:0 6px;
|
margin:0 6px;
|
|
@ -234,13 +234,15 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 16.209.2 (2017-05-08)"
|
#define Log_PLATFORM_VERSION "SWAD 16.209.4 (2017-05-10)"
|
||||||
#define CSS_FILE "swad16.208.7.css"
|
#define CSS_FILE "swad16.209.3.css"
|
||||||
#define JS_FILE "swad16.206.3.js"
|
#define JS_FILE "swad16.206.3.js"
|
||||||
|
|
||||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
||||||
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
|
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
|
||||||
/*
|
/*
|
||||||
|
Version 16.209.4: May 09, 2017 Changes in layout of list of guests' records. (218838 lines)
|
||||||
|
Version 16.209.3: May 09, 2017 Changes in layout of list of teachers' records. (218830 lines)
|
||||||
Version 16.209.2: May 09, 2017 Fixed bug in hidden parameters. (218831 lines)
|
Version 16.209.2: May 09, 2017 Fixed bug in hidden parameters. (218831 lines)
|
||||||
1 change necessary in database:
|
1 change necessary in database:
|
||||||
ALTER TABLE hidden_params CHANGE COLUMN ParamValue ParamValue LONGTEXT NOT NULL;
|
ALTER TABLE hidden_params CHANGE COLUMN ParamValue ParamValue LONGTEXT NOT NULL;
|
||||||
|
|
|
@ -996,7 +996,7 @@ void Rec_ListRecordsGstsPrint (void)
|
||||||
static void Rec_ListRecordsGsts (Rec_SharedRecordViewType_t TypeOfView)
|
static void Rec_ListRecordsGsts (Rec_SharedRecordViewType_t TypeOfView)
|
||||||
{
|
{
|
||||||
extern const char *Txt_You_must_select_one_ore_more_users;
|
extern const char *Txt_You_must_select_one_ore_more_users;
|
||||||
unsigned NumUsrs = 0;
|
unsigned NumUsr = 0;
|
||||||
const char *Ptr;
|
const char *Ptr;
|
||||||
struct UsrData UsrDat;
|
struct UsrData UsrDat;
|
||||||
|
|
||||||
|
@ -1045,20 +1045,23 @@ static void Rec_ListRecordsGsts (Rec_SharedRecordViewType_t TypeOfView)
|
||||||
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
|
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
|
||||||
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat)) // Get from the database the data of the student
|
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat)) // Get from the database the data of the student
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CENTER_MIDDLE\""
|
/* Start container for this user */
|
||||||
" style=\"margin-bottom:12px;");
|
fprintf (Gbl.F.Out,"<section class=\"REC_USR\"");
|
||||||
if (Gbl.Action.Act == ActPrnRecSevGst &&
|
if (Gbl.Action.Act == ActPrnRecSevGst &&
|
||||||
NumUsrs != 0 &&
|
NumUsr != 0 &&
|
||||||
(NumUsrs % Gbl.Usrs.Listing.RecsPerPag) == 0)
|
(NumUsr % Gbl.Usrs.Listing.RecsPerPag) == 0)
|
||||||
fprintf (Gbl.F.Out,"page-break-before:always;");
|
fprintf (Gbl.F.Out," style=\"page-break-before:always;\"");
|
||||||
fprintf (Gbl.F.Out,"\">");
|
fprintf (Gbl.F.Out,">");
|
||||||
|
|
||||||
/* Shared record */
|
/* Shared record */
|
||||||
|
fprintf (Gbl.F.Out,"<section class=\"REC_SHA\">");
|
||||||
Rec_ShowSharedUsrRecord (TypeOfView,&UsrDat,NULL);
|
Rec_ShowSharedUsrRecord (TypeOfView,&UsrDat,NULL);
|
||||||
|
fprintf (Gbl.F.Out,"</section>");
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"</div>");
|
/* End container for this user */
|
||||||
|
fprintf (Gbl.F.Out,"</section>");
|
||||||
|
|
||||||
NumUsrs++;
|
NumUsr++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/***** Free memory used for user's data *****/
|
/***** Free memory used for user's data *****/
|
||||||
|
@ -1213,13 +1216,13 @@ static void Rec_ListRecordsStds (Rec_SharedRecordViewType_t ShaTypeOfView,
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,
|
Gbl.CurrentCrs.Crs.CrsCod,
|
||||||
false))
|
false))
|
||||||
{
|
{
|
||||||
/* Check if this student has accepted
|
/* Check if this user has accepted
|
||||||
his/her inscription in the current course */
|
his/her inscription in the current course */
|
||||||
UsrDat.Accepted = Usr_CheckIfUsrBelongsToCrs (UsrDat.UsrCod,
|
UsrDat.Accepted = Usr_CheckIfUsrBelongsToCrs (UsrDat.UsrCod,
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,
|
Gbl.CurrentCrs.Crs.CrsCod,
|
||||||
true);
|
true);
|
||||||
|
|
||||||
/* Start records of this user */
|
/* Start container for this user */
|
||||||
sprintf (Anchor,"record_%u",NumUsr);
|
sprintf (Anchor,"record_%u",NumUsr);
|
||||||
fprintf (Gbl.F.Out,"<section id=\"%s\" class=\"REC_USR\"",
|
fprintf (Gbl.F.Out,"<section id=\"%s\" class=\"REC_USR\"",
|
||||||
Anchor);
|
Anchor);
|
||||||
|
@ -1245,16 +1248,12 @@ static void Rec_ListRecordsStds (Rec_SharedRecordViewType_t ShaTypeOfView,
|
||||||
(Gbl.Usrs.Me.LoggedRole == Rol_STUDENT && // I am student in this course...
|
(Gbl.Usrs.Me.LoggedRole == Rol_STUDENT && // I am student in this course...
|
||||||
UsrDat.UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod)) // ...and it's me
|
UsrDat.UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod)) // ...and it's me
|
||||||
{
|
{
|
||||||
/* Start course record */
|
|
||||||
fprintf (Gbl.F.Out,"<section class=\"REC_CRS\">");
|
fprintf (Gbl.F.Out,"<section class=\"REC_CRS\">");
|
||||||
|
|
||||||
/* Show course record */
|
|
||||||
Rec_ShowCrsRecord (CrsTypeOfView,&UsrDat,Anchor);
|
Rec_ShowCrsRecord (CrsTypeOfView,&UsrDat,Anchor);
|
||||||
|
|
||||||
/* End course record */
|
|
||||||
fprintf (Gbl.F.Out,"</section>");
|
fprintf (Gbl.F.Out,"</section>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* End container for this user */
|
||||||
fprintf (Gbl.F.Out,"</section>");
|
fprintf (Gbl.F.Out,"</section>");
|
||||||
|
|
||||||
NumUsr++;
|
NumUsr++;
|
||||||
|
@ -1366,8 +1365,9 @@ static void Rec_ListRecordsTchs (Rec_SharedRecordViewType_t TypeOfView)
|
||||||
extern const char *Hlp_USERS_Teachers_timetable;
|
extern const char *Hlp_USERS_Teachers_timetable;
|
||||||
extern const char *Txt_You_must_select_one_ore_more_teachers;
|
extern const char *Txt_You_must_select_one_ore_more_teachers;
|
||||||
extern const char *Txt_TIMETABLE_TYPES[TT_NUM_TIMETABLE_TYPES];
|
extern const char *Txt_TIMETABLE_TYPES[TT_NUM_TIMETABLE_TYPES];
|
||||||
unsigned NumUsrs = 0;
|
unsigned NumUsr = 0;
|
||||||
const char *Ptr;
|
const char *Ptr;
|
||||||
|
char Anchor[32];
|
||||||
struct UsrData UsrDat;
|
struct UsrData UsrDat;
|
||||||
bool ShowOfficeHours;
|
bool ShowOfficeHours;
|
||||||
char Width[10 + 2 + 1];
|
char Width[10 + 2 + 1];
|
||||||
|
@ -1432,34 +1432,43 @@ static void Rec_ListRecordsTchs (Rec_SharedRecordViewType_t TypeOfView)
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,
|
Gbl.CurrentCrs.Crs.CrsCod,
|
||||||
false))
|
false))
|
||||||
{
|
{
|
||||||
|
/* Check if this user has accepted
|
||||||
|
his/her inscription in the current course */
|
||||||
UsrDat.Accepted = Usr_CheckIfUsrBelongsToCrs (UsrDat.UsrCod,
|
UsrDat.Accepted = Usr_CheckIfUsrBelongsToCrs (UsrDat.UsrCod,
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,
|
Gbl.CurrentCrs.Crs.CrsCod,
|
||||||
true);
|
true);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CENTER_MIDDLE\""
|
/* Start container for this user */
|
||||||
" style=\"margin-bottom:12px;");
|
sprintf (Anchor,"record_%u",NumUsr);
|
||||||
|
fprintf (Gbl.F.Out,"<section id=\"%s\" class=\"REC_USR\"",
|
||||||
|
Anchor);
|
||||||
if (Gbl.Action.Act == ActPrnRecSevTch &&
|
if (Gbl.Action.Act == ActPrnRecSevTch &&
|
||||||
NumUsrs != 0 &&
|
NumUsr != 0 &&
|
||||||
(NumUsrs % Gbl.Usrs.Listing.RecsPerPag) == 0)
|
(NumUsr % Gbl.Usrs.Listing.RecsPerPag) == 0)
|
||||||
fprintf (Gbl.F.Out,"page-break-before:always;");
|
fprintf (Gbl.F.Out," style=\"page-break-before:always;\"");
|
||||||
fprintf (Gbl.F.Out,"\">");
|
fprintf (Gbl.F.Out,">");
|
||||||
|
|
||||||
/* Shared record */
|
/* Shared record */
|
||||||
|
fprintf (Gbl.F.Out,"<section class=\"REC_SHA\">");
|
||||||
Rec_ShowSharedUsrRecord (TypeOfView,&UsrDat,NULL);
|
Rec_ShowSharedUsrRecord (TypeOfView,&UsrDat,NULL);
|
||||||
|
fprintf (Gbl.F.Out,"</section>");
|
||||||
|
|
||||||
/* Office hours */
|
/* Office hours */
|
||||||
if (ShowOfficeHours)
|
if (ShowOfficeHours)
|
||||||
{
|
{
|
||||||
|
fprintf (Gbl.F.Out,"<section class=\"REC_TT\">");
|
||||||
Gbl.TimeTable.Type = TT_TUTORING_TIMETABLE;
|
Gbl.TimeTable.Type = TT_TUTORING_TIMETABLE;
|
||||||
Lay_StartRoundFrame (Width,Txt_TIMETABLE_TYPES[Gbl.TimeTable.Type],
|
Lay_StartRoundFrame (Width,Txt_TIMETABLE_TYPES[Gbl.TimeTable.Type],
|
||||||
NULL,Hlp_USERS_Teachers_timetable);
|
NULL,Hlp_USERS_Teachers_timetable);
|
||||||
TT_ShowTimeTable (UsrDat.UsrCod);
|
TT_ShowTimeTable (UsrDat.UsrCod);
|
||||||
Lay_EndRoundFrame ();
|
Lay_EndRoundFrame ();
|
||||||
|
fprintf (Gbl.F.Out,"</section>");
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"</div>");
|
/* End container for this user */
|
||||||
|
fprintf (Gbl.F.Out,"</section>");
|
||||||
|
|
||||||
NumUsrs++;
|
NumUsr++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/***** Free memory used for user's data *****/
|
/***** Free memory used for user's data *****/
|
||||||
|
|
Loading…
Reference in New Issue