Version 22.61: Feb 08, 2023 Fixed bug in figures about hierarchy.

This commit is contained in:
acanas 2023-02-08 14:25:42 +01:00
parent 0b2fff1b0c
commit b0c3dab482
33 changed files with 144 additions and 122 deletions

View File

@ -1,28 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project> <project>
<configuration id="cdt.managedbuild.toolchain.gnu.base.1826109495" name="Default">
<configuration id="cdt.managedbuild.toolchain.gnu.base.1826109495" name="Default"> <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider"> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="(g?cc)|([gc]\+\+)|(clang)" prefer-non-shared="true"/>
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-824387446237442587" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="(g?cc)|([gc]\+\+)|(clang)" prefer-non-shared="true"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
</extension>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-33659021807974130" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> </configuration>
</project>
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
</extension>
</configuration>
</project>

View File

@ -89,11 +89,11 @@ extern struct Globals Gbl;
static void Acc_ShowFormCheckIfIHaveAccount (const char *Title); static void Acc_ShowFormCheckIfIHaveAccount (const char *Title);
static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct Usr_Data *UsrDat); static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct Usr_Data *UsrDat);
static void Acc_ShowFormRequestNewAccountWithParams (const char NewNickWithoutArr[Nck_MAX_BYTES_NICK_WITHOUT_ARROBA + 1], static void Acc_ShowFormRequestNewAccountWithParams (const char *NewNickWithoutArr,
const char *NewEmail); const char *NewEmail);
static bool Acc_GetParamsNewAccount (char NewNickWithoutArr[Nck_MAX_BYTES_NICK_WITHOUT_ARROBA + 1], static bool Acc_GetParamsNewAccount (char NewNickWithoutArr[Nck_MAX_BYTES_NICK_WITHOUT_ARROBA + 1],
char NewEmail[Cns_MAX_BYTES_EMAIL_ADDRESS + 1], char NewEmail[Cns_MAX_BYTES_EMAIL_ADDRESS + 1],
char *NewEncryptedPassword); char NewEncryptedPassword[Pwd_BYTES_ENCRYPTED_PASSWORD + 1]);
static void Acc_CreateNewEncryptedUsrCod (struct Usr_Data *UsrDat); static void Acc_CreateNewEncryptedUsrCod (struct Usr_Data *UsrDat);
static void Acc_PutParamsToRemoveMyAccount (void *EncryptedUsrCod); static void Acc_PutParamsToRemoveMyAccount (void *EncryptedUsrCod);
@ -360,7 +360,7 @@ void Acc_ShowFormCreateMyAccount (void)
/************ Show form to create a new account using parameters *************/ /************ Show form to create a new account using parameters *************/
/*****************************************************************************/ /*****************************************************************************/
static void Acc_ShowFormRequestNewAccountWithParams (const char NewNickWithoutArr[Nck_MAX_BYTES_NICK_WITHOUT_ARROBA + 1], static void Acc_ShowFormRequestNewAccountWithParams (const char *NewNickWithoutArr,
const char *NewEmail) const char *NewEmail)
{ {
extern const char *Hlp_PROFILE_SignUp; extern const char *Hlp_PROFILE_SignUp;

View File

@ -958,7 +958,7 @@ void Agd_PutParamsMyAgenda (unsigned Past__FutureEvents,
Agd_PutHiddenParamHiddenVisiblEvents (HiddenVisiblEvents); Agd_PutHiddenParamHiddenVisiblEvents (HiddenVisiblEvents);
if (Order != Agd_ORDER_DEFAULT) if (Order != Agd_ORDER_DEFAULT)
Dat_PutHiddenParamOrder (Order); Par_PutHiddenParamOrder ((unsigned) Order);
if (NumPage > 1) if (NumPage > 1)
Pag_PutHiddenParamPagNum (Pag_MY_AGENDA,NumPage); Pag_PutHiddenParamPagNum (Pag_MY_AGENDA,NumPage);
@ -999,7 +999,7 @@ static void Agd_GetParams (struct Agd_Agenda *Agenda,
void Agd_PutHiddenParamEventsOrder (Dat_StartEndTime_t SelectedOrder) void Agd_PutHiddenParamEventsOrder (Dat_StartEndTime_t SelectedOrder)
{ {
if (SelectedOrder != Agd_ORDER_DEFAULT) if (SelectedOrder != Agd_ORDER_DEFAULT)
Dat_PutHiddenParamOrder (SelectedOrder); Par_PutHiddenParamOrder ((unsigned) SelectedOrder);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -246,7 +246,7 @@ static void Asg_PutHead (struct Asg_Assignments *Assignments,
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,Assignments->CurrentPage); Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,Assignments->CurrentPage);
Dat_PutHiddenParamOrder (Order); Par_PutHiddenParamOrder ((unsigned) Order);
/* Begin link to select order */ /* Begin link to select order */
HTM_BUTTON_Submit_Begin (Txt_START_END_TIME_HELP[Order], HTM_BUTTON_Submit_Begin (Txt_START_END_TIME_HELP[Order],
@ -358,7 +358,7 @@ static void Asg_ParamsWhichGroupsToShow (void *Assignments)
{ {
if (Assignments) if (Assignments)
{ {
Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Assignments)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Assignments)->SelectedOrder);
Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS, Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,
((struct Asg_Assignments *) Assignments)->CurrentPage); ((struct Asg_Assignments *) Assignments)->CurrentPage);
} }
@ -776,7 +776,7 @@ static void Asg_PutParams (void *Assignments)
{ {
if (((struct Asg_Assignments *) Assignments)->Asg.AsgCod > 0) if (((struct Asg_Assignments *) Assignments)->Asg.AsgCod > 0)
Asg_PutParamAsgCod (((struct Asg_Assignments *) Assignments)->Asg.AsgCod); Asg_PutParamAsgCod (((struct Asg_Assignments *) Assignments)->Asg.AsgCod);
Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Assignments)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Assignments)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,((struct Asg_Assignments *) Assignments)->CurrentPage); Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,((struct Asg_Assignments *) Assignments)->CurrentPage);

View File

@ -264,7 +264,7 @@ static void Att_ShowAllAttEvents (struct Att_Events *Events)
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Events->CurrentPage); Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Events->CurrentPage);
Dat_PutHiddenParamOrder (Order); Par_PutHiddenParamOrder ((unsigned) Order);
HTM_BUTTON_Submit_Begin (Txt_START_END_TIME_HELP[Order], HTM_BUTTON_Submit_Begin (Txt_START_END_TIME_HELP[Order],
"class=\"BT_LINK\""); "class=\"BT_LINK\"");
@ -330,7 +330,7 @@ static void Att_ParamsWhichGroupsToShow (void *Events)
{ {
if (Events) if (Events)
{ {
Dat_PutHiddenParamOrder (((struct Att_Events *) Events)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Events)->SelectedOrder);
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,((struct Att_Events *) Events)->CurrentPage); Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,((struct Att_Events *) Events)->CurrentPage);
} }
} }
@ -419,7 +419,7 @@ static void Att_PutParamsToCreateNewAttEvent (void *Events)
if (Events) if (Events)
{ {
Dat_PutHiddenParamOrder (((struct Att_Events *) Events)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Events)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,((struct Att_Events *) Events)->CurrentPage); Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,((struct Att_Events *) Events)->CurrentPage);
@ -436,7 +436,7 @@ static void Att_PutParamsToListUsrsAttendance (void *Events)
if (Events) if (Events)
{ {
Dat_PutHiddenParamOrder (((struct Att_Events *) Events)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Events)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,((struct Att_Events *) Events)->CurrentPage); Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,((struct Att_Events *) Events)->CurrentPage);
@ -652,7 +652,7 @@ static void Att_PutParams (void *Events)
if (Events) if (Events)
{ {
Att_PutParamAttCod (((struct Att_Events *) Events)->Event.AttCod); Att_PutParamAttCod (((struct Att_Events *) Events)->Event.AttCod);
Dat_PutHiddenParamOrder (((struct Att_Events *) Events)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Events)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,((struct Att_Events *) Events)->CurrentPage); Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,((struct Att_Events *) Events)->CurrentPage);
@ -1032,7 +1032,7 @@ void Att_RequestCreatOrEditAttEvent (void)
Frm_BeginForm (ActChgAtt); Frm_BeginForm (ActChgAtt);
Att_PutParamAttCod (Events.Event.AttCod); Att_PutParamAttCod (Events.Event.AttCod);
} }
Dat_PutHiddenParamOrder (Events.SelectedOrder); Par_PutHiddenParamOrder ((unsigned) Events.SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Events.CurrentPage); Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Events.CurrentPage);

