mirror of https://github.com/acanas/swad-core.git
Version19.254
This commit is contained in:
parent
5d67fe415b
commit
e6c064c90f
|
@ -77,9 +77,21 @@ function submitForm(FormId) {
|
||||||
// WriteDateOnSameDay = false ==> don't write date if it's the same day than the last call
|
// WriteDateOnSameDay = false ==> don't write date if it's the same day than the last call
|
||||||
// WriteWeekDay = true ==> write day of the week ('monday', 'tuesday'...)
|
// WriteWeekDay = true ==> write day of the week ('monday', 'tuesday'...)
|
||||||
// WriteHMS = 3 least significant bits for hour, minute and second
|
// WriteHMS = 3 least significant bits for hour, minute and second
|
||||||
|
var txtToday = [
|
||||||
|
"", // Unknown
|
||||||
|
"Avui", // CA
|
||||||
|
"Heute", // DE
|
||||||
|
"Today", // EN
|
||||||
|
"Hoy", // ES
|
||||||
|
"Aujourd'hui", // FR
|
||||||
|
"Ko ára", // GN
|
||||||
|
"Oggi", // IT
|
||||||
|
"Dzisiaj", // PL
|
||||||
|
"Hoje", // PT
|
||||||
|
];
|
||||||
|
|
||||||
function writeLocalDateHMSFromUTC (id,TimeUTC,DateFormat,Separator,StrToday,
|
function writeLocalDateHMSFromUTC (id,TimeUTC,DateFormat,Separator,Language,
|
||||||
WriteDateOnSameDay,WriteWeekDay,WriteHMS) {
|
WriteToday,WriteDateOnSameDay,WriteWeekDay,WriteHMS) {
|
||||||
// HMS: Hour, Minutes, Seconds
|
// HMS: Hour, Minutes, Seconds
|
||||||
var today = new Date();
|
var today = new Date();
|
||||||
var todayYea = today.getFullYear();
|
var todayYea = today.getFullYear();
|
||||||
|
@ -87,7 +99,6 @@ function writeLocalDateHMSFromUTC (id,TimeUTC,DateFormat,Separator,StrToday,
|
||||||
var todayDay = today.getDate();
|
var todayDay = today.getDate();
|
||||||
var d = new Date();
|
var d = new Date();
|
||||||
var WriteDate;
|
var WriteDate;
|
||||||
var WriteTodayStr;
|
|
||||||
var Yea;
|
var Yea;
|
||||||
var Mon;
|
var Mon;
|
||||||
var Day;
|
var Day;
|
||||||
|
@ -123,16 +134,11 @@ function writeLocalDateHMSFromUTC (id,TimeUTC,DateFormat,Separator,StrToday,
|
||||||
/* Set date */
|
/* Set date */
|
||||||
StrDate = '';
|
StrDate = '';
|
||||||
if (WriteDate) {
|
if (WriteDate) {
|
||||||
WriteTodayStr = false;
|
WriteToday = WriteToday && (Yea == todayYea &&
|
||||||
if (StrToday != null)
|
Mon == todayMon &&
|
||||||
if (StrToday.length &&
|
Day == todayDay); // Date is today
|
||||||
Yea == todayYea &&
|
if (WriteToday)
|
||||||
Mon == todayMon &&
|
StrDate = txtToday[Language];
|
||||||
Day == todayDay) // Today
|
|
||||||
WriteTodayStr = true;
|
|
||||||
|
|
||||||
if (WriteTodayStr)
|
|
||||||
StrDate = StrToday;
|
|
||||||
else
|
else
|
||||||
switch (DateFormat) {
|
switch (DateFormat) {
|
||||||
case 0: // Dat_FORMAT_YYYY_MM_DD
|
case 0: // Dat_FORMAT_YYYY_MM_DD
|
||||||
|
@ -549,8 +555,36 @@ function readConnUsrsData () {
|
||||||
/***************** Update exam print main area using AJAX ********************/
|
/***************** Update exam print main area using AJAX ********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
var txtConnectionIssues = [
|
||||||
|
"", // Unknown
|
||||||
|
"Problemes de connexió. Els canvis no s'han desat.", // CA
|
||||||
|
"Verbindungsprobleme. Die Änderungen wurden nicht gespeichert.", // DE
|
||||||
|
"Connection issues. The changes have not been saved.", // EN
|
||||||
|
"Problema de conexión. Los cambios no se han guardado.", // ES
|
||||||
|
"Problèmes de connexion. Les modifications n'ont pas été enregistrées.",// FR
|
||||||
|
"Problema de conexión. Los cambios no se han guardado.", // GN Okoteve traducción
|
||||||
|
"Problemi di connessione. Le modifiche non sono state salvate.", // IT
|
||||||
|
"Problemy z połączeniem. Zmiany nie zostały zapisane.", // PL
|
||||||
|
"Problemas de conexão. As alterações não foram salvas." // PT
|
||||||
|
];
|
||||||
|
|
||||||
|
var txtSaving = [
|
||||||
|
"", // Unknown
|
||||||
|
"Desant…", // CA
|
||||||
|
"Speichern…", // DE
|
||||||
|
"Saving…", // EN
|
||||||
|
"Guardando…", // ES
|
||||||
|
"Enregistrement…", // FR
|
||||||
|
"Guardando…", // GN Okoteve traducción
|
||||||
|
"Salvataggio…", // IT
|
||||||
|
"Zapisywanie…", // PL
|
||||||
|
"Salvando…", // PT
|
||||||
|
];
|
||||||
|
|
||||||
|
var IHaveFinishedTxt;
|
||||||
|
|
||||||
// This function is called when user changes an answer in an exam print
|
// This function is called when user changes an answer in an exam print
|
||||||
function updateExamPrint (idDiv,idInput,nameInput,Params,timeoutMsg,IHaveFinishedTxt,savingTxt) {
|
function updateExamPrint (idDiv,idInput,nameInput,Params,Language) {
|
||||||
var objXMLHttp = false;
|
var objXMLHttp = false;
|
||||||
|
|
||||||
objXMLHttp = AJAXCreateObject ();
|
objXMLHttp = AJAXCreateObject ();
|
||||||
|
@ -614,7 +648,7 @@ function updateExamPrint (idDiv,idInput,nameInput,Params,timeoutMsg,IHaveFinishe
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
disableFinished (savingTxt); // Disable finished button on sending. When answer is saved and response received ==> the button will be reloaded
|
IHaveFinishedTxt = disableFinished (txtSaving[Language]); // Disable finished button on sending. When answer is saved and response received ==> the button will be reloaded
|
||||||
|
|
||||||
objXMLHttp.open('POST',ActionAJAX,true);
|
objXMLHttp.open('POST',ActionAJAX,true);
|
||||||
objXMLHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
objXMLHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
||||||
|
@ -627,7 +661,7 @@ function updateExamPrint (idDiv,idInput,nameInput,Params,timeoutMsg,IHaveFinishe
|
||||||
var xmlHttpTimeout = setTimeout (ajaxTimeout,5000); // 5 s
|
var xmlHttpTimeout = setTimeout (ajaxTimeout,5000); // 5 s
|
||||||
function ajaxTimeout () {
|
function ajaxTimeout () {
|
||||||
objXMLHttp.abort ();
|
objXMLHttp.abort ();
|
||||||
alert (timeoutMsg);
|
alert (txtConnectionIssues[Language]);
|
||||||
disableFinished (IHaveFinishedTxt); // Sending aborted ==> change "Saving..." to original "I have finished"
|
disableFinished (IHaveFinishedTxt); // Sending aborted ==> change "Saving..." to original "I have finished"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -695,8 +729,9 @@ console.table(arr);
|
||||||
/********* Disable button to finish exam when focus on a input text **********/
|
/********* Disable button to finish exam when focus on a input text **********/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
function disableFinished (Txt) {
|
function disableFinished (buttonNewTxt) {
|
||||||
var f = document.getElementById('finished'); // Access to form
|
var f = document.getElementById('finished'); // Access to form
|
||||||
|
var buttonOldTxt = '';
|
||||||
|
|
||||||
if (f)
|
if (f)
|
||||||
for (var i = 0; i < f.elements.length; i++) {
|
for (var i = 0; i < f.elements.length; i++) {
|
||||||
|
@ -704,9 +739,12 @@ function disableFinished (Txt) {
|
||||||
if (b.type == 'submit') {
|
if (b.type == 'submit') {
|
||||||
b.disabled = true;
|
b.disabled = true;
|
||||||
b.style.opacity = 0.5;
|
b.style.opacity = 0.5;
|
||||||
b.innerHTML = Txt;
|
buttonOldTxt = b.innerHTML;
|
||||||
|
b.innerHTML = buttonNewTxt;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return buttonOldTxt;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
|
@ -556,9 +556,9 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
||||||
En OpenSWAD:
|
En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 19.253.1 (2020-06-22)"
|
#define Log_PLATFORM_VERSION "SWAD 19.254 (2020-06-22)"
|
||||||
#define CSS_FILE "swad19.253.css"
|
#define CSS_FILE "swad19.253.css"
|
||||||
#define JS_FILE "swad19.246.1.js"
|
#define JS_FILE "swad19.254.js"
|
||||||
/*
|
/*
|
||||||
TODO: Encarnación Hidalgo Tenorio: Antonio, ¿podría @swad_ugr mandar una notificación cuando el alumnado ha mandado su tarea?
|
TODO: Encarnación Hidalgo Tenorio: Antonio, ¿podría @swad_ugr mandar una notificación cuando el alumnado ha mandado su tarea?
|
||||||
Se trataría de añadir un par de líneas "Nuevos archivos en actividades", "Nuevos archivos en otros trabajos".
|
Se trataría de añadir un par de líneas "Nuevos archivos en actividades", "Nuevos archivos en otros trabajos".
|
||||||
|
@ -569,8 +569,7 @@ TODO: Que al generar un examen s
|
||||||
TODO: Refactorizar MchRes_CheckIfICanSeeMatchResult y MchRes_CheckIfICanViewScore uniéndolas en una función como ExaRes_CheckIfICanSeePrintResult
|
TODO: Refactorizar MchRes_CheckIfICanSeeMatchResult y MchRes_CheckIfICanViewScore uniéndolas en una función como ExaRes_CheckIfICanSeePrintResult
|
||||||
Y dentro de las funciones TstPrn_ShowUsrPrints y TstPrn_ShowOnePrint crear y llamar a una función común similar a ExaRes_CheckIfICanSeePrintResult
|
Y dentro de las funciones TstPrn_ShowUsrPrints y TstPrn_ShowOnePrint crear y llamar a una función común similar a ExaRes_CheckIfICanSeePrintResult
|
||||||
|
|
||||||
Version 19.253.1: Jun 22, 2020 Fixed bug in dates reported by Laura García Rejón.
|
Version 19.254: Jun 22, 2020 Fixed bug in Javascript related to quotes. Reported by Laura García Rejón. (303653 lines)
|
||||||
Use ' in HTML translations. (303662 lines)
|
|
||||||
Version 19.253: Jun 22, 2020 More details in listing of exams. (303643 lines)
|
Version 19.253: Jun 22, 2020 More details in listing of exams. (303643 lines)
|
||||||
Version 19.252.1: Jun 19, 2020 Changes in listing of exams and matches results. (303245 lines)
|
Version 19.252.1: Jun 19, 2020 Changes in listing of exams and matches results. (303245 lines)
|
||||||
Version 19.252: Jun 19, 2020 Fixed bug in exam results, reported by Francisco Ligero Ligero. (303243 lines)
|
Version 19.252: Jun 19, 2020 Fixed bug in exam results, reported by Francisco Ligero Ligero. (303243 lines)
|
||||||
|
|
12
swad_date.c
12
swad_date.c
|
@ -1654,7 +1654,6 @@ void Dat_WriteLocalDateHMSFromUTC (const char *Id,time_t TimeUTC,
|
||||||
bool WriteToday,bool WriteDateOnSameDay,
|
bool WriteToday,bool WriteDateOnSameDay,
|
||||||
bool WriteWeekDay,unsigned WriteHMS)
|
bool WriteWeekDay,unsigned WriteHMS)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Today;
|
|
||||||
static const char *SeparatorStr[] =
|
static const char *SeparatorStr[] =
|
||||||
{
|
{
|
||||||
[Dat_SEPARATOR_NONE ] = "",
|
[Dat_SEPARATOR_NONE ] = "",
|
||||||
|
@ -1663,14 +1662,15 @@ void Dat_WriteLocalDateHMSFromUTC (const char *Id,time_t TimeUTC,
|
||||||
};
|
};
|
||||||
|
|
||||||
HTM_SCRIPT_Begin (NULL,NULL);
|
HTM_SCRIPT_Begin (NULL,NULL);
|
||||||
HTM_TxtF ("writeLocalDateHMSFromUTC('%s',%ld,%u,'%s','%s',%s,%s,0x%x);",
|
HTM_TxtF ("writeLocalDateHMSFromUTC('%s',%ld,%u,'%s',%u,%s,%s,%s,0x%x);",
|
||||||
Id,(long) TimeUTC,(unsigned) DateFormat,SeparatorStr[Separator],
|
Id,(long) TimeUTC,(unsigned) DateFormat,SeparatorStr[Separator],
|
||||||
WriteToday ? Txt_Today :
|
(unsigned) Gbl.Prefs.Language,
|
||||||
"",
|
WriteToday ? "true" :
|
||||||
|
"false",
|
||||||
WriteDateOnSameDay ? "true" :
|
WriteDateOnSameDay ? "true" :
|
||||||
"false",
|
"false",
|
||||||
WriteWeekDay ? "true" :
|
WriteWeekDay ? "true" :
|
||||||
"false",
|
"false",
|
||||||
WriteHMS);
|
WriteHMS);
|
||||||
HTM_SCRIPT_End ();
|
HTM_SCRIPT_End ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -962,22 +962,18 @@ static void ExaPrn_WriteJSToUpdateExamPrint (const struct ExaPrn_Print *Print,
|
||||||
unsigned NumQst,
|
unsigned NumQst,
|
||||||
const char *Id,int NumOpt)
|
const char *Id,int NumOpt)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Connection_issues_;
|
|
||||||
extern const char *Txt_I_have_finished;
|
|
||||||
extern const char *Txt_Saving_;
|
|
||||||
|
|
||||||
if (NumOpt < 0)
|
if (NumOpt < 0)
|
||||||
HTM_TxtF (" onchange=\"updateExamPrint('examprint','%s','Ans',"
|
HTM_TxtF (" onchange=\"updateExamPrint('examprint','%s','Ans',"
|
||||||
"'act=%ld&ses=%s&SesCod=%ld&NumQst=%u','%s','%s','%s');",
|
"'act=%ld&ses=%s&SesCod=%ld&NumQst=%u',%u);",
|
||||||
Id,
|
Id,
|
||||||
Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->SesCod,NumQst,
|
Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->SesCod,NumQst,
|
||||||
Txt_Connection_issues_,Txt_I_have_finished,Txt_Saving_);
|
(unsigned) Gbl.Prefs.Language);
|
||||||
else // NumOpt >= 0
|
else // NumOpt >= 0
|
||||||
HTM_TxtF (" onclick=\"updateExamPrint('examprint','%s_%d','Ans',"
|
HTM_TxtF (" onclick=\"updateExamPrint('examprint','%s_%d','Ans',"
|
||||||
"'act=%ld&ses=%s&SesCod=%ld&NumQst=%u','%s','%s','%s');",
|
"'act=%ld&ses=%s&SesCod=%ld&NumQst=%u',%u);",
|
||||||
Id,NumOpt,
|
Id,NumOpt,
|
||||||
Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->SesCod,NumQst,
|
Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->SesCod,NumQst,
|
||||||
Txt_Connection_issues_,Txt_I_have_finished,Txt_Saving_);
|
(unsigned) Gbl.Prefs.Language);
|
||||||
HTM_Txt (" return false;\""); // return false is necessary to not submit form
|
HTM_Txt (" return false;\""); // return false is necessary to not submit form
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -592,7 +592,6 @@ static bool Tst_CheckIfNextTstAllowed (void)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_ASSESSMENT_Tests;
|
extern const char *Hlp_ASSESSMENT_Tests;
|
||||||
extern const char *Txt_You_can_not_take_a_new_test_until;
|
extern const char *Txt_You_can_not_take_a_new_test_until;
|
||||||
extern const char *Txt_Today;
|
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
long NumSecondsFromNowToNextAccTst = -1L; // Access allowed when this number <= 0
|
long NumSecondsFromNowToNextAccTst = -1L; // Access allowed when this number <= 0
|
||||||
|
@ -634,11 +633,12 @@ static bool Tst_CheckIfNextTstAllowed (void)
|
||||||
Ale_ShowAlert (Ale_WARNING,"%s:<br /><span id=\"date_next_test\"></span>."
|
Ale_ShowAlert (Ale_WARNING,"%s:<br /><span id=\"date_next_test\"></span>."
|
||||||
"<script type=\"text/javascript\">"
|
"<script type=\"text/javascript\">"
|
||||||
"writeLocalDateHMSFromUTC('date_next_test',%ld,"
|
"writeLocalDateHMSFromUTC('date_next_test',%ld,"
|
||||||
"%u,', ','%s',true,true,0x7);"
|
"%u,', ',%u,true,true,true,0x7);"
|
||||||
"</script>",
|
"</script>",
|
||||||
Txt_You_can_not_take_a_new_test_until,
|
Txt_You_can_not_take_a_new_test_until,
|
||||||
(long) TimeNextTestUTC,
|
(long) TimeNextTestUTC,
|
||||||
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
|
(unsigned) Gbl.Prefs.DateFormat,
|
||||||
|
(unsigned) Gbl.Prefs.Language);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
1746
swad_text.c
1746
swad_text.c
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue