Version 15.77.7

This commit is contained in:
Antonio Cañas Vargas 2015-12-29 11:35:01 +01:00
parent bd48b11e4f
commit fdada7221b
16 changed files with 157 additions and 144 deletions

View File

@ -60,7 +60,11 @@ function writeLocalDateFromUTC(id,TimeUTC) {
// TimeUTC is the date-time to write in UTC UNIX time format // TimeUTC is the date-time to write in UTC UNIX time format
// separator is HTML code to write between date and time // separator is HTML code to write between date and time
function writeLocalDateTimeFromUTC(id,TimeUTC,separator) { function writeLocalDateTimeFromUTC(id,TimeUTC,separator,StrToday) {
var today = new (Date);
var todayYea = today.getFullYear();
var todayMon = today.getMonth()+1;
var todayDay = today.getDate();
var d = new Date; var d = new Date;
var Yea; var Yea;
var Mon; var Mon;
@ -86,9 +90,15 @@ function writeLocalDateTimeFromUTC(id,TimeUTC,separator) {
StrHou = ((Hou < 10) ? '0' : '') + Hou; StrHou = ((Hou < 10) ? '0' : '') + Hou;
StrMin = ((Min < 10) ? '0' : '') + Min; StrMin = ((Min < 10) ? '0' : '') + Min;
StrSec = ((Sec < 10) ? '0' : '') + Sec; StrSec = ((Sec < 10) ? '0' : '') + Sec;
document.getElementById(id).innerHTML = Yea + '-' + StrMon + '-' + StrDay + if (Yea == todayYea && Mon == todayMon && Day == todayDay && // Today
separator + StrToday.length)
StrHou + ':' + StrMin + ':' + StrSec; document.getElementById(id).innerHTML = StrToday +
separator +
StrHou + ':' + StrMin + ':' + StrSec;
else
document.getElementById(id).innerHTML = Yea + '-' + StrMon + '-' + StrDay +
separator +
StrHou + ':' + StrMin + ':' + StrSec;
} }
// Set local date-time form fields from UTC time // Set local date-time form fields from UTC time

View File

@ -227,6 +227,7 @@ static void Asg_PutFormToSelectWhichGroupsToShow (void)
static void Asg_ShowOneAssignment (long AsgCod) static void Asg_ShowOneAssignment (long AsgCod)
{ {
extern const char *Txt_Today;
extern const char *Txt_ASSIGNMENT_TYPES[Asg_NUM_TYPES_SEND_WORK]; extern const char *Txt_ASSIGNMENT_TYPES[Asg_NUM_TYPES_SEND_WORK];
extern const char *Txt_Yes; extern const char *Txt_Yes;
extern const char *Txt_No; extern const char *Txt_No;
@ -244,7 +245,7 @@ static void Asg_ShowOneAssignment (long AsgCod)
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<td id=\"asg_date_start_%u\" class=\"%s LEFT_TOP COLOR%u\">" "<td id=\"asg_date_start_%u\" class=\"%s LEFT_TOP COLOR%u\">"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('asg_date_start_%u',%ld,'<br />');" "writeLocalDateTimeFromUTC('asg_date_start_%u',%ld,'<br />','%s');"
"</script>" "</script>"
"</td>", "</td>",
UniqueId, UniqueId,
@ -253,13 +254,13 @@ static void Asg_ShowOneAssignment (long AsgCod)
(Asg.Open ? "DATE_GREEN" : (Asg.Open ? "DATE_GREEN" :
"DATE_RED"), "DATE_RED"),
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
UniqueId,Asg.TimeUTC[Asg_START_TIME]); UniqueId,Asg.TimeUTC[Asg_START_TIME],Txt_Today);
/* End date/time */ /* End date/time */
UniqueId++; UniqueId++;
fprintf (Gbl.F.Out,"<td id=\"asg_date_end_%u\" class=\"%s LEFT_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td id=\"asg_date_end_%u\" class=\"%s LEFT_TOP COLOR%u\">"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('asg_date_end_%u',%ld,'<br />');" "writeLocalDateTimeFromUTC('asg_date_end_%u',%ld,'<br />','%s');"
"</script>" "</script>"
"</td>", "</td>",
UniqueId, UniqueId,
@ -268,7 +269,7 @@ static void Asg_ShowOneAssignment (long AsgCod)
(Asg.Open ? "DATE_GREEN" : (Asg.Open ? "DATE_GREEN" :
"DATE_RED"), "DATE_RED"),
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
UniqueId,Asg.TimeUTC[Asg_END_TIME]); UniqueId,Asg.TimeUTC[Asg_END_TIME],Txt_Today);
/* Assignment title */ /* Assignment title */
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">"

View File

@ -280,6 +280,7 @@ static void Att_PutFormToSelectWhichGroupsToShow (void)
static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAttEventComplete) static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAttEventComplete)
{ {
extern const char *Txt_Today;
extern const char *Txt_View_event; extern const char *Txt_View_event;
static unsigned UniqueId = 0; static unsigned UniqueId = 0;
char Txt[Cns_MAX_BYTES_TEXT+1]; char Txt[Cns_MAX_BYTES_TEXT+1];
@ -301,10 +302,10 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd); fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">" fprintf (Gbl.F.Out,"\">"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('att_date_start_%u',%ld,'<br />');" "writeLocalDateTimeFromUTC('att_date_start_%u',%ld,'<br />','%s');"
"</script>" "</script>"
"</td>", "</td>",
UniqueId,Att->TimeUTC[Att_START_TIME]); UniqueId,Att->TimeUTC[Att_START_TIME],Txt_Today);
/***** End date/time *****/ /***** End date/time *****/
fprintf (Gbl.F.Out,"<td id=\"att_date_end_%u\" class=\"%s LEFT_TOP", fprintf (Gbl.F.Out,"<td id=\"att_date_end_%u\" class=\"%s LEFT_TOP",
@ -317,10 +318,10 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd); fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">" fprintf (Gbl.F.Out,"\">"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('att_date_end_%u',%ld,'<br />');" "writeLocalDateTimeFromUTC('att_date_end_%u',%ld,'<br />','%s');"
"</script>" "</script>"
"</td>", "</td>",
UniqueId,Att->TimeUTC[Att_END_TIME]); UniqueId,Att->TimeUTC[Att_END_TIME],Txt_Today);
/***** Attendance event title *****/ /***** Attendance event title *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP"); fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP");
@ -2937,6 +2938,7 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
extern const char *Txt_Events; extern const char *Txt_Events;
extern const char *Txt_Event; extern const char *Txt_Event;
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Today;
extern const char *Txt_Update_attendance_according_to_selected_events; extern const char *Txt_Update_attendance_according_to_selected_events;
extern const char *Txt_Update_attendance; extern const char *Txt_Update_attendance;
unsigned UniqueId; unsigned UniqueId;
@ -2991,7 +2993,7 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
"<td class=\"DAT LEFT_MIDDLE COLOR%u\">" "<td class=\"DAT LEFT_MIDDLE COLOR%u\">"
"<span id=\"att_date_start_%u\"></span> %s" "<span id=\"att_date_start_%u\"></span> %s"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('att_date_start_%u',%ld,'&nbsp;');" "writeLocalDateTimeFromUTC('att_date_start_%u',%ld,'&nbsp;','%s');"
"</script>" "</script>"
"</td>" "</td>"
"<td class=\"DAT RIGHT_MIDDLE COLOR%u\">" "<td class=\"DAT RIGHT_MIDDLE COLOR%u\">"
@ -3004,6 +3006,7 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
UniqueId, UniqueId,
Gbl.AttEvents.Lst[NumAttEvent].Title, Gbl.AttEvents.Lst[NumAttEvent].Title,
UniqueId,Gbl.AttEvents.Lst[NumAttEvent].TimeUTC[Att_START_TIME], UniqueId,Gbl.AttEvents.Lst[NumAttEvent].TimeUTC[Att_START_TIME],
Txt_Today,
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
Gbl.AttEvents.Lst[NumAttEvent].NumStdsTotal); Gbl.AttEvents.Lst[NumAttEvent].NumStdsTotal);
} }
@ -3289,6 +3292,7 @@ static void Att_ListStdsWithAttEventsDetails (unsigned NumStdsInList,long *LstSe
static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat) static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
{ {
extern const char *Txt_Today;
extern const char *Txt_Present; extern const char *Txt_Present;
extern const char *Txt_Absent; extern const char *Txt_Absent;
extern const char *Txt_Student_comment; extern const char *Txt_Student_comment;
@ -3376,7 +3380,7 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
" alt=\"%s\" title=\"%s\" class=\"ICON20x20\" />" " alt=\"%s\" title=\"%s\" class=\"ICON20x20\" />"
"<span id=\"att_date_start_%u\"></span> %s" "<span id=\"att_date_start_%u\"></span> %s"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('att_date_start_%u',%ld,'&nbsp;');" "writeLocalDateTimeFromUTC('att_date_start_%u',%ld,'&nbsp;','%s');"
"</script>" "</script>"
"</td>" "</td>"
"</tr>", "</tr>",
@ -3393,7 +3397,8 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
Txt_Absent, Txt_Absent,
UniqueId, UniqueId,
Gbl.AttEvents.Lst[NumAttEvent].Title, Gbl.AttEvents.Lst[NumAttEvent].Title,
UniqueId,Gbl.AttEvents.Lst[NumAttEvent].TimeUTC[Att_START_TIME]); UniqueId,Gbl.AttEvents.Lst[NumAttEvent].TimeUTC[Att_START_TIME],
Txt_Today);
/***** Write comments for this student *****/ /***** Write comments for this student *****/
if (ShowCommentStd || ShowCommentTch) if (ShowCommentStd || ShowCommentTch)

