Version19.193.3

This commit is contained in:
acanas 2020-04-23 20:24:36 +02:00
parent 5bab91723e
commit 771711b8e2
8 changed files with 96 additions and 82 deletions

View File

@ -4022,7 +4022,7 @@ int swad__getTestConfig (struct soap *soap,
if ((ReturnCode = API_GetTstConfig ((long) courseCode)) != SOAP_OK)
return ReturnCode;
getTestConfigOut->pluggable = (TstCfg_GetConfigPluggable () == TstCfg_PLUGGABLE_YES) ? 1 :
0;
0;
getTestConfigOut->minQuestions = (int) TstCfg_GetConfigMin ();
getTestConfigOut->defQuestions = (int) TstCfg_GetConfigDef ();
getTestConfigOut->maxQuestions = (int) TstCfg_GetConfigMax ();

View File

@ -546,7 +546,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActSeeAsg ] = { 801, 1,TabAss,ActSeeAsg ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_SeeAssignments ,"edit" },
[ActSeePrj ] = {1674, 2,TabAss,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_SeeProjects ,"file-invoice" },
[ActReqTst ] = { 103, 3,TabAss,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_RequestTest ,"check" },
[ActSeeAllExa ] = {1848, 4,TabAss,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_SeeAllExams ,"file-signature" },
[ActSeeAllExa ] = {1848, 4,TabAss,ActSeeAllExa ,0x200,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_SeeAllExams ,"file-signature" },
[ActSeeAllGam ] = {1649, 4,TabAss,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_SeeAllGames ,"gamepad" },
[ActSeeAllSvy ] = { 966, 5,TabAss,ActSeeAllSvy ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_SeeAllSurveys ,"poll" },
[ActSeeAllExaAnn ] = { 85, 6,TabAss,ActSeeAllExaAnn ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaAnn_ListExamAnnouncementsSee,"bullhorn" },

View File

