Version 15.20.2

This commit is contained in:
Antonio Cañas Vargas 2015-10-24 21:41:41 +02:00
parent 3fad46233d
commit 5bde190ea8
9 changed files with 181 additions and 220 deletions

View File

@ -1005,8 +1005,6 @@ void Asg_RequestCreatOrEditAsg (void)
extern const char *The_ClassForm[The_NUM_THEMES];
extern const char *Txt_New_assignment;
extern const char *Txt_Edit_assignment;
extern const char *Txt_Start_date;
extern const char *Txt_End_date;
extern const char *Txt_Title;
extern const char *Txt_Upload_files_QUESTION;
extern const char *Txt_Folder;
@ -1015,9 +1013,6 @@ void Asg_RequestCreatOrEditAsg (void)
extern const char *Txt_Save;
struct Assignment Asg;
bool ItsANewAssignment;
Asg_StartOrEndTime_t StartOrEndTime;
const char *Id[Asg_NUM_DATES] = {"Start","End"};
const char *Dates[Asg_NUM_DATES] = {Txt_Start_date,Txt_End_date};
char Txt[Cns_MAX_BYTES_TEXT+1];
/***** Get parameters *****/
@ -1081,34 +1076,7 @@ void Asg_RequestCreatOrEditAsg (void)
Asg_MAX_LENGTH_ASSIGNMENT_TITLE,Asg.Title);
/***** Assignment start and end dates *****/
for (StartOrEndTime = Asg_START_TIME;
StartOrEndTime <= Asg_END_TIME;
StartOrEndTime++)
{
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
"<td class=\"LEFT_TOP\">",
The_ClassForm[Gbl.Prefs.Theme],
Dates[StartOrEndTime]);
/* Date-time */
Dat_WriteFormClientLocalDateTime (Id[StartOrEndTime],
Asg.TimeUTC[StartOrEndTime],
Gbl.Now.Date.Year - 1,
Gbl.Now.Date.Year + 1,
false,false);
fprintf (Gbl.F.Out,"</td>"
"</tr>"
"</table>"
"</td>"
"</tr>");
}
Dat_PutFormStartEndClientLocalDateTimes (Asg.TimeUTC);
/***** Send work? *****/
fprintf (Gbl.F.Out,"<tr>"

View File

@ -975,8 +975,6 @@ void Att_RequestCreatOrEditAttEvent (void)
extern const char *Txt_New_event;
extern const char *Txt_Edit_event;
extern const char *Txt_Teachers_comment;
extern const char *Txt_Start_date;
extern const char *Txt_End_date;
extern const char *Txt_Title;
extern const char *Txt_Hidden_MALE_PLURAL;
extern const char *Txt_Visible_MALE_PLURAL;
@ -985,9 +983,6 @@ void Att_RequestCreatOrEditAttEvent (void)
extern const char *Txt_Save;
struct AttendanceEvent Att;
bool ItsANewAttEvent;
Att_StartOrEndTime_t StartOrEndTime;
const char *Id[Att_NUM_DATES] = {"Start","End"};
const char *Dates[Att_NUM_DATES] = {Txt_Start_date,Txt_End_date};
char Txt[Cns_MAX_BYTES_TEXT+1];
/***** Get parameters *****/
@ -1046,33 +1041,8 @@ void Att_RequestCreatOrEditAttEvent (void)
The_ClassForm[Gbl.Prefs.Theme],Txt_Title,
Att_MAX_LENGTH_ATTENDANCE_EVENT_TITLE,Att.Title);
/***** Attendance event start and end dates *****/
for (StartOrEndTime = Att_START_TIME;
StartOrEndTime <= Att_END_TIME;
StartOrEndTime++)
{
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"LEFT_TOP\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
"<td class=\"LEFT_TOP\">",
The_ClassForm[Gbl.Prefs.Theme],
Dates[StartOrEndTime]);
/* Date-time */
Dat_WriteFormClientLocalDateTime (Id[StartOrEndTime],
Att.TimeUTC[StartOrEndTime],
Gbl.Now.Date.Year - 1,
Gbl.Now.Date.Year + 1,
false,false);
fprintf (Gbl.F.Out,"</td>"
"</tr></table></td>"
"</tr>");
}
/***** Assignment start and end dates *****/
Dat_PutFormStartEndClientLocalDateTimes (Att.TimeUTC);
/***** Visibility of comments *****/
fprintf (Gbl.F.Out,"<tr>"

View File

@ -108,11 +108,12 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.20.1 (2015/10/24)"
#define Log_PLATFORM_VERSION "SWAD 15.20.2 (2015/10/24)"
// 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.20.2: Oct 24, 2015 Code refactoring related to date-times forms. (186294 lines)
Version 15.20.1: Oct 24, 2015 Detailed clics are displayed in client local date-time. (186333 lines)
Version 15.20: Oct 24, 2015 Date-times in notifications, messages and forums are displayed in client local date-time. (186334 lines)
Version 15.19: Oct 23, 2015 Surveys date-times are displayed in client local date-time. (186309 lines)

View File

@ -63,6 +63,11 @@ const unsigned Dat_NumDaysMonth[1+12] =
/***************************** Private prototypes ****************************/
/*****************************************************************************/
static void Dat_WriteFormClientLocalDateTime (const char *Id,
time_t TimeUTC,
unsigned FirstYear,unsigned LastYear,
bool SubmitFormOnChange,bool Disabled);
/*****************************************************************************/
/***************************** Get current time ******************************/
/*****************************************************************************/
@ -267,14 +272,65 @@ void Dat_WriteFormIniEndDates (void)
}
/*****************************************************************************/
/************* Show forms to enter initial and ending date-times *************/
/*****************************************************************************/
void Dat_PutFormStartEndClientLocalDateTimes (time_t TimeUTC[2])
{
extern const char *The_ClassForm[The_NUM_THEMES];
extern const char *Txt_Start_date;
extern const char *Txt_End_date;
Asg_StartOrEndTime_t StartOrEndTime;
const char *Id[Asg_NUM_DATES] =
{
"Start",
"End"
};
const char *Dates[Asg_NUM_DATES] =
{
Txt_Start_date,
Txt_End_date
};
for (StartOrEndTime = 0;
StartOrEndTime <= 1;
StartOrEndTime++)
{
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
"<td class=\"LEFT_TOP\">",
The_ClassForm[Gbl.Prefs.Theme],
Dates[StartOrEndTime]);
/* Date-time */
Dat_WriteFormClientLocalDateTime (Id[StartOrEndTime],
TimeUTC[StartOrEndTime],
Gbl.Now.Date.Year - 1,
Gbl.Now.Date.Year + 1,
false,false);
fprintf (Gbl.F.Out,"</td>"
"</tr>"
"</table>"
"</td>"
"</tr>");
}
}
/*****************************************************************************/
/************************* Show a form to enter a date ***********************/
/*****************************************************************************/
void Dat_WriteFormClientLocalDateTime (const char *Id,
time_t TimeUTC,
unsigned FirstYear,unsigned LastYear,
bool SubmitFormOnChange,bool Disabled)
static void Dat_WriteFormClientLocalDateTime (const char *Id,
time_t TimeUTC,
unsigned FirstYear,unsigned LastYear,
bool SubmitFormOnChange,bool Disabled)
{
extern const char *Txt_MONTHS_SMALL[12];
unsigned Day;

View File

@ -78,11 +78,8 @@ void Dat_GetLocalTimeFromClock (const time_t *clock);
void Dat_ConvDateToDateStr (struct Date *Date,char *DateStr);
void Dat_WriteFormIniEndDates (void);
void Dat_PutFormStartEndClientLocalDateTimes (time_t TimeUTC[2]);
void Dat_WriteFormClientLocalDateTime (const char *Id,
time_t TimeUTC,
unsigned FirstYear,unsigned LastYear,
bool SubmitFormOnChange,bool Disabled);
time_t Dat_GetTimeUTCFromForm (const char *ParamName);
void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,

View File

@ -2162,7 +2162,6 @@ void Enr_ShowEnrollmentRequests (void)
bool ShowPhoto = false;
char PhotoURL[PATH_MAX+1];
Rol_Role_t DesiredRole;
time_t RequestTimeUTC;
/***** Start frame *****/
Lay_StartRoundFrame (NULL,Txt_Enrollment_requests);
@ -2641,8 +2640,7 @@ void Enr_ShowEnrollmentRequests (void)
Txt_ROLES_SINGUL_abc[DesiredRole][UsrDat.Sex]);
/***** Request time (row[4]) *****/
RequestTimeUTC = Dat_GetUNIXTimeFromStr (row[4]);
Msg_WriteMsgDate (RequestTimeUTC,"DAT");
Msg_WriteMsgDate (Dat_GetUNIXTimeFromStr (row[4]),"DAT");
/***** Button to confirm the request *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");

View File

@ -1038,7 +1038,9 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
break;
case Sta_CLICKS_CRS_PER_DAYS_AND_HOUR:
case Sta_CLICKS_GBL_PER_DAYS_AND_HOUR:
sprintf (Query,"SELECT SQL_NO_CACHE DATE_FORMAT(ClickTime,'%%Y%%m%%d') AS Day,DATE_FORMAT(ClickTime,'%%H') AS Hour,%s FROM %s",
sprintf (Query,"SELECT SQL_NO_CACHE "
"DATE_FORMAT(ClickTime,'%%Y%%m%%d') AS Day,"
"DATE_FORMAT(ClickTime,'%%H') AS Hour,%s FROM %s",
StrQueryCountType,LogTable);
break;
case Sta_CLICKS_CRS_PER_WEEKS:
@ -1668,7 +1670,8 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
fprintf (Gbl.F.Out,"<td id=\"date_%u\" class=\"LOG CENTER_TOP COLOR%u\">"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('date_%u',%ld,'&nbsp;');"
"</script>",
"</script>"
"</td>",
UniqueId,Gbl.RowEvenOdd,
UniqueId,(long) Dat_GetUNIXTimeFromStr (row[3]));

View File

@ -1448,8 +1448,6 @@ void Svy_RequestCreatOrEditSvy (void)
extern const char *Txt_New_survey;
extern const char *Txt_Scope;
extern const char *Txt_Edit_survey;
extern const char *Txt_Start_date;
extern const char *Txt_End_date;
extern const char *Txt_Title;
extern const char *Txt_Description;
extern const char *Txt_Users;
@ -1458,9 +1456,6 @@ void Svy_RequestCreatOrEditSvy (void)
struct Survey Svy;
struct SurveyQuestion SvyQst;
bool ItsANewSurvey;
Svy_StartOrEndTime_t StartOrEndTime;
const char *Id[Att_NUM_DATES] = {"Start","End"};
const char *Dates[Svy_NUM_DATES] = {Txt_Start_date,Txt_End_date};
char Txt[Cns_MAX_BYTES_TEXT+1];
/***** Get parameters *****/
@ -1552,34 +1547,7 @@ void Svy_RequestCreatOrEditSvy (void)
Svy_MAX_LENGTH_SURVEY_TITLE,Svy.Title);
/***** Survey start and end dates *****/
for (StartOrEndTime = Svy_START_TIME;
StartOrEndTime <= Svy_END_TIME;
StartOrEndTime++)
{
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
"<td class=\"LEFT_MIDDLE\">",
The_ClassForm[Gbl.Prefs.Theme],
Dates[StartOrEndTime]);
/* Date-time */
Dat_WriteFormClientLocalDateTime (Id[StartOrEndTime],
Svy.TimeUTC[StartOrEndTime],
Gbl.Now.Date.Year - 1,
Gbl.Now.Date.Year + 1,
false,false);
fprintf (Gbl.F.Out,"</td>"
"</tr>"
"</table>"
"</td>"
"</tr>");
}
Dat_PutFormStartEndClientLocalDateTimes (Svy.TimeUTC);
/***** Survey text *****/
fprintf (Gbl.F.Out,"<tr>"

View File

@ -35218,123 +35218,123 @@ const char *Txt_STAT_CLICKS_GROUPED_BY[Sta_NUM_CLICKS_GROUPED_BY] =
#endif
,
#if L==0
"dia"
"dia*"
#elif L==1
"Tag"
"Tag*"
#elif L==2
"day"
"day*"
#elif L==3
"d&iacute;a"
"d&iacute;a*"
#elif L==4
"jour"
"jour*"
#elif L==5
"d&iacute;a" // Okoteve traducción
"d&iacute;a*" // Okoteve traducción
#elif L==6
"giorno"
"giorno*"
#elif L==7
"dzie&nacute;"
"dzie&nacute;*"
#elif L==8
"dia"
"dia*"
#endif
,
#if L==0
"dia i hora"
"dia i hora*"
#elif L==1
"Tag und Stunde"
"Tag und Stunde*"
#elif L==2
"day and hour"
"day and hour*"
#elif L==3
"d&iacute;a y hora"
"d&iacute;a y hora*"
#elif L==4
"jour et heure"
"jour et heure*"
#elif L==5
"d&iacute;a y hora" // Okoteve traducción
"d&iacute;a y hora*" // Okoteve traducción
#elif L==6
"giorno e ora"
"giorno e ora*"
#elif L==7
"dzie&nacute; i godzin&eogon;"
"dzie&nacute; i godzin&eogon;*"
#elif L==8
"dia e hora"
"dia e hora*"
#endif
,
#if L==0
"setmana"
"setmana*"
#elif L==1
"Woche"
"Woche*"
#elif L==2
"week"
"week*"
#elif L==3
"semana"
"semana*"
#elif L==4
"semaine"
"semaine*"
#elif L==5
"arapok&otilde;indy"
"arapok&otilde;indy*"
#elif L==6
"settimana"
"settimana*"
#elif L==7
"tydzie&nacute;"
"tydzie&nacute;*"
#elif L==8
"semana"
"semana*"
#endif
,
#if L==0
"mes"
"mes*"
#elif L==1
"Monat"
"Monat*"
#elif L==2
"month"
"month*"
#elif L==3
"mes"
"mes*"
#elif L==4
"mois"
"mois*"
#elif L==5
"jasy"
"jasy*"
#elif L==6
"mese"
"mese*"
#elif L==7
"miesi&aogon;c"
"miesi&aogon;c*"
#elif L==8
"m&ecirc;s"
"m&ecirc;s*"
#endif
,
#if L==0
"hora"
"hora*"
#elif L==1
"Stunde"
"Stunde*"
#elif L==2
"hour"
"hour*"
#elif L==3
"hora"
"hora*"
#elif L==4
"heure"
"heure*"
#elif L==5
"aravo"
"aravo*"
#elif L==6
"ora"
"ora*"
#elif L==7
"godzina"
"godzina*"
#elif L==8
"hora"
"hora*"
#endif
,
#if L==0
"minut"
"minut*"
#elif L==1
"Minute"
"Minute*"
#elif L==2
"minute"
"minute*"
#elif L==3
"minuto"
"minuto*"
#elif L==4
"minute"
"minute*"
#elif L==5
"aravo'i"
"aravo'i*"
#elif L==6
"minuto"
"minuto*"
#elif L==7
"minut&eogon;"
"minut&eogon;*"
#elif L==8
"minuto"
"minuto*"
#endif
,
#if L==0
@ -35358,123 +35358,123 @@ const char *Txt_STAT_CLICKS_GROUPED_BY[Sta_NUM_CLICKS_GROUPED_BY] =
#endif
,
#if L==0
"dia"
"dia*"
#elif L==1
"Tag"
"Tag*"
#elif L==2
"day"
"day*"
#elif L==3
"d&iacute;a"
"d&iacute;a*"
#elif L==4
"jour"
"jour*"
#elif L==5
"d&iacute;a" // Okoteve traducción
"d&iacute;a*" // Okoteve traducción
#elif L==6
"giorno"
"giorno*"
#elif L==7
"dzie&nacute;"
"dzie&nacute;*"
#elif L==8
"dia"
"dia*"
#endif
,
#if L==0
"dia i hora"
"dia i hora*"
#elif L==1
"Tag und Stunde"
"Tag und Stunde*"
#elif L==2
"day and hour"
"day and hour*"
#elif L==3
"d&iacute;a y hora"
"d&iacute;a y hora*"
#elif L==4
"jour et heure"
"jour et heure*"
#elif L==5
"d&iacute;a y hora" // Okoteve traducción
"d&iacute;a y hora*" // Okoteve traducción
#elif L==6
"giorno e ora"
"giorno e ora*"
#elif L==7
"dzie&nacute; i godzin&eogon;"
"dzie&nacute; i godzin&eogon;*"
#elif L==8
"dia e hora"
"dia e hora*"
#endif
,
#if L==0
"setmana"
"setmana*"
#elif L==1
"Woche"
"Woche*"
#elif L==2
"week"
"week*"
#elif L==3
"semana"
"semana*"
#elif L==4
"semaine"
"semaine*"
#elif L==5
"arapok&otilde;indy"
"arapok&otilde;indy*"
#elif L==6
"settimana"
"settimana*"
#elif L==7
"tydzie&nacute;"
"tydzie&nacute;*"
#elif L==8
"semana"
"semana*"
#endif
,
#if L==0
"mes"
"mes*"
#elif L==1
"Monat"
"Monat*"
#elif L==2
"month"
"month*"
#elif L==3
"mes"
"mes*"
#elif L==4
"mois"
"mois*"
#elif L==5
"jasy"
"jasy*"
#elif L==6
"mese"
"mese*"
#elif L==7
"miesi&aogon;c"
"miesi&aogon;c*"
#elif L==8
"m&ecirc;s"
"m&ecirc;s*"
#endif
,
#if L==0
"hora"
"hora*"
#elif L==1
"Stunde"
"Stunde*"
#elif L==2
"hour"
"hour*"
#elif L==3
"hora"
"hora*"
#elif L==4
"heure"
"heure*"
#elif L==5
"aravo"
"aravo*"
#elif L==6
"ora"
"ora*"
#elif L==7
"godzina"
"godzina*"
#elif L==8
"hora"
"hora*"
#endif
,
#if L==0
"minut"
"minut*"
#elif L==1
"Minute"
"Minute*"
#elif L==2
"minute"
"minute*"
#elif L==3
"minuto"
"minuto*"
#elif L==4
"minute"
"minute*"
#elif L==5
"aravo'i"
"aravo'i*"
#elif L==6
"minuto"
"minuto*"
#elif L==7
"minut&eogon;"
"minut&eogon;*"
#elif L==8
"minuto"
"minuto*"
#endif
,
#if L==0