View File

@ -115,12 +115,17 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.77.6 (2015-12-29)" #define Log_PLATFORM_VERSION "SWAD 15.77.7 (2015-12-29)"
#define CSS_FILE "swad15.77.6.css" #define CSS_FILE "swad15.77.6.css"
#define JS_FILE "swad15.77.7.js"
// 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.77.7: Dec 29, 2015 Whan a date-time is written in local time, and the date is today, 'Today' is displayed instead of date. (188660 lines)
1 change necessary:
Edit file swad_copy.sh changing swad.js to swad*.js
Version 15.77.6: Dec 29, 2015 Show type of event on social events (timeline). (188647 lines) Version 15.77.6: Dec 29, 2015 Show type of event on social events (timeline). (188647 lines)
Version 15.77.5: Dec 29, 2015 Insert social event when publishing an exam announcement. Version 15.77.5: Dec 29, 2015 Insert social event when publishing an exam announcement.
Changes in CSS related to social activity. (188392 lines) Changes in CSS related to social activity. (188392 lines)

View File

@ -18,9 +18,9 @@ cp -af $CGI/swad_pl $CGI/swad_pl.old
cp -af $CGI/swad_pt $CGI/swad_pt.old cp -af $CGI/swad_pt $CGI/swad_pt.old
cp -f $CORE/swad_ca $CORE/swad_de $CORE/swad_en $CORE/swad_es $CORE/swad_fr $CORE/swad_gn $CORE/swad_it $CORE/swad_pl $CORE/swad_pt $CGI cp -f $CORE/swad_ca $CORE/swad_de $CORE/swad_en $CORE/swad_es $CORE/swad_fr $CORE/swad_gn $CORE/swad_it $CORE/swad_pl $CORE/swad_pt $CGI
cp -f $CORE/js/swad.js $PUBLIC_HTML cp -f $CORE/js/swad*.js $PUBLIC_HTML
cp -f $CORE/css/swad*.css $PUBLIC_HTML cp -f $CORE/css/swad*.css $PUBLIC_HTML
chown -R $APACHE_USER:$APACHE_GROUP $CGI chown -R $APACHE_USER:$APACHE_GROUP $CGI
chown $APACHE_USER:$APACHE_GROUP $PUBLIC_HTML/swad.js chown $APACHE_USER:$APACHE_GROUP $PUBLIC_HTML/swad*.js
chown $APACHE_USER:$APACHE_GROUP $PUBLIC_HTML/swad*.css chown $APACHE_USER:$APACHE_GROUP $PUBLIC_HTML/swad*.css

