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
// 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 Yea;
var Mon;
@ -86,9 +90,15 @@ function writeLocalDateTimeFromUTC(id,TimeUTC,separator) {
StrHou = ((Hou < 10) ? '0' : '') + Hou;
StrMin = ((Min < 10) ? '0' : '') + Min;
StrSec = ((Sec < 10) ? '0' : '') + Sec;
document.getElementById(id).innerHTML = Yea + '-' + StrMon + '-' + StrDay +
separator +
StrHou + ':' + StrMin + ':' + StrSec;
if (Yea == todayYea && Mon == todayMon && Day == todayDay && // Today
StrToday.length)
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

View File

@ -227,6 +227,7 @@ static void Asg_PutFormToSelectWhichGroupsToShow (void)
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_Yes;
extern const char *Txt_No;
@ -244,7 +245,7 @@ static void Asg_ShowOneAssignment (long AsgCod)
fprintf (Gbl.F.Out,"<tr>"
"<td id=\"asg_date_start_%u\" class=\"%s LEFT_TOP COLOR%u\">"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('asg_date_start_%u',%ld,'<br />');"
"writeLocalDateTimeFromUTC('asg_date_start_%u',%ld,'<br />','%s');"
"</script>"
"</td>",
UniqueId,
@ -253,13 +254,13 @@ static void Asg_ShowOneAssignment (long AsgCod)
(Asg.Open ? "DATE_GREEN" :
"DATE_RED"),
Gbl.RowEvenOdd,
UniqueId,Asg.TimeUTC[Asg_START_TIME]);
UniqueId,Asg.TimeUTC[Asg_START_TIME],Txt_Today);
/* End date/time */
UniqueId++;
fprintf (Gbl.F.Out,"<td id=\"asg_date_end_%u\" class=\"%s LEFT_TOP COLOR%u\">"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('asg_date_end_%u',%ld,'<br />');"
"writeLocalDateTimeFromUTC('asg_date_end_%u',%ld,'<br />','%s');"
"</script>"
"</td>",
UniqueId,
@ -268,7 +269,7 @@ static void Asg_ShowOneAssignment (long AsgCod)
(Asg.Open ? "DATE_GREEN" :
"DATE_RED"),
Gbl.RowEvenOdd,
UniqueId,Asg.TimeUTC[Asg_END_TIME]);
UniqueId,Asg.TimeUTC[Asg_END_TIME],Txt_Today);
/* Assignment title */
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)
{
extern const char *Txt_Today;
extern const char *Txt_View_event;
static unsigned UniqueId = 0;
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,"\">"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('att_date_start_%u',%ld,'<br />');"
"writeLocalDateTimeFromUTC('att_date_start_%u',%ld,'<br />','%s');"
"</script>"
"</td>",
UniqueId,Att->TimeUTC[Att_START_TIME]);
UniqueId,Att->TimeUTC[Att_START_TIME],Txt_Today);
/***** End date/time *****/
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,"\">"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('att_date_end_%u',%ld,'<br />');"
"writeLocalDateTimeFromUTC('att_date_end_%u',%ld,'<br />','%s');"
"</script>"
"</td>",
UniqueId,Att->TimeUTC[Att_END_TIME]);
UniqueId,Att->TimeUTC[Att_END_TIME],Txt_Today);
/***** Attendance event title *****/
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_Event;
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;
unsigned UniqueId;
@ -2991,7 +2993,7 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
"<td class=\"DAT LEFT_MIDDLE COLOR%u\">"
"<span id=\"att_date_start_%u\"></span> %s"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('att_date_start_%u',%ld,'&nbsp;');"
"writeLocalDateTimeFromUTC('att_date_start_%u',%ld,'&nbsp;','%s');"
"</script>"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE COLOR%u\">"
@ -3004,6 +3006,7 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
UniqueId,
Gbl.AttEvents.Lst[NumAttEvent].Title,
UniqueId,Gbl.AttEvents.Lst[NumAttEvent].TimeUTC[Att_START_TIME],
Txt_Today,
Gbl.RowEvenOdd,
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)
{
extern const char *Txt_Today;
extern const char *Txt_Present;
extern const char *Txt_Absent;
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\" />"
"<span id=\"att_date_start_%u\"></span> %s"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('att_date_start_%u',%ld,'&nbsp;');"
"writeLocalDateTimeFromUTC('att_date_start_%u',%ld,'&nbsp;','%s');"
"</script>"
"</td>"
"</tr>",
@ -3393,7 +3397,8 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
Txt_Absent,
UniqueId,
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 *****/
if (ShowCommentStd || ShowCommentTch)

View File

@ -115,12 +115,17 @@
/****************************** 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 JS_FILE "swad15.77.7.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 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.5: Dec 29, 2015 Insert social event when publishing an exam announcement.
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 -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
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

View File

@ -5816,6 +5816,7 @@ void Brw_ParamListFiles (Brw_FileType_t FileType,const char *PathInTree,const ch
static void Brw_WriteDatesAssignment (void)
{
extern const char *Txt_Today;
extern const char *Txt_unknown_assignment;
static unsigned UniqueId = 0;
@ -5835,10 +5836,10 @@ static void Brw_WriteDatesAssignment (void)
Gbl.FileBrowser.Asg.Open ? "ASG_LST_DATE_GREEN" :
"ASG_LST_DATE_RED");
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('asg_start_date_%u',%ld,'&nbsp;');"
"writeLocalDateTimeFromUTC('asg_start_date_%u',%ld,'&nbsp;','%s');"
"</script>",
UniqueId,
(long) Gbl.FileBrowser.Asg.TimeUTC[Asg_START_TIME]);
(long) Gbl.FileBrowser.Asg.TimeUTC[Asg_START_TIME],Txt_Today);
fprintf (Gbl.F.Out,"</td>");
/***** Arrow *****/
@ -5857,10 +5858,10 @@ static void Brw_WriteDatesAssignment (void)
Gbl.FileBrowser.Asg.Open ? "ASG_LST_DATE_GREEN" :
"ASG_LST_DATE_RED");
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('asg_end_date_%u',%ld,'&nbsp;');"
"writeLocalDateTimeFromUTC('asg_end_date_%u',%ld,'&nbsp;','%s');"
"</script>",
UniqueId,
(long) Gbl.FileBrowser.Asg.TimeUTC[Asg_END_TIME]);
(long) Gbl.FileBrowser.Asg.TimeUTC[Asg_END_TIME],Txt_Today);
fprintf (Gbl.F.Out,"</td>"
"</tr>"
"</table>");
@ -8836,6 +8837,7 @@ void Brw_ShowFileMetadata (void)
extern const char *Txt_Uploaded_by;
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Date_of_creation;
extern const char *Txt_Today;
extern const char *Txt_Availability;
extern const char *Txt_Private_available_to_certain_users_identified;
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);
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('filedate',%ld,'&nbsp;');"
"writeLocalDateTimeFromUTC('filedate',%ld,'&nbsp;','%s');"
"</script>",
(long) FileMetadata.Time);
(long) FileMetadata.Time,Txt_Today);
fprintf (Gbl.F.Out,"</td>"
"</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_No_new_posts;
extern const char *Txt_Move_thread;
extern const char *Txt_Today;
unsigned NumThr;
unsigned NumThrInScreen; // From 0 to Pag_ITEMS_PER_PAGE-1
unsigned UniqueId;
@ -3360,11 +3361,11 @@ void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],struct Pagination *Pagi
UniqueId++;
fprintf (Gbl.F.Out,"<td id=\"date_%u\" class=\"%s LEFT_TOP %s\">"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('date_%u',%ld,'<br />');"
"writeLocalDateTimeFromUTC('date_%u',%ld,'<br />','%s');"
"</script>"
"</td>",
UniqueId,Style,BgColor,
UniqueId,(long) TimeUTC);
UniqueId,(long) TimeUTC,Txt_Today);
}
else
for (Column = 1;

View File

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

View File

@ -417,9 +417,9 @@ static void Lay_WriteScripts (void)
unsigned NumExamAnnouncement; // Number of exam announcement
/***** 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",
Cfg_HTTPS_URL_SWAD_PUBLIC);
Cfg_HTTPS_URL_SWAD_PUBLIC,JS_FILE);
/***** Script for MathJax *****/
// 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)
{
extern const char *Txt_Today;
static unsigned UniqueId = 0;
UniqueId++;
@ -3354,9 +3355,9 @@ void Msg_WriteMsgDate (time_t TimeUTC,const char *ClassBackground)
/***** Write date and time *****/
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('date_%u',%ld,'&nbsp;');"
"writeLocalDateTimeFromUTC('date_%u',%ld,'&nbsp;','%s');"
"</script>",
UniqueId,(long) TimeUTC);
UniqueId,(long) TimeUTC,Txt_Today);
/***** End cell *****/
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_Mark_as_active;
extern const char *Txt_See_full_notice;
extern const char *Txt_Today;
extern const char *Txt_Remove;
static const char *ContainerClass[Not_NUM_STATUS] =
{
@ -679,10 +680,10 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
Act_FormEnd ();
}
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('notice_date_%u',%ld,'<br />');"
"writeLocalDateTimeFromUTC('notice_date_%u',%ld,'<br />','%s');"
"</script>"
"</div>",
UniqueId,(long) TimeUTC);
UniqueId,(long) TimeUTC,Txt_Today);
/***** Write the content of the notice *****/
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)
{
extern const char *Txt_Today;
static unsigned UniqueId = 0;
UniqueId++;
@ -297,9 +298,9 @@ static void Soc_WriteEventDate (time_t TimeUTC)
/***** Write date and time *****/
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('date_%u',%ld,'&nbsp;');"
"writeLocalDateTimeFromUTC('date_%u',%ld,'&nbsp;','%s');"
"</script>",
UniqueId,(long) TimeUTC);
UniqueId,(long) TimeUTC,Txt_Today);
/***** End cell *****/
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_LOG_More_info;
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Today;
unsigned long NumRow;
unsigned long FirstRow; // First row 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]) */
fprintf (Gbl.F.Out,"<td id=\"date_%u\" class=\"LOG CENTER_TOP COLOR%u\">"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('date_%u',%ld,'&nbsp;');"
"writeLocalDateTimeFromUTC('date_%u',%ld,'&nbsp;','%s');"
"</script>"
"</td>",
UniqueId,Gbl.RowEvenOdd,
UniqueId,(long) Dat_GetUNIXTimeFromStr (row[3]));
UniqueId,(long) Dat_GetUNIXTimeFromStr (row[3]),Txt_Today);
/* Write the action */
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)
{
extern const char *Txt_Survey;
extern const char *Txt_Today;
extern const char *Txt_View_survey;
extern const char *Txt_No_of_questions;
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,"\">"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('svy_date_start_%u',%ld,'<br />');"
"writeLocalDateTimeFromUTC('svy_date_start_%u',%ld,'<br />','%s');"
"</script>"
"</td>",
UniqueId,Svy.TimeUTC[Svy_START_TIME]);
UniqueId,Svy.TimeUTC[Svy_START_TIME],Txt_Today);
/***** End date/time *****/
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,"\">"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('svy_date_end_%u',%ld,'<br />');"
"writeLocalDateTimeFromUTC('svy_date_end_%u',%ld,'<br />','%s');"
"</script>"
"</td>",
UniqueId,Svy.TimeUTC[Svy_END_TIME]);
UniqueId,Svy.TimeUTC[Svy_END_TIME],Txt_Today);
/***** Survey title *****/
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_You_can_not_make_a_new_test_in_the_course_X_until;
extern const char *Txt_Today;
char Query[512];
MYSQL_RES *mysql_res;
MYSQL_ROW row;
@ -618,11 +619,11 @@ static bool Tst_CheckIfNextTstAllowed (void)
"<span id=\"date_next_test\">"
"</span>"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('date_next_test',%ld,'&nbsp;');"
"writeLocalDateTimeFromUTC('date_next_test',%ld,'&nbsp;','%s');"
"</script>"
"</td>"
"</tr>",
(long) TimeNextTestUTC);
(long) TimeNextTestUTC,Txt_Today);
/***** End frame *****/
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_Shuffle;
extern const char *Txt_Edit_question;
extern const char *Txt_Today;
Tst_QuestionsOrder_t Order;
unsigned long NumRow;
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\""
" class=\"DAT_SMALL CENTER_TOP COLOR%u\">"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('tst_date_%u',%ld,'<br />');"
"writeLocalDateTimeFromUTC('tst_date_%u',%ld,'<br />','%s');"
"</script>"
"</td>",
UniqueId,Gbl.RowEvenOdd,
UniqueId,(long) TimeUTC);
UniqueId,(long) TimeUTC,Txt_Today);
/* Write the question tags */
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)
{
extern const char *Txt_Today;
extern const char *Txt_Visible_exams;
extern const char *Txt_See_exam;
char Query[512];
@ -6264,11 +6267,11 @@ static void Tst_ShowResultsOfTestExams (struct UsrData *UsrDat)
UniqueId++;
fprintf (Gbl.F.Out,"<td id =\"tst_date_%u\" class=\"%s RIGHT_TOP COLOR%u\">"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('tst_date_%u',%ld,'&nbsp;');"
"writeLocalDateTimeFromUTC('tst_date_%u',%ld,'&nbsp;','%s');"
"</script>"
"</td>",
UniqueId,ClassDat,Gbl.RowEvenOdd,
UniqueId,(long) TimeUTC);
UniqueId,(long) TimeUTC,Txt_Today);
/* Get number of questions (row[3]) */
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_Date;
extern const char *Txt_Today;
extern const char *Txt_Questions;
extern const char *Txt_non_blank_QUESTIONS;
extern const char *Txt_Score;
@ -6604,11 +6608,11 @@ void Tst_ShowOneTestExam (void)
"</td>"
"<td id=\"exam\" class=\"DAT LEFT_TOP\">"
"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('exam',%ld,'&nbsp;');"
"writeLocalDateTimeFromUTC('exam',%ld,'&nbsp;','%s');"
"</script>"
"</td>"
"</tr>",
Txt_Date,TstTimeUTC);
Txt_Date,TstTimeUTC,Txt_Today);
/* Number of questions */
fprintf (Gbl.F.Out,"<tr>"

View File

@ -35142,163 +35142,163 @@ const char *Txt_SOCIAL_EVENT[Soc_NUM_SOCIAL_EVENTS] =
#endif
,
#if L==1 // Soc_EVENT_INS_DOC_PUB_FILE
"Document"
"Document p&uacute;blic"
#elif L==2
"Dokumentdatei"
"&Ouml;ffentliche Dokumentdatei"
#elif L==3
"Document file"
"Public document file"
#elif L==4
"Documento"
"Documento p&uacute;blico"
#elif L==5
"Fichier de document"
"Fichier de document public"
#elif L==6
"Documento" // Okoteve traducción
"Documento p&uacute;blico" // Okoteve traducción
#elif L==7
"Documento"
"Documento pubblico"
#elif L==8
"Plik dokumentu"
"Plik dokumentu publiczne"
#elif L==9
"Arquivo de documento"
"Arquivo de documento p&uacute;blico"
#endif
,
#if L==1 // Soc_EVENT_INS_SHA_PUB_FILE
"Arxiu compartit"
"Arxiu compartit p&uacute;blic"
#elif L==2
"Freigegebene Datei"
"&Ouml;ffentliche Freigegebene Datei"
#elif L==3
"Shared file"
"Public shared file"
#elif L==4
"Archivo compartido"
"Archivo compartido p&uacute;blico"
#elif L==5
"Fichier partag&eacute;"
"Fichier partag&eacute; public"
#elif L==6
"Archivo compartido" // Okoteve traducción
"Archivo compartido p&uacute;blico" // Okoteve traducción
#elif L==7
"File condiviso"
"File condiviso pubblico"
#elif L==8
"Udost&eogon;pniony plik"
"Udost&eogon;pniony plik publiczne"
#elif L==9
"Arquivo compartilhado"
"Arquivo compartilhado p&uacute;blico"
#endif
,
#if L==1 // Soc_EVENT_CTR_DOC_PUB_FILE
"Document"
"Document p&uacute;blic"
#elif L==2
"Dokumentdatei"
"&Ouml;ffentliche Dokumentdatei"
#elif L==3
"Document file"
"Public document file"
#elif L==4
"Documento"
"Documento p&uacute;blico"
#elif L==5
"Fichier de document"
"Fichier de document public"
#elif L==6
"Documento" // Okoteve traducción
"Documento p&uacute;blico" // Okoteve traducción
#elif L==7
"Documento"
"Documento pubblico"
#elif L==8
"Plik dokumentu"
"Plik dokumentu publiczne"
#elif L==9
"Arquivo de documento"
"Arquivo de documento p&uacute;blico"
#endif
,
#if L==1 // Soc_EVENT_CTR_SHA_PUB_FILE
"Arxiu compartit"
"Arxiu compartit p&uacute;blic"
#elif L==2
"Freigegebene Datei"
"&Ouml;ffentliche Freigegebene Datei"
#elif L==3
"Shared file"
"Public shared file"
#elif L==4
"Archivo compartido"
"Archivo compartido p&uacute;blico"
#elif L==5
"Fichier partag&eacute;"
"Fichier partag&eacute; public"
#elif L==6
"Archivo compartido" // Okoteve traducción
"Archivo compartido p&uacute;blico" // Okoteve traducción
#elif L==7
"File condiviso"
"File condiviso pubblico"
#elif L==8
"Udost&eogon;pniony plik"
"Udost&eogon;pniony plik publiczne"
#elif L==9
"Arquivo compartilhado"
"Arquivo compartilhado p&uacute;blico"
#endif
,
#if L==1 // Soc_EVENT_DEG_DOC_PUB_FILE
"Document"
"Document p&uacute;blic"
#elif L==2
"Dokumentdatei"
"&Ouml;ffentliche Dokumentdatei"
#elif L==3
"Document file"
"Public document file"
#elif L==4
"Documento"
"Documento p&uacute;blico"
#elif L==5
"Fichier de document"
"Fichier de document public"
#elif L==6
"Documento" // Okoteve traducción
"Documento p&uacute;blico" // Okoteve traducción
#elif L==7
"Documento"
"Documento pubblico"
#elif L==8
"Plik dokumentu"
"Plik dokumentu publiczne"
#elif L==9
"Arquivo de documento"
"Arquivo de documento p&uacute;blico"
#endif
,
#if L==1 // Soc_EVENT_DEG_SHA_PUB_FILE
"Arxiu compartit"
"Arxiu compartit p&uacute;blic"
#elif L==2
"Freigegebene Datei"
"&Ouml;ffentliche Freigegebene Datei"
#elif L==3
"Shared file"
"Public shared file"
#elif L==4
"Archivo compartido"
"Archivo compartido p&uacute;blico"
#elif L==5
"Fichier partag&eacute;"
"Fichier partag&eacute; public"
#elif L==6
"Archivo compartido" // Okoteve traducción
"Archivo compartido p&uacute;blico" // Okoteve traducción
#elif L==7
"File condiviso"
"File condiviso pubblico"
#elif L==8
"Udost&eogon;pniony plik"
"Udost&eogon;pniony plik publiczne"
#elif L==9
"Arquivo compartilhado"
"Arquivo compartilhado p&uacute;blico"
#endif
,
#if L==1 // Soc_EVENT_CRS_DOC_PUB_FILE
"Document"
"Document p&uacute;blic"
#elif L==2
"Dokumentdatei"
"&Ouml;ffentliche Dokumentdatei"
#elif L==3
"Document file"
"Public document file"
#elif L==4
"Documento"
"Documento p&uacute;blico"
#elif L==5
"Fichier de document"
"Fichier de document public"
#elif L==6
"Documento" // Okoteve traducción
"Documento p&uacute;blico" // Okoteve traducción
#elif L==7
"Documento"
"Documento pubblico"
#elif L==8
"Plik dokumentu"
"Plik dokumentu publiczne"
#elif L==9
"Arquivo de documento"
"Arquivo de documento p&uacute;blico"
#endif
,
#if L==1 // Soc_EVENT_CRS_SHA_PUB_FILE
"Arxiu compartit"
"Arxiu compartit p&uacute;blic"
#elif L==2
"Freigegebene Datei"
"&Ouml;ffentliche Freigegebene Datei"
#elif L==3
"Shared file"
"Public shared file"
#elif L==4
"Archivo compartido"
"Archivo compartido p&uacute;blico"
#elif L==5
"Fichier partag&eacute;"
"Fichier partag&eacute; public"
#elif L==6
"Archivo compartido" // Okoteve traducción
"Archivo compartido p&uacute;blico" // Okoteve traducción
#elif L==7
"File condiviso"
"File condiviso pubblico"
#elif L==8
"Udost&eogon;pniony plik"
"Udost&eogon;pniony plik publiczne"
#elif L==9
"Arquivo compartilhado"
"Arquivo compartilhado p&uacute;blico"
#endif
,
#if L==1 // Soc_EVENT_EXAM_ANNOUNCEMENT
@ -45440,32 +45440,11 @@ const char *Txt_Today =
#elif L==7
"Oggi";
#elif L==8
"Today"; // Potrzebujesz tlumaczenie
"Dzisiaj";
#elif L==9
"Hoje";
#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 =
#if L==1
"Total";