mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-03 23:35:23 +02:00
Version 15.77.7
This commit is contained in:
parent
bd48b11e4f
commit
fdada7221b
|
@ -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,6 +90,12 @@ function writeLocalDateTimeFromUTC(id,TimeUTC,separator) {
|
|||
StrHou = ((Hou < 10) ? '0' : '') + Hou;
|
||||
StrMin = ((Min < 10) ? '0' : '') + Min;
|
||||
StrSec = ((Sec < 10) ? '0' : '') + Sec;
|
||||
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;
|
|
@ -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\">"
|
||||
|
|
|
@ -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,' ');"
|
||||
"writeLocalDateTimeFromUTC('att_date_start_%u',%ld,' ','%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,' ');"
|
||||
"writeLocalDateTimeFromUTC('att_date_start_%u',%ld,' ','%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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,' ');"
|
||||
"writeLocalDateTimeFromUTC('asg_start_date_%u',%ld,' ','%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,' ');"
|
||||
"writeLocalDateTimeFromUTC('asg_end_date_%u',%ld,' ','%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,' ');"
|
||||
"writeLocalDateTimeFromUTC('filedate',%ld,' ','%s');"
|
||||
"</script>",
|
||||
(long) FileMetadata.Time);
|
||||
(long) FileMetadata.Time,Txt_Today);
|
||||
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,' ');"
|
||||
"writeLocalDateTimeFromUTC('open_time_%u',%ld,' ','%s');"
|
||||
"</script>",
|
||||
Txt_Opening_of_groups,
|
||||
UniqueId,
|
||||
UniqueId,(long) GrpTyp->OpenTimeUTC);
|
||||
UniqueId,(long) GrpTyp->OpenTimeUTC,Txt_Today);
|
||||
}
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,' ');"
|
||||
"writeLocalDateTimeFromUTC('date_%u',%ld,' ','%s');"
|
||||
"</script>",
|
||||
UniqueId,(long) TimeUTC);
|
||||
UniqueId,(long) TimeUTC,Txt_Today);
|
||||
|
||||
/***** End cell *****/
|
||||
fprintf (Gbl.F.Out,"</td>");
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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,' ');"
|
||||
"writeLocalDateTimeFromUTC('date_%u',%ld,' ','%s');"
|
||||
"</script>",
|
||||
UniqueId,(long) TimeUTC);
|
||||
UniqueId,(long) TimeUTC,Txt_Today);
|
||||
|
||||
/***** End cell *****/
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
|
|
@ -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,' ');"
|
||||
"writeLocalDateTimeFromUTC('date_%u',%ld,' ','%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)
|
||||
|
|
|
@ -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");
|
||||
|
|
20
swad_test.c
20
swad_test.c
|
@ -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,' ');"
|
||||
"writeLocalDateTimeFromUTC('date_next_test',%ld,' ','%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,' ');"
|
||||
"writeLocalDateTimeFromUTC('tst_date_%u',%ld,' ','%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,' ');"
|
||||
"writeLocalDateTimeFromUTC('exam',%ld,' ','%s');"
|
||||
"</script>"
|
||||
"</td>"
|
||||
"</tr>",
|
||||
Txt_Date,TstTimeUTC);
|
||||
Txt_Date,TstTimeUTC,Txt_Today);
|
||||
|
||||
/* Number of questions */
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
|
|
167
swad_text.c
167
swad_text.c
|
@ -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úblic"
|
||||
#elif L==2
|
||||
"Dokumentdatei"
|
||||
"Öffentliche Dokumentdatei"
|
||||
#elif L==3
|
||||
"Document file"
|
||||
"Public document file"
|
||||
#elif L==4
|
||||
"Documento"
|
||||
"Documento público"
|
||||
#elif L==5
|
||||
"Fichier de document"
|
||||
"Fichier de document public"
|
||||
#elif L==6
|
||||
"Documento" // Okoteve traducción
|
||||
"Documento pú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úblico"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Soc_EVENT_INS_SHA_PUB_FILE
|
||||
"Arxiu compartit"
|
||||
"Arxiu compartit públic"
|
||||
#elif L==2
|
||||
"Freigegebene Datei"
|
||||
"Öffentliche Freigegebene Datei"
|
||||
#elif L==3
|
||||
"Shared file"
|
||||
"Public shared file"
|
||||
#elif L==4
|
||||
"Archivo compartido"
|
||||
"Archivo compartido público"
|
||||
#elif L==5
|
||||
"Fichier partagé"
|
||||
"Fichier partagé public"
|
||||
#elif L==6
|
||||
"Archivo compartido" // Okoteve traducción
|
||||
"Archivo compartido público" // Okoteve traducción
|
||||
#elif L==7
|
||||
"File condiviso"
|
||||
"File condiviso pubblico"
|
||||
#elif L==8
|
||||
"Udostępniony plik"
|
||||
"Udostępniony plik publiczne"
|
||||
#elif L==9
|
||||
"Arquivo compartilhado"
|
||||
"Arquivo compartilhado público"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Soc_EVENT_CTR_DOC_PUB_FILE
|
||||
"Document"
|
||||
"Document públic"
|
||||
#elif L==2
|
||||
"Dokumentdatei"
|
||||
"Öffentliche Dokumentdatei"
|
||||
#elif L==3
|
||||
"Document file"
|
||||
"Public document file"
|
||||
#elif L==4
|
||||
"Documento"
|
||||
"Documento público"
|
||||
#elif L==5
|
||||
"Fichier de document"
|
||||
"Fichier de document public"
|
||||
#elif L==6
|
||||
"Documento" // Okoteve traducción
|
||||
"Documento pú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úblico"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Soc_EVENT_CTR_SHA_PUB_FILE
|
||||
"Arxiu compartit"
|
||||
"Arxiu compartit públic"
|
||||
#elif L==2
|
||||
"Freigegebene Datei"
|
||||
"Öffentliche Freigegebene Datei"
|
||||
#elif L==3
|
||||
"Shared file"
|
||||
"Public shared file"
|
||||
#elif L==4
|
||||
"Archivo compartido"
|
||||
"Archivo compartido público"
|
||||
#elif L==5
|
||||
"Fichier partagé"
|
||||
"Fichier partagé public"
|
||||
#elif L==6
|
||||
"Archivo compartido" // Okoteve traducción
|
||||
"Archivo compartido público" // Okoteve traducción
|
||||
#elif L==7
|
||||
"File condiviso"
|
||||
"File condiviso pubblico"
|
||||
#elif L==8
|
||||
"Udostępniony plik"
|
||||
"Udostępniony plik publiczne"
|
||||
#elif L==9
|
||||
"Arquivo compartilhado"
|
||||
"Arquivo compartilhado público"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Soc_EVENT_DEG_DOC_PUB_FILE
|
||||
"Document"
|
||||
"Document públic"
|
||||
#elif L==2
|
||||
"Dokumentdatei"
|
||||
"Öffentliche Dokumentdatei"
|
||||
#elif L==3
|
||||
"Document file"
|
||||
"Public document file"
|
||||
#elif L==4
|
||||
"Documento"
|
||||
"Documento público"
|
||||
#elif L==5
|
||||
"Fichier de document"
|
||||
"Fichier de document public"
|
||||
#elif L==6
|
||||
"Documento" // Okoteve traducción
|
||||
"Documento pú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úblico"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Soc_EVENT_DEG_SHA_PUB_FILE
|
||||
"Arxiu compartit"
|
||||
"Arxiu compartit públic"
|
||||
#elif L==2
|
||||
"Freigegebene Datei"
|
||||
"Öffentliche Freigegebene Datei"
|
||||
#elif L==3
|
||||
"Shared file"
|
||||
"Public shared file"
|
||||
#elif L==4
|
||||
"Archivo compartido"
|
||||
"Archivo compartido público"
|
||||
#elif L==5
|
||||
"Fichier partagé"
|
||||
"Fichier partagé public"
|
||||
#elif L==6
|
||||
"Archivo compartido" // Okoteve traducción
|
||||
"Archivo compartido público" // Okoteve traducción
|
||||
#elif L==7
|
||||
"File condiviso"
|
||||
"File condiviso pubblico"
|
||||
#elif L==8
|
||||
"Udostępniony plik"
|
||||
"Udostępniony plik publiczne"
|
||||
#elif L==9
|
||||
"Arquivo compartilhado"
|
||||
"Arquivo compartilhado público"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Soc_EVENT_CRS_DOC_PUB_FILE
|
||||
"Document"
|
||||
"Document públic"
|
||||
#elif L==2
|
||||
"Dokumentdatei"
|
||||
"Öffentliche Dokumentdatei"
|
||||
#elif L==3
|
||||
"Document file"
|
||||
"Public document file"
|
||||
#elif L==4
|
||||
"Documento"
|
||||
"Documento público"
|
||||
#elif L==5
|
||||
"Fichier de document"
|
||||
"Fichier de document public"
|
||||
#elif L==6
|
||||
"Documento" // Okoteve traducción
|
||||
"Documento pú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úblico"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Soc_EVENT_CRS_SHA_PUB_FILE
|
||||
"Arxiu compartit"
|
||||
"Arxiu compartit públic"
|
||||
#elif L==2
|
||||
"Freigegebene Datei"
|
||||
"Öffentliche Freigegebene Datei"
|
||||
#elif L==3
|
||||
"Shared file"
|
||||
"Public shared file"
|
||||
#elif L==4
|
||||
"Archivo compartido"
|
||||
"Archivo compartido público"
|
||||
#elif L==5
|
||||
"Fichier partagé"
|
||||
"Fichier partagé public"
|
||||
#elif L==6
|
||||
"Archivo compartido" // Okoteve traducción
|
||||
"Archivo compartido público" // Okoteve traducción
|
||||
#elif L==7
|
||||
"File condiviso"
|
||||
"File condiviso pubblico"
|
||||
#elif L==8
|
||||
"Udostępniony plik"
|
||||
"Udostępniony plik publiczne"
|
||||
#elif L==9
|
||||
"Arquivo compartilhado"
|
||||
"Arquivo compartilhado pú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àpid!";
|
||||
#elif L==2
|
||||
"Zu schnell!";
|
||||
#elif L==3
|
||||
"Too fast!";
|
||||
#elif L==4
|
||||
"¡Demasiado rápido!";
|
||||
#elif L==5
|
||||
"Trop vite!";
|
||||
#elif L==6
|
||||
"¡Demasiado rápido!"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Troppo veloce!";
|
||||
#elif L==8
|
||||
"Za szybko!";
|
||||
#elif L==9
|
||||
"Muito rápido!";
|
||||
#endif
|
||||
|
||||
const char *Txt_Total =
|
||||
#if L==1
|
||||
"Total";
|
||||
|
|
Loading…
Reference in New Issue
Block a user