View File

@ -5816,6 +5816,7 @@ void Brw_ParamListFiles (Brw_FileType_t FileType,const char *PathInTree,const ch
static void Brw_WriteDatesAssignment (void) static void Brw_WriteDatesAssignment (void)
{ {
extern const char *Txt_Today;
extern const char *Txt_unknown_assignment; extern const char *Txt_unknown_assignment;
static unsigned UniqueId = 0; static unsigned UniqueId = 0;
@ -5835,10 +5836,10 @@ static void Brw_WriteDatesAssignment (void)
Gbl.FileBrowser.Asg.Open ? "ASG_LST_DATE_GREEN" : Gbl.FileBrowser.Asg.Open ? "ASG_LST_DATE_GREEN" :
"ASG_LST_DATE_RED"); "ASG_LST_DATE_RED");
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">" fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('asg_start_date_%u',%ld,'&nbsp;');" "writeLocalDateTimeFromUTC('asg_start_date_%u',%ld,'&nbsp;','%s');"
"</script>", "</script>",
UniqueId, UniqueId,
(long) Gbl.FileBrowser.Asg.TimeUTC[Asg_START_TIME]); (long) Gbl.FileBrowser.Asg.TimeUTC[Asg_START_TIME],Txt_Today);
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
/***** Arrow *****/ /***** Arrow *****/
@ -5857,10 +5858,10 @@ static void Brw_WriteDatesAssignment (void)
Gbl.FileBrowser.Asg.Open ? "ASG_LST_DATE_GREEN" : Gbl.FileBrowser.Asg.Open ? "ASG_LST_DATE_GREEN" :
"ASG_LST_DATE_RED"); "ASG_LST_DATE_RED");
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">" fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('asg_end_date_%u',%ld,'&nbsp;');" "writeLocalDateTimeFromUTC('asg_end_date_%u',%ld,'&nbsp;','%s');"
"</script>", "</script>",
UniqueId, UniqueId,
(long) Gbl.FileBrowser.Asg.TimeUTC[Asg_END_TIME]); (long) Gbl.FileBrowser.Asg.TimeUTC[Asg_END_TIME],Txt_Today);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>" "</tr>"
"</table>"); "</table>");
@ -8836,6 +8837,7 @@ void Brw_ShowFileMetadata (void)
extern const char *Txt_Uploaded_by; extern const char *Txt_Uploaded_by;
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Date_of_creation; extern const char *Txt_Date_of_creation;
extern const char *Txt_Today;
extern const char *Txt_Availability; extern const char *Txt_Availability;
extern const char *Txt_Private_available_to_certain_users_identified; extern const char *Txt_Private_available_to_certain_users_identified;
extern const char *Txt_Public_open_educational_resource_OER_for_everyone; extern const char *Txt_Public_open_educational_resource_OER_for_everyone;
@ -9063,9 +9065,9 @@ void Brw_ShowFileMetadata (void)
The_ClassForm[Gbl.Prefs.Theme],Txt_Date_of_creation); The_ClassForm[Gbl.Prefs.Theme],Txt_Date_of_creation);
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">" fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('filedate',%ld,'&nbsp;');" "writeLocalDateTimeFromUTC('filedate',%ld,'&nbsp;','%s');"
"</script>", "</script>",
(long) FileMetadata.Time); (long) FileMetadata.Time,Txt_Today);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>"); "</tr>");

