From e4e15edc5e7940d163cd3c3c265bc89f5b038f44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Thu, 23 Jun 2016 23:37:35 +0200 Subject: [PATCH] Version 15.230.3 --- swad_changelog.h | 3 ++- swad_user.c | 67 ++++++++++++++++++++---------------------------- 2 files changed, 30 insertions(+), 40 deletions(-) diff --git a/swad_changelog.h b/swad_changelog.h index 6dfd6e64a..4bb822723 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -129,13 +129,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 15.230.2 (2016-06-23)" +#define Log_PLATFORM_VERSION "SWAD 15.230.3 (2016-06-23)" #define CSS_FILE "swad15.229.css" #define JS_FILE "swad15.226.js" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1 /* + Version 15.230.3: Jun 23, 2015 Optimization in search of users. (203378 lines) Version 15.230.2: Jun 23, 2015 Fixed bug in search of users. (203388 lines) Version 15.230.1: Jun 23, 2015 Fixed bug in search of users. (203375 lines) Version 15.230: Jun 23, 2015 Optimization and bug fixing in search of users. (203374 lines) diff --git a/swad_user.c b/swad_user.c index e94709a7a..5175b94d1 100644 --- a/swad_user.c +++ b/swad_user.c @@ -3876,12 +3876,11 @@ static void Usr_SearchListUsrs (Rol_Role_t Role,const char *UsrQuery) Pri_VisibilityDB[Pri_VISIBILITY_WORLD]); break; case Rol_SYS_ADM: - sprintf (Query,"SELECT list_usrs.UsrCod,usr_data.Sex FROM " - "(SELECT DISTINCT candidate_users.UsrCod FROM " - "(SELECT UsrCod FROM usr_data WHERE %s) AS candidate_users,crs_usr" + sprintf (Query,"SELECT DISTINCT candidate_users.UsrCod,usr_data.Sex FROM " + "(SELECT UsrCod FROM usr_data WHERE %s) AS candidate_users,crs_usr,usr_data" " WHERE candidate_users.UsrCod=crs_usr.UsrCod" - " AND crs_usr.Role='%u') AS list_usrs,usr_data" - " WHERE list_usrs.UsrCod=usr_data.UsrCod" + " AND crs_usr.Role='%u'" + " AND candidate_users.UsrCod=usr_data.UsrCod" " ORDER BY " "usr_data.Surname1," "usr_data.Surname2," @@ -3976,17 +3975,16 @@ static void Usr_SearchListUsrs (Rol_Role_t Role,const char *UsrQuery) Pri_VisibilityDB[Pri_VISIBILITY_WORLD]); break; case Rol_SYS_ADM: - sprintf (Query,"SELECT list_usrs.UsrCod,usr_data.Sex FROM " - "(SELECT DISTINCT candidate_users.UsrCod FROM " - "(SELECT UsrCod FROM usr_data WHERE %s) AS candidate_users,crs_usr,courses,degrees,centres,institutions" + sprintf (Query,"SELECT DISTINCT candidate_users.UsrCod,usr_data.Sex FROM " + "(SELECT UsrCod FROM usr_data WHERE %s) AS candidate_users,crs_usr,courses,degrees,centres,institutions,usr_data" " WHERE candidate_users.UsrCod=crs_usr.UsrCod" " AND crs_usr.Role='%u'" " AND crs_usr.CrsCod=courses.CrsCod" " AND courses.DegCod=degrees.DegCod" " AND degrees.CtrCod=centres.CtrCod" " AND centres.InsCod=institutions.InsCod" - " AND institutions.CtyCod='%ld') AS list_usrs,usr_data" - " WHERE list_usrs.UsrCod=usr_data.UsrCod" + " AND institutions.CtyCod='%ld'" + " AND candidate_users.UsrCod=usr_data.UsrCod" " ORDER BY " "usr_data.Surname1," "usr_data.Surname2," @@ -4100,16 +4098,15 @@ static void Usr_SearchListUsrs (Rol_Role_t Role,const char *UsrQuery) break; case Rol_INS_ADM: case Rol_SYS_ADM: - sprintf (Query,"SELECT list_usrs.UsrCod,usr_data.Sex FROM " - "(SELECT DISTINCT candidate_users.UsrCod FROM " - "(SELECT UsrCod FROM usr_data WHERE %s) AS candidate_users,crs_usr,courses,degrees,centres" + sprintf (Query,"SELECT DISTINCT candidate_users.UsrCod,usr_data.Sex FROM " + "(SELECT UsrCod FROM usr_data WHERE %s) AS candidate_users,crs_usr,courses,degrees,centres,usr_data" " WHERE candidate_users.UsrCod=crs_usr.UsrCod" " AND crs_usr.Role='%u'" " AND crs_usr.CrsCod=courses.CrsCod" " AND courses.DegCod=degrees.DegCod" " AND degrees.CtrCod=centres.CtrCod" - " AND centres.InsCod='%ld') AS list_usrs,usr_data" - " WHERE list_usrs.UsrCod=usr_data.UsrCod" + " AND centres.InsCod='%ld'" + " AND candidate_users.UsrCod=usr_data.UsrCod" " ORDER BY " "usr_data.Surname1," "usr_data.Surname2," @@ -4220,15 +4217,14 @@ static void Usr_SearchListUsrs (Rol_Role_t Role,const char *UsrQuery) case Rol_CTR_ADM: case Rol_INS_ADM: case Rol_SYS_ADM: - sprintf (Query,"SELECT list_usrs.UsrCod,usr_data.Sex FROM " - "(SELECT DISTINCT candidate_users.UsrCod FROM " - "(SELECT UsrCod FROM usr_data WHERE %s) AS candidate_users,crs_usr,courses,degrees" + sprintf (Query,"SELECT DISTINCT candidate_users.UsrCod,usr_data.Sex FROM " + "(SELECT UsrCod FROM usr_data WHERE %s) AS candidate_users,crs_usr,courses,degrees,usr_data" " WHERE candidate_users.UsrCod=crs_usr.UsrCod" " AND crs_usr.Role='%u'" " AND crs_usr.CrsCod=courses.CrsCod" " AND courses.DegCod=degrees.DegCod" - " AND degrees.CtrCod='%ld') AS list_usrs,usr_data" - " WHERE list_usrs.UsrCod=usr_data.UsrCod" + " AND degrees.CtrCod='%ld'" + " AND candidate_users.UsrCod=usr_data.UsrCod" " ORDER BY " "usr_data.Surname1," "usr_data.Surname2," @@ -4336,15 +4332,13 @@ static void Usr_SearchListUsrs (Rol_Role_t Role,const char *UsrQuery) case Rol_CTR_ADM: case Rol_INS_ADM: case Rol_SYS_ADM: - sprintf (Query,"SELECT list_usrs.UsrCod,usr_data.Sex FROM " - "(SELECT DISTINCT candidate_users.UsrCod FROM " - "(SELECT UsrCod FROM usr_data WHERE %s) AS candidate_users,crs_usr,courses" - " WHERE candidate_users.UsrCod=crs_usr.UsrCod" - " AND crs_usr.Role='%u'" - " AND crs_usr.CrsCod=courses.CrsCod" - " AND courses.DegCod='%ld') " - "AS list_usrs,usr_data" - " WHERE list_usrs.UsrCod=usr_data.UsrCod" + sprintf (Query,"SELECT DISTINCT candidate_users.UsrCod,usr_data.Sex FROM " + "(SELECT UsrCod FROM usr_data WHERE %s) AS candidate_users,crs_usr,courses,usr_data" + " WHERE candidate_users.UsrCod=crs_usr.UsrCod" + " AND crs_usr.Role='%u'" + " AND crs_usr.CrsCod=courses.CrsCod" + " AND courses.DegCod='%ld'" + " AND candidate_users.UsrCod=usr_data.UsrCod" " ORDER BY " "usr_data.Surname1," "usr_data.Surname2," @@ -4452,16 +4446,12 @@ static void Usr_SearchListUsrs (Rol_Role_t Role,const char *UsrQuery) case Rol_CTR_ADM: case Rol_INS_ADM: case Rol_SYS_ADM: - sprintf (Query,"SELECT list_usrs.UsrCod,usr_data.Sex,crs_usr.Accepted FROM " - "(SELECT DISTINCT candidate_users.UsrCod FROM " - "(SELECT UsrCod FROM usr_data WHERE %s) AS candidate_users,crs_usr" - " WHERE candidate_users.UsrCod=crs_usr.UsrCod" - " AND crs_usr.Role='%u'" - " AND crs_usr.CrsCod='%ld') " - "AS list_usrs,crs_usr,usr_data" - " WHERE list_usrs.UsrCod=crs_usr.UsrCod" + sprintf (Query,"SELECT DISTINCT candidate_users.UsrCod,usr_data.Sex,crs_usr.Accepted FROM " + "(SELECT UsrCod FROM usr_data WHERE %s) AS candidate_users,crs_usr,usr_data" + " WHERE candidate_users.UsrCod=crs_usr.UsrCod" + " AND crs_usr.Role='%u'" " AND crs_usr.CrsCod='%ld'" - " AND list_usrs.UsrCod=usr_data.UsrCod" + " AND candidate_users.UsrCod=usr_data.UsrCod" " ORDER BY " "usr_data.Surname1," "usr_data.Surname2," @@ -4469,7 +4459,6 @@ static void Usr_SearchListUsrs (Rol_Role_t Role,const char *UsrQuery) "usr_data.UsrCod", UsrQuery, (unsigned) Role, - Gbl.CurrentCrs.Crs.CrsCod, Gbl.CurrentCrs.Crs.CrsCod); break; default: // I am logged