mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-14 04:36:32 +02:00
Version19.118.1
This commit is contained in:
parent
994e511c61
commit
ac20c70f58
|
@ -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)
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
Ch == 0xC2 || // Used in Unicode // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
|
||||||
|
Ch == 0xA0) // Used in Unicode
|
||||||
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
|
Ch == 0xC2 || // Used in Unicode // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
|
||||||
|
Ch == 0xA0); // Used in Unicode
|
||||||
|
|
||||||
/***** 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
|
Ch == 0xC2 || // Used in Unicode // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
|
||||||
|
Ch == 0xA0)) // Used in Unicode
|
||||||
{
|
{
|
||||||
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
|
Ch == 0xC2 || // Used in Unicode // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
|
||||||
|
Ch == 0xA0 || // Used in Unicode
|
||||||
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
|
Ch == 0xC2 || // Used in Unicode // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
|
||||||
|
Ch == 0xA0 || // Used in Unicode
|
||||||
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
|
Ch == 0xC2 || // Used in Unicode // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
|
||||||
|
Ch == 0xA0 || // Used in Unicode
|
||||||
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
|
Ch == 0xC2 || // Used in Unicode // TODO: Skip '\xA0' or the sequence "\xC2\xA0"
|
||||||
|
Ch == 0xA0)) // Used in Unicode
|
||||||
{
|
{
|
||||||
fseek (FileSrc,-1L,SEEK_CUR);
|
fseek (FileSrc,-1L,SEEK_CUR);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user