View File

@ -3228,6 +3228,7 @@ void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],struct Pagination *Pagi
extern const char *Txt_There_are_new_posts; extern const char *Txt_There_are_new_posts;
extern const char *Txt_No_new_posts; extern const char *Txt_No_new_posts;
extern const char *Txt_Move_thread; extern const char *Txt_Move_thread;
extern const char *Txt_Today;
unsigned NumThr; unsigned NumThr;
unsigned NumThrInScreen; // From 0 to Pag_ITEMS_PER_PAGE-1 unsigned NumThrInScreen; // From 0 to Pag_ITEMS_PER_PAGE-1
unsigned UniqueId; unsigned UniqueId;
@ -3360,11 +3361,11 @@ void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],struct Pagination *Pagi
UniqueId++; UniqueId++;
fprintf (Gbl.F.Out,"<td id=\"date_%u\" class=\"%s LEFT_TOP %s\">" fprintf (Gbl.F.Out,"<td id=\"date_%u\" class=\"%s LEFT_TOP %s\">"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('date_%u',%ld,'<br />');" "writeLocalDateTimeFromUTC('date_%u',%ld,'<br />','%s');"
"</script>" "</script>"
"</td>", "</td>",
UniqueId,Style,BgColor, UniqueId,Style,BgColor,
UniqueId,(long) TimeUTC); UniqueId,(long) TimeUTC,Txt_Today);
} }
else else
for (Column = 1; for (Column = 1;

View File

@ -1910,6 +1910,7 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
static void Grp_WriteGrpHead (struct GroupType *GrpTyp) static void Grp_WriteGrpHead (struct GroupType *GrpTyp)
{ {
extern const char *Txt_Opening_of_groups; extern const char *Txt_Opening_of_groups;
extern const char *Txt_Today;
extern const char *Txt_Group; extern const char *Txt_Group;
extern const char *Txt_Max_BR_students; extern const char *Txt_Max_BR_students;
extern const char *Txt_Students_ABBREVIATION; extern const char *Txt_Students_ABBREVIATION;
@ -1927,11 +1928,11 @@ static void Grp_WriteGrpHead (struct GroupType *GrpTyp)
fprintf (Gbl.F.Out,"<br />%s: " fprintf (Gbl.F.Out,"<br />%s: "
"<span id=\"open_time_%u\"></span>" "<span id=\"open_time_%u\"></span>"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('open_time_%u',%ld,'&nbsp;');" "writeLocalDateTimeFromUTC('open_time_%u',%ld,'&nbsp;','%s');"
"</script>", "</script>",
Txt_Opening_of_groups, Txt_Opening_of_groups,
UniqueId, UniqueId,
UniqueId,(long) GrpTyp->OpenTimeUTC); UniqueId,(long) GrpTyp->OpenTimeUTC,Txt_Today);
} }
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>"); "</tr>");

View File

@ -417,9 +417,9 @@ static void Lay_WriteScripts (void)
unsigned NumExamAnnouncement; // Number of exam announcement unsigned NumExamAnnouncement; // Number of exam announcement
/***** General scripts for swad *****/ /***** General scripts for swad *****/
fprintf (Gbl.F.Out,"<script type=\"text/javascript\" src=\"%s/swad.js\">" fprintf (Gbl.F.Out,"<script type=\"text/javascript\" src=\"%s/%s\">"
"</script>\n", "</script>\n",
Cfg_HTTPS_URL_SWAD_PUBLIC); Cfg_HTTPS_URL_SWAD_PUBLIC,JS_FILE);
/***** Script for MathJax *****/ /***** Script for MathJax *****/
// MathJax configuration // MathJax configuration

View File

@ -3343,6 +3343,7 @@ static void Msg_WriteMsgTo (Msg_TypeOfMessages_t TypeOfMessages,long MsgCod)
void Msg_WriteMsgDate (time_t TimeUTC,const char *ClassBackground) void Msg_WriteMsgDate (time_t TimeUTC,const char *ClassBackground)
{ {
extern const char *Txt_Today;
static unsigned UniqueId = 0; static unsigned UniqueId = 0;
UniqueId++; UniqueId++;
@ -3354,9 +3355,9 @@ void Msg_WriteMsgDate (time_t TimeUTC,const char *ClassBackground)
/***** Write date and time *****/ /***** Write date and time *****/
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">" fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('date_%u',%ld,'&nbsp;');" "writeLocalDateTimeFromUTC('date_%u',%ld,'&nbsp;','%s');"
"</script>", "</script>",
UniqueId,(long) TimeUTC); UniqueId,(long) TimeUTC,Txt_Today);
/***** End cell *****/ /***** End cell *****/
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");

View File

@ -550,6 +550,7 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
extern const char *Txt_NOTICE_Obsolete_SINGULAR; extern const char *Txt_NOTICE_Obsolete_SINGULAR;
extern const char *Txt_NOTICE_Obsolete_Mark_as_active; extern const char *Txt_NOTICE_Obsolete_Mark_as_active;
extern const char *Txt_See_full_notice; extern const char *Txt_See_full_notice;
extern const char *Txt_Today;
extern const char *Txt_Remove; extern const char *Txt_Remove;
static const char *ContainerClass[Not_NUM_STATUS] = static const char *ContainerClass[Not_NUM_STATUS] =
{ {
@ -679,10 +680,10 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
Act_FormEnd (); Act_FormEnd ();
} }
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">" fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('notice_date_%u',%ld,'<br />');" "writeLocalDateTimeFromUTC('notice_date_%u',%ld,'<br />','%s');"
"</script>" "</script>"
"</div>", "</div>",
UniqueId,(long) TimeUTC); UniqueId,(long) TimeUTC,Txt_Today);
/***** Write the content of the notice *****/ /***** Write the content of the notice *****/
if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES) if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES)

