Version 15.52

This commit is contained in:
Antonio Cañas Vargas 2015-11-30 20:47:37 +01:00
parent e575204b5b
commit 83f6fc6800
4 changed files with 64 additions and 45 deletions

View File

@ -1560,14 +1560,27 @@ a:hover img.CENTRE_PHOTO_SHOW
.TEST_EDI {color:#404040; font-size:12pt;} .TEST_EDI {color:#404040; font-size:12pt;}
.TEST_EDI_LIGHT {color:#A0A0A0; font-size:12pt;} .TEST_EDI_LIGHT {color:#A0A0A0; font-size:12pt;}
.HOR {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#345C6C; font-size:10pt; line-height:110%; letter-spacing:0;} /******************************* Time table **********************************/
.FREE0 {background-color:#F4F2EA; border:solid 1px; border-color:#F4F2EA #E0D9C2 #EEEADC #F4F2EA;} #timetable
.FREE1 {background-color:#F4F2EA; border:solid 1px; border-color:#F4F2EA #E0D9C2 #E0D9C2 #F4F2EA;} {
.FREE2 {background-color:#FBFAF7; border:solid 1px; border-color:#FBFAF7 #E0D9C2 #F5F2E9 #FBFAF7;} width:100%;
.FREE3 {background-color:#FBFAF7; border:solid 1px; border-color:#FBFAF7 #E0D9C2 #E0D9C2 #FBFAF7;} margin:0 auto;
.THEO {background-color:#C0DAE4; border:solid 2px; border-color:#C9E3ED #B5CFD9 #B5CFD9 #C9E3ED;} }
.PRAC {background-color:#DBE5E9; border:solid 2px; border-color:#E4EEF2 #D0DADE #D0DADE #E4EEF2;} .TT_TXT
.TUTO {background-color:#D6E9C3; border:solid 2px; border-color:#DFEEE0 #CAE3B1 #CAE3B1 #DFEEE0;} {
font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif;
color:#345C6C;
font-size:10pt;
line-height:110%;
letter-spacing:0;
}
.FREE0 {height:20px; background-color:#F4F2EA; border:solid 1px; border-color:#F4F2EA #E0D9C2 #EEEADC #F4F2EA;}
.FREE1 {height:20px; background-color:#F4F2EA; border:solid 1px; border-color:#F4F2EA #E0D9C2 #E0D9C2 #F4F2EA;}
.FREE2 {height:20px; background-color:#FBFAF7; border:solid 1px; border-color:#FBFAF7 #E0D9C2 #F5F2E9 #FBFAF7;}
.FREE3 {height:20px; background-color:#FBFAF7; border:solid 1px; border-color:#FBFAF7 #E0D9C2 #E0D9C2 #FBFAF7;}
.THEO {height:20px; background-color:#C0DAE4; border:solid 2px; border-color:#C9E3ED #B5CFD9 #B5CFD9 #C9E3ED;}
.PRAC {height:20px; background-color:#DBE5E9; border:solid 2px; border-color:#E4EEF2 #D0DADE #D0DADE #E4EEF2;}
.TUTO {height:20px; background-color:#D6E9C3; border:solid 2px; border-color:#DFEEE0 #CAE3B1 #CAE3B1 #DFEEE0;}
.PREF_OFF .PREF_OFF
{ {
@ -1756,7 +1769,7 @@ a:hover img.CENTRE_PHOTO_SHOW
box-sizing:border-box; box-sizing:border-box;
min-width:312px; min-width:312px;
} }
/********************************** Page foot ********************************/ /********************************** Page foot ********************************/
@media only screen and (max-width: 899px) @media only screen and (max-width: 899px)
{ /* For mobile-phones */ { /* For mobile-phones */

View File

@ -11166,3 +11166,17 @@ SELECT * FROM expanded_folders WHERE ClickTime<FROM_UNIXTIME(UNIX_TIMESTAMP()-'1
----- -----
SELECT UsrCod,'Y',Sex FROM usr_data WHERE UsrCod IN (SELECT DISTINCT UsrCod FROM admin WHERE Scope='Sys' UNION SELECT DISTINCT admin.UsrCod FROM admin,institutions WHERE admin.Scope='Ins' AND admin.Cod=institutions.InsCod AND institutions.CtyCod='724') AS admin_codes ORDER BY Surname1,Surname2,FirstName,UsrCod; SELECT UsrCod,'Y',Sex FROM usr_data WHERE UsrCod IN (SELECT DISTINCT UsrCod FROM admin WHERE Scope='Sys' UNION SELECT DISTINCT admin.UsrCod FROM admin,institutions WHERE admin.Scope='Ins' AND admin.Cod=institutions.InsCod AND institutions.CtyCod='724') AS admin_codes ORDER BY Surname1,Surname2,FirstName,UsrCod;
-----------------------
CREATE TABLE timetable_crs_backup LIKE timetable_crs;
INSERT INTO timetable_crs_backup SELECT * FROM timetable_crs;
CREATE TABLE timetable_tut_backup LIKE timetable_tut;
INSERT INTO timetable_tut_backup SELECT * FROM timetable_tut;
UPDATE timetable_crs SET Hour=Hour+2;
UPDATE timetable_tut SET Hour=Hour+2;

View File

@ -111,18 +111,19 @@
// TODO: Edition of courses: Rename "Curso" to "Año / semestre / cuatrimestre" // TODO: Edition of courses: Rename "Curso" to "Año / semestre / cuatrimestre"
// TODO: Listing of courses: Put "Optativas" year at the end // TODO: Listing of courses: Put "Optativas" year at the end
// TODO: Timetable: Sunday can be the first day of the week // TODO: Timetable: Sunday can be the first day of the week
// TODO: Timetable: Day can start at 6 am
/*****************************************************************************/ /*****************************************************************************/
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.51.4 (2015/11/30)" #define Log_PLATFORM_VERSION "SWAD 15.52 (2015/11/30)"
#define CSS_FILE "swad15.51.4.css" #define CSS_FILE "swad15.52.css"
// 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 15.52: Nov 30, 2015 Timetable now starts at 6 a.m. instead of 7 a.m.
Changes in layout of timetable. (186648 lines)
Version 15.51.4: Nov 30, 2015 Calendar is now distributed in rows with 3 months instead of 4. Version 15.51.4: Nov 30, 2015 Calendar is now distributed in rows with 3 months instead of 4.
Changes in layout. (186644 lines) Changes in layout. (186644 lines)
Version 15.51.3: Nov 30, 2015 Responsive design in login-logout. (186641 lines) Version 15.51.3: Nov 30, 2015 Responsive design in login-logout. (186641 lines)

View File

@ -49,9 +49,9 @@ extern struct Globals Gbl;
/*************************** Internal constants ******************************/ /*************************** Internal constants ******************************/
/*****************************************************************************/ /*****************************************************************************/
#define TT_START_HOUR 7 // Day starts at 7:00 #define TT_START_HOUR 6 // Day starts at 6:00
#define TT_HOURS_PER_DAY 15 // From 7:00 to 22:00 #define TT_HOURS_PER_DAY 16 // From 6:00 to 22:00
#define TT_DAYS 7 // From monday to friday #define TT_DAYS 7 // Seven days per week
#define TT_MAX_COLUMNS_PER_CELL 3 // Maximum number of items (i.e. classes) in a timetable cell (1, 2, 3 or 4) #define TT_MAX_COLUMNS_PER_CELL 3 // Maximum number of items (i.e. classes) in a timetable cell (1, 2, 3 or 4)
#define TT_NUM_MINICOLUMNS_PER_DAY 6 // Least common multiple of 1,2,3,...,TT_MAX_COLUMNS_PER_CELL #define TT_NUM_MINICOLUMNS_PER_DAY 6 // Least common multiple of 1,2,3,...,TT_MAX_COLUMNS_PER_CELL
#define TT_PERCENT_WIDTH_OF_A_MINICOLUMN 2 // Width (%) of each minicolumn #define TT_PERCENT_WIDTH_OF_A_MINICOLUMN 2 // Width (%) of each minicolumn
@ -266,7 +266,7 @@ void TT_ShowClassTimeTable (void)
} }
/***** Start frame *****/ /***** Start frame *****/
Lay_StartRoundFrameTable (NULL,0,Txt_TIMETABLE_TYPES[TimeTableType]); Lay_StartRoundFrameTable ("100%",0,Txt_TIMETABLE_TYPES[TimeTableType]);
/***** Start time table drawing *****/ /***** Start time table drawing *****/
if (TimeTableType == TT_COURSE_TIMETABLE) if (TimeTableType == TT_COURSE_TIMETABLE)
@ -749,23 +749,23 @@ static void TT_DrawTimeTable (void)
} }
/***** Table start *****/ /***** Table start *****/
fprintf (Gbl.F.Out,"<table style=\"min-width:700px; margin:0 auto;\">"); fprintf (Gbl.F.Out,"<table id=\"timetable\">");
/***** Top row used for column adjustement *****/ /***** Top row used for column adjustement *****/
TT_TimeTableDrawAdjustRow (); TT_TimeTableDrawAdjustRow ();
/***** Row with day names *****/ /***** Row with day names *****/
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<td rowspan=\"2\" class=\"HOR RIGHT_MIDDLE\"" "<td rowspan=\"2\" class=\"TT_TXT RIGHT_MIDDLE\""
" style=\"width:%u%%;\">" " style=\"width:%u%%; height:40px;\">"
"%u:00" "%u:00"
"</td>", "</td>",
TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN,TT_START_HOUR); TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN,TT_START_HOUR);
TT_DrawCellAlignTimeTable (); TT_DrawCellAlignTimeTable ();
TT_TimeTableDrawDaysCells (); TT_TimeTableDrawDaysCells ();
TT_DrawCellAlignTimeTable (); TT_DrawCellAlignTimeTable ();
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"HOR LEFT_MIDDLE\"" fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"TT_TXT LEFT_MIDDLE\""
" style=\"width:%u%%;\">" " style=\"width:%u%%; height:40px;\">"
"%u:00" "%u:00"
"</td>" "</td>"
"</tr>", "</tr>",
@ -785,8 +785,8 @@ static void TT_DrawTimeTable (void)
/* Hour */ /* Hour */
if (Hour % 2) if (Hour % 2)
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"HOR RIGHT_MIDDLE\"" fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"TT_TXT RIGHT_MIDDLE\""
" style=\"width:%u%%;\">" " style=\"width:%u%%; height:40px;\">"
"%2u:00" "%2u:00"
"</td>", "</td>",
TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN,TT_START_HOUR + (Hour+1)/2); TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN,TT_START_HOUR + (Hour+1)/2);
@ -843,8 +843,8 @@ static void TT_DrawTimeTable (void)
/* Hour */ /* Hour */
if (Hour % 2) if (Hour % 2)
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"HOR LEFT_MIDDLE\"" fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"TT_TXT LEFT_MIDDLE\""
" style=\"width:%u%%;\">" " style=\"width:%u%%; height:40px;\">"
"%2u:00" "%2u:00"
"</td>", "</td>",
TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN,TT_START_HOUR + (Hour+1)/2); TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN,TT_START_HOUR + (Hour+1)/2);
@ -880,8 +880,7 @@ static void TT_TimeTableDrawAdjustRow (void)
unsigned Minicolumn; unsigned Minicolumn;
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<td class=\"HOR LEFT_MIDDLE\" style=\"width:%u%%;\">" "<td class=\"TT_TXT LEFT_MIDDLE\" style=\"width:%u%%;\">"
"&nbsp;"
"</td>", "</td>",
TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN); TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN);
TT_DrawCellAlignTimeTable (); TT_DrawCellAlignTimeTable ();
@ -891,15 +890,13 @@ static void TT_TimeTableDrawAdjustRow (void)
for (Minicolumn = 0; for (Minicolumn = 0;
Minicolumn < TT_NUM_MINICOLUMNS_PER_DAY; Minicolumn < TT_NUM_MINICOLUMNS_PER_DAY;
Minicolumn++) Minicolumn++)
fprintf (Gbl.F.Out,"<td class=\"HOR LEFT_MIDDLE\"" fprintf (Gbl.F.Out,"<td class=\"TT_TXT LEFT_MIDDLE\""
" style=\"width:%u%%;\">" " style=\"width:%u%%;\">"
"&nbsp;"
"</td>", "</td>",
TT_PERCENT_WIDTH_OF_A_MINICOLUMN); TT_PERCENT_WIDTH_OF_A_MINICOLUMN);
TT_DrawCellAlignTimeTable (); TT_DrawCellAlignTimeTable ();
fprintf (Gbl.F.Out,"<td class=\"HOR LEFT_MIDDLE\"" fprintf (Gbl.F.Out,"<td class=\"TT_TXT LEFT_MIDDLE\""
" style=\"width:%u%%;\">" " style=\"width:%u%%;\">"
"&nbsp;"
"</td>" "</td>"
"</tr>", "</tr>",
TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN); TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN);
@ -917,7 +914,7 @@ static void TT_TimeTableDrawDaysCells (void)
for (Day = 0; for (Day = 0;
Day < TT_DAYS; Day < TT_DAYS;
Day++) Day++)
fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"HOR CENTER_MIDDLE\"" fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"TT_TXT CENTER_MIDDLE\""
" style=\"width:%u%%;\">" " style=\"width:%u%%;\">"
"%s" "%s"
"</td>", "</td>",
@ -986,8 +983,7 @@ static unsigned TT_TimeTableCalculateColsToDraw (unsigned Day,unsigned Hour)
static void TT_DrawCellAlignTimeTable (void) static void TT_DrawCellAlignTimeTable (void)
{ {
fprintf (Gbl.F.Out,"<td class=\"HOR LEFT_MIDDLE\" style=\"width:%u%%;\">" fprintf (Gbl.F.Out,"<td class=\"TT_TXT LEFT_MIDDLE\" style=\"width:%u%%;\">"
"&nbsp;"
"</td>", "</td>",
TT_PERCENT_WIDTH_OF_A_SEPARATION_COLUMN); TT_PERCENT_WIDTH_OF_A_SEPARATION_COLUMN);
} }
@ -1032,13 +1028,13 @@ static void TT_TimeTableDrawCell (unsigned Day,unsigned Hour,unsigned Column,uns
/***** Compute row span and background color depending on hour type *****/ /***** Compute row span and background color depending on hour type *****/
switch (HourType) switch (HourType)
{ {
case TT_FREE_HOUR: // Se escribe una casilla libre case TT_FREE_HOUR: // Free cell written
RowSpan = 1; RowSpan = 1;
break; break;
case TT_FIRST_HOUR: // Se escribe una casilla normal case TT_FIRST_HOUR: // Normal cell written
RowSpan = Duration; RowSpan = Duration;
break; break;
case TT_NEXT_HOUR: // No se escribe nada case TT_NEXT_HOUR: // Nothing written
break; break;
} }
@ -1093,14 +1089,9 @@ static void TT_TimeTableDrawCell (unsigned Day,unsigned Hour,unsigned Column,uns
{ {
case TT_CRS_SHOW: case TT_CRS_SHOW:
case TT_TUT_SHOW: case TT_TUT_SHOW:
if (HourType == TT_FREE_HOUR) // If cell is empty... if (HourType != TT_FREE_HOUR) // If cell is not empty...
fprintf (Gbl.F.Out,"<img src=\"%s/tr1x16.gif\""
" alt=\"\" title=\"\""
" style=\"width:1px; height:20px;\" />",
Gbl.Prefs.IconsURL);
else
{ {
fprintf (Gbl.F.Out,"<span class=\"HOR\">"); fprintf (Gbl.F.Out,"<span class=\"TT_TXT\">");
if (Gbl.CurrentAct == ActSeeMyTimTbl || if (Gbl.CurrentAct == ActSeeMyTimTbl ||
Gbl.CurrentAct == ActPrnMyTimTbl) Gbl.CurrentAct == ActPrnMyTimTbl)
{ {