View File

@ -476,10 +476,10 @@ static ALn_LinkType_t ALn_CheckNickname (char **PtrSrc,char PrevCh,
}; };
char Ch; char Ch;
size_t Length; size_t Length;
char ParamsStr[Frm_MAX_BYTES_PARAMS_STR]; char ParamsStr[Frm_MAX_BYTES_PARAMS_STR + 1];
struct Usr_Data UsrDat; struct Usr_Data UsrDat;
bool ShowPhoto = false; bool ShowPhoto = false;
char PhotoURL[PATH_MAX + 1]; char PhotoURL[Cns_MAX_BYTES_WWW + 1];
char *CaptionStr; char *CaptionStr;
char *ImgStr; char *ImgStr;
char NickWithoutArr[Nck_MAX_BYTES_NICK_WITHOUT_ARROBA + 1]; char NickWithoutArr[Nck_MAX_BYTES_NICK_WITHOUT_ARROBA + 1];

View File

@ -5115,7 +5115,7 @@ void Brw_AskRemFileFromTree (void)
if (Brw_CheckIfICanEditFileOrFolder (Gbl.FileBrowser.Level)) // Can I remove this file? if (Brw_CheckIfICanEditFileOrFolder (Gbl.FileBrowser.Level)) // Can I remove this file?
{ {
/***** Show question and button to remove file/link *****/ /***** Show question and button to remove file/link *****/
Brw_GetFileNameToShowDependingOnLevel (Gbl.FileBrowser.FilFolLnk.Type, Brw_GetFileNameToShowDependingOnLevel (Gbl.FileBrowser.Type,
Gbl.FileBrowser.Level, Gbl.FileBrowser.Level,
Gbl.FileBrowser.FilFolLnk.Type, Gbl.FileBrowser.FilFolLnk.Type,
Gbl.FileBrowser.FilFolLnk.Name, Gbl.FileBrowser.FilFolLnk.Name,

View File

@ -204,7 +204,7 @@ unsigned Cal_GetFirstDayOfWeekFromStr (const char *Str)
void Cal_DrawCurrentMonth (void) void Cal_DrawCurrentMonth (void)
{ {
extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES];
char ParamsStr[Frm_MAX_BYTES_PARAMS_STR]; char ParamsStr[Frm_MAX_BYTES_PARAMS_STR + 1];
/***** Draw the month in JavaScript *****/ /***** Draw the month in JavaScript *****/
/* JavaScript will write HTML here */ /* JavaScript will write HTML here */
@ -252,7 +252,7 @@ static void Cal_DrawCalendar (Act_Action_t ActionSeeCalendar,
{ {
extern const char *Hlp_START_Calendar; extern const char *Hlp_START_Calendar;
extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES];
char ParamsStr[Frm_MAX_BYTES_PARAMS_STR]; char ParamsStr[Frm_MAX_BYTES_PARAMS_STR + 1];
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,NULL, Box_BoxBegin (NULL,NULL,

View File

@ -603,6 +603,8 @@ TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta q
TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate key... Reportado por Salvador Romero Cortés. TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate key... Reportado por Salvador Romero Cortés.
TODO: Attach pdf files in multimedia. TODO: Attach pdf files in multimedia.
TODO: BUG al intentar crear un fichero ZIP con los trabajos de una asignatura si un estudiante con nombre cirílico está entre los alumnos que seleccionas para ver los trabajos. Reported by Víctor Vázquez Rodríguez el 22 de enero de 2023.
*/ */
#define Log_PLATFORM_VERSION "SWAD 22.60 (2022-11-29)" #define Log_PLATFORM_VERSION "SWAD 22.60 (2022-11-29)"
#define CSS_FILE "swad22.57.1.css" #define CSS_FILE "swad22.57.1.css"
@ -615,6 +617,16 @@ Que al subir un fichero por defecto est
Al subir cosas para los grupos, en documentos, resltar más los grupos porque no son conscientes... Al subir cosas para los grupos, en documentos, resltar más los grupos porque no son conscientes...
Exportar listas en CSV. Exportar listas en CSV.
Sugerencia de Raymon Moreno:
Saludos cordiales estimado, tengo un planteamiento que hacerle con respecto a la actualización de las asignaturas que están aperturadas en las distintas titulaciones que administramos en la Universidad, el escenario es el siguiente, tenemos asignaturas que en este momento no tendrán alumnos inscritos porque no hay secciones abiertas pero que en próximos lapsos si tendrán participantes inscritos, por lo que quiero consultar si hay manera de que se puedan como INHABILITAR TEMPORALMENTE, y cuando se requiera nuevamente la inscripción de los estudiantes se puedan ACTIVAR o HABILITAR, creo que esa función de ACTIVAR la hacemos los administradores de Titulaciones cuando algún profesor crea una asignatura....... entonces algo como eso........ todo esto con el fin, de que no se pierda lo estructurado que posee cada asignatura........
El otro escenario esta orientado en lo siguiente, Si no es Factible lo de la INACTIVACIÓN de asignaturas quisiera intentar borrarlas y guardar el Contenido en MALETÍN, pero no me permite guardar los elementos que se disponen en los apartados iniciales de cada asignatura y que tienen la opción de ser de LECTURA OBLIGATORIA por el estudiante, entonces mi consulta es, como podría almacenar estos elementos en Maletin, de manera que cuando se vaya a aperturar la asignatura nuevamente se pueda cargar tanto el contenido, como los aspectos de Guía, Información, Programa o Temario, Bibliografía.......
son planteamientos que facilitarían la organización del entorno para cada titulación y no tener secciones inactivas que signifiquen una data no ajustada a la realidad el uso de la misma..............
siempre atento a sus comentarios y agradecido de antemano por la ayuda que siempre nos ha brindado.........Saludos Caribeños desde Venezuela
Version 22.61: Feb 08, 2023 Fixed bug in figures about hierarchy. (334142 lines)
Version 22.60: Nov 29, 2022 Fixed bug sending notification emails. Reported by Manuel Rodríguez Álvarez and Eva Martínez Ortigosa. (334114 lines) Version 22.60: Nov 29, 2022 Fixed bug sending notification emails. Reported by Manuel Rodríguez Álvarez and Eva Martínez Ortigosa. (334114 lines)
Version 22.59.1: Nov 23, 2022 Fixed bug in file browser. Reported by Javier Fernández Baldomero. (334070 lines) Version 22.59.1: Nov 23, 2022 Fixed bug in file browser. Reported by Javier Fernández Baldomero. (334070 lines)
Version 22.59: Nov 06, 2022 New module swad_browser_size. (334067 lines) Version 22.59: Nov 06, 2022 New module swad_browser_size. (334067 lines)

View File

@ -1882,15 +1882,6 @@ void Dat_WriteLocalDateHMSFromUTC (const char *Id,time_t TimeUTC,
HTM_SCRIPT_End (); HTM_SCRIPT_End ();
} }
/*****************************************************************************/
/********* Put a hidden parameter with the type of order in listing **********/
/*****************************************************************************/
void Dat_PutHiddenParamOrder (Dat_StartEndTime_t SelectedOrder)
{
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) SelectedOrder);
}
/*****************************************************************************/ /*****************************************************************************/
/******** Get and show number of users who have chosen a date format *********/ /******** Get and show number of users who have chosen a date format *********/
/*****************************************************************************/ /*****************************************************************************/

View File

@ -228,8 +228,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);
void Dat_PutHiddenParamOrder (Dat_StartEndTime_t SelectedOrder);
//-------------------------------- Figures ------------------------------------ //-------------------------------- Figures ------------------------------------
void Dat_GetAndShowNumUsrsPerDateFormat (void); void Dat_GetAndShowNumUsrsPerDateFormat (void);

View File

@ -50,6 +50,15 @@ void Err_NotEnoughMemoryExit (void)
Err_ShowErrorAndExit ("Not enough memory."); Err_ShowErrorAndExit ("Not enough memory.");
} }
/*****************************************************************************/
/********** Write error message and exit when a path is too long *************/
/*****************************************************************************/
void Err_PathTooLongExit (void)
{
Err_ShowErrorAndExit ("Path too long.");
}
/*****************************************************************************/ /*****************************************************************************/
/********** Write error message and exit when not space for query ************/ /********** Write error message and exit when not space for query ************/
/*****************************************************************************/ /*****************************************************************************/

View File

@ -28,6 +28,7 @@
/*****************************************************************************/ /*****************************************************************************/
void Err_NotEnoughMemoryExit (void); void Err_NotEnoughMemoryExit (void);
void Err_PathTooLongExit (void);
void Err_QuerySizeExceededExit (void); void Err_QuerySizeExceededExit (void);
void Err_WrongActionExit (void); void Err_WrongActionExit (void);
void Err_WrongScopeExit (void); void Err_WrongScopeExit (void);

View File

@ -27,6 +27,7 @@
#include <stdio.h> // For sscanf #include <stdio.h> // For sscanf
#include "swad_alert.h"
#include "swad_database.h" #include "swad_database.h"
#include "swad_figure_cache.h" #include "swad_figure_cache.h"
#include "swad_figure_database.h" #include "swad_figure_database.h"

View File

@ -25,6 +25,7 @@
/********************************* Headers ***********************************/ /********************************* Headers ***********************************/
/*****************************************************************************/ /*****************************************************************************/
#include "swad_alert.h"
#include "swad_database.h" #include "swad_database.h"
#include "swad_figure_database.h" #include "swad_figure_database.h"

View File

@ -415,7 +415,7 @@ bool Fil_CheckIfPathExists (const char *Path)
/********** Check if a directory exists. If not exists, create it! ***********/ /********** Check if a directory exists. If not exists, create it! ***********/
/*****************************************************************************/ /*****************************************************************************/
void Fil_CreateDirIfNotExists (const char Path[PATH_MAX + 1]) void Fil_CreateDirIfNotExists (const char *Path)
{ {
char ErrorMsg[128 + PATH_MAX]; char ErrorMsg[128 + PATH_MAX];
@ -433,7 +433,7 @@ void Fil_CreateDirIfNotExists (const char Path[PATH_MAX + 1])
/*****************************************************************************/ /*****************************************************************************/
// If the tree of directories and files exists, remove it // If the tree of directories and files exists, remove it
void Fil_RemoveTree (const char Path[PATH_MAX + 1]) void Fil_RemoveTree (const char *Path)
{ {
struct stat FileStatus; struct stat FileStatus;
struct dirent **FileList; struct dirent **FileList;

View File

@ -72,7 +72,7 @@ void Fil_CloseUpdateFile (const char CurrentName[PATH_MAX + 1],
FILE *NewFile); FILE *NewFile);
bool Fil_CheckIfPathExists (const char *Path); bool Fil_CheckIfPathExists (const char *Path);
void Fil_CreateDirIfNotExists (const char Path[PATH_MAX + 1]); void Fil_CreateDirIfNotExists (const char *Path);
void Fil_RemoveTree (const char *Path); void Fil_RemoveTree (const char *Path);
void Fil_RemoveOldTmpFiles (const char *Path,time_t TimeToRemove, void Fil_RemoveOldTmpFiles (const char *Path,time_t TimeToRemove,

View File

@ -55,7 +55,7 @@ void Frm_BeginFormAnchorOnSubmit (Act_Action_t NextAction,const char *Anchor,con
void Frm_BeginFormId (Act_Action_t NextAction,const char *Id); void Frm_BeginFormId (Act_Action_t NextAction,const char *Id);
void Frm_BeginFormAnchor (Act_Action_t NextAction,const char *Anchor); void Frm_BeginFormAnchor (Act_Action_t NextAction,const char *Anchor);
void Frm_BeginFormNoAction (void); void Frm_BeginFormNoAction (void);
void Frm_SetParamsForm (char ParamsStr[Frm_MAX_BYTES_PARAMS_STR],Act_Action_t NextAction, void Frm_SetParamsForm (char ParamsStr[Frm_MAX_BYTES_PARAMS_STR + 1],Act_Action_t NextAction,
bool PutParameterLocationIfNoSession); bool PutParameterLocationIfNoSession);
void Frm_EndForm (void); void Frm_EndForm (void);

View File

@ -1141,7 +1141,7 @@ void For_PutAllHiddenParamsForum (unsigned NumPageThreads,
Pag_PutHiddenParamPagNum (Pag_THREADS_FORUM,NumPageThreads); Pag_PutHiddenParamPagNum (Pag_THREADS_FORUM,NumPageThreads);
Pag_PutHiddenParamPagNum (Pag_POSTS_FORUM,NumPagePosts); Pag_PutHiddenParamPagNum (Pag_POSTS_FORUM,NumPagePosts);
For_PutParamForumSet (ForumSet); For_PutParamForumSet (ForumSet);
Dat_PutHiddenParamOrder (Order); Par_PutHiddenParamOrder ((unsigned) Order);
For_PutParamForumLocation (Location); For_PutParamForumLocation (Location);
For_PutHiddenParamThrCod (ThrCod); For_PutHiddenParamThrCod (ThrCod);
For_PutHiddenParamPstCod (PstCod); For_PutHiddenParamPstCod (PstCod);
@ -1412,7 +1412,7 @@ static void For_PutFormWhichForums (const struct For_Forums *Forums)
- all my forums - all my forums
- only the forums of current institution/degree/course *****/ - only the forums of current institution/degree/course *****/
Frm_BeginForm (ActSeeFor); Frm_BeginForm (ActSeeFor);
Dat_PutHiddenParamOrder (Forums->ThreadsOrder); Par_PutHiddenParamOrder ((unsigned) Forums->ThreadsOrder);
HTM_DIV_Begin ("class=\"SEL_BELOW_TITLE DAT_%s\"",The_GetSuffix ()); HTM_DIV_Begin ("class=\"SEL_BELOW_TITLE DAT_%s\"",The_GetSuffix ());
HTM_UL_Begin (NULL); HTM_UL_Begin (NULL);

View File

@ -133,7 +133,7 @@ struct Globals
bool IBelongToCurrentCrs; bool IBelongToCurrentCrs;
bool MyPhotoExists; bool MyPhotoExists;
unsigned NumAccWithoutPhoto; unsigned NumAccWithoutPhoto;
char PhotoURL[PATH_MAX + 1]; char PhotoURL[Cns_MAX_BYTES_WWW + 1];
time_t TimeLastAccToThisFileBrowser; time_t TimeLastAccToThisFileBrowser;
bool ConfirmEmailJustSent; // An email to confirm my email address has just been sent bool ConfirmEmailJustSent; // An email to confirm my email address has just been sent
struct struct

View File

@ -30,6 +30,7 @@
#include <stdlib.h> // For free #include <stdlib.h> // For free
#include "swad_action_list.h" #include "swad_action_list.h"
#include "swad_alert.h"
#include "swad_box.h" #include "swad_box.h"
#include "swad_database.h" #include "swad_database.h"
#include "swad_degree_database.h" #include "swad_degree_database.h"
@ -1099,7 +1100,6 @@ static void Hie_GetAndShowHierarchyWithDegs (void)
NumCtysWithDegs = Cty_GetCachedNumCtysWithDegs (); NumCtysWithDegs = Cty_GetCachedNumCtysWithDegs ();
/* falls through */ /* falls through */
/* no break */ /* no break */
break;
case HieLvl_CTY: case HieLvl_CTY:
NumInssWithDegs = Ins_GetCachedNumInssWithDegs (); NumInssWithDegs = Ins_GetCachedNumInssWithDegs ();
/* falls through */ /* falls through */

View File

@ -2545,7 +2545,7 @@ static void Msg_WriteMsgTo (struct Msg_Messages *Messages,long MsgCod)
bool UsrValid; bool UsrValid;
bool ShowPhoto; bool ShowPhoto;
const char *Title; const char *Title;
char PhotoURL[PATH_MAX + 1]; char PhotoURL[Cns_MAX_BYTES_WWW + 1];
/***** Get number of recipients of a message from database *****/ /***** Get number of recipients of a message from database *****/
NumRecipients.Total = Msg_DB_GetNumRecipients (MsgCod); NumRecipients.Total = Msg_DB_GetNumRecipients (MsgCod);

View File

@ -104,7 +104,7 @@ bool Nck_CheckIfNickWithArrIsValid (const char *NickWithArr)
// Nickname may have leading '@' // Nickname may have leading '@'
// Returns true if nickname found in database // Returns true if nickname found in database
long Nck_GetUsrCodFromNickname (const char NickWithArr[Nck_MAX_BYTES_NICK_WITH_ARROBA + 1]) long Nck_GetUsrCodFromNickname (const char *NickWithArr)
{ {
char CopyOfNick[Nck_MAX_BYTES_NICK_WITH_ARROBA + 1]; char CopyOfNick[Nck_MAX_BYTES_NICK_WITH_ARROBA + 1];

View File

@ -40,7 +40,7 @@
bool Nck_CheckIfNickWithArrIsValid (const char *NickWithArr); bool Nck_CheckIfNickWithArrIsValid (const char *NickWithArr);
long Nck_GetUsrCodFromNickname (const char NickWithArr[Nck_MAX_BYTES_NICK_WITH_ARROBA + 1]); long Nck_GetUsrCodFromNickname (const char *NickWithArr);
void Nck_ShowFormChangeMyNickname (bool IMustFillNickname); void Nck_ShowFormChangeMyNickname (bool IMustFillNickname);
void Nck_ShowFormChangeOtherUsrNickname (void); void Nck_ShowFormChangeOtherUsrNickname (void);

View File

@ -177,7 +177,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_ASSIGNMENTS: case Pag_ASSIGNMENTS:
Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1); Pag_PutHiddenParamPagNum (WhatPaginate,1);
Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
@ -191,28 +191,28 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_EXAMS: case Pag_EXAMS:
Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1); Pag_PutHiddenParamPagNum (WhatPaginate,1);
Dat_PutHiddenParamOrder (((struct Exa_Exams *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Exa_Exams *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_GAMES: case Pag_GAMES:
Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1); Pag_PutHiddenParamPagNum (WhatPaginate,1);
Dat_PutHiddenParamOrder (((struct Gam_Games *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Gam_Games *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_SURVEYS: case Pag_SURVEYS:
Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1); Pag_PutHiddenParamPagNum (WhatPaginate,1);
Dat_PutHiddenParamOrder (((struct Svy_Surveys *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Svy_Surveys *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_ATT_EVENTS: case Pag_ATT_EVENTS:
Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1); Pag_PutHiddenParamPagNum (WhatPaginate,1);
Dat_PutHiddenParamOrder (((struct Att_Events *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
@ -300,7 +300,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_ASSIGNMENTS: case Pag_ASSIGNMENTS:
Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1); Pag_PutHiddenParamPagNum (WhatPaginate,1);
Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
@ -314,28 +314,28 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_EXAMS: case Pag_EXAMS:
Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1); Pag_PutHiddenParamPagNum (WhatPaginate,1);
Dat_PutHiddenParamOrder (((struct Exa_Exams *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Exa_Exams *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_GAMES: case Pag_GAMES:
Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1); Pag_PutHiddenParamPagNum (WhatPaginate,1);
Dat_PutHiddenParamOrder (((struct Gam_Games *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Gam_Games *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_SURVEYS: case Pag_SURVEYS:
Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1); Pag_PutHiddenParamPagNum (WhatPaginate,1);
Dat_PutHiddenParamOrder (((struct Svy_Surveys *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Svy_Surveys *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_ATT_EVENTS: case Pag_ATT_EVENTS:
Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1); Pag_PutHiddenParamPagNum (WhatPaginate,1);
Dat_PutHiddenParamOrder (((struct Att_Events *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
@ -416,7 +416,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_ASSIGNMENTS: case Pag_ASSIGNMENTS:
Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage);
Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
@ -430,28 +430,28 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_EXAMS: case Pag_EXAMS:
Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage);
Dat_PutHiddenParamOrder (((struct Exa_Exams *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Exa_Exams *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_GAMES: case Pag_GAMES:
Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage);
Dat_PutHiddenParamOrder (((struct Gam_Games *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Gam_Games *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_SURVEYS: case Pag_SURVEYS:
Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage);
Dat_PutHiddenParamOrder (((struct Svy_Surveys *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Svy_Surveys *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_ATT_EVENTS: case Pag_ATT_EVENTS:
Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage);
Dat_PutHiddenParamOrder (((struct Att_Events *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
@ -545,7 +545,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_ASSIGNMENTS: case Pag_ASSIGNMENTS:
Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); Pag_PutHiddenParamPagNum (WhatPaginate,NumPage);
Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
@ -559,28 +559,28 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_EXAMS: case Pag_EXAMS:
Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); Pag_PutHiddenParamPagNum (WhatPaginate,NumPage);
Dat_PutHiddenParamOrder (((struct Exa_Exams *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Exa_Exams *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_GAMES: case Pag_GAMES:
Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); Pag_PutHiddenParamPagNum (WhatPaginate,NumPage);
Dat_PutHiddenParamOrder (((struct Gam_Games *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Gam_Games *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_SURVEYS: case Pag_SURVEYS:
Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); Pag_PutHiddenParamPagNum (WhatPaginate,NumPage);
Dat_PutHiddenParamOrder (((struct Svy_Surveys *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Svy_Surveys *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_ATT_EVENTS: case Pag_ATT_EVENTS:
Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); Pag_PutHiddenParamPagNum (WhatPaginate,NumPage);
Dat_PutHiddenParamOrder (((struct Att_Events *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
@ -660,7 +660,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_ASSIGNMENTS: case Pag_ASSIGNMENTS:
Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage);
Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
@ -674,28 +674,28 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_EXAMS: case Pag_EXAMS:
Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage);
Dat_PutHiddenParamOrder (((struct Exa_Exams *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Exa_Exams *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_GAMES: case Pag_GAMES:
Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage);
Dat_PutHiddenParamOrder (((struct Gam_Games *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Gam_Games *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_SURVEYS: case Pag_SURVEYS:
Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage);
Dat_PutHiddenParamOrder (((struct Svy_Surveys *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Svy_Surveys *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_ATT_EVENTS: case Pag_ATT_EVENTS:
Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage);
Dat_PutHiddenParamOrder (((struct Att_Events *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
@ -776,7 +776,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_ASSIGNMENTS: case Pag_ASSIGNMENTS:
Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags);
Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
@ -790,28 +790,28 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_EXAMS: case Pag_EXAMS:
Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags);
Dat_PutHiddenParamOrder (((struct Exa_Exams *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Exa_Exams *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_GAMES: case Pag_GAMES:
Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags);
Dat_PutHiddenParamOrder (((struct Gam_Games *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Gam_Games *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_SURVEYS: case Pag_SURVEYS:
Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags);
Dat_PutHiddenParamOrder (((struct Svy_Surveys *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Svy_Surveys *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;
case Pag_ATT_EVENTS: case Pag_ATT_EVENTS:
Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor); Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags);
Dat_PutHiddenParamOrder (((struct Att_Events *) Context)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Context)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
break; break;

View File

@ -1146,6 +1146,15 @@ void Par_PutHiddenParamString (const char *Id,const char *ParamName,
""); "");
} }
/*****************************************************************************/
/********* Put a hidden parameter with the type of order in listing **********/
/*****************************************************************************/
void Par_PutHiddenParamOrder (unsigned SelectedOrder)
{
Par_PutHiddenParamUnsigned (NULL,"Order",SelectedOrder);
}
/*****************************************************************************/ /*****************************************************************************/
/****************************** Set/Get current IP ***************************/ /****************************** Set/Get current IP ***************************/
/*****************************************************************************/ /*****************************************************************************/

View File

@ -101,6 +101,7 @@ void Par_PutHiddenParamLong (const char *Id,const char *ParamName,long Value);
void Par_PutHiddenParamChar (const char *ParamName,char Value); void Par_PutHiddenParamChar (const char *ParamName,char Value);
void Par_PutHiddenParamString (const char *Id,const char *ParamName, void Par_PutHiddenParamString (const char *Id,const char *ParamName,
const char *Value); const char *Value);
void Par_PutHiddenParamOrder (unsigned SelectedOrder);
//----------------------------- Client IP address ----------------------------- //----------------------------- Client IP address -----------------------------
void Par_SetIP (void); void Par_SetIP (void);

View File

@ -216,7 +216,7 @@ static void Pho_PutIconToRequestRemoveMyPhoto (__attribute__((unused)) void *Arg
static void Pho_PutIconToRequestRemoveOtherUsrPhoto (__attribute__((unused)) void *Args) static void Pho_PutIconToRequestRemoveOtherUsrPhoto (__attribute__((unused)) void *Args)
{ {
char PhotoURL[PATH_MAX + 1]; char PhotoURL[Cns_MAX_BYTES_WWW + 1];
bool PhotoExists; bool PhotoExists;
static const Act_Action_t NextAction[Rol_NUM_ROLES] = static const Act_Action_t NextAction[Rol_NUM_ROLES] =
{ {
@ -482,7 +482,7 @@ void Pho_ReqRemoveUsrPhoto (void)
[PhoSha_SHAPE_OVAL ] = "PHOTOO186x248", [PhoSha_SHAPE_OVAL ] = "PHOTOO186x248",
[PhoSha_SHAPE_RECTANGLE] = "PHOTOR186x248", [PhoSha_SHAPE_RECTANGLE] = "PHOTOR186x248",
}; };
char PhotoURL[PATH_MAX + 1]; char PhotoURL[Cns_MAX_BYTES_WWW + 1];
/***** Get user's code from form *****/ /***** Get user's code from form *****/
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs (); Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
@ -943,7 +943,7 @@ unsigned Pho_UpdateMyClicksWithoutPhoto (void)
void Pho_ShowUsrPhotoIfAllowed (struct Usr_Data *UsrDat, void Pho_ShowUsrPhotoIfAllowed (struct Usr_Data *UsrDat,
const char *ClassPhoto,Pho_Zoom_t Zoom) const char *ClassPhoto,Pho_Zoom_t Zoom)
{ {
char PhotoURL[PATH_MAX + 1]; char PhotoURL[Cns_MAX_BYTES_WWW + 1];
bool ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (UsrDat,PhotoURL); bool ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (UsrDat,PhotoURL);
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
@ -958,7 +958,7 @@ void Pho_ShowUsrPhotoIfAllowed (struct Usr_Data *UsrDat,
// Public photo means two different things depending on the user's type // Public photo means two different things depending on the user's type
bool Pho_ShowingUsrPhotoIsAllowed (struct Usr_Data *UsrDat, bool Pho_ShowingUsrPhotoIsAllowed (struct Usr_Data *UsrDat,
char PhotoURL[PATH_MAX + 1]) char PhotoURL[Cns_MAX_BYTES_WWW + 1])
{ {
bool ICanSeePhoto; bool ICanSeePhoto;
@ -976,7 +976,7 @@ bool Pho_ShowingUsrPhotoIsAllowed (struct Usr_Data *UsrDat,
// Returns false if photo does not exist // Returns false if photo does not exist
// Returns true if link is created successfully // Returns true if link is created successfully
bool Pho_BuildLinkToPhoto (const struct Usr_Data *UsrDat,char PhotoURL[PATH_MAX + 1]) bool Pho_BuildLinkToPhoto (const struct Usr_Data *UsrDat,char PhotoURL[Cns_MAX_BYTES_WWW + 1])
{ {
char PathPublPhoto[PATH_MAX + 1]; char PathPublPhoto[PATH_MAX + 1];
char PathPrivPhoto[PATH_MAX + 1]; char PathPrivPhoto[PATH_MAX + 1];
@ -999,7 +999,7 @@ bool Pho_BuildLinkToPhoto (const struct Usr_Data *UsrDat,char PhotoURL[PATH_MAX
" to access to user's private photo"); " to access to user's private photo");
/***** Create the public URL of the photo *****/ /***** Create the public URL of the photo *****/
snprintf (PhotoURL,PATH_MAX + 1,"%s/%s.jpg", snprintf (PhotoURL,Cns_MAX_BYTES_WWW + 1,"%s/%s.jpg",
Cfg_URL_PHOTO_PUBLIC,UsrDat->Photo); Cfg_URL_PHOTO_PUBLIC,UsrDat->Photo);
return true; return true;
@ -2333,7 +2333,7 @@ static void Pho_ShowDegreeAvgPhotoAndStat (const struct Deg_Degree *Deg,
unsigned PhotoWidth; unsigned PhotoWidth;
unsigned PhotoHeight; unsigned PhotoHeight;
char PathRelAvgPhoto[PATH_MAX + 1]; char PathRelAvgPhoto[PATH_MAX + 1];
char PhotoURL[PATH_MAX + 1]; char PhotoURL[Cns_MAX_BYTES_WWW + 1];
char PhotoCaption[1024 + Cns_HIERARCHY_MAX_BYTES_SHRT_NAME]; char PhotoCaption[1024 + Cns_HIERARCHY_MAX_BYTES_SHRT_NAME];
bool ShowDegPhoto; bool ShowDegPhoto;
char IdCaption[Frm_MAX_BYTES_ID + 1]; char IdCaption[Frm_MAX_BYTES_ID + 1];

View File

@ -118,8 +118,8 @@ unsigned Pho_UpdateMyClicksWithoutPhoto (void);
void Pho_ShowUsrPhotoIfAllowed (struct Usr_Data *UsrDat, void Pho_ShowUsrPhotoIfAllowed (struct Usr_Data *UsrDat,
const char *ClassPhoto,Pho_Zoom_t Zoom); const char *ClassPhoto,Pho_Zoom_t Zoom);
bool Pho_ShowingUsrPhotoIsAllowed (struct Usr_Data *UsrDat, bool Pho_ShowingUsrPhotoIsAllowed (struct Usr_Data *UsrDat,
char PhotoURL[PATH_MAX + 1]); char PhotoURL[Cns_MAX_BYTES_WWW + 1]);
bool Pho_BuildLinkToPhoto (const struct Usr_Data *UsrDat,char PhotoURL[PATH_MAX + 1]); bool Pho_BuildLinkToPhoto (const struct Usr_Data *UsrDat,char PhotoURL[Cns_MAX_BYTES_WWW + 1]);
bool Pho_CheckIfPrivPhotoExists (long UsrCod,char PathPrivRelPhoto[PATH_MAX + 1]); bool Pho_CheckIfPrivPhotoExists (long UsrCod,char PathPrivRelPhoto[PATH_MAX + 1]);
void Pho_BuildHTMLUsrPhoto (const struct Usr_Data *UsrDat,const char *PhotoURL, void Pho_BuildHTMLUsrPhoto (const struct Usr_Data *UsrDat,const char *PhotoURL,
const char *ClassPhoto,Pho_Zoom_t Zoom, const char *ClassPhoto,Pho_Zoom_t Zoom,

View File

@ -439,7 +439,7 @@ static void Roo_EditRoomsInternal (void)
Roo_ResetRooms (&Rooms); Roo_ResetRooms (&Rooms);
/***** Get lists of buildings and rooms *****/ /***** Get lists of buildings and rooms *****/
Bld_GetListBuildings (&Buildings,Roo_ALL_DATA); Bld_GetListBuildings (&Buildings,Bld_ALL_DATA);
Roo_GetListRooms (&Rooms,Roo_ALL_DATA); Roo_GetListRooms (&Rooms,Roo_ALL_DATA);
/***** Begin box *****/ /***** Begin box *****/

View File

@ -252,7 +252,7 @@ void Svy_ListAllSurveys (struct Svy_Surveys *Surveys)
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_SURVEYS,Surveys->CurrentPage); Pag_PutHiddenParamPagNum (Pag_SURVEYS,Surveys->CurrentPage);
Dat_PutHiddenParamOrder (Order); Par_PutHiddenParamOrder ((unsigned) Order);
HTM_BUTTON_Submit_Begin (Txt_START_END_TIME_HELP[Order], HTM_BUTTON_Submit_Begin (Txt_START_END_TIME_HELP[Order],
"class=\"BT_LINK\""); "class=\"BT_LINK\"");
if (Order == Surveys->SelectedOrder) if (Order == Surveys->SelectedOrder)
@ -884,7 +884,7 @@ static Dat_StartEndTime_t Svy_GetParamSvyOrder (void)
void Svy_PutHiddenParamSvyOrder (Dat_StartEndTime_t SelectedOrder) void Svy_PutHiddenParamSvyOrder (Dat_StartEndTime_t SelectedOrder)
{ {
Dat_PutHiddenParamOrder (SelectedOrder); Par_PutHiddenParamOrder ((unsigned) SelectedOrder);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -939,7 +939,7 @@ static void Svy_PutParams (void *Surveys)
{ {
if (((struct Svy_Surveys *) Surveys)->Svy.SvyCod > 0) if (((struct Svy_Surveys *) Surveys)->Svy.SvyCod > 0)
Svy_PutParamSvyCod (((struct Svy_Surveys *) Surveys)->Svy.SvyCod); Svy_PutParamSvyCod (((struct Svy_Surveys *) Surveys)->Svy.SvyCod);
Dat_PutHiddenParamOrder (((struct Svy_Surveys *) Surveys)->SelectedOrder); Par_PutHiddenParamOrder ((unsigned) ((struct Svy_Surveys *) Surveys)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups (); WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups); Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_SURVEYS,((struct Svy_Surveys *) Surveys)->CurrentPage); Pag_PutHiddenParamPagNum (Pag_SURVEYS,((struct Svy_Surveys *) Surveys)->CurrentPage);

View File

@ -46,6 +46,7 @@
#include "swad_calendar.h" #include "swad_calendar.h"
#include "swad_center_database.h" #include "swad_center_database.h"
#include "swad_config.h" #include "swad_config.h"
#include "swad_constant.h"
#include "swad_connected_database.h" #include "swad_connected_database.h"
#include "swad_country_database.h" #include "swad_country_database.h"
#include "swad_course.h" #include "swad_course.h"
@ -1308,16 +1309,23 @@ void Usr_WelcomeUsr (void)
void Usr_CreateBirthdayStrDB (const struct Usr_Data *UsrDat, void Usr_CreateBirthdayStrDB (const struct Usr_Data *UsrDat,
char BirthdayStrDB[Usr_BIRTHDAY_STR_DB_LENGTH + 1]) char BirthdayStrDB[Usr_BIRTHDAY_STR_DB_LENGTH + 1])
{ {
char BirthdayStrTmp[1 + Cns_MAX_DECIMAL_DIGITS_UINT +
1 + Cns_MAX_DECIMAL_DIGITS_UINT +
1 + Cns_MAX_DECIMAL_DIGITS_UINT +
1 + 1];
if (UsrDat->Birthday.Year == 0 || if (UsrDat->Birthday.Year == 0 ||
UsrDat->Birthday.Month == 0 || UsrDat->Birthday.Month == 0 ||
UsrDat->Birthday.Day == 0) UsrDat->Birthday.Day == 0)
Str_Copy (BirthdayStrDB,"NULL",Usr_BIRTHDAY_STR_DB_LENGTH); // Without apostrophes Str_Copy (BirthdayStrDB,"NULL",Usr_BIRTHDAY_STR_DB_LENGTH); // Without apostrophes
else else
snprintf (BirthdayStrDB,Usr_BIRTHDAY_STR_DB_LENGTH + 1, {
"'%04u-%02u-%02u'", // With apostrophes sprintf (BirthdayStrTmp,"'%04u-%02u-%02u'", // With apostrophes
UsrDat->Birthday.Year, UsrDat->Birthday.Year,
UsrDat->Birthday.Month, UsrDat->Birthday.Month,
UsrDat->Birthday.Day); UsrDat->Birthday.Day);
Str_Copy (BirthdayStrDB,BirthdayStrTmp,Usr_BIRTHDAY_STR_DB_LENGTH);
}
} }
/*****************************************************************************/ /*****************************************************************************/
@ -4710,7 +4718,7 @@ static void Usr_ListRowsAllDataTchs (Rol_Role_t Role,
// Returns number of users found // Returns number of users found
unsigned Usr_ListUsrsFound (Rol_Role_t Role, unsigned Usr_ListUsrsFound (Rol_Role_t Role,
const char SearchQuery[Sch_MAX_BYTES_SEARCH_QUERY]) const char SearchQuery[Sch_MAX_BYTES_SEARCH_QUERY + 1])
{ {
extern const char *Txt_user[Usr_NUM_SEXS]; extern const char *Txt_user[Usr_NUM_SEXS];
extern const char *Txt_users[Usr_NUM_SEXS]; extern const char *Txt_users[Usr_NUM_SEXS];
@ -6234,9 +6242,10 @@ void Usr_PutSelectorNumColsClassPhoto (void)
/********** Build the relative path of a user from his user's code ***********/ /********** Build the relative path of a user from his user's code ***********/
/*****************************************************************************/ /*****************************************************************************/
void Usr_ConstructPathUsr (long UsrCod,char PathUsr[PATH_MAX + 1 + Cns_MAX_DECIMAL_DIGITS_LONG + 1]) void Usr_ConstructPathUsr (long UsrCod,char PathUsr[PATH_MAX + 1])
{ {
char PathAboveUsr[PATH_MAX + 1]; char PathAboveUsr[PATH_MAX + 1];
char PathUsrTmp[PATH_MAX + 1 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
/***** Path for users *****/ /***** Path for users *****/
Fil_CreateDirIfNotExists (Cfg_PATH_USR_PRIVATE); Fil_CreateDirIfNotExists (Cfg_PATH_USR_PRIVATE);
@ -6247,8 +6256,11 @@ void Usr_ConstructPathUsr (long UsrCod,char PathUsr[PATH_MAX + 1 + Cns_MAX_DECIM
Fil_CreateDirIfNotExists (PathAboveUsr); Fil_CreateDirIfNotExists (PathAboveUsr);
/***** Path for user *****/ /***** Path for user *****/
snprintf (PathUsr,PATH_MAX + 1 + Cns_MAX_DECIMAL_DIGITS_LONG + 1,"%s/%ld", snprintf (PathUsrTmp,sizeof (PathUsrTmp),"%s/%ld",PathAboveUsr,UsrCod);
PathAboveUsr,UsrCod); if (strlen (PathUsrTmp) <= PATH_MAX)
Str_Copy (PathUsr,PathUsrTmp,PATH_MAX);
else
Err_PathTooLongExit ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -6333,7 +6345,7 @@ void Usr_WriteAuthor1Line (long UsrCod,bool Hidden)
[PhoSha_SHAPE_RECTANGLE] = "PHOTOR15x20", [PhoSha_SHAPE_RECTANGLE] = "PHOTOR15x20",
}; };
bool ShowPhoto = false; bool ShowPhoto = false;
char PhotoURL[PATH_MAX + 1]; char PhotoURL[Cns_MAX_BYTES_WWW + 1];
struct Usr_Data UsrDat; struct Usr_Data UsrDat;
/***** Initialize structure with user's data *****/ /***** Initialize structure with user's data *****/

View File

@ -411,7 +411,7 @@ void Usr_ListAllDataGsts (void);
void Usr_ListAllDataStds (void); void Usr_ListAllDataStds (void);
void Usr_ListAllDataTchs (void); void Usr_ListAllDataTchs (void);
unsigned Usr_ListUsrsFound (Rol_Role_t Role, unsigned Usr_ListUsrsFound (Rol_Role_t Role,
const char SearchQuery[Sch_MAX_BYTES_SEARCH_QUERY]); const char SearchQuery[Sch_MAX_BYTES_SEARCH_QUERY + 1]);
void Usr_ListDataAdms (void); void Usr_ListDataAdms (void);
void Usr_SeeGuests (void); void Usr_SeeGuests (void);
@ -426,7 +426,7 @@ void Usr_SeeStdClassPhotoPrn (void);
void Usr_SeeTchClassPhotoPrn (void); void Usr_SeeTchClassPhotoPrn (void);
void Usr_PutSelectorNumColsClassPhoto (void); void Usr_PutSelectorNumColsClassPhoto (void);
void Usr_ConstructPathUsr (long UsrCod,char PathUsr[PATH_MAX + 1 + Cns_MAX_DECIMAL_DIGITS_LONG + 1]); void Usr_ConstructPathUsr (long UsrCod,char PathUsr[PATH_MAX + 1]);
void Usr_ShowWarningNoUsersFound (Rol_Role_t Role); void Usr_ShowWarningNoUsersFound (Rol_Role_t Role);