mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-09 18:25:23 +02:00
Version 18.11.4
This commit is contained in:
parent
e0602b0ad0
commit
6c93499a82
|
@ -355,10 +355,11 @@ En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 18.11.2 (2018-10-30)"
|
#define Log_PLATFORM_VERSION "SWAD 18.11.4 (2018-10-30)"
|
||||||
#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.11.4: Oct 30, 2018 Joining building and performing query into one function. (235593 lines)
|
||||||
Version 18.11.3: Oct 30, 2018 Joining building and performing query into one function. (235553 lines)
|
Version 18.11.3: Oct 30, 2018 Joining building and performing query into one function. (235553 lines)
|
||||||
Version 18.11.2: Oct 30, 2018 Joining building and performing query into one function. (235531 lines)
|
Version 18.11.2: Oct 30, 2018 Joining building and performing query into one function. (235531 lines)
|
||||||
Version 18.11.1: Oct 30, 2018 Joining building and performing query into one function. (235497 lines)
|
Version 18.11.1: Oct 30, 2018 Joining building and performing query into one function. (235497 lines)
|
||||||
|
|
|
@ -3124,9 +3124,8 @@ void Crs_GetAndWriteCrssOfAUsr (const struct UsrData *UsrDat,Rol_Role_t Role)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/****************************** List courses found ***************************/
|
/**************************** List courses found *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
// Returns number of courses found
|
|
||||||
|
|
||||||
void Crs_ListCrssFound (MYSQL_RES **mysql_res,unsigned NumCrss)
|
void Crs_ListCrssFound (MYSQL_RES **mysql_res,unsigned NumCrss)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2552,22 +2552,19 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/****************************** List degrees found ***************************/
|
/**************************** List degrees found *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
// Returns number of degrees found
|
|
||||||
|
|
||||||
unsigned Deg_ListDegsFound (void)
|
void Deg_ListDegsFound (MYSQL_RES **mysql_res,unsigned NumDegs)
|
||||||
{
|
{
|
||||||
extern const char *Txt_degree;
|
extern const char *Txt_degree;
|
||||||
extern const char *Txt_degrees;
|
extern const char *Txt_degrees;
|
||||||
MYSQL_RES *mysql_res;
|
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
unsigned NumDegs;
|
|
||||||
unsigned NumDeg;
|
unsigned NumDeg;
|
||||||
struct Degree Deg;
|
struct Degree Deg;
|
||||||
|
|
||||||
/***** Query database *****/
|
/***** Query database *****/
|
||||||
if ((NumDegs = (unsigned) DB_QuerySELECT_new (&mysql_res,"can not get degrees")))
|
if (NumDegs)
|
||||||
{
|
{
|
||||||
/***** Start box and table *****/
|
/***** Start box and table *****/
|
||||||
/* Number of degrees found */
|
/* Number of degrees found */
|
||||||
|
@ -2587,7 +2584,7 @@ unsigned Deg_ListDegsFound (void)
|
||||||
NumDeg++)
|
NumDeg++)
|
||||||
{
|
{
|
||||||
/* Get next degree */
|
/* Get next degree */
|
||||||
row = mysql_fetch_row (mysql_res);
|
row = mysql_fetch_row (*mysql_res);
|
||||||
|
|
||||||
/* Get degree code (row[0]) */
|
/* Get degree code (row[0]) */
|
||||||
Deg.DegCod = Str_ConvertStrCodToLongCod (row[0]);
|
Deg.DegCod = Str_ConvertStrCodToLongCod (row[0]);
|
||||||
|
@ -2604,7 +2601,5 @@ unsigned Deg_ListDegsFound (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Free structure that stores the query result *****/
|
/***** Free structure that stores the query result *****/
|
||||||
DB_FreeMySQLResult (&mysql_res);
|
DB_FreeMySQLResult (mysql_res);
|
||||||
|
|
||||||
return NumDegs;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -143,6 +143,6 @@ unsigned Deg_GetNumDegsInCtr (long CtrCod);
|
||||||
unsigned Deg_GetNumDegsWithCrss (const char *SubQuery);
|
unsigned Deg_GetNumDegsWithCrss (const char *SubQuery);
|
||||||
unsigned Deg_GetNumDegsWithUsrs (Rol_Role_t Role,const char *SubQuery);
|
unsigned Deg_GetNumDegsWithUsrs (Rol_Role_t Role,const char *SubQuery);
|
||||||
|
|
||||||
unsigned Deg_ListDegsFound (void);
|
void Deg_ListDegsFound (MYSQL_RES **mysql_res,unsigned NumCrss);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -281,27 +281,26 @@ void Dpt_GetListDepartments (long InsCod)
|
||||||
sprintf (OrderBySubQuery,"NumTchs DESC,FullName");
|
sprintf (OrderBySubQuery,"NumTchs DESC,FullName");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
DB_BuildQuery ("(SELECT departments.DptCod,departments.InsCod,"
|
Gbl.Dpts.Num = (unsigned) DB_QuerySELECT (&mysql_res,"can not get departments",
|
||||||
"departments.ShortName,departments.FullName,departments.WWW,"
|
"(SELECT departments.DptCod,departments.InsCod,"
|
||||||
"COUNT(DISTINCT usr_data.UsrCod) AS NumTchs"
|
"departments.ShortName,departments.FullName,departments.WWW,"
|
||||||
" FROM departments,usr_data,crs_usr"
|
"COUNT(DISTINCT usr_data.UsrCod) AS NumTchs"
|
||||||
" WHERE departments.InsCod=%ld"
|
" FROM departments,usr_data,crs_usr"
|
||||||
" AND departments.DptCod=usr_data.DptCod"
|
" WHERE departments.InsCod=%ld"
|
||||||
" AND usr_data.UsrCod=crs_usr.UsrCod"
|
" AND departments.DptCod=usr_data.DptCod"
|
||||||
" AND crs_usr.Role IN (%u,%u)"
|
" AND usr_data.UsrCod=crs_usr.UsrCod"
|
||||||
" GROUP BY departments.DptCod)"
|
" AND crs_usr.Role IN (%u,%u)"
|
||||||
" UNION "
|
" GROUP BY departments.DptCod)"
|
||||||
"(SELECT DptCod,InsCod,ShortName,FullName,WWW,0 AS NumTchs"
|
" UNION "
|
||||||
" FROM departments"
|
"(SELECT DptCod,InsCod,ShortName,FullName,WWW,0 AS NumTchs"
|
||||||
" WHERE InsCod=%ld AND DptCod NOT IN"
|
" FROM departments"
|
||||||
" (SELECT DISTINCT usr_data.DptCod FROM usr_data,crs_usr"
|
" WHERE InsCod=%ld AND DptCod NOT IN"
|
||||||
" WHERE crs_usr.Role IN (%u,%u) AND crs_usr.UsrCod=usr_data.UsrCod))"
|
" (SELECT DISTINCT usr_data.DptCod FROM usr_data,crs_usr"
|
||||||
" ORDER BY %s",
|
" WHERE crs_usr.Role IN (%u,%u) AND crs_usr.UsrCod=usr_data.UsrCod))"
|
||||||
InsCod,(unsigned) Rol_NET,(unsigned) Rol_TCH,
|
" ORDER BY %s",
|
||||||
InsCod,(unsigned) Rol_NET,(unsigned) Rol_TCH,
|
InsCod,(unsigned) Rol_NET,(unsigned) Rol_TCH,
|
||||||
OrderBySubQuery);
|
InsCod,(unsigned) Rol_NET,(unsigned) Rol_TCH,
|
||||||
Gbl.Dpts.Num = (unsigned) DB_QuerySELECT_new (&mysql_res,"can not get departments");
|
OrderBySubQuery);
|
||||||
|
|
||||||
if (Gbl.Dpts.Num) // Departments found...
|
if (Gbl.Dpts.Num) // Departments found...
|
||||||
{
|
{
|
||||||
/***** Create list with courses in degree *****/
|
/***** Create list with courses in degree *****/
|
||||||
|
@ -377,24 +376,23 @@ void Dpt_GetDataOfDepartmentByCod (struct Department *Dpt)
|
||||||
else if (Dpt->DptCod > 0)
|
else if (Dpt->DptCod > 0)
|
||||||
{
|
{
|
||||||
/***** Get data of a department from database *****/
|
/***** Get data of a department from database *****/
|
||||||
DB_BuildQuery ("(SELECT departments.InsCod,departments.ShortName,departments.FullName,departments.WWW,"
|
NumRows = DB_QuerySELECT (&mysql_res,"can not get data of a department",
|
||||||
"COUNT(DISTINCT usr_data.UsrCod) AS NumTchs"
|
"(SELECT departments.InsCod,departments.ShortName,departments.FullName,departments.WWW,"
|
||||||
" FROM departments,usr_data,crs_usr"
|
"COUNT(DISTINCT usr_data.UsrCod) AS NumTchs"
|
||||||
" WHERE departments.DptCod=%ld"
|
" FROM departments,usr_data,crs_usr"
|
||||||
" AND departments.DptCod=usr_data.DptCod"
|
" WHERE departments.DptCod=%ld"
|
||||||
" AND usr_data.UsrCod=crs_usr.UsrCod"
|
" AND departments.DptCod=usr_data.DptCod"
|
||||||
" AND crs_usr.Role=%u"
|
" AND usr_data.UsrCod=crs_usr.UsrCod"
|
||||||
" GROUP BY departments.DptCod)"
|
" AND crs_usr.Role=%u"
|
||||||
" UNION "
|
" GROUP BY departments.DptCod)"
|
||||||
"(SELECT InsCod,ShortName,FullName,WWW,0"
|
" UNION "
|
||||||
" FROM departments"
|
"(SELECT InsCod,ShortName,FullName,WWW,0"
|
||||||
" WHERE DptCod=%ld AND DptCod NOT IN"
|
" FROM departments"
|
||||||
" (SELECT DISTINCT usr_data.DptCod FROM usr_data,crs_usr"
|
" WHERE DptCod=%ld AND DptCod NOT IN"
|
||||||
" WHERE crs_usr.Role=%u AND crs_usr.UsrCod=usr_data.UsrCod))",
|
" (SELECT DISTINCT usr_data.DptCod FROM usr_data,crs_usr"
|
||||||
Dpt->DptCod,(unsigned) Rol_TCH,
|
" WHERE crs_usr.Role=%u AND crs_usr.UsrCod=usr_data.UsrCod))",
|
||||||
Dpt->DptCod,(unsigned) Rol_TCH);
|
Dpt->DptCod,(unsigned) Rol_TCH,
|
||||||
NumRows = DB_QuerySELECT_new (&mysql_res,"can not get data of a department");
|
Dpt->DptCod,(unsigned) Rol_TCH);
|
||||||
|
|
||||||
if (NumRows) // Department found...
|
if (NumRows) // Department found...
|
||||||
{
|
{
|
||||||
/* Get row */
|
/* Get row */
|
||||||
|
|
|
@ -145,12 +145,13 @@ void Dup_ListDuplicateUsrs (void)
|
||||||
Box_StartBox (NULL,Txt_Possibly_duplicate_users,NULL,
|
Box_StartBox (NULL,Txt_Possibly_duplicate_users,NULL,
|
||||||
Hlp_USERS_Duplicates_possibly_duplicate_users,Box_NOT_CLOSABLE);
|
Hlp_USERS_Duplicates_possibly_duplicate_users,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
/***** Build query *****/
|
/***** Make query *****/
|
||||||
DB_BuildQuery ("SELECT UsrCod,COUNT(*) AS N,MIN(UNIX_TIMESTAMP(InformTime)) AS T"
|
NumUsrs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get possibly"
|
||||||
" FROM usr_duplicated"
|
" duplicate users",
|
||||||
" GROUP BY UsrCod"
|
"SELECT UsrCod,COUNT(*) AS N,MIN(UNIX_TIMESTAMP(InformTime)) AS T"
|
||||||
" ORDER BY N DESC,T DESC");
|
" FROM usr_duplicated"
|
||||||
NumUsrs = (unsigned) DB_QuerySELECT_new (&mysql_res,"can not get possibly duplicate users");
|
" GROUP BY UsrCod"
|
||||||
|
" ORDER BY N DESC,T DESC");
|
||||||
|
|
||||||
/***** List possible duplicated users *****/
|
/***** List possible duplicated users *****/
|
||||||
if (NumUsrs)
|
if (NumUsrs)
|
||||||
|
@ -266,27 +267,26 @@ static void Dup_ListSimilarUsrs (void)
|
||||||
Box_StartBox (NULL,Txt_Similar_users,NULL,
|
Box_StartBox (NULL,Txt_Similar_users,NULL,
|
||||||
Hlp_USERS_Duplicates_similar_users,Box_NOT_CLOSABLE);
|
Hlp_USERS_Duplicates_similar_users,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
/***** Build query *****/
|
/***** Make query *****/
|
||||||
if (Gbl.Usrs.Other.UsrDat.Surname1[0] &&
|
if (Gbl.Usrs.Other.UsrDat.Surname1[0] &&
|
||||||
Gbl.Usrs.Other.UsrDat.FirstName[0]) // Name and surname 1 not empty
|
Gbl.Usrs.Other.UsrDat.FirstName[0]) // Name and surname 1 not empty
|
||||||
{
|
NumUsrs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get similar users",
|
||||||
DB_BuildQuery ("SELECT DISTINCT UsrCod FROM"
|
"SELECT DISTINCT UsrCod FROM"
|
||||||
"(SELECT DISTINCT UsrCod FROM usr_IDs"
|
"(SELECT DISTINCT UsrCod FROM usr_IDs"
|
||||||
" WHERE UsrID IN (SELECT UsrID FROM usr_IDs WHERE UsrCod=%ld)"
|
" WHERE UsrID IN (SELECT UsrID FROM usr_IDs WHERE UsrCod=%ld)"
|
||||||
" UNION"
|
" UNION"
|
||||||
" SELECT UsrCod FROM usr_data"
|
" SELECT UsrCod FROM usr_data"
|
||||||
" WHERE Surname1='%s' AND Surname2='%s' AND FirstName='%s')"
|
" WHERE Surname1='%s' AND Surname2='%s' AND FirstName='%s')"
|
||||||
" AS U",
|
" AS U",
|
||||||
Gbl.Usrs.Other.UsrDat.UsrCod,
|
Gbl.Usrs.Other.UsrDat.UsrCod,
|
||||||
Gbl.Usrs.Other.UsrDat.Surname1,
|
Gbl.Usrs.Other.UsrDat.Surname1,
|
||||||
Gbl.Usrs.Other.UsrDat.Surname2,
|
Gbl.Usrs.Other.UsrDat.Surname2,
|
||||||
Gbl.Usrs.Other.UsrDat.FirstName);
|
Gbl.Usrs.Other.UsrDat.FirstName);
|
||||||
}
|
|
||||||
else
|
else
|
||||||
DB_BuildQuery ("SELECT DISTINCT UsrCod FROM usr_IDs"
|
NumUsrs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get similar users",
|
||||||
" WHERE UsrID IN (SELECT UsrID FROM usr_IDs WHERE UsrCod=%ld)",
|
"SELECT DISTINCT UsrCod FROM usr_IDs"
|
||||||
Gbl.Usrs.Other.UsrDat.UsrCod);
|
" WHERE UsrID IN (SELECT UsrID FROM usr_IDs WHERE UsrCod=%ld)",
|
||||||
NumUsrs = (unsigned) DB_QuerySELECT_new (&mysql_res,"can not get similar users");
|
Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||||
|
|
||||||
/***** List possible similar users *****/
|
/***** List possible similar users *****/
|
||||||
if (NumUsrs)
|
if (NumUsrs)
|
||||||
|
|
727
swad_enrolment.c
727
swad_enrolment.c
|
@ -477,12 +477,12 @@ void Enr_GetNotifEnrolment (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
|
||||||
// This function may be called inside a web service, so don't report error
|
// This function may be called inside a web service, so don't report error
|
||||||
|
|
||||||
/***** Get user's role in course from database *****/
|
/***** Get user's role in course from database *****/
|
||||||
DB_BuildQuery ("SELECT Role"
|
if (DB_QuerySELECT (&mysql_res,"can not get user's role"
|
||||||
" FROM crs_usr"
|
" in course",
|
||||||
" WHERE CrsCod=%ld AND UsrCod=%ld",
|
"SELECT Role"
|
||||||
CrsCod,UsrCod);
|
" FROM crs_usr"
|
||||||
if (DB_QuerySELECT_new (&mysql_res,"can not get user's role"
|
" WHERE CrsCod=%ld AND UsrCod=%ld",
|
||||||
" in course") == 1) // Result should have a unique row
|
CrsCod,UsrCod) == 1) // Result should have a unique row
|
||||||
{
|
{
|
||||||
/***** Get user's role in course *****/
|
/***** Get user's role in course *****/
|
||||||
row = mysql_fetch_row (mysql_res);
|
row = mysql_fetch_row (mysql_res);
|
||||||
|
@ -859,17 +859,18 @@ void Enr_RemoveOldUsrs (void)
|
||||||
SecondsWithoutAccess = (time_t) MonthsWithoutAccess * Dat_SECONDS_IN_ONE_MONTH;
|
SecondsWithoutAccess = (time_t) MonthsWithoutAccess * Dat_SECONDS_IN_ONE_MONTH;
|
||||||
|
|
||||||
/***** Get old users from database *****/
|
/***** Get old users from database *****/
|
||||||
DB_BuildQuery ("SELECT UsrCod FROM"
|
NumUsrs = DB_QuerySELECT (&mysql_res,"can not get old users",
|
||||||
"("
|
"SELECT UsrCod FROM"
|
||||||
"SELECT UsrCod FROM usr_last WHERE"
|
"("
|
||||||
" LastTime<FROM_UNIXTIME(UNIX_TIMESTAMP()-'%lu')"
|
"SELECT UsrCod FROM usr_last WHERE"
|
||||||
" UNION "
|
" LastTime<FROM_UNIXTIME(UNIX_TIMESTAMP()-'%lu')"
|
||||||
"SELECT UsrCod FROM usr_data WHERE"
|
" UNION "
|
||||||
" UsrCod NOT IN (SELECT UsrCod FROM usr_last)"
|
"SELECT UsrCod FROM usr_data WHERE"
|
||||||
") AS candidate_usrs"
|
" UsrCod NOT IN (SELECT UsrCod FROM usr_last)"
|
||||||
" WHERE UsrCod NOT IN (SELECT DISTINCT UsrCod FROM crs_usr)",
|
") AS candidate_usrs"
|
||||||
(unsigned long) SecondsWithoutAccess);
|
" WHERE UsrCod NOT IN (SELECT DISTINCT UsrCod FROM crs_usr)",
|
||||||
if ((NumUsrs = DB_QuerySELECT_new (&mysql_res,"can not get old users")))
|
(unsigned long) SecondsWithoutAccess);
|
||||||
|
if (NumUsrs)
|
||||||
{
|
{
|
||||||
snprintf (Gbl.Alert.Txt,sizeof (Gbl.Alert.Txt),
|
snprintf (Gbl.Alert.Txt,sizeof (Gbl.Alert.Txt),
|
||||||
Txt_Eliminating_X_users_who_were_not_enroled_in_any_course_and_with_more_than_Y_months_without_access_to_Z,
|
Txt_Eliminating_X_users_who_were_not_enroled_in_any_course_and_with_more_than_Y_months_without_access_to_Z,
|
||||||
|
@ -2028,11 +2029,11 @@ void Enr_SignUpInCrs (void)
|
||||||
Lay_ShowErrorAndExit ("Wrong role.");
|
Lay_ShowErrorAndExit ("Wrong role.");
|
||||||
|
|
||||||
/***** Try to get and old request of the same user in the same course from database *****/
|
/***** Try to get and old request of the same user in the same course from database *****/
|
||||||
DB_BuildQuery ("SELECT ReqCod FROM crs_usr_requests"
|
if (DB_QuerySELECT (&mysql_res,"can not get enrolment request",
|
||||||
" WHERE CrsCod=%ld AND UsrCod=%ld",
|
"SELECT ReqCod FROM crs_usr_requests"
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,
|
" WHERE CrsCod=%ld AND UsrCod=%ld",
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
Gbl.CurrentCrs.Crs.CrsCod,
|
||||||
if (DB_QuerySELECT_new (&mysql_res,"can not get enrolment request"))
|
Gbl.Usrs.Me.UsrDat.UsrCod))
|
||||||
{
|
{
|
||||||
row = mysql_fetch_row (mysql_res);
|
row = mysql_fetch_row (mysql_res);
|
||||||
/* Get request code (row[0]) */
|
/* Get request code (row[0]) */
|
||||||
|
@ -2098,11 +2099,11 @@ void Enr_GetNotifEnrolmentRequest (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
|
||||||
// This function may be called inside a web service, so don't report error
|
// This function may be called inside a web service, so don't report error
|
||||||
|
|
||||||
/***** Get user and requested role from database *****/
|
/***** Get user and requested role from database *****/
|
||||||
DB_BuildQuery ("SELECT UsrCod,Role"
|
if (DB_QuerySELECT (&mysql_res,"can not get enrolment request",
|
||||||
" FROM crs_usr_requests"
|
"SELECT UsrCod,Role"
|
||||||
" WHERE ReqCod=%ld",
|
" FROM crs_usr_requests"
|
||||||
ReqCod);
|
" WHERE ReqCod=%ld",
|
||||||
if (DB_QuerySELECT_new (&mysql_res,"can not get enrolment request") == 1) // Result should have a unique row
|
ReqCod) == 1) // Result should have a unique row
|
||||||
{
|
{
|
||||||
/***** Get user and requested role *****/
|
/***** Get user and requested role *****/
|
||||||
row = mysql_fetch_row (mysql_res);
|
row = mysql_fetch_row (mysql_res);
|
||||||
|
@ -2304,8 +2305,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
extern const char *Txt_No_enrolment_requests;
|
extern const char *Txt_No_enrolment_requests;
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
unsigned NumReq;
|
unsigned long NumReqs = 0; // Initialized to avoid warning
|
||||||
unsigned NumRequests;
|
unsigned long NumReq;
|
||||||
long ReqCod;
|
long ReqCod;
|
||||||
struct Degree Deg;
|
struct Degree Deg;
|
||||||
struct Course Crs;
|
struct Course Crs;
|
||||||
|
@ -2377,83 +2378,93 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
{
|
{
|
||||||
case Rol_TCH:
|
case Rol_TCH:
|
||||||
// Requests in all courses in which I am teacher
|
// Requests in all courses in which I am teacher
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM crs_usr,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE crs_usr.UsrCod=%ld"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND crs_usr.Role=%u"
|
" FROM crs_usr,crs_usr_requests"
|
||||||
" AND crs_usr.CrsCod=crs_usr_requests.CrsCod"
|
" WHERE crs_usr.UsrCod=%ld"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND crs_usr.Role=%u"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND crs_usr.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
(unsigned) Rol_TCH,
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
RolesSelected);
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
(unsigned) Rol_TCH,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_DEG_ADM:
|
case Rol_DEG_ADM:
|
||||||
// Requests in all degrees administrated by me
|
// Requests in all degrees administrated by me
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM admin,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND admin.Cod=courses.DegCod"
|
" FROM admin,courses,crs_usr_requests"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND admin.Cod=courses.DegCod"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_DEG],
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
RolesSelected);
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_DEG],
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_CTR_ADM:
|
case Rol_CTR_ADM:
|
||||||
// Requests in all centres administrated by me
|
// Requests in all centres administrated by me
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM admin,degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND admin.Cod=degrees.CtrCod"
|
" FROM admin,degrees,courses,crs_usr_requests"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND admin.Cod=degrees.CtrCod"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_CTR],
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
RolesSelected);
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_CTR],
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_INS_ADM:
|
case Rol_INS_ADM:
|
||||||
// Requests in all institutions administrated by me
|
// Requests in all institutions administrated by me
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM admin,centres,degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND admin.Cod=centres.InsCod"
|
" FROM admin,centres,degrees,courses,crs_usr_requests"
|
||||||
" AND centres.CtrCod=degrees.CtrCod"
|
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND admin.Cod=centres.InsCod"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND centres.CtrCod=degrees.CtrCod"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_INS],
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
RolesSelected);
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_INS],
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_SYS_ADM:
|
case Rol_SYS_ADM:
|
||||||
// All requests
|
// All requests
|
||||||
DB_BuildQuery ("SELECT ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"CrsCod,"
|
" for enrolment",
|
||||||
"UsrCod,"
|
"SELECT ReqCod,"
|
||||||
"Role,"
|
"CrsCod,"
|
||||||
"UNIX_TIMESTAMP(RequestTime)"
|
"UsrCod,"
|
||||||
" FROM crs_usr_requests"
|
"Role,"
|
||||||
" WHERE ((1<<Role)&%u)<>0"
|
"UNIX_TIMESTAMP(RequestTime)"
|
||||||
" ORDER BY RequestTime DESC",
|
" FROM crs_usr_requests"
|
||||||
RolesSelected);
|
" WHERE ((1<<Role)&%u)<>0"
|
||||||
|
" ORDER BY RequestTime DESC",
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
||||||
|
@ -2465,107 +2476,117 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
{
|
{
|
||||||
case Rol_TCH:
|
case Rol_TCH:
|
||||||
// Requests in courses of this country in which I am teacher
|
// Requests in courses of this country in which I am teacher
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM crs_usr,institutions,centres,degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE crs_usr.UsrCod=%ld"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND crs_usr.Role=%u"
|
" FROM crs_usr,institutions,centres,degrees,courses,crs_usr_requests"
|
||||||
" AND crs_usr.CrsCod=courses.CrsCod"
|
" WHERE crs_usr.UsrCod=%ld"
|
||||||
" AND courses.DegCod=degrees.DegCod"
|
" AND crs_usr.Role=%u"
|
||||||
" AND degrees.CtrCod=centres.CtrCod"
|
" AND crs_usr.CrsCod=courses.CrsCod"
|
||||||
" AND centres.InsCod=institutions.InsCod"
|
" AND courses.DegCod=degrees.DegCod"
|
||||||
" AND institutions.CtyCod=%ld"
|
" AND degrees.CtrCod=centres.CtrCod"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND centres.InsCod=institutions.InsCod"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND institutions.CtyCod=%ld"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
(unsigned) Rol_TCH,
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
Gbl.CurrentCty.Cty.CtyCod,
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
RolesSelected);
|
(unsigned) Rol_TCH,
|
||||||
|
Gbl.CurrentCty.Cty.CtyCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_DEG_ADM:
|
case Rol_DEG_ADM:
|
||||||
// Requests in degrees of this country administrated by me
|
// Requests in degrees of this country administrated by me
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM admin,institutions,centres,degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND admin.Cod=degrees.DegCod"
|
" FROM admin,institutions,centres,degrees,courses,crs_usr_requests"
|
||||||
" AND degrees.CtrCod=centres.CtrCod"
|
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
||||||
" AND centres.InsCod=institutions.InsCod"
|
" AND admin.Cod=degrees.DegCod"
|
||||||
" AND institutions.CtyCod=%ld"
|
" AND degrees.CtrCod=centres.CtrCod"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND centres.InsCod=institutions.InsCod"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND institutions.CtyCod=%ld"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_DEG],
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
Gbl.CurrentCty.Cty.CtyCod,
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
RolesSelected);
|
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_DEG],
|
||||||
|
Gbl.CurrentCty.Cty.CtyCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_CTR_ADM:
|
case Rol_CTR_ADM:
|
||||||
// Requests in centres of this country administrated by me
|
// Requests in centres of this country administrated by me
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM admin,institutions,centres,degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND admin.Cod=centres.CtrCod"
|
" FROM admin,institutions,centres,degrees,courses,crs_usr_requests"
|
||||||
" AND centres.InsCod=institutions.InsCod"
|
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
||||||
" AND institutions.CtyCod=%ld"
|
" AND admin.Cod=centres.CtrCod"
|
||||||
" AND centres.CtrCod=degrees.CtrCod"
|
" AND centres.InsCod=institutions.InsCod"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND institutions.CtyCod=%ld"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND centres.CtrCod=degrees.CtrCod"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_CTR],
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
Gbl.CurrentCty.Cty.CtyCod,
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
RolesSelected);
|
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_CTR],
|
||||||
|
Gbl.CurrentCty.Cty.CtyCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_INS_ADM:
|
case Rol_INS_ADM:
|
||||||
// Requests in institutions of this country administrated by me
|
// Requests in institutions of this country administrated by me
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM admin,institutions,centres,degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND admin.Cod=institutions.InsCod"
|
" FROM admin,institutions,centres,degrees,courses,crs_usr_requests"
|
||||||
" AND institutions.CtyCod=%ld"
|
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
||||||
" AND institutions.InsCod=centres.InsCod"
|
" AND admin.Cod=institutions.InsCod"
|
||||||
" AND centres.CtrCod=degrees.CtrCod"
|
" AND institutions.CtyCod=%ld"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND institutions.InsCod=centres.InsCod"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND centres.CtrCod=degrees.CtrCod"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_INS],
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
Gbl.CurrentCty.Cty.CtyCod,
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
RolesSelected);
|
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_INS],
|
||||||
|
Gbl.CurrentCty.Cty.CtyCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_SYS_ADM:
|
case Rol_SYS_ADM:
|
||||||
// Requests in any course of this country
|
// Requests in any course of this country
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM institutions,centres,degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE institutions.CtyCod=%ld"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND institutions.InsCod=centres.InsCod"
|
" FROM institutions,centres,degrees,courses,crs_usr_requests"
|
||||||
" AND centres.CtrCod=degrees.CtrCod"
|
" WHERE institutions.CtyCod=%ld"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND institutions.InsCod=centres.InsCod"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND centres.CtrCod=degrees.CtrCod"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.CurrentCty.Cty.CtyCod,
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
RolesSelected);
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
|
Gbl.CurrentCty.Cty.CtyCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
||||||
|
@ -2577,83 +2598,91 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
{
|
{
|
||||||
case Rol_TCH:
|
case Rol_TCH:
|
||||||
// Requests in courses of this institution in which I am teacher
|
// Requests in courses of this institution in which I am teacher
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM crs_usr,centres,degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE crs_usr.UsrCod=%ld"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND crs_usr.Role=%u"
|
" FROM crs_usr,centres,degrees,courses,crs_usr_requests"
|
||||||
" AND crs_usr.CrsCod=courses.CrsCod"
|
" WHERE crs_usr.UsrCod=%ld"
|
||||||
" AND courses.DegCod=degrees.DegCod"
|
" AND crs_usr.Role=%u"
|
||||||
" AND degrees.CtrCod=centres.CtrCod"
|
" AND crs_usr.CrsCod=courses.CrsCod"
|
||||||
" AND centres.InsCod=%ld"
|
" AND courses.DegCod=degrees.DegCod"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND degrees.CtrCod=centres.CtrCod"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND centres.InsCod=%ld"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
(unsigned) Rol_TCH,
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
Gbl.CurrentIns.Ins.InsCod,
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
RolesSelected);
|
(unsigned) Rol_TCH,
|
||||||
|
Gbl.CurrentIns.Ins.InsCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_DEG_ADM:
|
case Rol_DEG_ADM:
|
||||||
// Requests in degrees of this institution administrated by me
|
// Requests in degrees of this institution administrated by me
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM admin,centres,degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND admin.Cod=degrees.DegCod"
|
" FROM admin,centres,degrees,courses,crs_usr_requests"
|
||||||
" AND degrees.CtrCod=centres.CtrCod"
|
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
||||||
" AND centres.InsCod=%ld"
|
" AND admin.Cod=degrees.DegCod"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND degrees.CtrCod=centres.CtrCod"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND centres.InsCod=%ld"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_DEG],
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
Gbl.CurrentIns.Ins.InsCod,
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
RolesSelected);
|
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_DEG],
|
||||||
|
Gbl.CurrentIns.Ins.InsCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_CTR_ADM:
|
case Rol_CTR_ADM:
|
||||||
// Requests in centres of this institution administrated by me
|
// Requests in centres of this institution administrated by me
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM admin,centres,degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND admin.Cod=centres.CtrCod"
|
" FROM admin,centres,degrees,courses,crs_usr_requests"
|
||||||
" AND centres.InsCod=%ld"
|
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
||||||
" AND centres.CtrCod=degrees.CtrCod"
|
" AND admin.Cod=centres.CtrCod"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND centres.InsCod=%ld"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND centres.CtrCod=degrees.CtrCod"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_CTR],
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
Gbl.CurrentIns.Ins.InsCod,
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
RolesSelected);
|
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_CTR],
|
||||||
|
Gbl.CurrentIns.Ins.InsCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this institution
|
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this institution
|
||||||
case Rol_SYS_ADM:
|
case Rol_SYS_ADM:
|
||||||
// Requests in any course of this institution
|
// Requests in any course of this institution
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM centres,degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE centres.InsCod=%ld"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND centres.CtrCod=degrees.CtrCod"
|
" FROM centres,degrees,courses,crs_usr_requests"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" WHERE centres.InsCod=%ld"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND centres.CtrCod=degrees.CtrCod"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.CurrentIns.Ins.InsCod,
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
RolesSelected);
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
|
Gbl.CurrentIns.Ins.InsCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
||||||
|
@ -2665,61 +2694,67 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
{
|
{
|
||||||
case Rol_TCH:
|
case Rol_TCH:
|
||||||
// Requests in courses of this centre in which I am teacher
|
// Requests in courses of this centre in which I am teacher
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM crs_usr,degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE crs_usr.UsrCod=%ld"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND crs_usr.Role=%u"
|
" FROM crs_usr,degrees,courses,crs_usr_requests"
|
||||||
" AND crs_usr.CrsCod=courses.CrsCod"
|
" WHERE crs_usr.UsrCod=%ld"
|
||||||
" AND courses.DegCod=degrees.DegCod"
|
" AND crs_usr.Role=%u"
|
||||||
" AND degrees.CtrCod=%ld"
|
" AND crs_usr.CrsCod=courses.CrsCod"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND courses.DegCod=degrees.DegCod"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND degrees.CtrCod=%ld"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
(unsigned) Rol_TCH,
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
Gbl.CurrentCtr.Ctr.CtrCod,
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
RolesSelected);
|
(unsigned) Rol_TCH,
|
||||||
|
Gbl.CurrentCtr.Ctr.CtrCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_DEG_ADM:
|
case Rol_DEG_ADM:
|
||||||
// Requests in degrees of this centre administrated by me
|
// Requests in degrees of this centre administrated by me
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM admin,degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND admin.Cod=degrees.DegCod"
|
" FROM admin,degrees,courses,crs_usr_requests"
|
||||||
" AND degrees.CtrCod=%ld"
|
" WHERE admin.UsrCod=%ld AND admin.Scope='%s'"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND admin.Cod=degrees.DegCod"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND degrees.CtrCod=%ld"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_DEG],
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
Gbl.CurrentCtr.Ctr.CtrCod,
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
RolesSelected);
|
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_ScopeDB[Sco_SCOPE_DEG],
|
||||||
|
Gbl.CurrentCtr.Ctr.CtrCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_CTR_ADM: // If I am logged as admin of this centre , I can view all the requesters from this centre
|
case Rol_CTR_ADM: // If I am logged as admin of this centre , I can view all the requesters from this centre
|
||||||
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this centre
|
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this centre
|
||||||
case Rol_SYS_ADM:
|
case Rol_SYS_ADM:
|
||||||
// Request in any course of this centre
|
// Request in any course of this centre
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM degrees,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE degrees.CtrCod=%ld"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" FROM degrees,courses,crs_usr_requests"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" WHERE degrees.CtrCod=%ld"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.CurrentCtr.Ctr.CtrCod,
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
RolesSelected);
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
|
Gbl.CurrentCtr.Ctr.CtrCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
||||||
|
@ -2731,41 +2766,45 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
{
|
{
|
||||||
case Rol_TCH:
|
case Rol_TCH:
|
||||||
// Requests in courses of this degree in which I am teacher
|
// Requests in courses of this degree in which I am teacher
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM crs_usr,courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE crs_usr.UsrCod=%ld"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND crs_usr.Role=%u"
|
" FROM crs_usr,courses,crs_usr_requests"
|
||||||
" AND crs_usr.CrsCod=courses.CrsCod"
|
" WHERE crs_usr.UsrCod=%ld"
|
||||||
" AND courses.DegCod=%ld"
|
" AND crs_usr.Role=%u"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" AND crs_usr.CrsCod=courses.CrsCod"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" AND courses.DegCod=%ld"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
(unsigned) Rol_TCH,
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
Gbl.CurrentDeg.Deg.DegCod,
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
RolesSelected);
|
(unsigned) Rol_TCH,
|
||||||
|
Gbl.CurrentDeg.Deg.DegCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
case Rol_DEG_ADM: // If I am logged as admin of this degree , I can view all the requesters from this degree
|
case Rol_DEG_ADM: // If I am logged as admin of this degree , I can view all the requesters from this degree
|
||||||
case Rol_CTR_ADM: // If I am logged as admin of this centre , I can view all the requesters from this degree
|
case Rol_CTR_ADM: // If I am logged as admin of this centre , I can view all the requesters from this degree
|
||||||
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this degree
|
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this degree
|
||||||
case Rol_SYS_ADM:
|
case Rol_SYS_ADM:
|
||||||
// Requests in any course of this degree
|
// Requests in any course of this degree
|
||||||
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"crs_usr_requests.CrsCod,"
|
" for enrolment",
|
||||||
"crs_usr_requests.UsrCod,"
|
"SELECT crs_usr_requests.ReqCod,"
|
||||||
"crs_usr_requests.Role,"
|
"crs_usr_requests.CrsCod,"
|
||||||
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
"crs_usr_requests.UsrCod,"
|
||||||
" FROM courses,crs_usr_requests"
|
"crs_usr_requests.Role,"
|
||||||
" WHERE courses.DegCod=%ld"
|
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
|
||||||
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
" FROM courses,crs_usr_requests"
|
||||||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
" WHERE courses.DegCod=%ld"
|
||||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
" AND courses.CrsCod=crs_usr_requests.CrsCod"
|
||||||
Gbl.CurrentDeg.Deg.DegCod,
|
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||||
RolesSelected);
|
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||||
|
Gbl.CurrentDeg.Deg.DegCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
||||||
|
@ -2781,14 +2820,16 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this course
|
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this course
|
||||||
case Rol_SYS_ADM:
|
case Rol_SYS_ADM:
|
||||||
// Requests in this course
|
// Requests in this course
|
||||||
DB_BuildQuery ("SELECT ReqCod,CrsCod,UsrCod,Role,"
|
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
|
||||||
"UNIX_TIMESTAMP(RequestTime)"
|
" for enrolment",
|
||||||
" FROM crs_usr_requests"
|
"SELECT ReqCod,CrsCod,UsrCod,Role,"
|
||||||
" WHERE CrsCod=%ld"
|
"UNIX_TIMESTAMP(RequestTime)"
|
||||||
" AND ((1<<Role)&%u)<>0"
|
" FROM crs_usr_requests"
|
||||||
" ORDER BY RequestTime DESC",
|
" WHERE CrsCod=%ld"
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,
|
" AND ((1<<Role)&%u)<>0"
|
||||||
RolesSelected);
|
" ORDER BY RequestTime DESC",
|
||||||
|
Gbl.CurrentCrs.Crs.CrsCod,
|
||||||
|
RolesSelected);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
||||||
|
@ -2800,10 +2841,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
NumRequests = (unsigned) DB_QuerySELECT_new (&mysql_res,"can not get requests for enrolment");
|
|
||||||
|
|
||||||
/***** List requests *****/
|
/***** List requests *****/
|
||||||
if (NumRequests)
|
if (NumReqs)
|
||||||
{
|
{
|
||||||
/* Initialize structure with user's data */
|
/* Initialize structure with user's data */
|
||||||
Usr_UsrDataConstructor (&UsrDat);
|
Usr_UsrDataConstructor (&UsrDat);
|
||||||
|
@ -2837,7 +2876,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
|
|
||||||
/* List requests */
|
/* List requests */
|
||||||
for (NumReq = 0;
|
for (NumReq = 0;
|
||||||
NumReq < NumRequests;
|
NumReq < NumReqs;
|
||||||
NumReq++)
|
NumReq++)
|
||||||
{
|
{
|
||||||
row = mysql_fetch_row (mysql_res);
|
row = mysql_fetch_row (mysql_res);
|
||||||
|
@ -2871,9 +2910,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
/***** Number *****/
|
/***** Number *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"DAT RIGHT_TOP\">"
|
"<td class=\"DAT RIGHT_TOP\">"
|
||||||
"%u"
|
"%lu"
|
||||||
"</td>",
|
"</td>",
|
||||||
NumRequests - NumReq);
|
NumReqs - NumReq);
|
||||||
|
|
||||||
/***** Link to course *****/
|
/***** Link to course *****/
|
||||||
Crs_GetDataOfCourseByCod (&Crs);
|
Crs_GetDataOfCourseByCod (&Crs);
|
||||||
|
@ -2993,10 +3032,10 @@ static void Enr_RemoveEnrolmentRequest (long CrsCod,long UsrCod)
|
||||||
/***** Mark possible notifications as removed
|
/***** Mark possible notifications as removed
|
||||||
Important: do this before removing the request *****/
|
Important: do this before removing the request *****/
|
||||||
/* Request request code (returns 0 or 1 rows) */
|
/* Request request code (returns 0 or 1 rows) */
|
||||||
DB_BuildQuery ("SELECT ReqCod FROM crs_usr_requests"
|
if (DB_QuerySELECT (&mysql_res,"can not get request code",
|
||||||
" WHERE CrsCod=%ld AND UsrCod=%ld",
|
"SELECT ReqCod FROM crs_usr_requests"
|
||||||
CrsCod,UsrCod);
|
" WHERE CrsCod=%ld AND UsrCod=%ld",
|
||||||
if (DB_QuerySELECT_new (&mysql_res,"can not get request code")) // Request exists
|
CrsCod,UsrCod)) // Request exists
|
||||||
{
|
{
|
||||||
/* Get request code */
|
/* Get request code */
|
||||||
row = mysql_fetch_row (mysql_res);
|
row = mysql_fetch_row (mysql_res);
|
||||||
|
|
|
@ -728,6 +728,8 @@ static unsigned Sch_SearchCentresInDB (const char *RangeQuery)
|
||||||
static unsigned Sch_SearchDegreesInDB (const char *RangeQuery)
|
static unsigned Sch_SearchDegreesInDB (const char *RangeQuery)
|
||||||
{
|
{
|
||||||
char SearchQuery[Sch_MAX_BYTES_SEARCH_QUERY + 1];
|
char SearchQuery[Sch_MAX_BYTES_SEARCH_QUERY + 1];
|
||||||
|
MYSQL_RES *mysql_res;
|
||||||
|
unsigned NumDegs;
|
||||||
|
|
||||||
/***** Check scope *****/
|
/***** Check scope *****/
|
||||||
if (Gbl.Scope.Current != Sco_SCOPE_CRS)
|
if (Gbl.Scope.Current != Sco_SCOPE_CRS)
|
||||||
|
@ -737,16 +739,18 @@ static unsigned Sch_SearchDegreesInDB (const char *RangeQuery)
|
||||||
if (Sch_BuildSearchQuery (SearchQuery,"degrees.FullName",NULL,NULL))
|
if (Sch_BuildSearchQuery (SearchQuery,"degrees.FullName",NULL,NULL))
|
||||||
{
|
{
|
||||||
/***** Query database and list degrees found *****/
|
/***** Query database and list degrees found *****/
|
||||||
DB_BuildQuery ("SELECT degrees.DegCod"
|
NumDegs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get degrees",
|
||||||
" FROM degrees,centres,institutions,countries"
|
"SELECT degrees.DegCod"
|
||||||
" WHERE %s"
|
" FROM degrees,centres,institutions,countries"
|
||||||
" AND degrees.CtrCod=centres.CtrCod"
|
" WHERE %s"
|
||||||
" AND centres.InsCod=institutions.InsCod"
|
" AND degrees.CtrCod=centres.CtrCod"
|
||||||
" AND institutions.CtyCod=countries.CtyCod"
|
" AND centres.InsCod=institutions.InsCod"
|
||||||
"%s"
|
" AND institutions.CtyCod=countries.CtyCod"
|
||||||
" ORDER BY degrees.FullName,institutions.FullName",
|
"%s"
|
||||||
SearchQuery,RangeQuery);
|
" ORDER BY degrees.FullName,institutions.FullName",
|
||||||
return Deg_ListDegsFound ();
|
SearchQuery,RangeQuery);
|
||||||
|
Deg_ListDegsFound (&mysql_res,NumDegs);
|
||||||
|
return NumDegs;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user