From b0c3dab4829305fb86aecaf32d827e6efa203687 Mon Sep 17 00:00:00 2001 From: acanas Date: Wed, 8 Feb 2023 14:25:42 +0100 Subject: [PATCH] Version 22.61: Feb 08, 2023 Fixed bug in figures about hierarchy. --- .settings/language.settings.xml | 39 +++++++-------------- swad_account.c | 6 ++-- swad_agenda.c | 4 +-- swad_assignment.c | 6 ++-- swad_attendance.c | 12 +++---- swad_autolink.c | 4 +-- swad_browser.c | 2 +- swad_calendar.c | 4 +-- swad_changelog.h | 12 +++++++ swad_date.c | 9 ----- swad_date.h | 2 -- swad_error.c | 9 +++++ swad_error.h | 1 + swad_figure_cache.c | 1 + swad_figure_database.c | 1 + swad_file.c | 4 +-- swad_file.h | 2 +- swad_form.h | 2 +- swad_forum.c | 4 +-- swad_global.h | 2 +- swad_hierarchy.c | 2 +- swad_message.c | 2 +- swad_nickname.c | 2 +- swad_nickname.h | 2 +- swad_pagination.c | 60 ++++++++++++++++----------------- swad_parameter.c | 9 +++++ swad_parameter.h | 1 + swad_photo.c | 14 ++++---- swad_photo.h | 4 +-- swad_room.c | 2 +- swad_survey.c | 6 ++-- swad_user.c | 32 ++++++++++++------ swad_user.h | 4 +-- 33 files changed, 144 insertions(+), 122 deletions(-) diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index 977d024a..2174a0b7 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -1,28 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/swad_account.c b/swad_account.c index 800defb0..2ca91c3b 100644 --- a/swad_account.c +++ b/swad_account.c @@ -89,11 +89,11 @@ extern struct Globals Gbl; static void Acc_ShowFormCheckIfIHaveAccount (const char *Title); 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); static bool Acc_GetParamsNewAccount (char NewNickWithoutArr[Nck_MAX_BYTES_NICK_WITHOUT_ARROBA + 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_PutParamsToRemoveMyAccount (void *EncryptedUsrCod); @@ -360,7 +360,7 @@ void Acc_ShowFormCreateMyAccount (void) /************ 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) { extern const char *Hlp_PROFILE_SignUp; diff --git a/swad_agenda.c b/swad_agenda.c index d44f23dc..62926848 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -958,7 +958,7 @@ void Agd_PutParamsMyAgenda (unsigned Past__FutureEvents, Agd_PutHiddenParamHiddenVisiblEvents (HiddenVisiblEvents); if (Order != Agd_ORDER_DEFAULT) - Dat_PutHiddenParamOrder (Order); + Par_PutHiddenParamOrder ((unsigned) Order); if (NumPage > 1) 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) { if (SelectedOrder != Agd_ORDER_DEFAULT) - Dat_PutHiddenParamOrder (SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) SelectedOrder); } /*****************************************************************************/ diff --git a/swad_assignment.c b/swad_assignment.c index 1f6a641e..b2596b21 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -246,7 +246,7 @@ static void Asg_PutHead (struct Asg_Assignments *Assignments, WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,Assignments->CurrentPage); - Dat_PutHiddenParamOrder (Order); + Par_PutHiddenParamOrder ((unsigned) Order); /* Begin link to select order */ HTM_BUTTON_Submit_Begin (Txt_START_END_TIME_HELP[Order], @@ -358,7 +358,7 @@ static void Asg_ParamsWhichGroupsToShow (void *Assignments) { if (Assignments) { - Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Assignments)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Assignments)->SelectedOrder); Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS, ((struct Asg_Assignments *) Assignments)->CurrentPage); } @@ -776,7 +776,7 @@ static void Asg_PutParams (void *Assignments) { if (((struct Asg_Assignments *) Assignments)->Asg.AsgCod > 0) 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 (); Grp_PutParamWhichGroups (&WhichGroups); Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,((struct Asg_Assignments *) Assignments)->CurrentPage); diff --git a/swad_attendance.c b/swad_attendance.c index 9123be01..78bb38f9 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -264,7 +264,7 @@ static void Att_ShowAllAttEvents (struct Att_Events *Events) WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Events->CurrentPage); - Dat_PutHiddenParamOrder (Order); + Par_PutHiddenParamOrder ((unsigned) Order); HTM_BUTTON_Submit_Begin (Txt_START_END_TIME_HELP[Order], "class=\"BT_LINK\""); @@ -330,7 +330,7 @@ static void Att_ParamsWhichGroupsToShow (void *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); } } @@ -419,7 +419,7 @@ static void Att_PutParamsToCreateNewAttEvent (void *Events) if (Events) { - Dat_PutHiddenParamOrder (((struct Att_Events *) Events)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Events)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,((struct Att_Events *) Events)->CurrentPage); @@ -436,7 +436,7 @@ static void Att_PutParamsToListUsrsAttendance (void *Events) if (Events) { - Dat_PutHiddenParamOrder (((struct Att_Events *) Events)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Events)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,((struct Att_Events *) Events)->CurrentPage); @@ -652,7 +652,7 @@ static void Att_PutParams (void *Events) if (Events) { 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 (); Grp_PutParamWhichGroups (&WhichGroups); Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,((struct Att_Events *) Events)->CurrentPage); @@ -1032,7 +1032,7 @@ void Att_RequestCreatOrEditAttEvent (void) Frm_BeginForm (ActChgAtt); Att_PutParamAttCod (Events.Event.AttCod); } - Dat_PutHiddenParamOrder (Events.SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) Events.SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Events.CurrentPage); diff --git a/swad_autolink.c b/swad_autolink.c index 75fd7f82..ae2db6b0 100644 --- a/swad_autolink.c +++ b/swad_autolink.c @@ -476,10 +476,10 @@ static ALn_LinkType_t ALn_CheckNickname (char **PtrSrc,char PrevCh, }; char Ch; size_t Length; - char ParamsStr[Frm_MAX_BYTES_PARAMS_STR]; + char ParamsStr[Frm_MAX_BYTES_PARAMS_STR + 1]; struct Usr_Data UsrDat; bool ShowPhoto = false; - char PhotoURL[PATH_MAX + 1]; + char PhotoURL[Cns_MAX_BYTES_WWW + 1]; char *CaptionStr; char *ImgStr; char NickWithoutArr[Nck_MAX_BYTES_NICK_WITHOUT_ARROBA + 1]; diff --git a/swad_browser.c b/swad_browser.c index cd231101..643c8749 100644 --- a/swad_browser.c +++ b/swad_browser.c @@ -5115,7 +5115,7 @@ void Brw_AskRemFileFromTree (void) if (Brw_CheckIfICanEditFileOrFolder (Gbl.FileBrowser.Level)) // Can I remove this file? { /***** Show question and button to remove file/link *****/ - Brw_GetFileNameToShowDependingOnLevel (Gbl.FileBrowser.FilFolLnk.Type, + Brw_GetFileNameToShowDependingOnLevel (Gbl.FileBrowser.Type, Gbl.FileBrowser.Level, Gbl.FileBrowser.FilFolLnk.Type, Gbl.FileBrowser.FilFolLnk.Name, diff --git a/swad_calendar.c b/swad_calendar.c index a0825b92..36d6b61b 100644 --- a/swad_calendar.c +++ b/swad_calendar.c @@ -204,7 +204,7 @@ unsigned Cal_GetFirstDayOfWeekFromStr (const char *Str) void Cal_DrawCurrentMonth (void) { 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 *****/ /* 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 *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 *****/ Box_BoxBegin (NULL,NULL, diff --git a/swad_changelog.h b/swad_changelog.h index 266835e8..5c4f1405 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -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: 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 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... 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.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) diff --git a/swad_date.c b/swad_date.c index 6b90896b..ba3eacb7 100644 --- a/swad_date.c +++ b/swad_date.c @@ -1882,15 +1882,6 @@ void Dat_WriteLocalDateHMSFromUTC (const char *Id,time_t TimeUTC, 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 *********/ /*****************************************************************************/ diff --git a/swad_date.h b/swad_date.h index b957c2f4..53627639 100644 --- a/swad_date.h +++ b/swad_date.h @@ -228,8 +228,6 @@ void Dat_WriteLocalDateHMSFromUTC (const char *Id,time_t TimeUTC, bool WriteToday,bool WriteDateOnSameDay, bool WriteWeekDay,unsigned WriteHMS); -void Dat_PutHiddenParamOrder (Dat_StartEndTime_t SelectedOrder); - //-------------------------------- Figures ------------------------------------ void Dat_GetAndShowNumUsrsPerDateFormat (void); diff --git a/swad_error.c b/swad_error.c index bae9e265..37061bd0 100644 --- a/swad_error.c +++ b/swad_error.c @@ -50,6 +50,15 @@ void Err_NotEnoughMemoryExit (void) 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 ************/ /*****************************************************************************/ diff --git a/swad_error.h b/swad_error.h index 5954f899..af43ea50 100644 --- a/swad_error.h +++ b/swad_error.h @@ -28,6 +28,7 @@ /*****************************************************************************/ void Err_NotEnoughMemoryExit (void); +void Err_PathTooLongExit (void); void Err_QuerySizeExceededExit (void); void Err_WrongActionExit (void); void Err_WrongScopeExit (void); diff --git a/swad_figure_cache.c b/swad_figure_cache.c index 2e7d0619..78ab8482 100644 --- a/swad_figure_cache.c +++ b/swad_figure_cache.c @@ -27,6 +27,7 @@ #include // For sscanf +#include "swad_alert.h" #include "swad_database.h" #include "swad_figure_cache.h" #include "swad_figure_database.h" diff --git a/swad_figure_database.c b/swad_figure_database.c index cbbb271e..30096943 100644 --- a/swad_figure_database.c +++ b/swad_figure_database.c @@ -25,6 +25,7 @@ /********************************* Headers ***********************************/ /*****************************************************************************/ +#include "swad_alert.h" #include "swad_database.h" #include "swad_figure_database.h" diff --git a/swad_file.c b/swad_file.c index 6854c8ab..f854fee7 100644 --- a/swad_file.c +++ b/swad_file.c @@ -415,7 +415,7 @@ bool Fil_CheckIfPathExists (const char *Path) /********** 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]; @@ -433,7 +433,7 @@ void Fil_CreateDirIfNotExists (const char Path[PATH_MAX + 1]) /*****************************************************************************/ // 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 dirent **FileList; diff --git a/swad_file.h b/swad_file.h index 9fcb451c..55533ff5 100644 --- a/swad_file.h +++ b/swad_file.h @@ -72,7 +72,7 @@ void Fil_CloseUpdateFile (const char CurrentName[PATH_MAX + 1], FILE *NewFile); 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_RemoveOldTmpFiles (const char *Path,time_t TimeToRemove, diff --git a/swad_form.h b/swad_form.h index b0d81679..f2768346 100644 --- a/swad_form.h +++ b/swad_form.h @@ -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_BeginFormAnchor (Act_Action_t NextAction,const char *Anchor); 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); void Frm_EndForm (void); diff --git a/swad_forum.c b/swad_forum.c index e611ad5b..5786b6f2 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -1141,7 +1141,7 @@ void For_PutAllHiddenParamsForum (unsigned NumPageThreads, Pag_PutHiddenParamPagNum (Pag_THREADS_FORUM,NumPageThreads); Pag_PutHiddenParamPagNum (Pag_POSTS_FORUM,NumPagePosts); For_PutParamForumSet (ForumSet); - Dat_PutHiddenParamOrder (Order); + Par_PutHiddenParamOrder ((unsigned) Order); For_PutParamForumLocation (Location); For_PutHiddenParamThrCod (ThrCod); For_PutHiddenParamPstCod (PstCod); @@ -1412,7 +1412,7 @@ static void For_PutFormWhichForums (const struct For_Forums *Forums) - all my forums - only the forums of current institution/degree/course *****/ Frm_BeginForm (ActSeeFor); - Dat_PutHiddenParamOrder (Forums->ThreadsOrder); + Par_PutHiddenParamOrder ((unsigned) Forums->ThreadsOrder); HTM_DIV_Begin ("class=\"SEL_BELOW_TITLE DAT_%s\"",The_GetSuffix ()); HTM_UL_Begin (NULL); diff --git a/swad_global.h b/swad_global.h index 50e9d817..950e823c 100644 --- a/swad_global.h +++ b/swad_global.h @@ -133,7 +133,7 @@ struct Globals bool IBelongToCurrentCrs; bool MyPhotoExists; unsigned NumAccWithoutPhoto; - char PhotoURL[PATH_MAX + 1]; + char PhotoURL[Cns_MAX_BYTES_WWW + 1]; time_t TimeLastAccToThisFileBrowser; bool ConfirmEmailJustSent; // An email to confirm my email address has just been sent struct diff --git a/swad_hierarchy.c b/swad_hierarchy.c index aa76cc20..ecca1b6f 100644 --- a/swad_hierarchy.c +++ b/swad_hierarchy.c @@ -30,6 +30,7 @@ #include // For free #include "swad_action_list.h" +#include "swad_alert.h" #include "swad_box.h" #include "swad_database.h" #include "swad_degree_database.h" @@ -1099,7 +1100,6 @@ static void Hie_GetAndShowHierarchyWithDegs (void) NumCtysWithDegs = Cty_GetCachedNumCtysWithDegs (); /* falls through */ /* no break */ - break; case HieLvl_CTY: NumInssWithDegs = Ins_GetCachedNumInssWithDegs (); /* falls through */ diff --git a/swad_message.c b/swad_message.c index 69466bb3..f2a40984 100644 --- a/swad_message.c +++ b/swad_message.c @@ -2545,7 +2545,7 @@ static void Msg_WriteMsgTo (struct Msg_Messages *Messages,long MsgCod) bool UsrValid; bool ShowPhoto; const char *Title; - char PhotoURL[PATH_MAX + 1]; + char PhotoURL[Cns_MAX_BYTES_WWW + 1]; /***** Get number of recipients of a message from database *****/ NumRecipients.Total = Msg_DB_GetNumRecipients (MsgCod); diff --git a/swad_nickname.c b/swad_nickname.c index cc2b08ba..f875eb2e 100644 --- a/swad_nickname.c +++ b/swad_nickname.c @@ -104,7 +104,7 @@ bool Nck_CheckIfNickWithArrIsValid (const char *NickWithArr) // Nickname may have leading '@' // 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]; diff --git a/swad_nickname.h b/swad_nickname.h index 270ec4df..c096ffbc 100644 --- a/swad_nickname.h +++ b/swad_nickname.h @@ -40,7 +40,7 @@ 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_ShowFormChangeOtherUsrNickname (void); diff --git a/swad_pagination.c b/swad_pagination.c index fbbc0672..a529aba4 100644 --- a/swad_pagination.c +++ b/swad_pagination.c @@ -177,7 +177,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate, case Pag_ASSIGNMENTS: Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,1); - Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; @@ -191,28 +191,28 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate, case Pag_EXAMS: Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,1); - Dat_PutHiddenParamOrder (((struct Exa_Exams *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Exa_Exams *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_GAMES: Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,1); - Dat_PutHiddenParamOrder (((struct Gam_Games *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Gam_Games *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_SURVEYS: Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,1); - Dat_PutHiddenParamOrder (((struct Svy_Surveys *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Svy_Surveys *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_ATT_EVENTS: Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,1); - Dat_PutHiddenParamOrder (((struct Att_Events *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; @@ -300,7 +300,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate, case Pag_ASSIGNMENTS: Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,1); - Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; @@ -314,28 +314,28 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate, case Pag_EXAMS: Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,1); - Dat_PutHiddenParamOrder (((struct Exa_Exams *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Exa_Exams *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_GAMES: Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,1); - Dat_PutHiddenParamOrder (((struct Gam_Games *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Gam_Games *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_SURVEYS: Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,1); - Dat_PutHiddenParamOrder (((struct Svy_Surveys *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Svy_Surveys *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_ATT_EVENTS: Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,1); - Dat_PutHiddenParamOrder (((struct Att_Events *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; @@ -416,7 +416,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate, case Pag_ASSIGNMENTS: Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); - Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; @@ -430,28 +430,28 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate, case Pag_EXAMS: Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); - Dat_PutHiddenParamOrder (((struct Exa_Exams *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Exa_Exams *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_GAMES: Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); - Dat_PutHiddenParamOrder (((struct Gam_Games *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Gam_Games *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_SURVEYS: Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); - Dat_PutHiddenParamOrder (((struct Svy_Surveys *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Svy_Surveys *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_ATT_EVENTS: Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); - Dat_PutHiddenParamOrder (((struct Att_Events *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; @@ -545,7 +545,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate, case Pag_ASSIGNMENTS: Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); - Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; @@ -559,28 +559,28 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate, case Pag_EXAMS: Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); - Dat_PutHiddenParamOrder (((struct Exa_Exams *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Exa_Exams *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_GAMES: Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); - Dat_PutHiddenParamOrder (((struct Gam_Games *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Gam_Games *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_SURVEYS: Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); - Dat_PutHiddenParamOrder (((struct Svy_Surveys *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Svy_Surveys *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_ATT_EVENTS: Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); - Dat_PutHiddenParamOrder (((struct Att_Events *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; @@ -660,7 +660,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate, case Pag_ASSIGNMENTS: Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); - Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; @@ -674,28 +674,28 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate, case Pag_EXAMS: Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); - Dat_PutHiddenParamOrder (((struct Exa_Exams *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Exa_Exams *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_GAMES: Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); - Dat_PutHiddenParamOrder (((struct Gam_Games *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Gam_Games *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_SURVEYS: Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); - Dat_PutHiddenParamOrder (((struct Svy_Surveys *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Svy_Surveys *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_ATT_EVENTS: Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); - Dat_PutHiddenParamOrder (((struct Att_Events *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; @@ -776,7 +776,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate, case Pag_ASSIGNMENTS: Frm_BeginFormAnchor (ActSeeAsg,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); - Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Asg_Assignments *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; @@ -790,28 +790,28 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate, case Pag_EXAMS: Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); - Dat_PutHiddenParamOrder (((struct Exa_Exams *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Exa_Exams *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_GAMES: Frm_BeginFormAnchor (ActSeeAllGam,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); - Dat_PutHiddenParamOrder (((struct Gam_Games *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Gam_Games *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_SURVEYS: Frm_BeginFormAnchor (ActSeeAllSvy,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); - Dat_PutHiddenParamOrder (((struct Svy_Surveys *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Svy_Surveys *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; case Pag_ATT_EVENTS: Frm_BeginFormAnchor (ActSeeAtt,Pagination->Anchor); Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); - Dat_PutHiddenParamOrder (((struct Att_Events *) Context)->SelectedOrder); + Par_PutHiddenParamOrder ((unsigned) ((struct Att_Events *) Context)->SelectedOrder); WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); break; diff --git a/swad_parameter.c b/swad_parameter.c index 0d9a4e20..b7a543c1 100644 --- a/swad_parameter.c +++ b/swad_parameter.c @@ -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 ***************************/ /*****************************************************************************/ diff --git a/swad_parameter.h b/swad_parameter.h index f089ef89..cc27e67b 100644 --- a/swad_parameter.h +++ b/swad_parameter.h @@ -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_PutHiddenParamString (const char *Id,const char *ParamName, const char *Value); +void Par_PutHiddenParamOrder (unsigned SelectedOrder); //----------------------------- Client IP address ----------------------------- void Par_SetIP (void); diff --git a/swad_photo.c b/swad_photo.c index 77e23ccb..5cde838d 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -216,7 +216,7 @@ static void Pho_PutIconToRequestRemoveMyPhoto (__attribute__((unused)) void *Arg static void Pho_PutIconToRequestRemoveOtherUsrPhoto (__attribute__((unused)) void *Args) { - char PhotoURL[PATH_MAX + 1]; + char PhotoURL[Cns_MAX_BYTES_WWW + 1]; bool PhotoExists; static const Act_Action_t NextAction[Rol_NUM_ROLES] = { @@ -482,7 +482,7 @@ void Pho_ReqRemoveUsrPhoto (void) [PhoSha_SHAPE_OVAL ] = "PHOTOO186x248", [PhoSha_SHAPE_RECTANGLE] = "PHOTOR186x248", }; - char PhotoURL[PATH_MAX + 1]; + char PhotoURL[Cns_MAX_BYTES_WWW + 1]; /***** Get user's code from form *****/ Usr_GetParamOtherUsrCodEncryptedAndGetListIDs (); @@ -943,7 +943,7 @@ unsigned Pho_UpdateMyClicksWithoutPhoto (void) void Pho_ShowUsrPhotoIfAllowed (struct Usr_Data *UsrDat, 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); 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 bool Pho_ShowingUsrPhotoIsAllowed (struct Usr_Data *UsrDat, - char PhotoURL[PATH_MAX + 1]) + char PhotoURL[Cns_MAX_BYTES_WWW + 1]) { bool ICanSeePhoto; @@ -976,7 +976,7 @@ bool Pho_ShowingUsrPhotoIsAllowed (struct Usr_Data *UsrDat, // Returns false if photo does not exist // 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 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"); /***** 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); return true; @@ -2333,7 +2333,7 @@ static void Pho_ShowDegreeAvgPhotoAndStat (const struct Deg_Degree *Deg, unsigned PhotoWidth; unsigned PhotoHeight; 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]; bool ShowDegPhoto; char IdCaption[Frm_MAX_BYTES_ID + 1]; diff --git a/swad_photo.h b/swad_photo.h index 0da09da1..7e72f65f 100644 --- a/swad_photo.h +++ b/swad_photo.h @@ -118,8 +118,8 @@ unsigned Pho_UpdateMyClicksWithoutPhoto (void); void Pho_ShowUsrPhotoIfAllowed (struct Usr_Data *UsrDat, const char *ClassPhoto,Pho_Zoom_t Zoom); bool Pho_ShowingUsrPhotoIsAllowed (struct Usr_Data *UsrDat, - char PhotoURL[PATH_MAX + 1]); -bool Pho_BuildLinkToPhoto (const 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[Cns_MAX_BYTES_WWW + 1]); bool Pho_CheckIfPrivPhotoExists (long UsrCod,char PathPrivRelPhoto[PATH_MAX + 1]); void Pho_BuildHTMLUsrPhoto (const struct Usr_Data *UsrDat,const char *PhotoURL, const char *ClassPhoto,Pho_Zoom_t Zoom, diff --git a/swad_room.c b/swad_room.c index 59ffad5d..4a3ff75d 100644 --- a/swad_room.c +++ b/swad_room.c @@ -439,7 +439,7 @@ static void Roo_EditRoomsInternal (void) Roo_ResetRooms (&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); /***** Begin box *****/ diff --git a/swad_survey.c b/swad_survey.c index b34c00eb..c63eb6b7 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -252,7 +252,7 @@ void Svy_ListAllSurveys (struct Svy_Surveys *Surveys) WhichGroups = Grp_GetParamWhichGroups (); Grp_PutParamWhichGroups (&WhichGroups); Pag_PutHiddenParamPagNum (Pag_SURVEYS,Surveys->CurrentPage); - Dat_PutHiddenParamOrder (Order); + Par_PutHiddenParamOrder ((unsigned) Order); HTM_BUTTON_Submit_Begin (Txt_START_END_TIME_HELP[Order], "class=\"BT_LINK\""); if (Order == Surveys->SelectedOrder) @@ -884,7 +884,7 @@ static Dat_StartEndTime_t Svy_GetParamSvyOrder (void) 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) 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 (); Grp_PutParamWhichGroups (&WhichGroups); Pag_PutHiddenParamPagNum (Pag_SURVEYS,((struct Svy_Surveys *) Surveys)->CurrentPage); diff --git a/swad_user.c b/swad_user.c index ffb0b729..a99544eb 100644 --- a/swad_user.c +++ b/swad_user.c @@ -46,6 +46,7 @@ #include "swad_calendar.h" #include "swad_center_database.h" #include "swad_config.h" +#include "swad_constant.h" #include "swad_connected_database.h" #include "swad_country_database.h" #include "swad_course.h" @@ -1308,16 +1309,23 @@ void Usr_WelcomeUsr (void) void Usr_CreateBirthdayStrDB (const struct Usr_Data *UsrDat, 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 || UsrDat->Birthday.Month == 0 || UsrDat->Birthday.Day == 0) Str_Copy (BirthdayStrDB,"NULL",Usr_BIRTHDAY_STR_DB_LENGTH); // Without apostrophes else - snprintf (BirthdayStrDB,Usr_BIRTHDAY_STR_DB_LENGTH + 1, - "'%04u-%02u-%02u'", // With apostrophes - UsrDat->Birthday.Year, - UsrDat->Birthday.Month, - UsrDat->Birthday.Day); + { + sprintf (BirthdayStrTmp,"'%04u-%02u-%02u'", // With apostrophes + UsrDat->Birthday.Year, + UsrDat->Birthday.Month, + 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 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_users[Usr_NUM_SEXS]; @@ -6234,9 +6242,10 @@ void Usr_PutSelectorNumColsClassPhoto (void) /********** 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 PathUsrTmp[PATH_MAX + 1 + Cns_MAX_DECIMAL_DIGITS_LONG + 1]; /***** Path for users *****/ 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); /***** Path for user *****/ - snprintf (PathUsr,PATH_MAX + 1 + Cns_MAX_DECIMAL_DIGITS_LONG + 1,"%s/%ld", - PathAboveUsr,UsrCod); + snprintf (PathUsrTmp,sizeof (PathUsrTmp),"%s/%ld",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", }; bool ShowPhoto = false; - char PhotoURL[PATH_MAX + 1]; + char PhotoURL[Cns_MAX_BYTES_WWW + 1]; struct Usr_Data UsrDat; /***** Initialize structure with user's data *****/ diff --git a/swad_user.h b/swad_user.h index 88ec26c8..441419b6 100644 --- a/swad_user.h +++ b/swad_user.h @@ -411,7 +411,7 @@ void Usr_ListAllDataGsts (void); void Usr_ListAllDataStds (void); void Usr_ListAllDataTchs (void); 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_SeeGuests (void); @@ -426,7 +426,7 @@ void Usr_SeeStdClassPhotoPrn (void); void Usr_SeeTchClassPhotoPrn (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);