View File

@ -286,6 +286,7 @@ static Soc_SocialEvent_t Soc_GetSocialEventFromDB (const char *Str)
static void Soc_WriteEventDate (time_t TimeUTC) static void Soc_WriteEventDate (time_t TimeUTC)
{ {
extern const char *Txt_Today;
static unsigned UniqueId = 0; static unsigned UniqueId = 0;
UniqueId++; UniqueId++;
@ -297,9 +298,9 @@ static void Soc_WriteEventDate (time_t TimeUTC)
/***** Write date and time *****/ /***** Write date and time *****/
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">" fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('date_%u',%ld,'&nbsp;');" "writeLocalDateTimeFromUTC('date_%u',%ld,'&nbsp;','%s');"
"</script>", "</script>",
UniqueId,(long) TimeUTC); UniqueId,(long) TimeUTC,Txt_Today);
/***** End cell *****/ /***** End cell *****/
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");

View File

@ -1474,6 +1474,7 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
extern const char *Txt_Action; extern const char *Txt_Action;
extern const char *Txt_LOG_More_info; extern const char *Txt_LOG_More_info;
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Today;
unsigned long NumRow; unsigned long NumRow;
unsigned long FirstRow; // First row to show unsigned long FirstRow; // First row to show
unsigned long LastRow; // Last rows to show unsigned long LastRow; // Last rows to show
@ -1674,11 +1675,11 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
/* Write the date-time (row[3]) */ /* Write the date-time (row[3]) */
fprintf (Gbl.F.Out,"<td id=\"date_%u\" class=\"LOG CENTER_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td id=\"date_%u\" class=\"LOG CENTER_TOP COLOR%u\">"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('date_%u',%ld,'&nbsp;');" "writeLocalDateTimeFromUTC('date_%u',%ld,'&nbsp;','%s');"
"</script>" "</script>"
"</td>", "</td>",
UniqueId,Gbl.RowEvenOdd, UniqueId,Gbl.RowEvenOdd,
UniqueId,(long) Dat_GetUNIXTimeFromStr (row[3])); UniqueId,(long) Dat_GetUNIXTimeFromStr (row[3]),Txt_Today);
/* Write the action */ /* Write the action */
if (sscanf (row[4],"%ld",&ActCod) != 1) if (sscanf (row[4],"%ld",&ActCod) != 1)

View File

