mirror of https://github.com/acanas/swad-core.git
Version 18.17
This commit is contained in:
parent
8aaa1925c9
commit
ce1772f53e
|
@ -120,7 +120,7 @@ void Ale_ShowAlertAndButton1 (Ale_AlertType_t AlertType,const char *Txt)
|
||||||
static const bool AlertClosable[Ale_NUM_ALERT_TYPES] =
|
static const bool AlertClosable[Ale_NUM_ALERT_TYPES] =
|
||||||
{
|
{
|
||||||
false, // Ale_NONE
|
false, // Ale_NONE
|
||||||
false, // Ale_CLIPBOARD
|
true, // Ale_CLIPBOARD
|
||||||
true, // Ale_INFO
|
true, // Ale_INFO
|
||||||
true, // Ale_SUCCESS
|
true, // Ale_SUCCESS
|
||||||
true, // Ale_QUESTION
|
true, // Ale_QUESTION
|
||||||
|
|
|
@ -353,10 +353,11 @@ En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 18.16.3 (2018-11-14)"
|
#define Log_PLATFORM_VERSION "SWAD 18.17 (2018-11-14)"
|
||||||
#define CSS_FILE "swad18.4.css"
|
#define CSS_FILE "swad18.4.css"
|
||||||
#define JS_FILE "swad17.17.1.js"
|
#define JS_FILE "swad17.17.1.js"
|
||||||
/*
|
/*
|
||||||
|
Version 18.17: Nov 14, 2018 Code refactoring related to database queries. (236899 lines)
|
||||||
Version 18.16.3: Nov 14, 2018 Fixed bug when copying-pasting on assignments/works of another user, reported by Javier Fernández Baldomero. (236890 lines)
|
Version 18.16.3: Nov 14, 2018 Fixed bug when copying-pasting on assignments/works of another user, reported by Javier Fernández Baldomero. (236890 lines)
|
||||||
Version 18.16.2: Nov 14, 2018 Fixed bug in account, discovered by Oresti Baños. (236848 lines)
|
Version 18.16.2: Nov 14, 2018 Fixed bug in account, discovered by Oresti Baños. (236848 lines)
|
||||||
Version 18.16.1: Nov 12, 2018 MOOC advertisement. (236846 lines)
|
Version 18.16.1: Nov 12, 2018 MOOC advertisement. (236846 lines)
|
||||||
|
|
|
@ -53,8 +53,9 @@ extern struct Globals Gbl;
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void DB_CreateTable (const char *Query);
|
static void DB_CreateTable (const char *Query);
|
||||||
|
static unsigned long DB_QuerySELECTusingQueryStr (char *Query,
|
||||||
// static void DB_QueryPrintf (char **strp,const char *fmt,...);
|
MYSQL_RES **mysql_res,
|
||||||
|
const char *MsgError);
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***************************** Database tables *******************************/
|
/***************************** Database tables *******************************/
|
||||||
|
@ -3105,23 +3106,23 @@ unsigned long DB_QuerySELECT (MYSQL_RES **mysql_res,const char *MsgError,
|
||||||
// vasprintf will return -1
|
// vasprintf will return -1
|
||||||
Lay_NotEnoughMemoryExit ();
|
Lay_NotEnoughMemoryExit ();
|
||||||
|
|
||||||
return DB_QuerySELECTusingQueryStr (&Query,mysql_res,MsgError);
|
return DB_QuerySELECTusingQueryStr (Query,mysql_res,MsgError);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long DB_QuerySELECTusingQueryStr (char **Query,
|
static unsigned long DB_QuerySELECTusingQueryStr (char *Query,
|
||||||
MYSQL_RES **mysql_res,const char *MsgError)
|
MYSQL_RES **mysql_res,
|
||||||
|
const char *MsgError)
|
||||||
{
|
{
|
||||||
int Result;
|
int Result;
|
||||||
|
|
||||||
/***** Check that query string pointer
|
/***** Check that query string pointer
|
||||||
does point to an allocated string *****/
|
does point to an allocated string *****/
|
||||||
if (*Query == NULL)
|
if (Query == NULL)
|
||||||
Lay_ShowErrorAndExit ("Wrong query string.");
|
Lay_ShowErrorAndExit ("Wrong query string.");
|
||||||
|
|
||||||
/***** Query database and free query string pointer *****/
|
/***** Query database and free query string pointer *****/
|
||||||
Result = mysql_query (&Gbl.mysql,*Query); // Returns 0 on success
|
Result = mysql_query (&Gbl.mysql,Query); // Returns 0 on success
|
||||||
free ((void *) *Query);
|
free ((void *) Query);
|
||||||
*Query = NULL;
|
|
||||||
if (Result)
|
if (Result)
|
||||||
DB_ExitOnMySQLError (MsgError);
|
DB_ExitOnMySQLError (MsgError);
|
||||||
|
|
||||||
|
@ -3164,7 +3165,7 @@ unsigned long DB_QueryCOUNT (const char *MsgError,const char *fmt,...)
|
||||||
Lay_NotEnoughMemoryExit ();
|
Lay_NotEnoughMemoryExit ();
|
||||||
|
|
||||||
/***** Make query "SELECT COUNT(*) FROM..." *****/
|
/***** Make query "SELECT COUNT(*) FROM..." *****/
|
||||||
DB_QuerySELECTusingQueryStr (&Query,&mysql_res,MsgError);
|
DB_QuerySELECTusingQueryStr (Query,&mysql_res,MsgError);
|
||||||
|
|
||||||
/***** Get number of rows *****/
|
/***** Get number of rows *****/
|
||||||
row = mysql_fetch_row (mysql_res);
|
row = mysql_fetch_row (mysql_res);
|
||||||
|
|
|
@ -41,9 +41,6 @@ void DB_BuildQuery_old (char **Query,const char *fmt,...);
|
||||||
|
|
||||||
unsigned long DB_QuerySELECT (MYSQL_RES **mysql_res,const char *MsgError,
|
unsigned long DB_QuerySELECT (MYSQL_RES **mysql_res,const char *MsgError,
|
||||||
const char *fmt,...);
|
const char *fmt,...);
|
||||||
unsigned long DB_QuerySELECTusingQueryStr (char **Query,
|
|
||||||
MYSQL_RES **mysql_res,const char *MsgError);
|
|
||||||
|
|
||||||
unsigned long DB_GetNumRowsTable (const char *Table);
|
unsigned long DB_GetNumRowsTable (const char *Table);
|
||||||
unsigned long DB_QueryCOUNT (const char *MsgError,const char *fmt,...);
|
unsigned long DB_QueryCOUNT (const char *MsgError,const char *fmt,...);
|
||||||
|
|
||||||
|
|
|
@ -145,7 +145,7 @@ static void Soc_UpdateLastPubCodIntoSession (void);
|
||||||
static void Soc_UpdateFirstPubCodIntoSession (long FirstPubCod);
|
static void Soc_UpdateFirstPubCodIntoSession (long FirstPubCod);
|
||||||
static void Soc_DropTemporaryTablesUsedToQueryTimeline (void);
|
static void Soc_DropTemporaryTablesUsedToQueryTimeline (void);
|
||||||
|
|
||||||
static void Soc_ShowTimeline (char **Query,
|
static void Soc_ShowTimeline (char *Query,
|
||||||
const char *Title,long NotCodToHighlight);
|
const char *Title,long NotCodToHighlight);
|
||||||
static void Soc_PutIconsTimeline (void);
|
static void Soc_PutIconsTimeline (void);
|
||||||
|
|
||||||
|
@ -157,8 +157,8 @@ static void Soc_GetParamsWhichUsrs (void);
|
||||||
|
|
||||||
static void Soc_ShowWarningYouDontFollowAnyUser (void);
|
static void Soc_ShowWarningYouDontFollowAnyUser (void);
|
||||||
|
|
||||||
static void Soc_InsertNewPubsInTimeline (char **Query);
|
static void Soc_InsertNewPubsInTimeline (char *Query);
|
||||||
static void Soc_ShowOldPubsInTimeline (char **Query);
|
static void Soc_ShowOldPubsInTimeline (char *Query);
|
||||||
|
|
||||||
static void Soc_GetDataOfSocialPublishingFromRow (MYSQL_ROW row,struct SocialPublishing *SocPub);
|
static void Soc_GetDataOfSocialPublishingFromRow (MYSQL_ROW row,struct SocialPublishing *SocPub);
|
||||||
|
|
||||||
|
@ -372,7 +372,7 @@ static void Soc_ShowTimelineGblHighlightingNot (long NotCod)
|
||||||
Soc_GET_RECENT_TIMELINE);
|
Soc_GET_RECENT_TIMELINE);
|
||||||
|
|
||||||
/***** Show timeline *****/
|
/***** Show timeline *****/
|
||||||
Soc_ShowTimeline (&Query,Txt_Timeline,NotCod);
|
Soc_ShowTimeline (Query,Txt_Timeline,NotCod);
|
||||||
|
|
||||||
/***** Drop temporary tables *****/
|
/***** Drop temporary tables *****/
|
||||||
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
||||||
|
@ -401,7 +401,7 @@ static void Soc_ShowTimelineUsrHighlightingNot (long NotCod)
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
||||||
Txt_Timeline_OF_A_USER,
|
Txt_Timeline_OF_A_USER,
|
||||||
Gbl.Usrs.Other.UsrDat.FirstName);
|
Gbl.Usrs.Other.UsrDat.FirstName);
|
||||||
Soc_ShowTimeline (&Query,Gbl.Title,NotCod);
|
Soc_ShowTimeline (Query,Gbl.Title,NotCod);
|
||||||
|
|
||||||
/***** Drop temporary tables *****/
|
/***** Drop temporary tables *****/
|
||||||
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
||||||
|
@ -430,7 +430,7 @@ void Soc_RefreshNewTimelineGbl (void)
|
||||||
Soc_GET_ONLY_NEW_PUBS);
|
Soc_GET_ONLY_NEW_PUBS);
|
||||||
|
|
||||||
/***** Show new timeline *****/
|
/***** Show new timeline *****/
|
||||||
Soc_InsertNewPubsInTimeline (&Query);
|
Soc_InsertNewPubsInTimeline (Query);
|
||||||
|
|
||||||
/***** Drop temporary tables *****/
|
/***** Drop temporary tables *****/
|
||||||
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
||||||
|
@ -475,7 +475,7 @@ static void Soc_GetAndShowOldTimeline (Soc_TimelineUsrOrGbl_t TimelineUsrOrGbl)
|
||||||
Soc_GET_ONLY_OLD_PUBS);
|
Soc_GET_ONLY_OLD_PUBS);
|
||||||
|
|
||||||
/***** Show old timeline *****/
|
/***** Show old timeline *****/
|
||||||
Soc_ShowOldPubsInTimeline (&Query);
|
Soc_ShowOldPubsInTimeline (Query);
|
||||||
|
|
||||||
/***** Drop temporary tables *****/
|
/***** Drop temporary tables *****/
|
||||||
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
||||||
|
@ -919,7 +919,7 @@ static void Soc_DropTemporaryTablesUsedToQueryTimeline (void)
|
||||||
| |_____|
|
| |_____|
|
||||||
\ |_____|
|
\ |_____|
|
||||||
*/
|
*/
|
||||||
static void Soc_ShowTimeline (char **Query,
|
static void Soc_ShowTimeline (char *Query,
|
||||||
const char *Title,long NotCodToHighlight)
|
const char *Title,long NotCodToHighlight)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_SOCIAL_Timeline;
|
extern const char *Hlp_SOCIAL_Timeline;
|
||||||
|
@ -933,8 +933,9 @@ static void Soc_ShowTimeline (char **Query,
|
||||||
bool ItsMe = Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod);
|
bool ItsMe = Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||||
|
|
||||||
/***** Get publishings from database *****/
|
/***** Get publishings from database *****/
|
||||||
NumPubsGot = DB_QuerySELECTusingQueryStr (Query,&mysql_res,
|
NumPubsGot = DB_QuerySELECT (&mysql_res,"can not get timeline",
|
||||||
"can not get timeline");
|
"%s",
|
||||||
|
Query);
|
||||||
|
|
||||||
/***** Start box *****/
|
/***** Start box *****/
|
||||||
Box_StartBox (Soc_WIDTH_TIMELINE,Title,Soc_PutIconsTimeline,
|
Box_StartBox (Soc_WIDTH_TIMELINE,Title,Soc_PutIconsTimeline,
|
||||||
|
@ -1123,7 +1124,7 @@ static void Soc_ShowWarningYouDontFollowAnyUser (void)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
// The publishings are inserted as list elements of a hidden list
|
// The publishings are inserted as list elements of a hidden list
|
||||||
|
|
||||||
static void Soc_InsertNewPubsInTimeline (char **Query)
|
static void Soc_InsertNewPubsInTimeline (char *Query)
|
||||||
{
|
{
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
|
@ -1133,8 +1134,9 @@ static void Soc_InsertNewPubsInTimeline (char **Query)
|
||||||
struct SocialNote SocNot;
|
struct SocialNote SocNot;
|
||||||
|
|
||||||
/***** Get new publishings timeline from database *****/
|
/***** Get new publishings timeline from database *****/
|
||||||
NumPubsGot = DB_QuerySELECTusingQueryStr (Query,&mysql_res,
|
NumPubsGot = DB_QuerySELECT (&mysql_res,"can not get timeline",
|
||||||
"can not get timeline");
|
"%s",
|
||||||
|
Query);
|
||||||
|
|
||||||
/***** List new publishings timeline *****/
|
/***** List new publishings timeline *****/
|
||||||
for (NumPub = 0;
|
for (NumPub = 0;
|
||||||
|
@ -1164,7 +1166,7 @@ static void Soc_InsertNewPubsInTimeline (char **Query)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
// The publishings are inserted as list elements of a hidden list
|
// The publishings are inserted as list elements of a hidden list
|
||||||
|
|
||||||
static void Soc_ShowOldPubsInTimeline (char **Query)
|
static void Soc_ShowOldPubsInTimeline (char *Query)
|
||||||
{
|
{
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
|
@ -1174,8 +1176,9 @@ static void Soc_ShowOldPubsInTimeline (char **Query)
|
||||||
struct SocialNote SocNot;
|
struct SocialNote SocNot;
|
||||||
|
|
||||||
/***** Get old publishings timeline from database *****/
|
/***** Get old publishings timeline from database *****/
|
||||||
NumPubsGot = DB_QuerySELECTusingQueryStr (Query,&mysql_res,
|
NumPubsGot = DB_QuerySELECT (&mysql_res,"can not get timeline",
|
||||||
"can not get timeline");
|
"%s",
|
||||||
|
Query);
|
||||||
|
|
||||||
/***** List old publishings in timeline *****/
|
/***** List old publishings in timeline *****/
|
||||||
for (NumPub = 0, SocPub.PubCod = 0;
|
for (NumPub = 0, SocPub.PubCod = 0;
|
||||||
|
|
|
@ -1459,8 +1459,9 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
|
||||||
Ale_ShowAlert (Ale_INFO,Query);
|
Ale_ShowAlert (Ale_INFO,Query);
|
||||||
*/
|
*/
|
||||||
/***** Make the query *****/
|
/***** Make the query *****/
|
||||||
NumRows = DB_QuerySELECTusingQueryStr (&Query,&mysql_res,
|
NumRows = DB_QuerySELECT (&mysql_res,"can not get clicks",
|
||||||
"can not get clicks");
|
"%s",
|
||||||
|
Query);
|
||||||
|
|
||||||
/***** Count the number of rows in result *****/
|
/***** Count the number of rows in result *****/
|
||||||
if (NumRows == 0)
|
if (NumRows == 0)
|
||||||
|
|
10
swad_test.c
10
swad_test.c
|
@ -2652,8 +2652,9 @@ static unsigned long Tst_GetQuestions (MYSQL_RES **mysql_res)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Make the query */
|
/* Make the query */
|
||||||
NumRows = DB_QuerySELECTusingQueryStr (&Query,mysql_res,
|
NumRows = DB_QuerySELECT (mysql_res,"can not get questions",
|
||||||
"can not get questions");
|
"%s",
|
||||||
|
Query);
|
||||||
|
|
||||||
if (NumRows == 0)
|
if (NumRows == 0)
|
||||||
Ale_ShowAlert (Ale_INFO,Txt_No_questions_found_matching_your_search_criteria);
|
Ale_ShowAlert (Ale_INFO,Txt_No_questions_found_matching_your_search_criteria);
|
||||||
|
@ -2789,8 +2790,9 @@ static unsigned long Tst_GetQuestionsForTest (MYSQL_RES **mysql_res)
|
||||||
Lay_ShowAlert (Lay_INFO,Query);
|
Lay_ShowAlert (Lay_INFO,Query);
|
||||||
*/
|
*/
|
||||||
/* Make the query */
|
/* Make the query */
|
||||||
return DB_QuerySELECTusingQueryStr (&Query,mysql_res,
|
return DB_QuerySELECT (mysql_res,"can not get questions",
|
||||||
"can not get questions");
|
"%s",
|
||||||
|
Query);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
23
swad_user.c
23
swad_user.c
|
@ -186,7 +186,7 @@ static void Usr_BuildQueryToGetUsrsLstCrs (char **Query,Rol_Role_t Role);
|
||||||
|
|
||||||
static void Usr_GetAdmsLst (Sco_Scope_t Scope);
|
static void Usr_GetAdmsLst (Sco_Scope_t Scope);
|
||||||
static void Usr_GetGstsLst (Sco_Scope_t Scope);
|
static void Usr_GetGstsLst (Sco_Scope_t Scope);
|
||||||
static void Usr_GetListUsrsFromQuery (char **Query,Rol_Role_t Role,Sco_Scope_t Scope);
|
static void Usr_GetListUsrsFromQuery (char *Query,Rol_Role_t Role,Sco_Scope_t Scope);
|
||||||
static void Usr_AllocateUsrsList (Rol_Role_t Role);
|
static void Usr_AllocateUsrsList (Rol_Role_t Role);
|
||||||
|
|
||||||
static void Usr_PutButtonToConfirmIWantToSeeBigList (unsigned NumUsrs,const char *OnSubmit);
|
static void Usr_PutButtonToConfirmIWantToSeeBigList (unsigned NumUsrs,const char *OnSubmit);
|
||||||
|
@ -4619,7 +4619,7 @@ void Usr_GetListUsrs (Sco_Scope_t Scope,Rol_Role_t Role)
|
||||||
Lay_ShowAlert (Lay_INFO,Query);
|
Lay_ShowAlert (Lay_INFO,Query);
|
||||||
*/
|
*/
|
||||||
/***** Get list of users from database given a query *****/
|
/***** Get list of users from database given a query *****/
|
||||||
Usr_GetListUsrsFromQuery (&Query,Role,Scope);
|
Usr_GetListUsrsFromQuery (Query,Role,Scope);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -4897,7 +4897,7 @@ void Usr_SearchListUsrs (Rol_Role_t Role)
|
||||||
// Lay_ShowAlert (Lay_INFO,Query);
|
// Lay_ShowAlert (Lay_INFO,Query);
|
||||||
|
|
||||||
/***** Get list of users from database given a query *****/
|
/***** Get list of users from database given a query *****/
|
||||||
Usr_GetListUsrsFromQuery (&Query,Role,Gbl.Scope.Current);
|
Usr_GetListUsrsFromQuery (Query,Role,Gbl.Scope.Current);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -5101,7 +5101,7 @@ static void Usr_GetAdmsLst (Sco_Scope_t Scope)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Get list of administrators from database *****/
|
/***** Get list of administrators from database *****/
|
||||||
Usr_GetListUsrsFromQuery (&Query,Rol_DEG_ADM,Scope);
|
Usr_GetListUsrsFromQuery (Query,Rol_DEG_ADM,Scope);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -5180,7 +5180,7 @@ static void Usr_GetGstsLst (Sco_Scope_t Scope)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Get list of students from database *****/
|
/***** Get list of students from database *****/
|
||||||
Usr_GetListUsrsFromQuery (&Query,Rol_GST,Scope);
|
Usr_GetListUsrsFromQuery (Query,Rol_GST,Scope);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -5231,7 +5231,7 @@ void Usr_GetUnorderedStdsCodesInDeg (long DegCod)
|
||||||
DegCod,(unsigned) Rol_STD);
|
DegCod,(unsigned) Rol_STD);
|
||||||
|
|
||||||
/***** Get list of students from database *****/
|
/***** Get list of students from database *****/
|
||||||
Usr_GetListUsrsFromQuery (&Query,Rol_STD,Sco_SCOPE_DEG);
|
Usr_GetListUsrsFromQuery (Query,Rol_STD,Sco_SCOPE_DEG);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5239,7 +5239,7 @@ void Usr_GetUnorderedStdsCodesInDeg (long DegCod)
|
||||||
/********************** Get list of users from database **********************/
|
/********************** Get list of users from database **********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Usr_GetListUsrsFromQuery (char **Query,Rol_Role_t Role,Sco_Scope_t Scope)
|
static void Usr_GetListUsrsFromQuery (char *Query,Rol_Role_t Role,Sco_Scope_t Scope)
|
||||||
{
|
{
|
||||||
extern const char *Txt_The_list_of_X_users_is_too_large_to_be_displayed;
|
extern const char *Txt_The_list_of_X_users_is_too_large_to_be_displayed;
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
|
@ -5248,13 +5248,13 @@ static void Usr_GetListUsrsFromQuery (char **Query,Rol_Role_t Role,Sco_Scope_t S
|
||||||
struct UsrInList *UsrInList;
|
struct UsrInList *UsrInList;
|
||||||
bool Abort = false;
|
bool Abort = false;
|
||||||
|
|
||||||
if (*Query == NULL)
|
if (Query == NULL)
|
||||||
{
|
{
|
||||||
Gbl.Usrs.LstUsrs[Role].NumUsrs = 0;
|
Gbl.Usrs.LstUsrs[Role].NumUsrs = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!*Query[0])
|
if (!Query[0])
|
||||||
{
|
{
|
||||||
Gbl.Usrs.LstUsrs[Role].NumUsrs = 0;
|
Gbl.Usrs.LstUsrs[Role].NumUsrs = 0;
|
||||||
return;
|
return;
|
||||||
|
@ -5262,8 +5262,9 @@ static void Usr_GetListUsrsFromQuery (char **Query,Rol_Role_t Role,Sco_Scope_t S
|
||||||
|
|
||||||
/***** Query database *****/
|
/***** Query database *****/
|
||||||
if ((Gbl.Usrs.LstUsrs[Role].NumUsrs =
|
if ((Gbl.Usrs.LstUsrs[Role].NumUsrs =
|
||||||
(unsigned) DB_QuerySELECTusingQueryStr (Query,&mysql_res,
|
(unsigned) DB_QuerySELECT (&mysql_res,"can not get list of users",
|
||||||
"can not get list of users")))
|
"%s",
|
||||||
|
Query)))
|
||||||
{
|
{
|
||||||
if (Gbl.Usrs.LstUsrs[Role].NumUsrs > Cfg_MAX_USRS_IN_LIST)
|
if (Gbl.Usrs.LstUsrs[Role].NumUsrs > Cfg_MAX_USRS_IN_LIST)
|
||||||
{
|
{
|
||||||
|
|
|
@ -3375,8 +3375,9 @@ int swad__sendMessage (struct soap *soap,
|
||||||
if (ReplyUsrCod > 0 || ThereAreNicknames) // There are a recipient to reply or nicknames in "to"
|
if (ReplyUsrCod > 0 || ThereAreNicknames) // There are a recipient to reply or nicknames in "to"
|
||||||
{
|
{
|
||||||
/***** Get users *****/
|
/***** Get users *****/
|
||||||
NumRows = DB_QuerySELECTusingQueryStr (&Query,&mysql_res,
|
NumRows = DB_QuerySELECT (&mysql_res,"can not get users",
|
||||||
"can not get users");
|
"%s",
|
||||||
|
Query);
|
||||||
|
|
||||||
sendMessageOut->numUsers = (int) NumRows;
|
sendMessageOut->numUsers = (int) NumRows;
|
||||||
sendMessageOut->usersArray.__size = (int) NumRows;
|
sendMessageOut->usersArray.__size = (int) NumRows;
|
||||||
|
|
Loading…
Reference in New Issue