Version 15.29.3

This commit is contained in:
Antonio Cañas Vargas 2015-10-29 20:07:40 +01:00
parent 193bdac699
commit 99bf9985af
3 changed files with 45 additions and 41 deletions

View File

@ -663,14 +663,14 @@ function DrawCurrentMonth (id,TimeUTC) {
var d = new Date;
d.setTime(TimeUTC * 1000);
DrawMonth (id,d.getFullYear(),d.getMonth() + 1,d.getDate());
DrawMonth (id,d.getFullYear(),d.getMonth() + 1,d.getDate(),false,false);
}
/*****************************************************************************/
/******************************** Draw a month *******************************/
/*****************************************************************************/
function DrawMonth (id,Year,Month,Today)
function DrawMonth (id,Year,Month,Today,DrawingCalendar,PrintView)
{
var NumDaysMonth = [
0,
@ -698,10 +698,10 @@ function DrawMonth (id,Year,Month,Today)
// var NumHld;
var ClassForDay; // Class of day depending on type of day
// var TextForDay; // Text associated to a day, for example the name of the holiday
// var NumExamAnnouncement; // Number of exam announcement
var NumExamAnnouncement; // Number of exam announcement
// var ResultOfCmpStartDate;
// var ContinueSearching;
var ThisDayHasEvent = false;
var ThisDayHasEvent;
var IsToday;
/***** Compute number of day of month for the first box *****/
@ -773,29 +773,23 @@ function DrawMonth (id,Year,Month,Today)
'DAY_HLD_LIGHT';
/* Date being drawn is today? */
/*
IsToday = (Gbl.CurrentAct != ActPrnCal && Mon == Month &&
Yea == Gbl.Now.Date.Yea &&
Mon == Gbl.Now.Date.Month &&
Day == Gbl.Now.Date.Day);
*/
IsToday = (Yea == Year &&
Mon == Month &&
Day == Today);
/* Check if day has an exam announcement */
/*
ThisDayHasEvent = false;
if (!DrawingCalendar || Mon == Month) // If drawing calendar and the month is not the real one, don't draw exam announcements
for (NumExamAnnouncement = 0;
NumExamAnnouncement < Gbl.LstExamAnnouncements.NumExamAnnounc;
NumExamAnnouncement < LstExamAnnouncements.length;
NumExamAnnouncement++)
if (Yea == Gbl.LstExamAnnouncements.Lst[NumExamAnnouncement].Year &&
Mon == Gbl.LstExamAnnouncements.Lst[NumExamAnnouncement].Month &&
Day == Gbl.LstExamAnnouncements.Lst[NumExamAnnouncement].Day)
if (Yea == LstExamAnnouncements[NumExamAnnouncement].Year &&
Mon == LstExamAnnouncements[NumExamAnnouncement].Month &&
Day == LstExamAnnouncements[NumExamAnnouncement].Day)
{
ThisDayHasEvent = true;
if (PutLinkToEvents)
/*
if (!PrintView)
{
sprintf (StrExamOfX,Txt_Exam_of_X,Gbl.CurrentCrs.Crs.FullName);
sprintf (Gbl.Title,"%s: %02u/%02u/%04u",
@ -804,20 +798,20 @@ function DrawMonth (id,Year,Month,Today)
Gbl.LstExamAnnouncements.Lst[NumExamAnnouncement].Month,
Gbl.LstExamAnnouncements.Lst[NumExamAnnouncement].Yea);
}
*/
break;
}
*/
/***** Write the box with the day *****/
HTMLContent += '<td class="' +
(IsToday ? (ThisDayHasEvent ? 'TODAY_EVENT' :
'TODAY') :
(ThisDayHasEvent ? 'DAY_EVENT' :
'DAY' )) +
((IsToday && !PrintView) ? (ThisDayHasEvent ? 'TODAY_EVENT' :
'TODAY') :
(ThisDayHasEvent ? 'DAY_EVENT' :
'DAY')) +
'">';
/* If day has an exam announcement */
/* if (PutLinkToEvents && ThisDayHasEvent)
/* if (!PrintView && ThisDayHasEvent)
{
Act_FormStart (ActSeeExaAnn);
fprintf (Gbl.F.Out,"<table style=\"width:100%%;\">"
@ -844,7 +838,7 @@ function DrawMonth (id,Year,Month,Today)
/* If day has an exam announcement */
/*
if (PutLinkToEvents && ThisDayHasEvent)
if (!PrintView && ThisDayHasEvent)
{
fprintf (Gbl.F.Out,"</a>"
"</td>"
@ -899,11 +893,9 @@ function GetDayOfWeek (Year,Month,Day)
(Month*2)+
Math.floor(((Month+1)*3)/5)+
Year+
(
Math.floor(Year/4)-
Math.floor(Year/100)+
Math.floor(Year/400)
)
Math.floor(Year/4)-
Math.floor(Year/100)+
Math.floor(Year/400)
+2
) % 7
) + 5

View File

@ -45,7 +45,7 @@ extern struct Globals Gbl;
/*****************************************************************************/
static void Cal_DrawMonth (unsigned RealYear,unsigned RealMonth,
bool DrawingCalendar,bool PutLinkToEvents,bool PrintView);
bool DrawingCalendar,bool PrintView);
/*****************************************************************************/
/***************************** Draw current month ****************************/
@ -57,6 +57,7 @@ void Cal_DrawCurrentMonth (void)
extern const char *Txt_DAYS_CAPS[7];
unsigned Month;
unsigned DayOfWeek; /* 0, 1, 2, 3, 4, 5, 6 */
unsigned NumExamAnnouncement; // Number of exam announcement
/***** Get list of holidays *****/
if (!Gbl.Hlds.LstIsRead)
@ -69,7 +70,7 @@ void Cal_DrawCurrentMonth (void)
Exa_CreateListOfExamAnnouncements ();
/***** Draw the month *****/
Cal_DrawMonth (Gbl.Now.Date.Year,Gbl.Now.Date.Month,false,true,false);
Cal_DrawMonth (Gbl.Now.Date.Year,Gbl.Now.Date.Month,false,false);
/***** Draw the month in JavaScript *****/
/* JavaScript will write HTML here */
@ -87,8 +88,9 @@ void Cal_DrawCurrentMonth (void)
fprintf (Gbl.F.Out,",");
fprintf (Gbl.F.Out,"'%s'",Txt_MONTHS_CAPS[Month]);
}
fprintf (Gbl.F.Out,"];\n"
" var DAYS_CAPS = [");
fprintf (Gbl.F.Out,"];\n");
fprintf (Gbl.F.Out," var DAYS_CAPS = [");
for (DayOfWeek = 0;
DayOfWeek < 7;
DayOfWeek++)
@ -97,8 +99,17 @@ void Cal_DrawCurrentMonth (void)
fprintf (Gbl.F.Out,",");
fprintf (Gbl.F.Out,"'%c'",Txt_DAYS_CAPS[DayOfWeek][0]);
}
fprintf (Gbl.F.Out,"];\n"
" DrawCurrentMonth ('CurrentMonth',%ld);\n"
fprintf (Gbl.F.Out,"];\n");
fprintf (Gbl.F.Out," var LstExamAnnouncements = [];\n");
for (NumExamAnnouncement = 0;
NumExamAnnouncement < Gbl.LstExamAnnouncements.NumExamAnnounc;
NumExamAnnouncement++)
fprintf (Gbl.F.Out," LstExamAnnouncements.push({ Year: '%u', Month: '%u', Day: '%u' });\n",
Gbl.LstExamAnnouncements.Lst[NumExamAnnouncement].Year,
Gbl.LstExamAnnouncements.Lst[NumExamAnnouncement].Month,
Gbl.LstExamAnnouncements.Lst[NumExamAnnouncement].Day);
fprintf (Gbl.F.Out," DrawCurrentMonth ('CurrentMonth',%ld);\n"
"</script>\n",
(long) Gbl.StartExecutionTimeUTC);
@ -189,7 +200,7 @@ void Cal_DrawCalendar (void)
Col++)
{
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP\" style=\"width:150px;\">");
Cal_DrawMonth (Year,Month,true,!PrintView,(Gbl.CurrentAct == ActPrnCal));
Cal_DrawMonth (Year,Month,true,(Gbl.CurrentAct == ActPrnCal));
fprintf (Gbl.F.Out,"</td>");
if (++Month == 13)
{
@ -215,7 +226,7 @@ void Cal_DrawCalendar (void)
/*****************************************************************************/
static void Cal_DrawMonth (unsigned RealYear,unsigned RealMonth,
bool DrawingCalendar,bool PutLinkToEvents,bool PrintView)
bool DrawingCalendar,bool PrintView)
{
extern const unsigned Dat_NumDaysMonth[1+12];
extern const char *Txt_Show_calendar;
@ -357,7 +368,7 @@ static void Cal_DrawMonth (unsigned RealYear,unsigned RealMonth,
"DAY_HLD_LIGHT";
/* Date being drawn is today? */
IsToday = (Gbl.CurrentAct != ActPrnCal && Month == RealMonth &&
IsToday = (!PrintView && Month == RealMonth &&
Year == Gbl.Now.Date.Year &&
Month == Gbl.Now.Date.Month &&
DayOfMonth == Gbl.Now.Date.Day);
@ -373,7 +384,7 @@ static void Cal_DrawMonth (unsigned RealYear,unsigned RealMonth,
DayOfMonth == Gbl.LstExamAnnouncements.Lst[NumExamAnnouncement].Day)
{
ThisDayHasEvent = true;
if (PutLinkToEvents)
if (!PrintView)
{
sprintf (StrExamOfX,Txt_Exam_of_X,Gbl.CurrentCrs.Crs.FullName);
sprintf (Gbl.Title,"%s: %02u/%02u/%04u",
@ -393,7 +404,7 @@ static void Cal_DrawMonth (unsigned RealYear,unsigned RealMonth,
"DAY" ));
/* If day has an exam announcement */
if (PutLinkToEvents && ThisDayHasEvent)
if (!PrintView && ThisDayHasEvent)
{
Act_FormStart (ActSeeExaAnn);
fprintf (Gbl.F.Out,"<table style=\"width:100%%;\">"
@ -414,7 +425,7 @@ static void Cal_DrawMonth (unsigned RealYear,unsigned RealMonth,
fprintf (Gbl.F.Out,"%u",DayOfMonth);
/* If day has an exam announcement */
if (PutLinkToEvents && ThisDayHasEvent)
if (!PrintView && ThisDayHasEvent)
{
fprintf (Gbl.F.Out,"</a>"
"</td>"

View File

@ -108,11 +108,12 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.29.2 (2015/10/29)"
#define Log_PLATFORM_VERSION "SWAD 15.29.3 (2015/10/29)"
// 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.29.3: Oct 29, 2015 Writing JavaScript function to draw a month in browser. Not finished. (186703 lines)
Version 15.29.2: Oct 29, 2015 Writing JavaScript function to draw a month in browser. Not finished. (186694 lines)
Version 15.29.1: Oct 29, 2015 Writing JavaScript function to draw a month in browser. Not finished. (186694 lines)
Version 15.29: Oct 29, 2015 Writing JavaScript function to draw a month in browser. Not finished. (186684 lines)