Version19.239.2

This commit is contained in:
acanas 2020-05-20 02:13:36 +02:00
parent 0d4d513866
commit 3d0a538fdb
9 changed files with 45 additions and 2067 deletions

View File

@ -1,4 +1,4 @@
/* swad_desktop.css:style-sheet for desktop layout of SWAD */
/* style-sheet for layout of SWAD */
/*
SWAD (Shared Workspace At a Distance),

File diff suppressed because it is too large Load Diff

View File

@ -557,11 +557,13 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 19.238.3 (2020-05-19)"
#define Log_PLATFORM_VERSION "SWAD 19.239.2 (2020-05-20)"
#define CSS_FILE "swad19.238.2.css"
#define JS_FILE "swad19.238.3.js"
#define JS_FILE "swad19.239.js"
/*
Version 19.238.3: May 19, 2020 Fixed issue due to network timeout while answering exams. Reported by Nuria Torres Rosell. (301316 lines)
Version 19.239.2: May 20, 2020 Fixed bug removing media. (301301 lines)
Version 19.239.1: May 19, 2020 Changes in timeout message. (301300 lines)
Version 19.239: May 19, 2020 Fixed issue due to network timeout while answering exams. Reported by Nuria Torres Rosell. (301316 lines)
Version 19.238.2: May 19, 2020 Exam description is written in exam heading. Suggested by Eva Martínez Ortigosa. (301254 lines)
Version 19.238.1: May 19, 2020 Fixed bug: clicks on answers of exam prints are logged. (301566 lines)
Version 19.238: May 18, 2020 Fix exam-related details.

View File

@ -1295,7 +1295,7 @@ static void Exa_RemoveAllMedFilesFromAnsOfAllQstsInCrs (long CrsCod)
"SELECT exa_set_answers.MedCod" // row[0]
" FROM exa_sets,exa_set_questions,exa_set_answers"
" WHERE exa_sets.CrsCod=%ld"
" AND exa_sets.SetCod=exa_set_questions.SetCod",
" AND exa_sets.SetCod=exa_set_questions.SetCod"
" AND exa_set_questions.QstCod=exa_set_answers.QstCod",
CrsCod);

View File

@ -926,20 +926,20 @@ static void ExaPrn_WriteJSToUpdateExamPrint (const struct ExaPrn_Print *Print,
unsigned NumQst,
const char *Id,int NumOpt)
{
extern const char *Txt_The_changes_have_not_been_saved_;
extern const char *Txt_Connection_issues_;
if (NumOpt < 0)
HTM_TxtF (" onchange=\"updateExamPrint('examprint','%s','Ans',"
"'act=%ld&ses=%s&SesCod=%ld&NumQst=%u','%s');",
Id,
Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->SesCod,NumQst,
Txt_The_changes_have_not_been_saved_);
Txt_Connection_issues_);
else // NumOpt >= 0
HTM_TxtF (" onclick=\"updateExamPrint('examprint','%s_%d','Ans',"
"'act=%ld&ses=%s&SesCod=%ld&NumQst=%u','%s');",
Id,NumOpt,
Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->SesCod,NumQst,
Txt_The_changes_have_not_been_saved_);
Txt_Connection_issues_);
HTM_Txt (" return false;\""); // return false is necessary to not submit form
}

View File

@ -2035,7 +2035,7 @@ static void ExaSet_RemoveMediaFromStemOfQst (long SetCod,long QstCod)
NumMedia =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get media",
"SELECT MedCod" // row[0]
" FROM exa_set_questions,"
" FROM exa_set_questions"
" WHERE QstCod=%ld"
" AND SetCod=%ld", // Extra check
QstCod,SetCod);
@ -2057,7 +2057,7 @@ static void ExaSet_RemoveMediaFromAllAnsOfQst (long SetCod,long QstCod)
NumMedia =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get media",
"SELECT exa_set_answers.MedCod" // row[0]
" FROM exa_set_answers,exa_set_questions,"
" FROM exa_set_answers,exa_set_questions"
" WHERE exa_set_answers.QstCod=%ld"
" AND exa_set_answers.QstCod=exa_set_questions.QstCod"
" AND exa_set_questions.SetCod=%ld" // Extra check

View File

@ -27,6 +27,7 @@
#include <mysql/mysql.h> // To access MySQL databases
#include <stdbool.h> // For boolean type
#include <stdlib.h> // For free
#include <string.h> // For string functions
#include "swad_action.h"

View File

@ -5720,7 +5720,7 @@ static void Tst_RemoveMediaFromAllAnsOfQst (long CrsCod,long QstCod)
(unsigned) DB_QuerySELECT (&mysql_res,"can not get media",
"SELECT tst_answers.MedCod" // row[0]
" FROM tst_answers,tst_questions"
" WHERE tst_answers.QstCod=%ld",
" WHERE tst_answers.QstCod=%ld"
" AND tst_answers.QstCod=tst_questions.QstCod"
" AND tst_questions.CrsCod=%ld" // Extra check
" AND tst_questions.QstCod=%ld", // Extra check

View File

@ -4522,25 +4522,25 @@ const char *Txt_Comments =
"Coment&aacute;rios";
#endif
const char *Txt_Teachers_comment =
const char *Txt_Connection_issues_ =
#if L==1 // ca
"Comentari de professors";
"Problemes de connexi&oacute;. Els canvis no s'han desat.";
#elif L==2 // de
"Lehrern-Kommentar";
"Verbindungsprobleme. Die &Auml;nderungen wurden nicht gespeichert.";
#elif L==3 // en
"Teachers' comment";
"Connection issues. The changes have not been saved.";
#elif L==4 // es
"Comentario de profesores";
"Problema de conexi&oacute;n. Los cambios no se han guardado.";
#elif L==5 // fr
"Commentaire des enseignants";
"Probl&egrave;mes de connexion. Les modifications n'ont pas &eacute;t&eacute; enregistr&eacute;es.";
#elif L==6 // gn
"Comentario de profesores"; // Okoteve traducción
"Problema de conexi&oacute;n. Los cambios no se han guardado."; // Okoteve traducción
#elif L==7 // it
"Commento degli professori";
"Problemi di connessione. Le modifiche non sono state salvate.";
#elif L==8 // pl
"Komentarz nauczycieli";
"Problemy z po&lstrok;&aogon;czeniem. Zmiany nie zosta&lstrok;y zapisane.";
#elif L==9 // pt
"Coment&aacute;rio dos professores";
"Problemas de conex&atilde;o. As altera&ccedil;&otilde;es n&atilde;o foram salvas.";
#endif
const char *Txt_Configure =
@ -45697,6 +45697,27 @@ const char *Txt_teachers_ABBREVIATION = // Abbreviation of "Teachers"
"prof.";
#endif
const char *Txt_Teachers_comment =
#if L==1 // ca
"Comentari de professors";
#elif L==2 // de
"Lehrern-Kommentar";
#elif L==3 // en
"Teachers' comment";
#elif L==4 // es
"Comentario de profesores";
#elif L==5 // fr
"Commentaire des enseignants";
#elif L==6 // gn
"Comentario de profesores"; // Okoteve traducción
#elif L==7 // it
"Commento degli professori";
#elif L==8 // pl
"Komentarz nauczycieli";
#elif L==9 // pt
"Coment&aacute;rio dos professores";
#endif
const char *Txt_Teachers_files_area =
#if L==1 // ca
"Zona d'arxius de professors";
@ -46312,45 +46333,6 @@ const char *Txt_The_centre_X_has_been_renamed_as_Y = // Warning: it is very impo
"O centro <strong>%s</strong> foi renomeado como <strong>%s</strong>.";
#endif
const char *Txt_The_changes_have_not_been_saved_ =
#if L==1 // ca
"Els canvis no s'han desat."
" &Eacute;s possible que el servidor estigui trigant a respondre"
" o que hi hagi problemes en la connexi&oacute; de xarxa.";
#elif L==2 // de
"Die &Auml;nderungen wurden nicht gespeichert."
" Der Server reagiert m&ouml;glicherweise nur langsam"
" oder es treten Probleme mit Ihrer Netzwerkverbindung auf.";
#elif L==3 // en
"The changes have not been saved."
" The server may be slow to respond"
" or there may be problems with your network connection.";
#elif L==4 // es
"Los cambios no se han guardado."
" Es posible que el servidor est&eacute; tardando en responder"
" o que haya problemas en la conexi&oacute;n de red.";
#elif L==5 // fr
"Les modifications n'ont pas &eacute;t&eacute; enregistr&eacute;es."
" Le serveur peut &ecirc;tre lent &agrave; r&eacute;pondre"
" ou il peut y avoir des probl&egrave;mes avec votre connexion r&eacute;seau.";
#elif L==6 // gn
"Los cambios no se han guardado."
" Es posible que el servidor est&eacute; tardando en responder"
" o que haya problemas en la conexi&oacute;n de red."; // Okoteve traducción
#elif L==7 // it
"Le modifiche non sono state salvate."
" Il server potrebbe rispondere lentamente"
" o potrebbero esserci problemi con la connessione di rete.";
#elif L==8 // pl
"Zmiany nie zosta&lstrok;y zapisane."
" Serwer mo&zdot;e d&lstrok;ugo reagowa&cacute;"
" lub mog&aogon; wyst&eogon;powa&cacute; problemy z po&lstrok;&atrok;czeniem sieciowym.";
#elif L==9 // pt
"As altera&ccedil;&otilde;es n&atilde;o foram salvas."
" O servidor pode demorar para responder"
" ou pode haver problemas com sua conex&atilde;o de rede.";
#endif
const char *Txt_The_comment_no_longer_exists =
#if L==1 // ca
"El comentari ja no existeix.";