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_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;}
.FREE0 {background-color:#F4F2EA; border:solid 1px; border-color:#F4F2EA #E0D9C2 #EEEADC #F4F2EA;}
.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;}
.FREE3 {background-color:#FBFAF7; border:solid 1px; border-color:#FBFAF7 #E0D9C2 #E0D9C2 #FBFAF7;}
.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;}
.TUTO {background-color:#D6E9C3; border:solid 2px; border-color:#DFEEE0 #CAE3B1 #CAE3B1 #DFEEE0;}
/******************************* Time table **********************************/
#timetable
{
width:100%;
margin:0 auto;
}
.TT_TXT
{
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
{
@ -1756,7 +1769,7 @@ a:hover img.CENTRE_PHOTO_SHOW
box-sizing:border-box;
min-width:312px;
}
/********************************** Page foot ********************************/
@media only screen and (max-width: 899px)
{ /* 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;
-----------------------
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: Listing of courses: Put "Optativas" year at the end
// TODO: Timetable: Sunday can be the first day of the week
// TODO: Timetable: Day can start at 6 am
/*****************************************************************************/
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.51.4 (2015/11/30)"
#define CSS_FILE "swad15.51.4.css"
#define Log_PLATFORM_VERSION "SWAD 15.52 (2015/11/30)"
#define CSS_FILE "swad15.52.css"
// 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
/*
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.
Changes in layout. (186644 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 ******************************/
/*****************************************************************************/
#define TT_START_HOUR 7 // Day starts at 7:00
#define TT_HOURS_PER_DAY 15 // From 7:00 to 22:00
#define TT_DAYS 7 // From monday to friday
#define TT_START_HOUR 6 // Day starts at 6:00
#define TT_HOURS_PER_DAY 16 // From 6:00 to 22:00
#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_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
@ -266,7 +266,7 @@ void TT_ShowClassTimeTable (void)
}
/***** Start frame *****/
Lay_StartRoundFrameTable (NULL,0,Txt_TIMETABLE_TYPES[TimeTableType]);
Lay_StartRoundFrameTable ("100%",0,Txt_TIMETABLE_TYPES[TimeTableType]);
/***** Start time table drawing *****/
if (TimeTableType == TT_COURSE_TIMETABLE)
@ -749,23 +749,23 @@ static void TT_DrawTimeTable (void)
}
/***** 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 *****/
TT_TimeTableDrawAdjustRow ();
/***** Row with day names *****/
fprintf (Gbl.F.Out,"<tr>"
"<td rowspan=\"2\" class=\"HOR RIGHT_MIDDLE\""
" style=\"width:%u%%;\">"
"<td rowspan=\"2\" class=\"TT_TXT RIGHT_MIDDLE\""
" style=\"width:%u%%; height:40px;\">"
"%u:00"
"</td>",
TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN,TT_START_HOUR);
TT_DrawCellAlignTimeTable ();
TT_TimeTableDrawDaysCells ();
TT_DrawCellAlignTimeTable ();
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"HOR LEFT_MIDDLE\""
" style=\"width:%u%%;\">"
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"TT_TXT LEFT_MIDDLE\""
" style=\"width:%u%%; height:40px;\">"
"%u:00"
"</td>"
"</tr>",
@ -785,8 +785,8 @@ static void TT_DrawTimeTable (void)
/* Hour */
if (Hour % 2)
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"HOR RIGHT_MIDDLE\""
" style=\"width:%u%%;\">"
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"TT_TXT RIGHT_MIDDLE\""
" style=\"width:%u%%; height:40px;\">"
"%2u:00"
"</td>",
TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN,TT_START_HOUR + (Hour+1)/2);
@ -843,8 +843,8 @@ static void TT_DrawTimeTable (void)
/* Hour */
if (Hour % 2)
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"HOR LEFT_MIDDLE\""
" style=\"width:%u%%;\">"
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"TT_TXT LEFT_MIDDLE\""
" style=\"width:%u%%; height:40px;\">"
"%2u:00"
"</td>",
TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN,TT_START_HOUR + (Hour+1)/2);
@ -880,8 +880,7 @@ static void TT_TimeTableDrawAdjustRow (void)
unsigned Minicolumn;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"HOR LEFT_MIDDLE\" style=\"width:%u%%;\">"
"&nbsp;"
"<td class=\"TT_TXT LEFT_MIDDLE\" style=\"width:%u%%;\">"
"</td>",
TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN);
TT_DrawCellAlignTimeTable ();
@ -891,15 +890,13 @@ static void TT_TimeTableDrawAdjustRow (void)
for (Minicolumn = 0;
Minicolumn < TT_NUM_MINICOLUMNS_PER_DAY;
Minicolumn++)
fprintf (Gbl.F.Out,"<td class=\"HOR LEFT_MIDDLE\""
fprintf (Gbl.F.Out,"<td class=\"TT_TXT LEFT_MIDDLE\""
" style=\"width:%u%%;\">"
"&nbsp;"
"</td>",
TT_PERCENT_WIDTH_OF_A_MINICOLUMN);
TT_DrawCellAlignTimeTable ();
fprintf (Gbl.F.Out,"<td class=\"HOR LEFT_MIDDLE\""
fprintf (Gbl.F.Out,"<td class=\"TT_TXT LEFT_MIDDLE\""
" style=\"width:%u%%;\">"
"&nbsp;"
"</td>"
"</tr>",
TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN);
@ -917,7 +914,7 @@ static void TT_TimeTableDrawDaysCells (void)
for (Day = 0;
Day < TT_DAYS;
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%%;\">"
"%s"
"</td>",
@ -986,8 +983,7 @@ static unsigned TT_TimeTableCalculateColsToDraw (unsigned Day,unsigned Hour)
static void TT_DrawCellAlignTimeTable (void)
{
fprintf (Gbl.F.Out,"<td class=\"HOR LEFT_MIDDLE\" style=\"width:%u%%;\">"
"&nbsp;"
fprintf (Gbl.F.Out,"<td class=\"TT_TXT LEFT_MIDDLE\" style=\"width:%u%%;\">"
"</td>",
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 *****/
switch (HourType)
{
case TT_FREE_HOUR: // Se escribe una casilla libre
RowSpan = 1;
case TT_FREE_HOUR: // Free cell written
RowSpan = 1;
break;
case TT_FIRST_HOUR: // Se escribe una casilla normal
case TT_FIRST_HOUR: // Normal cell written
RowSpan = Duration;
break;
case TT_NEXT_HOUR: // No se escribe nada
case TT_NEXT_HOUR: // Nothing written
break;
}
@ -1093,14 +1089,9 @@ static void TT_TimeTableDrawCell (unsigned Day,unsigned Hour,unsigned Column,uns
{
case TT_CRS_SHOW:
case TT_TUT_SHOW:
if (HourType == TT_FREE_HOUR) // If cell is empty...
fprintf (Gbl.F.Out,"<img src=\"%s/tr1x16.gif\""
" alt=\"\" title=\"\""
" style=\"width:1px; height:20px;\" />",
Gbl.Prefs.IconsURL);
else
if (HourType != TT_FREE_HOUR) // If cell is not empty...
{
fprintf (Gbl.F.Out,"<span class=\"HOR\">");
fprintf (Gbl.F.Out,"<span class=\"TT_TXT\">");
if (Gbl.CurrentAct == ActSeeMyTimTbl ||
Gbl.CurrentAct == ActPrnMyTimTbl)
{