diff --git a/css/swad16.202.css b/css/swad16.205.css
similarity index 99%
rename from css/swad16.202.css
rename to css/swad16.205.css
index 2bf6e6c1b..4f360a24d 100644
--- a/css/swad16.202.css
+++ b/css/swad16.205.css
@@ -1215,6 +1215,7 @@ a:hover /* Default ==> underlined */
color:#4D88A1;
font-size:9pt;
white-space:nowrap;
+ text-transform:uppercase;
}
.DAY_WRK_HEAD
{
diff --git a/js/swad16.181.js b/js/swad16.205.js
similarity index 97%
rename from js/swad16.181.js
rename to js/swad16.205.js
index 510c40cdf..535aabcb0 100644
--- a/js/swad16.181.js
+++ b/js/swad16.205.js
@@ -39,7 +39,7 @@ var countClockConnected = 0;
/****************** Write a date in client local time ************************/
//id is the id of the HTML element in which date will be written
//TimeUTC is the date-time to write in UTC UNIX time format
-
+/*
function writeLocalDateFromUTC (id,TimeUTC,StrToday) {
var today = new Date();
var todayYea = today.getFullYear();
@@ -66,13 +66,17 @@ function writeLocalDateFromUTC (id,TimeUTC,StrToday) {
document.getElementById(id).innerHTML = Yea + '-' + StrMon + '-' + StrDay;
}
-
+*/
/*************** Write a date-time in client local time **********************/
// id is the id of the HTML element in which date-time will be written
// TimeUTC is the date-time to write in UTC UNIX time format
+// DateFormat:
+// Dat_FORMAT_YYYY_MM_DD = 0
+// Dat_FORMAT_DD_MONTH_YYYY = 1
+// Dat_FORMAT_MONTH_DD_YYYY = 2
// separator is HTML code to write between date and time
-function writeLocalDateHMSFromUTC (id,TimeUTC,Separator,StrToday,
+function writeLocalDateHMSFromUTC (id,TimeUTC,DateFormat,Separator,StrToday,
WriteDateOnSameDay,WriteWeekDay,WriteSeconds) {
// HMS: Hour, Minutes, Seconds
var today = new Date();
@@ -111,16 +115,43 @@ function writeLocalDateHMSFromUTC (id,TimeUTC,Separator,StrToday,
/* Set date */
if (WriteDate) {
- StrMon = ((Mon < 10) ? '-0' : '-') + Mon;
- StrDay = ((Day < 10) ? '-0' : '-') + Day;
-
+ switch (DateFormat) {
+ case 0: // Dat_FORMAT_YYYY_MM_DD
+ StrMon = ((Mon < 10) ? '0' : '') + Mon;
+ break;
+ case 1: // Dat_FORMAT_DD_MONTH_YYYY
+ StrMon = MonthsShort[Mon - 1];
+ break;
+ case 2: // Dat_FORMAT_MONTH_DD_YYYY
+ StrMon = MonthsShort[Mon - 1];
+ break;
+ default:
+ StrMon = '';
+ break;
+ }
+ StrDay = ((Day < 10) ? '0' : '') + Day;
+
if (Yea == todayYea &&
Mon == todayMon &&
Day == todayDay && // Today
StrToday.length)
StrDate = StrToday;
- else
- StrDate = Yea.toString() + StrMon + StrDay;
+ else {
+ switch (DateFormat) {
+ case 0: // Dat_FORMAT_YYYY_MM_DD
+ StrDate = Yea.toString() + '-' + StrMon + '-' + StrDay;
+ break;
+ case 1: // Dat_FORMAT_DD_MONTH_YYYY
+ StrDate = StrDay + ' ' + StrMon + ' ' + Yea.toString();
+ break;
+ case 2: // Dat_FORMAT_MONTH_DD_YYYY
+ StrDate = StrMon + ' ' + StrDay + ', ' + Yea.toString();
+ break;
+ default:
+ StrDate = '';
+ break;
+ }
+ }
if (WriteWeekDay) {
DayOfWeek = d.getDay();
@@ -1096,7 +1127,7 @@ function DrawMonth (id,FirstDayOfWeek,YearToDraw,MonthToDraw,CurrentMonth,Curren
'';
}
- Gbl_HTMLContent += MONTHS_CAPS[MonthToDraw - 1] + ' ' + YearToDraw;
+ Gbl_HTMLContent += Months[MonthToDraw - 1] + ' ' + YearToDraw;
if (DrawingCalendar)
Gbl_HTMLContent += '';
else
diff --git a/swad_agenda.c b/swad_agenda.c
index 8f2cd0a06..99a53a16c 100644
--- a/swad_agenda.c
+++ b/swad_agenda.c
@@ -751,22 +751,23 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod)
fprintf (Gbl.F.Out,""
" ",
@@ -3506,7 +3508,7 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
UniqueId,
Gbl.AttEvents.Lst[NumAttEvent].Title,
UniqueId,Gbl.AttEvents.Lst[NumAttEvent].TimeUTC[Att_START_TIME],
- Txt_Today);
+ (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/***** Write comments for this student *****/
if (ShowCommentStd || ShowCommentTch)
diff --git a/swad_changelog.h b/swad_changelog.h
index c9247abf9..5e5a411ee 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -233,13 +233,14 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
-#define Log_PLATFORM_VERSION "SWAD 16.204 (2017-05-04)"
-#define CSS_FILE "swad16.202.css"
-#define JS_FILE "swad16.181.js"
+#define Log_PLATFORM_VERSION "SWAD 16.205 (2017-05-04)"
+#define CSS_FILE "swad16.205.css"
+#define JS_FILE "swad16.205.js"
// 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 16.205: May 04, 2017 Dates written depending on user's preferences. (218721 lines)
Version 16.204: May 04, 2017 Form in preferences to change date format. (218656 lines)
3 changes necessary in database:
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1638','es','N','Cambiar formato de fecha');
diff --git a/swad_date.c b/swad_date.c
index 0004148fd..bf13e1933 100644
--- a/swad_date.c
+++ b/swad_date.c
@@ -1444,6 +1444,7 @@ void Dat_AssignDate (struct Date *DateDst,struct Date *DateSrc)
void Dat_WriteScriptMonths (void)
{
extern const char *Txt_MONTHS_SMALL[12];
+ extern const char *Txt_MONTHS_SMALL_SHORT[12];
unsigned NumMonth;
fprintf (Gbl.F.Out,"var Months = [");
@@ -1456,4 +1457,15 @@ void Dat_WriteScriptMonths (void)
fprintf (Gbl.F.Out,"'%s'",Txt_MONTHS_SMALL[NumMonth]);
}
fprintf (Gbl.F.Out,"];\n");
+
+ fprintf (Gbl.F.Out,"var MonthsShort = [");
+ for (NumMonth = 0;
+ NumMonth < 12;
+ NumMonth++)
+ {
+ if (NumMonth)
+ fprintf (Gbl.F.Out,",");
+ fprintf (Gbl.F.Out,"'%s'",Txt_MONTHS_SMALL_SHORT[NumMonth]);
+ }
+ fprintf (Gbl.F.Out,"];\n");
}
diff --git a/swad_file_browser.c b/swad_file_browser.c
index b5b973904..1384c44bf 100644
--- a/swad_file_browser.c
+++ b/swad_file_browser.c
@@ -6044,11 +6044,11 @@ static void Brw_WriteDatesAssignment (void)
Gbl.FileBrowser.Asg.Open ? "ASG_LST_DATE_GREEN" :
"ASG_LST_DATE_RED");
fprintf (Gbl.F.Out,"",
- UniqueId,
- (long) Gbl.FileBrowser.Asg.TimeUTC[Dat_START_TIME],Txt_Today);
+ UniqueId,(long) Gbl.FileBrowser.Asg.TimeUTC[Dat_START_TIME],
+ (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
fprintf (Gbl.F.Out,"");
/***** Arrow *****/
@@ -6065,11 +6065,11 @@ static void Brw_WriteDatesAssignment (void)
Gbl.FileBrowser.Asg.Open ? "ASG_LST_DATE_GREEN" :
"ASG_LST_DATE_RED");
fprintf (Gbl.F.Out,"",
- UniqueId,
- (long) Gbl.FileBrowser.Asg.TimeUTC[Dat_END_TIME],Txt_Today);
+ UniqueId,(long) Gbl.FileBrowser.Asg.TimeUTC[Dat_END_TIME],
+ (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
fprintf (Gbl.F.Out,"");
}
else
@@ -6109,11 +6109,12 @@ static void Brw_WriteFileSizeAndDate (struct FileMetadata *FileMetadata)
UniqueId++;
fprintf (Gbl.F.Out,""
"",
UniqueId,
- UniqueId,(long) FileMetadata->Time,Txt_Today);
+ UniqueId,(long) FileMetadata->Time,
+ (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
}
fprintf (Gbl.F.Out,"");
}
@@ -9192,14 +9193,15 @@ void Brw_ShowFileMetadata (void)
""
""
""
" ",
UniqueId,
AgdEvent.Hidden ? Dat_TimeStatusClassHidden[AgdEvent.TimeStatus] :
Dat_TimeStatusClassVisible[AgdEvent.TimeStatus],
Gbl.RowEvenOdd,
- UniqueId,AgdEvent.TimeUTC[Agd_START_TIME],Txt_Today);
+ UniqueId,AgdEvent.TimeUTC[Agd_START_TIME],
+ (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/* End date/time */
UniqueId++;
fprintf (Gbl.F.Out,""
""
" ",
UniqueId,
@@ -774,8 +775,7 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod)
Dat_TimeStatusClassVisible[AgdEvent.TimeStatus],
Gbl.RowEvenOdd,
UniqueId,AgdEvent.TimeUTC[Agd_END_TIME],
-
- Txt_Today);
+ (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/* Event */
fprintf (Gbl.F.Out,""
diff --git a/swad_assignment.c b/swad_assignment.c
index 2f39533d3..dd2976b69 100644
--- a/swad_assignment.c
+++ b/swad_assignment.c
@@ -380,12 +380,12 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">"
""
" ",
- UniqueId,
- Asg.TimeUTC[Dat_START_TIME],Txt_Today);
+ UniqueId,Asg.TimeUTC[Dat_START_TIME],
+ (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/* End date/time */
UniqueId++;
@@ -399,12 +399,12 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">"
""
"",
- UniqueId,
- Asg.TimeUTC[Dat_END_TIME],Txt_Today);
+ UniqueId,Asg.TimeUTC[Dat_END_TIME],
+ (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/* Assignment title */
fprintf (Gbl.F.Out,""
""
" ",
- UniqueId,Att->TimeUTC[Att_START_TIME],Txt_Today);
+ UniqueId,Att->TimeUTC[Att_START_TIME],
+ (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/* End date/time */
fprintf (Gbl.F.Out,""
""
" ",
- UniqueId,Att->TimeUTC[Att_END_TIME],Txt_Today);
+ UniqueId,Att->TimeUTC[Att_END_TIME],
+ (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/* Attendance event title */
fprintf (Gbl.F.Out," %s"
""
""
" "
""
@@ -3091,7 +3093,7 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
Gbl.RowEvenOdd,
NumAttEvent,UniqueId,Gbl.AttEvents.Lst[NumAttEvent].Title,
UniqueId,Gbl.AttEvents.Lst[NumAttEvent].TimeUTC[Att_START_TIME],
- Txt_Today,
+ (unsigned) Gbl.Prefs.DateFormat,Txt_Today,
Gbl.RowEvenOdd,
Gbl.AttEvents.Lst[NumAttEvent].NumStdsTotal);
}
@@ -3487,8 +3489,8 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
" alt=\"%s\" title=\"%s\" class=\"ICO20x20\" />"
" %s"
""
" "
"