Version19.118.1

This commit is contained in:
Antonio Cañas Vargas 2020-01-23 17:08:57 +01:00
parent 994e511c61
commit ac20c70f58
4 changed files with 19 additions and 11 deletions

View File

@ -494,7 +494,7 @@ 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.118 (2020-01-14)" #define Log_PLATFORM_VERSION "SWAD 19.118.1 (2020-01-23)"
#define CSS_FILE "swad19.118.css" #define CSS_FILE "swad19.118.css"
#define JS_FILE "swad19.91.1.js" #define JS_FILE "swad19.91.1.js"
/* /*
@ -502,6 +502,7 @@ ps2pdf source.ps destination.pdf
// TODO: Impedir la creación y edición de proyectos si no son editables. // 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é? // TODO: No se puede entrar con DNI '1' suponiendo que no tenga password ¿por qué?
Version 19.118.1: Jan 23, 2020 Fixed bug in marks, reported by Diana Alexandra Dumitru. (278554 lines)
Version 19.118: Jan 14, 2020 Responsive maps. (278546 lines) Version 19.118: Jan 14, 2020 Responsive maps. (278546 lines)
Version 19.117: Jan 14, 2020 Column map moved in countries, institutions and centres. (278523 lines) Version 19.117: Jan 14, 2020 Column map moved in countries, institutions and centres. (278523 lines)
Version 19.116.3: Jan 14, 2020 Form to go to country map in statistics. (278547 lines) Version 19.116.3: Jan 14, 2020 Form to go to country map in statistics. (278547 lines)

View File

@ -1216,7 +1216,7 @@ static void Ins_ListInstitutionsForEdition (void)
HTM_OPTION (HTM_Type_UNSIGNED,&StatusUnsigned,true,false, HTM_OPTION (HTM_Type_UNSIGNED,&StatusUnsigned,true,false,
"%s",Txt_INSTITUTION_STATUS[Ins_STATUS_PENDING]); "%s",Txt_INSTITUTION_STATUS[Ins_STATUS_PENDING]);
StatusUnsigned = (unsigned) Ins_GetStatusBitsFromStatusTxt (Ins_STATUS_ACTIVE); StatusUnsigned = (unsigned) Ins_GetStatusBitsFromStatusTxt (Ins_STATUS_ACTIVE);
HTM_OPTION (HTM_Type_UNSIGNED,&StatusUnsigned,true,false, HTM_OPTION (HTM_Type_UNSIGNED,&StatusUnsigned,false,false,
"%s",Txt_INSTITUTION_STATUS[Ins_STATUS_ACTIVE]); "%s",Txt_INSTITUTION_STATUS[Ins_STATUS_ACTIVE]);
HTM_SELECT_End (); HTM_SELECT_End ();
Frm_EndForm (); Frm_EndForm ();

View File

@ -464,7 +464,7 @@ static bool Mrk_GetUsrMarks (FILE *FileUsrMarks,struct UsrData *UsrDat,
Ptr = CellContent; Ptr = CellContent;
while (*Ptr && !UsrIDFound) while (*Ptr && !UsrIDFound)
{ {
/* Find next string in text until comma or semicolon (leading and trailing spaces are removed) */ /* Find next string in text until separator (leading and trailing spaces are removed) */
Str_GetNextStringUntilSeparator (&Ptr,UsrIDFromTable,ID_MAX_BYTES_USR_ID); Str_GetNextStringUntilSeparator (&Ptr,UsrIDFromTable,ID_MAX_BYTES_USR_ID);
// Users' IDs are always stored internally in capitals and without leading zeros // Users' IDs are always stored internally in capitals and without leading zeros
@ -621,7 +621,7 @@ void Mrk_ShowMyMarks (void)
else else
UsrIsOK = false; UsrIsOK = false;
} }
else // Course zone else // Course zone
{ {
if (Usr_GetNumUsrsInCrss (Hie_CRS,Gbl.Hierarchy.Crs.CrsCod, if (Usr_GetNumUsrsInCrss (Hie_CRS,Gbl.Hierarchy.Crs.CrsCod,
1 << Rol_STD)) // If there are students in this course 1 << Rol_STD)) // If there are students in this course

View File

@ -2173,7 +2173,8 @@ char *Str_GetCellFromHTMLTableSkipComments (FILE *FileSrc,char *Str,int MaxLengt
/***** Skip spaces *****/ /***** Skip spaces *****/
if (isspace (Ch) || if (isspace (Ch) ||
Ch == 0xA0) // Unicode translation for &nbsp; Ch == 0xC2 || // Used in Unicode &nbsp; // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
Ch == 0xA0) // Used in Unicode &nbsp;
SpaceFound = true; SpaceFound = true;
if (SpaceFound) if (SpaceFound)
@ -2229,12 +2230,14 @@ void Str_GetNextStringUntilSpace (const char **StrSrc,char *StrDst,size_t MaxLen
(*StrSrc)++; (*StrSrc)++;
} }
while (isspace (Ch) || while (isspace (Ch) ||
Ch == 0xA0); // Unicode translation for &nbsp; Ch == 0xC2 || // Used in Unicode &nbsp; // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
Ch == 0xA0); // Used in Unicode &nbsp;
/***** Copy string while non-space characters *****/ /***** Copy string while non-space characters *****/
while (Ch && while (Ch &&
!(isspace (Ch) || !(isspace (Ch) ||
Ch == 0xA0)) // Unicode translation for &nbsp; Ch == 0xC2 || // Used in Unicode &nbsp; // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
Ch == 0xA0)) // Used in Unicode &nbsp;
{ {
if (i < MaxLength) if (i < MaxLength)
StrDst[i++] = (char) Ch; StrDst[i++] = (char) Ch;
@ -2261,14 +2264,16 @@ void Str_GetNextStringUntilSeparator (const char **StrSrc,char *StrDst,size_t Ma
(*StrSrc)++; (*StrSrc)++;
} }
while (isspace (Ch) || while (isspace (Ch) ||
Ch == 0xA0 || // Unicode translation for &nbsp; Ch == 0xC2 || // Used in Unicode &nbsp; // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
Ch == 0xA0 || // Used in Unicode &nbsp;
Ch == (int) ',' || Ch == (int) ',' ||
Ch == (int) ';'); Ch == (int) ';');
/***** Copy string while no separator found *****/ /***** Copy string while no separator found *****/
while (Ch && while (Ch &&
!(isspace (Ch) || !(isspace (Ch) ||
Ch == 0xA0 || // Unicode translation for &nbsp; Ch == 0xC2 || // Used in Unicode &nbsp; // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
Ch == 0xA0 || // Used in Unicode &nbsp;
Ch == (int) ',' || Ch == (int) ',' ||
Ch == (int) ';')) Ch == (int) ';'))
{ {
@ -2296,7 +2301,8 @@ void Str_GetNextStringUntilComma (const char **StrSrc,char *StrDst,size_t MaxLen
/***** Skip leading spaces and ',' *****/ /***** Skip leading spaces and ',' *****/
Ch = (int) **StrSrc; Ch = (int) **StrSrc;
while (isspace (Ch) || while (isspace (Ch) ||
Ch == 0xA0 || // Unicode translation for &nbsp; Ch == 0xC2 || // Used in Unicode &nbsp; // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
Ch == 0xA0 || // Used in Unicode &nbsp;
Ch == (int) ',') Ch == (int) ',')
{ {
(*StrSrc)++; (*StrSrc)++;
@ -2532,7 +2538,8 @@ void Str_SkipSpacesInFile (FILE *FileSrc)
while ((Ch = fgetc (FileSrc)) != EOF) while ((Ch = fgetc (FileSrc)) != EOF)
if (!(isspace (Ch) || if (!(isspace (Ch) ||
Ch == 0xA0)) // Unicode translation for &nbsp; Ch == 0xC2 || // Used in Unicode &nbsp; // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
Ch == 0xA0)) // Used in Unicode &nbsp;
{ {
fseek (FileSrc,-1L,SEEK_CUR); fseek (FileSrc,-1L,SEEK_CUR);
break; break;