@ -321,6 +321,7 @@ void Svy_SeeOneSurvey (void)
static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,bool ShowOnlyThisSvyComplete) static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,bool ShowOnlyThisSvyComplete)
{ {
extern const char *Txt_Survey; extern const char *Txt_Survey;
extern const char *Txt_Today;
extern const char *Txt_View_survey; extern const char *Txt_View_survey;
extern const char *Txt_No_of_questions; extern const char *Txt_No_of_questions;
extern const char *Txt_No_of_users; extern const char *Txt_No_of_users;
@ -358,10 +359,10 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,bool Sh
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd); fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">" fprintf (Gbl.F.Out,"\">"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('svy_date_start_%u',%ld,'<br />');" "writeLocalDateTimeFromUTC('svy_date_start_%u',%ld,'<br />','%s');"
"</script>" "</script>"
"</td>", "</td>",
UniqueId,Svy.TimeUTC[Svy_START_TIME]); UniqueId,Svy.TimeUTC[Svy_START_TIME],Txt_Today);
/***** End date/time *****/ /***** End date/time *****/
fprintf (Gbl.F.Out,"<td id=\"svy_date_end_%u\" class=\"%s LEFT_TOP", fprintf (Gbl.F.Out,"<td id=\"svy_date_end_%u\" class=\"%s LEFT_TOP",
@ -374,10 +375,10 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,bool Sh
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd); fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">" fprintf (Gbl.F.Out,"\">"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('svy_date_end_%u',%ld,'<br />');" "writeLocalDateTimeFromUTC('svy_date_end_%u',%ld,'<br />','%s');"
"</script>" "</script>"
"</td>", "</td>",
UniqueId,Svy.TimeUTC[Svy_END_TIME]); UniqueId,Svy.TimeUTC[Svy_END_TIME],Txt_Today);
/***** Survey title *****/ /***** Survey title *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP"); fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP");

View File

@ -566,6 +566,7 @@ static bool Tst_CheckIfNextTstAllowed (void)
{ {
extern const char *Txt_Test; extern const char *Txt_Test;
extern const char *Txt_You_can_not_make_a_new_test_in_the_course_X_until; extern const char *Txt_You_can_not_make_a_new_test_in_the_course_X_until;
extern const char *Txt_Today;
char Query[512]; char Query[512];
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
MYSQL_ROW row; MYSQL_ROW row;
@ -618,11 +619,11 @@ static bool Tst_CheckIfNextTstAllowed (void)
"<span id=\"date_next_test\">" "<span id=\"date_next_test\">"
"</span>" "</span>"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('date_next_test',%ld,'&nbsp;');" "writeLocalDateTimeFromUTC('date_next_test',%ld,'&nbsp;','%s');"
"</script>" "</script>"
"</td>" "</td>"
"</tr>", "</tr>",
(long) TimeNextTestUTC); (long) TimeNextTestUTC,Txt_Today);
/***** End frame *****/ /***** End frame *****/
Lay_EndRoundFrameTable (); Lay_EndRoundFrameTable ();
@ -2417,6 +2418,7 @@ static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *m
extern const char *Txt_TST_STR_ANSWER_TYPES[Tst_NUM_ANS_TYPES]; extern const char *Txt_TST_STR_ANSWER_TYPES[Tst_NUM_ANS_TYPES];
extern const char *Txt_Shuffle; extern const char *Txt_Shuffle;
extern const char *Txt_Edit_question; extern const char *Txt_Edit_question;
extern const char *Txt_Today;
Tst_QuestionsOrder_t Order; Tst_QuestionsOrder_t Order;
unsigned long NumRow; unsigned long NumRow;
MYSQL_ROW row; MYSQL_ROW row;
@ -2547,11 +2549,11 @@ static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *m
fprintf (Gbl.F.Out,"<td id=\"tst_date_%u\"" fprintf (Gbl.F.Out,"<td id=\"tst_date_%u\""
" class=\"DAT_SMALL CENTER_TOP COLOR%u\">" " class=\"DAT_SMALL CENTER_TOP COLOR%u\">"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('tst_date_%u',%ld,'<br />');" "writeLocalDateTimeFromUTC('tst_date_%u',%ld,'<br />','%s');"
"</script>" "</script>"
"</td>", "</td>",
UniqueId,Gbl.RowEvenOdd, UniqueId,Gbl.RowEvenOdd,
UniqueId,(long) TimeUTC); UniqueId,(long) TimeUTC,Txt_Today);
/* Write the question tags */ /* Write the question tags */
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",
@ -6193,6 +6195,7 @@ void Tst_ShowMyTestResults (void)
static void Tst_ShowResultsOfTestExams (struct UsrData *UsrDat) static void Tst_ShowResultsOfTestExams (struct UsrData *UsrDat)
{ {
extern const char *Txt_Today;
extern const char *Txt_Visible_exams; extern const char *Txt_Visible_exams;
extern const char *Txt_See_exam; extern const char *Txt_See_exam;
char Query[512]; char Query[512];
@ -6264,11 +6267,11 @@ static void Tst_ShowResultsOfTestExams (struct UsrData *UsrDat)
UniqueId++; UniqueId++;
fprintf (Gbl.F.Out,"<td id =\"tst_date_%u\" class=\"%s RIGHT_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td id =\"tst_date_%u\" class=\"%s RIGHT_TOP COLOR%u\">"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('tst_date_%u',%ld,'&nbsp;');" "writeLocalDateTimeFromUTC('tst_date_%u',%ld,'&nbsp;','%s');"
"</script>" "</script>"
"</td>", "</td>",
UniqueId,ClassDat,Gbl.RowEvenOdd, UniqueId,ClassDat,Gbl.RowEvenOdd,
UniqueId,(long) TimeUTC); UniqueId,(long) TimeUTC,Txt_Today);
/* Get number of questions (row[3]) */ /* Get number of questions (row[3]) */
if (sscanf (row[3],"%u",&NumQstsInThisExam) == 1) if (sscanf (row[3],"%u",&NumQstsInThisExam) == 1)
@ -6518,6 +6521,7 @@ void Tst_ShowOneTestExam (void)
{ {
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Date; extern const char *Txt_Date;
extern const char *Txt_Today;
extern const char *Txt_Questions; extern const char *Txt_Questions;
extern const char *Txt_non_blank_QUESTIONS; extern const char *Txt_non_blank_QUESTIONS;
extern const char *Txt_Score; extern const char *Txt_Score;
@ -6604,11 +6608,11 @@ void Tst_ShowOneTestExam (void)
"</td>" "</td>"
"<td id=\"exam\" class=\"DAT LEFT_TOP\">" "<td id=\"exam\" class=\"DAT LEFT_TOP\">"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('exam',%ld,'&nbsp;');" "writeLocalDateTimeFromUTC('exam',%ld,'&nbsp;','%s');"
"</script>" "</script>"
"</td>" "</td>"
"</tr>", "</tr>",
Txt_Date,TstTimeUTC); Txt_Date,TstTimeUTC,Txt_Today);
/* Number of questions */ /* Number of questions */
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"

View File

@ -35142,163 +35142,163 @@ const char *Txt_SOCIAL_EVENT[Soc_NUM_SOCIAL_EVENTS] =
#endif #endif
, ,
#if L==1 // Soc_EVENT_INS_DOC_PUB_FILE #if L==1 // Soc_EVENT_INS_DOC_PUB_FILE
"Document" "Document p&uacute;blic"
#elif L==2 #elif L==2
"Dokumentdatei" "&Ouml;ffentliche Dokumentdatei"
#elif L==3 #elif L==3
"Document file" "Public document file"
#elif L==4 #elif L==4
"Documento" "Documento p&uacute;blico"
#elif L==5 #elif L==5
"Fichier de document" "Fichier de document public"
#elif L==6 #elif L==6
"Documento" // Okoteve traducción "Documento p&uacute;blico" // Okoteve traducción
#elif L==7 #elif L==7
"Documento" "Documento pubblico"
#elif L==8 #elif L==8
"Plik dokumentu" "Plik dokumentu publiczne"
#elif L==9 #elif L==9
"Arquivo de documento" "Arquivo de documento p&uacute;blico"
#endif #endif
, ,
#if L==1 // Soc_EVENT_INS_SHA_PUB_FILE #if L==1 // Soc_EVENT_INS_SHA_PUB_FILE
"Arxiu compartit" "Arxiu compartit p&uacute;blic"
#elif L==2 #elif L==2
"Freigegebene Datei" "&Ouml;ffentliche Freigegebene Datei"
#elif L==3 #elif L==3
"Shared file" "Public shared file"
#elif L==4 #elif L==4
"Archivo compartido" "Archivo compartido p&uacute;blico"
#elif L==5 #elif L==5
"Fichier partag&eacute;" "Fichier partag&eacute; public"
#elif L==6 #elif L==6
"Archivo compartido" // Okoteve traducción "Archivo compartido p&uacute;blico" // Okoteve traducción
#elif L==7 #elif L==7
"File condiviso" "File condiviso pubblico"
#elif L==8 #elif L==8
"Udost&eogon;pniony plik" "Udost&eogon;pniony plik publiczne"
#elif L==9 #elif L==9
"Arquivo compartilhado" "Arquivo compartilhado p&uacute;blico"
#endif #endif
, ,
#if L==1 // Soc_EVENT_CTR_DOC_PUB_FILE #if L==1 // Soc_EVENT_CTR_DOC_PUB_FILE
"Document" "Document p&uacute;blic"
#elif L==2 #elif L==2
"Dokumentdatei" "&Ouml;ffentliche Dokumentdatei"
#elif L==3 #elif L==3
"Document file" "Public document file"
#elif L==4 #elif L==4
"Documento" "Documento p&uacute;blico"
#elif L==5 #elif L==5
"Fichier de document" "Fichier de document public"
#elif L==6 #elif L==6
"Documento" // Okoteve traducción "Documento p&uacute;blico" // Okoteve traducción
#elif L==7 #elif L==7
"Documento" "Documento pubblico"
#elif L==8 #elif L==8
"Plik dokumentu" "Plik dokumentu publiczne"
#elif L==9 #elif L==9
"Arquivo de documento" "Arquivo de documento p&uacute;blico"
#endif #endif
, ,
#if L==1 // Soc_EVENT_CTR_SHA_PUB_FILE #if L==1 // Soc_EVENT_CTR_SHA_PUB_FILE
"Arxiu compartit" "Arxiu compartit p&uacute;blic"
#elif L==2 #elif L==2
"Freigegebene Datei" "&Ouml;ffentliche Freigegebene Datei"
#elif L==3 #elif L==3
"Shared file" "Public shared file"
#elif L==4 #elif L==4
"Archivo compartido" "Archivo compartido p&uacute;blico"
#elif L==5 #elif L==5
"Fichier partag&eacute;" "Fichier partag&eacute; public"
#elif L==6 #elif L==6
"Archivo compartido" // Okoteve traducción "Archivo compartido p&uacute;blico" // Okoteve traducción
#elif L==7 #elif L==7
"File condiviso" "File condiviso pubblico"
#elif L==8 #elif L==8
"Udost&eogon;pniony plik" "Udost&eogon;pniony plik publiczne"
#elif L==9 #elif L==9
"Arquivo compartilhado" "Arquivo compartilhado p&uacute;blico"
#endif #endif
, ,
#if L==1 // Soc_EVENT_DEG_DOC_PUB_FILE #if L==1 // Soc_EVENT_DEG_DOC_PUB_FILE
"Document" "Document p&uacute;blic"
#elif L==2 #elif L==2
"Dokumentdatei" "&Ouml;ffentliche Dokumentdatei"
#elif L==3 #elif L==3
"Document file" "Public document file"
#elif L==4 #elif L==4
"Documento" "Documento p&uacute;blico"
#elif L==5 #elif L==5
"Fichier de document" "Fichier de document public"
#elif L==6 #elif L==6
"Documento" // Okoteve traducción "Documento p&uacute;blico" // Okoteve traducción
#elif L==7 #elif L==7
"Documento" "Documento pubblico"
#elif L==8 #elif L==8
"Plik dokumentu" "Plik dokumentu publiczne"
#elif L==9 #elif L==9
"Arquivo de documento" "Arquivo de documento p&uacute;blico"
#endif #endif
, ,
#if L==1 // Soc_EVENT_DEG_SHA_PUB_FILE #if L==1 // Soc_EVENT_DEG_SHA_PUB_FILE
"Arxiu compartit" "Arxiu compartit p&uacute;blic"
#elif L==2 #elif L==2
"Freigegebene Datei" "&Ouml;ffentliche Freigegebene Datei"
#elif L==3 #elif L==3
"Shared file" "Public shared file"
#elif L==4 #elif L==4
"Archivo compartido" "Archivo compartido p&uacute;blico"
#elif L==5 #elif L==5
"Fichier partag&eacute;" "Fichier partag&eacute; public"
#elif L==6 #elif L==6
"Archivo compartido" // Okoteve traducción "Archivo compartido p&uacute;blico" // Okoteve traducción
#elif L==7 #elif L==7
"File condiviso" "File condiviso pubblico"
#elif L==8 #elif L==8
"Udost&eogon;pniony plik" "Udost&eogon;pniony plik publiczne"
#elif L==9 #elif L==9
"Arquivo compartilhado" "Arquivo compartilhado p&uacute;blico"
#endif #endif
, ,
#if L==1 // Soc_EVENT_CRS_DOC_PUB_FILE #if L==1 // Soc_EVENT_CRS_DOC_PUB_FILE
"Document" "Document p&uacute;blic"
#elif L==2 #elif L==2
"Dokumentdatei" "&Ouml;ffentliche Dokumentdatei"
#elif L==3 #elif L==3
"Document file" "Public document file"
#elif L==4 #elif L==4
"Documento" "Documento p&uacute;blico"
#elif L==5 #elif L==5
"Fichier de document" "Fichier de document public"
#elif L==6 #elif L==6
"Documento" // Okoteve traducción "Documento p&uacute;blico" // Okoteve traducción
#elif L==7 #elif L==7
"Documento" "Documento pubblico"
#elif L==8 #elif L==8
"Plik dokumentu" "Plik dokumentu publiczne"
#elif L==9 #elif L==9
"Arquivo de documento" "Arquivo de documento p&uacute;blico"
#endif #endif
, ,
#if L==1 // Soc_EVENT_CRS_SHA_PUB_FILE #if L==1 // Soc_EVENT_CRS_SHA_PUB_FILE
"Arxiu compartit" "Arxiu compartit p&uacute;blic"
#elif L==2 #elif L==2
"Freigegebene Datei" "&Ouml;ffentliche Freigegebene Datei"
#elif L==3 #elif L==3
"Shared file" "Public shared file"
#elif L==4 #elif L==4
"Archivo compartido" "Archivo compartido p&uacute;blico"
#elif L==5 #elif L==5
"Fichier partag&eacute;" "Fichier partag&eacute; public"
#elif L==6 #elif L==6
"Archivo compartido" // Okoteve traducción "Archivo compartido p&uacute;blico" // Okoteve traducción
#elif L==7 #elif L==7
"File condiviso" "File condiviso pubblico"
#elif L==8 #elif L==8
"Udost&eogon;pniony plik" "Udost&eogon;pniony plik publiczne"
#elif L==9 #elif L==9
"Arquivo compartilhado" "Arquivo compartilhado p&uacute;blico"
#endif #endif
, ,
#if L==1 // Soc_EVENT_EXAM_ANNOUNCEMENT #if L==1 // Soc_EVENT_EXAM_ANNOUNCEMENT
@ -45440,32 +45440,11 @@ const char *Txt_Today =
#elif L==7 #elif L==7
"Oggi"; "Oggi";
#elif L==8 #elif L==8
"Today"; // Potrzebujesz tlumaczenie "Dzisiaj";
#elif L==9 #elif L==9
"Hoje"; "Hoje";
#endif #endif
const char *Txt_Too_fast =
#if L==1
"Massa r&agrave;pid!";
#elif L==2
"Zu schnell!";
#elif L==3
"Too fast!";
#elif L==4
"&iexcl;Demasiado r&aacute;pido!";
#elif L==5
"Trop vite!";
#elif L==6
"&iexcl;Demasiado r&aacute;pido!"; // Okoteve traducción
#elif L==7
"Troppo veloce!";
#elif L==8
"Za szybko!";
#elif L==9
"Muito r&aacute;pido!";
#endif
const char *Txt_Total = const char *Txt_Total =
#if L==1 #if L==1
"Total"; "Total";