@ -479,33 +479,7 @@ contiene una de las que yo imparto. As
// TODO: Al exportar tests, los & hay que exportarlos como & o &#numero;, ya que un & no es correcto en XML.
// TODO: Junto al enlace test.xml hay que indicar que se descarga con "Guardar enlace como..." porque si se abre, se copia y se pega, son incorrectos los <
/*****************************************************************************/
/****************************** Public constants *****************************/
/*****************************************************************************/
// Size of photos:
// find -iname '*.jpg' -exec du -cb {} + | grep total$ | cut -f1 | paste -sd+ - | bc
// find -iname '*original.jpg' -exec du -cb {} + | grep total$ | cut -f1 | paste -sd+ - | bc
// 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
/* Printing:
En local:
enscript -1 --file-align=2 --highlight --line-numbers -o - * > swad17.26.7_bn_1_columna.ps
enscript -1 --color --file-align=2 --highlight --line-numbers -o - * > swad17.26.7_color_1_columna.ps
enscript -2 --landscape --file-align=2 --highlight --line-numbers -o - * > swad17.26.7_bn_2_columnas.ps
enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - * > swad17.26.7_color_2_columnas.ps
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 19.193.2 (2020-04-23)"
#define CSS_FILE "swad19.193.1.css"
#define JS_FILE "swad19.193.1.js"
/*
*
Call parameters:
userID: string (DNI/passport, @nickname or email of the user).
// TODO: Geolocalización:
/* TODO: Geolocalización:
Función API sendCurrentLocation...
Parámetros a enviar a la función:
@ -533,15 +507,15 @@ Funci
2. Añadir lista desplegable de MAC asociadas a una ubicación
3. API: getLocations (como parámetro se pasa la MAC)
- que devolveria las filas de la tabla de ubicaciones asociadas a esa MAC
*/
// TODO: Sugerencia de Jesús García Miranda. En las preguntas de tipo test de elección única (o un nuevo tipo con un nuevo nombre),
poner por ejemplo 10 o 20 opciones, con 3 o 4 verdaderas y las demás falsas,
y que swad saque una pregunta de 4 cogiendo una verdadera y 3 falsas al azar.
// poner por ejemplo 10 o 20 opciones, con 3 o 4 verdaderas y las demás falsas,
// y que swad saque una pregunta de 4 cogiendo una verdadera y 3 falsas al azar.
// TODO: Laura García: "Ahora estoy utilizando la plataforma SWAD más que nunca, evidentemente, debido a las circunstancias, e incluso les he hecho un examencillo a los alumnos utilizando los test de autoevaluación.
Pero quería preguntarte un par de cosas:
- lo primero es si se pueden borrar los test realizados por cualquier usuario, incluido profesores. Yo misma he hecho un montón para simular el examen, y ya me están sobrando.
- por otra parte, he buscado pero no he encontrado, la posibilidad de cambiar la manera de corregir los tes, quitar la penalización por respuesta negativa,, o cambiarla, etc.. La verdad es que si se puede hacer me facilitaría un montón el trabajo próximo que nos espera con los alumnos."
// Pero quería preguntarte un par de cosas:
// - lo primero es si se pueden borrar los test realizados por cualquier usuario, incluido profesores. Yo misma he hecho un montón para simular el examen, y ya me están sobrando.
// - por otra parte, he buscado pero no he encontrado, la posibilidad de cambiar la manera de corregir los tes, quitar la penalización por respuesta negativa,, o cambiarla, etc.. La verdad es que si se puede hacer me facilitaría un montón el trabajo próximo que nos espera con los alumnos."
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
// TODO: Impedir la creación y edición de proyectos si no son editables.
// TODO: No se puede entrar con DNI '1' suponiendo que no tenga password ¿por qué?
@ -552,6 +526,33 @@ Funci
// TODO: Cambiar icono notificaciones nuevas con "bell-on.svg"
// TODO: Ahmed El Moukhtari Koubaa: Cuando le damos a la opción de mostrar solo los mensajes no leídos, se muestran estos mensajes, pero cuando los intentamos leer, es decir, hacemos clic sobre ellos se recarga toda la página por así decirlo y vuelve a dar una lista con los mensajes, pero descartando aquel que clicamos porque, entiendo yo al menos, que ya lo ha marcado como leído.
/*****************************************************************************/
/****************************** Public constants *****************************/
/*****************************************************************************/
// Size of photos:
// find -iname '*.jpg' -exec du -cb {} + | grep total$ | cut -f1 | paste -sd+ - | bc
// find -iname '*original.jpg' -exec du -cb {} + | grep total$ | cut -f1 | paste -sd+ - | bc
// 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
/* Printing:
En local:
enscript -1 --file-align=2 --highlight --line-numbers -o - * > swad17.26.7_bn_1_columna.ps
enscript -1 --color --file-align=2 --highlight --line-numbers -o - * > swad17.26.7_color_1_columna.ps
enscript -2 --landscape --file-align=2 --highlight --line-numbers -o - * > swad17.26.7_bn_2_columnas.ps
enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - * > swad17.26.7_color_2_columnas.ps
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 19.193.3 (2020-04-23)"
#define CSS_FILE "swad19.193.1.css"
#define JS_FILE "swad19.193.1.js"
/*
Version 19.193.3: Apr 23, 2020 Added new MIME type, reported by Jesús Garrido Manrique.
Changed text in test configuration. (297640 lines)
1 change necessary in database:
UPDATE tst_config SET Pluggable='unknown' WHERE Pluggable='Y';
Version 19.193.2: Apr 23, 2020 Buttons translated in tests. (297626 lines)
Version 19.193.1: Apr 23, 2020 Changes in CSS for exams.
Changes in JavaScript for exams. (297623 lines)

View File

@ -106,6 +106,7 @@ const char *MIM_MIMETypesAllowed[] =
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", // Excel Microsoft Office Open XML Format Spreadsheet .xlsx
"application/vnd.openxmlformats-officedocument.wordprocessingml.document", // Word Microsoft Office Open XML Format Document .docx
"application/vnd.pdf", // PDF
"application/vnd.rar", // RAR
"application/vnd.wolfram.mathematica.package", // Octave .m file
"application/x-7z-compressed", // 7 zip compressed file
"application/x-bz2", // Bzip 2 UNIX Compressed File

View File

@ -1369,6 +1369,27 @@ const char *Hlp_ASSESSMENT_Tests_writing_a_question =
"ASSESSMENT.Tests.en#writing-a-question";
#endif
const char *Hlp_ASSESSMENT_Tests_configuring_tests =
#if L==1
"ASSESSMENT.Tests.es#configurar-test";
#elif L==2
"ASSESSMENT.Tests.en#configuring-tests";
#elif L==3
"ASSESSMENT.Tests.en#configuring-tests";
#elif L==4
"ASSESSMENT.Tests.es#configurar-test";
#elif L==5
"ASSESSMENT.Tests.en#configuring-tests";
#elif L==6
"ASSESSMENT.Tests.es#configurar-test";
#elif L==7
"ASSESSMENT.Tests.en#configuring-tests";
#elif L==8
"ASSESSMENT.Tests.en#configuring-tests";
#elif L==9
"ASSESSMENT.Tests.en#configuring-tests";
#endif
const char *Hlp_ASSESSMENT_Tests_results =
#if L==1
"ASSESSMENT.Tests.es#resultados";

View File

@ -1464,11 +1464,11 @@ static void Tst_PutButtonToAddQuestion (void)
void Tst_ShowFormConfig (void)
{
extern const char *Txt_Please_specify_if_you_allow_access_to_test_questions_from_mobile_applications;
extern const char *Txt_Please_specify_if_you_allow_downloading_the_question_bank_from_other_applications;
/***** If current course has tests and pluggable is unknown... *****/
if (Tst_CheckIfCourseHaveTestsAndPluggableIsUnknown ())
Ale_ShowAlert (Ale_WARNING,Txt_Please_specify_if_you_allow_access_to_test_questions_from_mobile_applications);
Ale_ShowAlert (Ale_WARNING,Txt_Please_specify_if_you_allow_downloading_the_question_bank_from_other_applications);
/***** Form to configure test *****/
Tst_ShowFormConfigTst ();
@ -1668,7 +1668,7 @@ bool Tst_CheckIfCourseHaveTestsAndPluggableIsUnknown (void)
row = mysql_fetch_row (mysql_res);
TstCfg_SetConfigPluggable (TstCfg_PLUGGABLE_UNKNOWN);
for (Pluggable = TstCfg_PLUGGABLE_NO;
for (Pluggable = TstCfg_PLUGGABLE_NO;
Pluggable <= TstCfg_PLUGGABLE_YES;
Pluggable++)
if (!strcmp (row[0],TstCfg_PluggableDB[Pluggable]))
@ -1847,7 +1847,7 @@ static void Tst_ShowFormSelTags (const struct Tst_Tags *Tags,
static void Tst_ShowFormEditTags (void)
{
extern const char *Hlp_ASSESSMENT_Tests_writing_a_question;
extern const char *Hlp_ASSESSMENT_Tests_configuring_tests;
extern const char *Txt_No_test_questions;
extern const char *Txt_Tags;
MYSQL_RES *mysql_res;
@ -1862,7 +1862,7 @@ static void Tst_ShowFormEditTags (void)
/***** Begin box and table *****/
Box_BoxTableBegin (NULL,Txt_Tags,
NULL,NULL,
Hlp_ASSESSMENT_Tests_writing_a_question,Box_NOT_CLOSABLE,2);
Hlp_ASSESSMENT_Tests_configuring_tests,Box_NOT_CLOSABLE,2);
/***** Show tags *****/
for (NumTag = 0;
@ -1952,7 +1952,7 @@ static void Tst_PutIconDisable (long TagCod,const char *TagTxt)
static void Tst_ShowFormConfigTst (void)
{
extern const char *Hlp_ASSESSMENT_Tests;
extern const char *Hlp_ASSESSMENT_Tests_configuring_tests;
extern const char *The_ClassFormInBox[The_NUM_THEMES];
extern const char *Txt_Configure_tests;
extern const char *Txt_Plugins;
@ -1977,7 +1977,7 @@ static void Tst_ShowFormConfigTst (void)
/***** Begin box *****/
Box_BoxBegin (NULL,Txt_Configure_tests,
Tst_PutIconsTests,&Test,
Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE);
Hlp_ASSESSMENT_Tests_configuring_tests,Box_NOT_CLOSABLE);
/***** Begin form *****/
Frm_StartForm (ActRcvCfgTst);
@ -1991,7 +1991,7 @@ static void Tst_ShowFormConfigTst (void)
HTM_TD_End ();
HTM_TD_Begin ("class=\"LB\"");
for (Pluggable = TstCfg_PLUGGABLE_NO;
for (Pluggable = TstCfg_PLUGGABLE_NO;
Pluggable <= TstCfg_PLUGGABLE_YES;
Pluggable++)
{
@ -2000,7 +2000,7 @@ static void Tst_ShowFormConfigTst (void)
"value=\"%u\"%s",
(unsigned) Pluggable,
Pluggable == TstCfg_GetConfigPluggable () ? " checked=\"checked\"" :
"");
"");
HTM_Txt (Txt_TST_PLUGGABLE[Pluggable]);
HTM_LABEL_End ();
HTM_BR ();

View File

@ -135,7 +135,7 @@ void TstCfg_GetConfigFromRow (MYSQL_ROW row)
/***** Get whether test are visible via plugins or not *****/
TstCfg_SetConfigPluggable (TstCfg_PLUGGABLE_UNKNOWN);
for (Pluggable = TstCfg_PLUGGABLE_NO;
for (Pluggable = TstCfg_PLUGGABLE_NO;
Pluggable <= TstCfg_PLUGGABLE_YES;
Pluggable++)
if (!strcmp (row[0],TstCfg_PluggableDB[Pluggable]))

View File

@ -30687,34 +30687,25 @@ const char *Txt_Please_select_your_institution =
"Por favor, selecione sua institui&ccedil;&atilde;o.";
#endif
const char *Txt_Please_specify_if_you_allow_access_to_test_questions_from_mobile_applications =
const char *Txt_Please_specify_if_you_allow_downloading_the_question_bank_from_other_applications =
#if L==1 // ca
"Por favor, especifique si permite el acceso"
" a las preguntas de test desde aplicaciones m&oacute;viles."; // Necessita traduccio
"Si us plau, especifiqui si permet la desc&agrave;rrega de el banc de preguntes des d'altres aplicacions.";
#elif L==2 // de
"Please specify if you allow access"
" to test questions from mobile applications."; // Need Übersetzung
"Bitte geben Sie an, ob Sie das Herunterladen der Fragenbank aus anderen Anwendungen zulassen.";
#elif L==3 // en
"Please specify if you allow access"
" to test questions from mobile applications.";
"Please specify if you allow downloading the question bank from other applications.";
#elif L==4 // es
"Por favor, especifique si permite el acceso"
" a las preguntas de test desde aplicaciones m&oacute;viles.";
"Por favor, especifique si permite la descarga del banco de preguntas desde otras aplicaciones.";
#elif L==5 // fr
"Please specify if you allow access"
" to test questions from mobile applications."; // Besoin de traduction
"Veuillez indiquer si vous autorisez le t&eacute;l&eacute;chargement de la banque de questions &agrave; partir d'autres applications.";
#elif L==6 // gn
"Por favor, especifique si permite el acceso"
" a las preguntas de test desde aplicaciones m&oacute;viles."; // Okoteve traducción
"Por favor, especifique si permite la descarga del banco de preguntas desde otras aplicaciones."; // Okoteve traducción
#elif L==7 // it
"Please specify if you allow access"
" to test questions from mobile applications."; // Bisogno di traduzione
"Si prega di specificare se si consente il download della banca delle domande da altre applicazioni.";
#elif L==8 // pl
"Please specify if you allow access"
" to test questions from mobile applications."; // Potrzebujesz tlumaczenie
"Okre&sacute;l, czy zezwalasz na pobieranie banku pyta&nacute; z innych aplikacji.";
#elif L==9 // pt
"Por favor, especifique se voc&ecirc; permite acesso"
" para perguntas de teste de aplicativos para dispositivos m&oacute;veis.";
"Por favor, especifique se voc&ecirc; deseja baixar o banco de perguntas de outros aplicativos.";
#endif
const char *Txt_Please_wait_ =
@ -52997,44 +52988,44 @@ const char *Txt_TST_PLUGGABLE[TstCfg_NUM_OPTIONS_PLUGGABLE] =
"",
[TstCfg_PLUGGABLE_NO] =
#if L==1 // ca
"Tests no visibles des de m&ograve;bils (SWADroid, TriSWADos)"
"Banc de preguntes no descarregable/visible des d'altres aplicacions (SWADroid, iSWAD, TriSWADos)."
#elif L==2 // de
"Tests nicht zum Download aus Handys (SWADroid, TriSWADos)"
"Fragenbank nicht herunterladbar/sichtbar von anderen Anwendungen (SWADroid, iSWAD, TriSWADos)."
#elif L==3 // en
"Tests not downloadable from mobile phones (SWADroid, TriSWADos)"
"Question bank not downloadable/visible from other applications (SWADroid, iSWAD, TriSWADos)."
#elif L==4 // es
"Tests no visibles desde m&oacute;viles (SWADroid, TriSWADos)"
"Banco de preguntas no descargable/visible desde otras aplicaciones (SWADroid, iSWAD, TriSWADos)."
#elif L==5 // fr
"Tests non t&eacute;l&eacute;chargeables &agrave; partir de mobiles (SWADroid, TriSWADos)"
"Banque de questions non t&eacute;l&eacute;chargeable/visible depuis d'autres applications (SWADroid, iSWAD, TriSWADos)."
#elif L==6 // gn
"Tests no visibles desde m&oacute;viles (SWADroid, TriSWADos)" // Okoteve traducción
"Banco de preguntas no descargable/visible desde otras aplicaciones (SWADroid, iSWAD, TriSWADos)."// Okoteve traducción
#elif L==7 // it
"Test non scaricabili da cellulari (SWADroid, TriSWADos)"
"Banca di domande non scaricabile/visibile da altre applicazioni (SWADroid, iSWAD, TriSWADos)."
#elif L==8 // pl
"Nie Testy pobrania z kom&oacute;rkowych (SWADroid, TriSWADos)"
"Bank pyta&nacute; nie do pobrania/widoczny z innych aplikacji (SWADroid, iSWAD, TriSWADos)."
#elif L==9 // pt
"Testes n&atilde;o para download de celulares (SWADroid, TriSWADos)"
"Banco de perguntas n&atilde;o dispon&iacute;vel para download/vis&iacute;vel de outros aplicativos (SWADroid, iSWAD, TriSWADos)."
#endif
,
[TstCfg_PLUGGABLE_YES] =
#if L==1 // ca
"Tests visibles des de m&ograve;bils (SWADroid, TriSWADos), opci&oacute; recomanada"
"Banc de preguntes descarregable/visible des d'altres aplicacions (SWADroid, iSWAD, TriSWADos)."
#elif L==2 // de
"Tests zum Download aus Handys (SWADroid, TriSWADos), empfohlene Option"
"Fragenbank herunterladbar/sichtbar von anderen Anwendungen (SWADroid, iSWAD, TriSWADos)."
#elif L==3 // en
"Tests downloadable from mobile phones (SWADroid, TriSWADos), recommended option"
"Question bank downloadable/visible from other applications (SWADroid, iSWAD, TriSWADos)."
#elif L==4 // es
"Tests visibles desde m&oacute;viles (SWADroid, TriSWADos), opci&oacute;n recomendada"
"Banco de preguntas descargable/visible desde otras aplicaciones (SWADroid, iSWAD, TriSWADos)."
#elif L==5 // fr
"Tests t&eacute;l&eacute;chargeables &agrave; partir de mobiles (SWADroid, TriSWADos), option recommand&eacute;e"
"Banque de questions t&eacute;l&eacute;chargeable/visible depuis d'autres applications (SWADroid, iSWAD, TriSWADos)."
#elif L==6 // gn
"Tests visibles desde m&oacute;viles (SWADroid, TriSWADos), opci&oacute;n recomendada"// Okoteve traducción
"Banco de preguntas descargable/visible desde otras aplicaciones (SWADroid, iSWAD, TriSWADos)."// Okoteve traducción
#elif L==7 // it
"Test scaricabili da cellulari (SWADroid, TriSWADos), opzione consigliata"
"Banca di domande scaricabile/visibile da altre applicazioni (SWADroid, iSWAD, TriSWADos)."
#elif L==8 // pl
"Testy do pobrania z kom&oacute;rkowych (SWADroid, TriSWADos), zalecana opcja"
"Bank pyta&nacute; do pobrania/widoczny z innych aplikacji (SWADroid, iSWAD, TriSWADos)."
#elif L==9 // pt
"Testes para download de celulares (SWADroid, TriSWADos), op&ccedil;&atilde;o recomendada"
"Banco de perguntas dispon&iacute;vel para download/vis&iacute;vel de outros aplicativos (SWADroid, iSWAD, TriSWADos)."
#endif
};