Version 20.44.3: Mar 06, 2021 Degrees database table renamed.

This commit is contained in:
acanas 2021-03-06 00:38:52 +01:00
parent 84dfc852c5
commit 61b751c97d
34 changed files with 1538 additions and 1172 deletions

View File

@ -416,16 +416,9 @@ CREATE TABLE IF NOT EXISTS debug (
Txt TEXT NOT NULL,
INDEX(DebugTime));
--
-- Table deg_types: stores the types of degree
-- Table deg_degrees: stores the degrees
--
CREATE TABLE IF NOT EXISTS deg_types (
DegTypCod INT NOT NULL AUTO_INCREMENT,
DegTypName VARCHAR(511) NOT NULL,
UNIQUE INDEX(DegTypCod));
--
-- Table degrees: stores the degrees
--
CREATE TABLE IF NOT EXISTS degrees (
CREATE TABLE IF NOT EXISTS deg_degrees (
DegCod INT NOT NULL AUTO_INCREMENT,
CtrCod INT NOT NULL,
DegTypCod INT NOT NULL,
@ -439,6 +432,13 @@ CREATE TABLE IF NOT EXISTS degrees (
INDEX(DegTypCod),
INDEX(Status));
--
-- Table deg_types: stores the types of degree
--
CREATE TABLE IF NOT EXISTS deg_types (
DegTypCod INT NOT NULL AUTO_INCREMENT,
DegTypName VARCHAR(511) NOT NULL,
UNIQUE INDEX(DegTypCod));
--
-- Table departments: stores the departments
--
CREATE TABLE IF NOT EXISTS departments (

View File

@ -6098,16 +6098,16 @@ int swad__getLastLocation (struct soap *soap,
*/
if (DB_QueryCOUNT ("can not get session data",
"SELECT COUNT(*) FROM "
"(SELECT DISTINCT degrees.CtrCod"
" FROM crs_usr,courses,degrees"
"(SELECT DISTINCT deg_degrees.CtrCod"
" FROM crs_usr,courses,deg_degrees"
" WHERE crs_usr.UsrCod=%ld"
" AND crs_usr.CrsCod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod) AS C1," // centres of my courses
"(SELECT DISTINCT degrees.CtrCod"
" FROM crs_usr,courses,degrees"
" AND courses.DegCod=deg_degrees.DegCod) AS C1," // centres of my courses
"(SELECT DISTINCT deg_degrees.CtrCod"
" FROM crs_usr,courses,deg_degrees"
" WHERE crs_usr.UsrCod=%d"
" AND crs_usr.CrsCod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod) AS C2" // centres of user's courses
" AND courses.DegCod=deg_degrees.DegCod) AS C2" // centres of user's courses
" WHERE C1.CtrCod=C2.CtrCod",
Gbl.Usrs.Me.UsrDat.UsrCod,
userCode))

View File

@ -1865,11 +1865,11 @@ unsigned Agd_GetNumUsrsWithEvents (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT agendas.UsrCod)"
" FROM institutions,centres,degrees,courses,crs_usr,agendas"
" FROM institutions,centres,deg_degrees,courses,crs_usr,agendas"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
@ -1878,10 +1878,10 @@ unsigned Agd_GetNumUsrsWithEvents (Hie_Lvl_Level_t Scope)
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT agendas.UsrCod)"
" FROM centres,degrees,courses,crs_usr,agendas"
" FROM centres,deg_degrees,courses,crs_usr,agendas"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
@ -1890,9 +1890,9 @@ unsigned Agd_GetNumUsrsWithEvents (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT agendas.UsrCod)"
" FROM degrees,courses,crs_usr,agendas"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,agendas"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
@ -1955,11 +1955,11 @@ unsigned Agd_GetNumEvents (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of events",
"SELECT COUNT(*)"
" FROM institutions,centres,degrees,courses,crs_usr,agendas"
" FROM institutions,centres,deg_degrees,courses,crs_usr,agendas"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
Gbl.Hierarchy.Cty.CtyCod);
@ -1967,10 +1967,10 @@ unsigned Agd_GetNumEvents (Hie_Lvl_Level_t Scope)
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of events",
"SELECT COUNT(*)"
" FROM centres,degrees,courses,crs_usr,agendas"
" FROM centres,deg_degrees,courses,crs_usr,agendas"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
Gbl.Hierarchy.Ins.InsCod);
@ -1978,9 +1978,9 @@ unsigned Agd_GetNumEvents (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of events",
"SELECT COUNT(*)"
" FROM degrees,courses,crs_usr,agendas"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,agendas"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
Gbl.Hierarchy.Ctr.CtrCod);

View File

@ -1840,11 +1840,11 @@ unsigned Asg_GetNumCoursesWithAssignments (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of courses with assignments",
"SELECT COUNT(DISTINCT assignments.CrsCod)"
" FROM institutions,centres,degrees,courses,assignments"
" FROM institutions,centres,deg_degrees,courses,assignments"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=assignments.CrsCod",
Gbl.Hierarchy.Cty.CtyCod);
@ -1852,10 +1852,10 @@ unsigned Asg_GetNumCoursesWithAssignments (Hie_Lvl_Level_t Scope)
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of courses with assignments",
"SELECT COUNT(DISTINCT assignments.CrsCod)"
" FROM centres,degrees,courses,assignments"
" FROM centres,deg_degrees,courses,assignments"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=assignments.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
@ -1863,9 +1863,9 @@ unsigned Asg_GetNumCoursesWithAssignments (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of courses with assignments",
"SELECT COUNT(DISTINCT assignments.CrsCod)"
" FROM degrees,courses,assignments"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,assignments"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=assignments.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
@ -1926,30 +1926,30 @@ unsigned Asg_GetNumAssignments (Hie_Lvl_Level_t Scope,unsigned *NumNotif)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of assignments",
"SELECT COUNT(*),SUM(assignments.NumNotif)"
" FROM institutions,centres,degrees,courses,assignments"
" FROM institutions,centres,deg_degrees,courses,assignments"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=assignments.CrsCod",
Gbl.Hierarchy.Cty.CtyCod);
break;
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of assignments",
"SELECT COUNT(*),SUM(assignments.NumNotif)"
" FROM centres,degrees,courses,assignments"
" FROM centres,deg_degrees,courses,assignments"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=assignments.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of assignments",
"SELECT COUNT(*),SUM(assignments.NumNotif)"
" FROM degrees,courses,assignments"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,assignments"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=assignments.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
break;

View File

@ -1706,10 +1706,10 @@ unsigned Att_GetNumCoursesWithAttEvents (Hie_Lvl_Level_t Scope)
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of courses with attendance events",
"SELECT COUNT(DISTINCT att_events.CrsCod)"
" FROM centres,degrees,courses,att_events"
" FROM centres,deg_degrees,courses,att_events"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=att_events.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
@ -1717,9 +1717,9 @@ unsigned Att_GetNumCoursesWithAttEvents (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of courses with attendance events",
"SELECT COUNT(DISTINCT att_events.CrsCod)"
" FROM degrees,courses,att_events"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,att_events"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=att_events.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
@ -1780,19 +1780,19 @@ unsigned Att_GetNumAttEvents (Hie_Lvl_Level_t Scope,unsigned *NumNotif)
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of attendance events",
"SELECT COUNT(*),SUM(att_events.NumNotif)"
" FROM centres,degrees,courses,att_events"
" FROM centres,deg_degrees,courses,att_events"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=att_events.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of attendance events",
"SELECT COUNT(*),SUM(att_events.NumNotif)"
" FROM degrees,courses,att_events"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,att_events"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=att_events.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
break;

View File

@ -130,13 +130,13 @@ void Ctr_SeeCtrWithPendingDegs (void)
case Rol_CTR_ADM:
NumCtrs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get centres"
" with pending degrees",
"SELECT degrees.CtrCod,COUNT(*)"
" FROM degrees,ctr_admin,centres"
" WHERE (degrees.Status & %u)<>0"
" AND degrees.CtrCod=ctr_admin.CtrCod"
"SELECT deg_degrees.CtrCod,COUNT(*)"
" FROM deg_degrees,ctr_admin,centres"
" WHERE (deg_degrees.Status & %u)<>0"
" AND deg_degrees.CtrCod=ctr_admin.CtrCod"
" AND ctr_admin.UsrCod=%ld"
" AND degrees.CtrCod=centres.CtrCod"
" GROUP BY degrees.CtrCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" GROUP BY deg_degrees.CtrCod"
" ORDER BY centres.ShortName",
(unsigned) Deg_STATUS_BIT_PENDING,
Gbl.Usrs.Me.UsrDat.UsrCod);
@ -144,11 +144,11 @@ void Ctr_SeeCtrWithPendingDegs (void)
case Rol_SYS_ADM:
NumCtrs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get centres"
" with pending degrees",
"SELECT degrees.CtrCod,COUNT(*)"
" FROM degrees,centres"
" WHERE (degrees.Status & %u)<>0"
" AND degrees.CtrCod=centres.CtrCod"
" GROUP BY degrees.CtrCod"
"SELECT deg_degrees.CtrCod,COUNT(*)"
" FROM deg_degrees,centres"
" WHERE (deg_degrees.Status & %u)<>0"
" AND deg_degrees.CtrCod=centres.CtrCod"
" GROUP BY deg_degrees.CtrCod"
" ORDER BY centres.ShortName",
(unsigned) Deg_STATUS_BIT_PENDING);
break;
@ -2124,9 +2124,9 @@ unsigned Ctr_GetCachedNumCtrsWithDegs (const char *SubQuery,
NumCtrsWithDegs = (unsigned)
DB_QueryCOUNT ("can not get number of centres with degrees",
"SELECT COUNT(DISTINCT centres.CtrCod)"
" FROM institutions,centres,degrees"
" FROM institutions,centres,deg_degrees"
" WHERE %sinstitutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod",
" AND centres.CtrCod=deg_degrees.CtrCod",
SubQuery);
FigCch_UpdateFigureIntoCache (FigCch_NUM_CTRS_WITH_DEGS,Scope,Cod,
FigCch_UNSIGNED,&NumCtrsWithDegs);
@ -2152,10 +2152,10 @@ unsigned Ctr_GetCachedNumCtrsWithCrss (const char *SubQuery,
NumCtrsWithCrss = (unsigned)
DB_QueryCOUNT ("can not get number of centres with courses",
"SELECT COUNT(DISTINCT centres.CtrCod)"
" FROM institutions,centres,degrees,courses"
" FROM institutions,centres,deg_degrees,courses"
" WHERE %sinstitutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod",
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod",
SubQuery);
FigCch_UpdateFigureIntoCache (FigCch_NUM_CTRS_WITH_CRSS,Scope,Cod,
FigCch_UNSIGNED,&NumCtrsWithCrss);
@ -2187,10 +2187,10 @@ unsigned Ctr_GetCachedNumCtrsWithUsrs (Rol_Role_t Role,const char *SubQuery,
NumCtrsWithUsrs = (unsigned)
DB_QueryCOUNT ("can not get number of centres with users",
"SELECT COUNT(DISTINCT centres.CtrCod)"
" FROM institutions,centres,degrees,courses,crs_usr"
" FROM institutions,centres,deg_degrees,courses,crs_usr"
" WHERE %sinstitutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u",
SubQuery,(unsigned) Role);

View File

@ -600,10 +600,14 @@ TODO: Salvador Romero Cort
TODO: FIX BUG, URGENT! En las fechas como parámetro Dat_WriteParamsIniEndDates(), por ejemplo al cambiar el color de la gráfica de accesos por día y hora, no se respeta la zona horaria.
*/
#define Log_PLATFORM_VERSION "SWAD 20.44.2 (2021-03-05)"
#define Log_PLATFORM_VERSION "SWAD 20.44.3 (2021-03-06)"
#define CSS_FILE "swad20.33.9.css"
#define JS_FILE "swad20.6.2.js"
/*
Version 20.44.3: Mar 06, 2021 Degrees database table renamed. (306004 lines)
1 change necessary in database:
RENAME TABLE degrees TO deg_degrees;
Version 20.44.2: Mar 05, 2021 Admins database table renamed. (305639 lines)
1 change necessary in database:
RENAME TABLE admin TO usr_admins;

View File

@ -502,11 +502,11 @@ static void Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Role_t
" who belong to this location",
"SELECT COUNT(DISTINCT connected.UsrCod),"
"COUNT(DISTINCT usr_data.Sex),MIN(usr_data.Sex)"
" FROM institutions,centres,degrees,courses,crs_usr,connected,usr_data"
" FROM institutions,centres,deg_degrees,courses,crs_usr,connected,usr_data"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=connected.UsrCod"
" AND connected.UsrCod=usr_data.UsrCod",
@ -518,10 +518,10 @@ static void Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Role_t
" who belong to this location",
"SELECT COUNT(DISTINCT connected.UsrCod),"
"COUNT(DISTINCT usr_data.Sex),MIN(usr_data.Sex)"
" FROM centres,degrees,courses,crs_usr,connected,usr_data"
" FROM centres,deg_degrees,courses,crs_usr,connected,usr_data"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=connected.UsrCod"
" AND connected.UsrCod=usr_data.UsrCod",
@ -533,9 +533,9 @@ static void Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Role_t
" who belong to this location",
"SELECT COUNT(DISTINCT connected.UsrCod),"
"COUNT(DISTINCT usr_data.Sex),MIN(usr_data.Sex)"
" FROM degrees,courses,crs_usr,connected,usr_data"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,connected,usr_data"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=connected.UsrCod"
" AND connected.UsrCod=usr_data.UsrCod",
@ -604,11 +604,11 @@ static void Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Role_t
" who belong to this location",
"SELECT COUNT(DISTINCT connected.UsrCod),"
"COUNT(DISTINCT usr_data.Sex),MIN(usr_data.Sex)"
" FROM institutions,centres,degrees,courses,crs_usr,connected,usr_data"
" FROM institutions,centres,deg_degrees,courses,crs_usr,connected,usr_data"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" AND crs_usr.UsrCod=connected.UsrCod"
@ -622,10 +622,10 @@ static void Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Role_t
" who belong to this location",
"SELECT COUNT(DISTINCT connected.UsrCod),"
"COUNT(DISTINCT usr_data.Sex),MIN(usr_data.Sex)"
" FROM centres,degrees,courses,crs_usr,connected,usr_data"
" FROM centres,deg_degrees,courses,crs_usr,connected,usr_data"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" AND crs_usr.UsrCod=connected.UsrCod"
@ -639,9 +639,9 @@ static void Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Role_t
" who belong to this location",
"SELECT COUNT(DISTINCT connected.UsrCod),"
"COUNT(DISTINCT usr_data.Sex),MIN(usr_data.Sex)"
" FROM degrees,courses,crs_usr,connected,usr_data"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,connected,usr_data"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" AND crs_usr.UsrCod=connected.UsrCod"
@ -928,11 +928,11 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R
" who belong to this location",
"SELECT DISTINCTROW connected.UsrCod,connected.LastCrsCod,"
"UNIX_TIMESTAMP()-UNIX_TIMESTAMP(connected.LastTime) AS Dif"
" FROM institutions,centres,degrees,courses,crs_usr,connected"
" FROM institutions,centres,deg_degrees,courses,crs_usr,connected"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" AND crs_usr.UsrCod=connected.UsrCod"
@ -945,10 +945,10 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R
" who belong to this location",
"SELECT DISTINCTROW connected.UsrCod,connected.LastCrsCod,"
"UNIX_TIMESTAMP()-UNIX_TIMESTAMP(connected.LastTime) AS Dif"
" FROM centres,degrees,courses,crs_usr,connected"
" FROM centres,deg_degrees,courses,crs_usr,connected"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" AND crs_usr.UsrCod=connected.UsrCod"
@ -961,9 +961,9 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R
" who belong to this location",
"SELECT DISTINCTROW connected.UsrCod,connected.LastCrsCod,"
"UNIX_TIMESTAMP()-UNIX_TIMESTAMP(connected.LastTime) AS Dif"
" FROM degrees,courses,crs_usr,connected"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,connected"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" AND crs_usr.UsrCod=connected.UsrCod"

View File

@ -1959,10 +1959,10 @@ unsigned Cty_GetCachedNumCtysWithDegs (void)
NumCtysWithDegs = (unsigned)
DB_QueryCOUNT ("can not get number of countries with degrees",
"SELECT COUNT(DISTINCT countries.CtyCod)"
" FROM countries,institutions,centres,degrees"
" FROM countries,institutions,centres,deg_degrees"
" WHERE countries.CtyCod=institutions.CtyCod"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod");
" AND centres.CtrCod=deg_degrees.CtrCod");
FigCch_UpdateFigureIntoCache (FigCch_NUM_CTYS_WITH_DEGS,Hie_Lvl_SYS,-1L,
FigCch_UNSIGNED,&NumCtysWithDegs);
}
@ -1986,11 +1986,11 @@ unsigned Cty_GetCachedNumCtysWithCrss (void)
NumCtysWithCrss = (unsigned)
DB_QueryCOUNT ("can not get number of countries with courses",
"SELECT COUNT(DISTINCT countries.CtyCod)"
" FROM countries,institutions,centres,degrees,courses"
" FROM countries,institutions,centres,deg_degrees,courses"
" WHERE countries.CtyCod=institutions.CtyCod"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod");
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod");
FigCch_UpdateFigureIntoCache (FigCch_NUM_CTYS_WITH_CRSS,Hie_Lvl_SYS,-1L,
FigCch_UNSIGNED,&NumCtysWithCrss);
}
@ -2021,11 +2021,11 @@ unsigned Cty_GetCachedNumCtysWithUsrs (Rol_Role_t Role,const char *SubQuery,
NumCtysWithUsrs = (unsigned)
DB_QueryCOUNT ("can not get number of countries with users",
"SELECT COUNT(DISTINCT countries.CtyCod)"
" FROM countries,institutions,centres,degrees,courses,crs_usr"
" FROM countries,institutions,centres,deg_degrees,courses,crs_usr"
" WHERE %scountries.CtyCod=institutions.CtyCod"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u",
SubQuery,(unsigned) Role);

View File

@ -448,11 +448,11 @@ unsigned Crs_GetNumCrssInCty (long CtyCod)
Gbl.Cache.NumCrssInCty.NumCrss =
(unsigned) DB_QueryCOUNT ("can not get the number of courses in a country",
"SELECT COUNT(*)"
" FROM institutions,centres,degrees,courses"
" FROM institutions,centres,deg_degrees,courses"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod",
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod",
CtyCod);
FigCch_UpdateFigureIntoCache (FigCch_NUM_CRSS,Hie_Lvl_CTY,Gbl.Cache.NumCrssInCty.CtyCod,
FigCch_UNSIGNED,&Gbl.Cache.NumCrssInCty.NumCrss);
@ -497,10 +497,10 @@ unsigned Crs_GetNumCrssInIns (long InsCod)
Gbl.Cache.NumCrssInIns.NumCrss =
(unsigned) DB_QueryCOUNT ("can not get the number of courses"
" in an institution",
"SELECT COUNT(*) FROM centres,degrees,courses"
"SELECT COUNT(*) FROM centres,deg_degrees,courses"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod",
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod",
InsCod);
FigCch_UpdateFigureIntoCache (FigCch_NUM_CRSS,Hie_Lvl_INS,Gbl.Cache.NumCrssInIns.InsCod,
FigCch_UNSIGNED,&Gbl.Cache.NumCrssInIns.NumCrss);
@ -544,9 +544,9 @@ unsigned Crs_GetNumCrssInCtr (long CtrCod)
Gbl.Cache.NumCrssInCtr.CtrCod = CtrCod;
Gbl.Cache.NumCrssInCtr.NumCrss =
(unsigned) DB_QueryCOUNT ("can not get the number of courses in a centre",
"SELECT COUNT(*) FROM degrees,courses"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod",
"SELECT COUNT(*) FROM deg_degrees,courses"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod",
CtrCod);
return Gbl.Cache.NumCrssInCtr.NumCrss;
}
@ -636,10 +636,10 @@ unsigned Crs_GetCachedNumCrssWithUsrs (Rol_Role_t Role,const char *SubQuery,
NumCrssWithUsrs = (unsigned)
DB_QueryCOUNT ("can not get number of courses with users",
"SELECT COUNT(DISTINCT courses.CrsCod)"
" FROM institutions,centres,degrees,courses,crs_usr"
" FROM institutions,centres,deg_degrees,courses,crs_usr"
" WHERE %sinstitutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u",
SubQuery,(unsigned) Role);
@ -1833,10 +1833,10 @@ static void Crs_GetShortNamesByCod (long CrsCod,
{
/***** Get the short name of a degree from database *****/
if (DB_QuerySELECT (&mysql_res,"can not get the short name of a course",
"SELECT courses.ShortName,degrees.ShortName"
" FROM courses,degrees"
"SELECT courses.ShortName,deg_degrees.ShortName"
" FROM courses,deg_degrees"
" WHERE courses.CrsCod=%ld"
" AND courses.DegCod=degrees.DegCod",
" AND courses.DegCod=deg_degrees.DegCod",
CrsCod) == 1)
{
/***** Get the course short name and degree short name *****/
@ -2572,14 +2572,20 @@ void Crs_GetAndWriteCrssOfAUsr (const struct UsrData *UsrDat,Rol_Role_t Role)
Lay_NotEnoughMemoryExit ();
}
NumCrss = (unsigned) DB_QuerySELECT (&mysql_res,"can not get courses of a user",
"SELECT degrees.DegCod,courses.CrsCod,degrees.ShortName,degrees.FullName,"
"courses.Year,courses.FullName,centres.ShortName,crs_usr.Accepted"
" FROM crs_usr,courses,degrees,centres"
"SELECT deg_degrees.DegCod," // row[0]
"courses.CrsCod," // row[1]
"deg_degrees.ShortName," // row[2]
"deg_degrees.FullName," // row[3]
"courses.Year," // row[4]
"courses.FullName," // row[5]
"centres.ShortName," // row[6]
"crs_usr.Accepted" // row[7]
" FROM crs_usr,courses,deg_degrees,centres"
" WHERE crs_usr.UsrCod=%ld%s"
" AND crs_usr.CrsCod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" ORDER BY degrees.FullName,courses.Year,courses.FullName",
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" ORDER BY deg_degrees.FullName,courses.Year,courses.FullName",
UsrDat->UsrCod,SubQuery);
/***** Free allocated memory for subquery *****/
@ -2719,10 +2725,10 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA
bool Accepted;
static unsigned RowEvenOdd = 1;
/*
SELECT degrees.DegCod row[0]
SELECT deg_degrees.DegCod row[0]
courses.CrsCod row[1]
degrees.ShortName row[2]
degrees.FullName row[3]
deg_degrees.ShortName row[2]
deg_degrees.FullName row[3]
courses.Year row[4]
courses.FullName row[5]
centres.ShortName row[6]

View File

@ -926,9 +926,9 @@ mysql> DESCRIBE deg_types;
"DegTypName VARCHAR(511) NOT NULL," // Deg_MAX_BYTES_DEGREE_TYPE_NAME
"UNIQUE INDEX(DegTypCod))");
/***** Table degrees *****/
/***** Table deg_degrees *****/
/*
mysql> DESCRIBE degrees;
mysql> DESCRIBE deg_degrees;
+-----------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------+------+-----+---------+----------------+
@ -943,7 +943,7 @@ mysql> DESCRIBE degrees;
+-----------------+---------------+------+-----+---------+----------------+
8 rows in set (0,00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS degrees ("
DB_CreateTable ("CREATE TABLE IF NOT EXISTS deg_degrees ("
"DegCod INT NOT NULL AUTO_INCREMENT,"
"CtrCod INT NOT NULL,"
"DegTypCod INT NOT NULL,"

View File

@ -130,14 +130,14 @@ void Deg_SeeDegWithPendingCrss (void)
NumDegs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get degrees"
" with pending courses",
"SELECT courses.DegCod,COUNT(*)"
" FROM usr_admins,courses,degrees"
" FROM usr_admins,courses,deg_degrees"
" WHERE usr_admins.UsrCod=%ld"
" AND usr_admins.Scope='%s'"
" AND usr_admins.Cod=courses.DegCod"
" AND (courses.Status & %u)<>0"
" AND courses.DegCod=degrees.DegCod"
" AND courses.DegCod=deg_degrees.DegCod"
" GROUP BY courses.DegCod"
" ORDER BY degrees.ShortName",
" ORDER BY deg_degrees.ShortName",
Gbl.Usrs.Me.UsrDat.UsrCod,
Sco_GetDBStrFromScope (Hie_Lvl_DEG),
(unsigned) Crs_STATUS_BIT_PENDING);
@ -146,11 +146,11 @@ void Deg_SeeDegWithPendingCrss (void)
NumDegs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get degrees"
" with pending courses",
"SELECT courses.DegCod,COUNT(*)"
" FROM courses,degrees"
" FROM courses,deg_degrees"
" WHERE (courses.Status & %u)<>0"
" AND courses.DegCod=degrees.DegCod"
" AND courses.DegCod=deg_degrees.DegCod"
" GROUP BY courses.DegCod"
" ORDER BY degrees.ShortName",
" ORDER BY deg_degrees.ShortName",
(unsigned) Crs_STATUS_BIT_PENDING);
break;
default: // Forbidden for other users
@ -275,7 +275,7 @@ void Deg_WriteSelectorOfDegree (void)
NumDegs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get degrees"
" of a centre",
"SELECT DegCod,ShortName"
" FROM degrees"
" FROM deg_degrees"
" WHERE CtrCod=%ld"
" ORDER BY ShortName",
Gbl.Hierarchy.Ctr.CtrCod);
@ -775,7 +775,7 @@ static void Deg_CreateDegree (unsigned Status)
/***** Create a new degree *****/
Deg_EditingDeg->DegCod =
DB_QueryINSERTandReturnCode ("can not create a new degree",
"INSERT INTO degrees (CtrCod,DegTypCod,Status,"
"INSERT INTO deg_degrees (CtrCod,DegTypCod,Status,"
"RequesterUsrCod,ShortName,FullName,WWW)"
" VALUES (%ld,%ld,%u,%ld,'%s','%s','%s')",
Deg_EditingDeg->CtrCod,
@ -1070,14 +1070,20 @@ void Deg_GetListAllDegsWithStds (struct ListDegrees *Degs)
/***** Get degrees admin by me from database *****/
Degs->Num = (unsigned) DB_QuerySELECT (&mysql_res,"can not get degrees"
" admin by you",
"SELECT DISTINCTROW degrees.DegCod,degrees.CtrCod,"
"degrees.DegTypCod,degrees.Status,degrees.RequesterUsrCod,"
"degrees.ShortName,degrees.FullName,degrees.WWW"
" FROM degrees,courses,crs_usr"
" WHERE degrees.DegCod=courses.DegCod"
"SELECT DISTINCTROW "
"deg_degrees.DegCod," // row[0]
"deg_degrees.CtrCod," // row[1]
"deg_degrees.DegTypCod," // row[2]
"deg_degrees.Status," // row[3]
"deg_degrees.RequesterUsrCod," // row[4]
"deg_degrees.ShortName," // row[5]
"deg_degrees.FullName," // row[6]
"deg_degrees.WWW" // row[7]
" FROM deg_degrees,courses,crs_usr"
" WHERE deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" ORDER BY degrees.ShortName",
" ORDER BY deg_degrees.ShortName",
(unsigned) Rol_STD);
if (Degs->Num) // Degrees found...
@ -1117,9 +1123,17 @@ void Deg_GetListDegsInCurrentCtr (void)
/***** Get degrees of the current centre from database *****/
NumRows = DB_QuerySELECT (&mysql_res,"can not get degrees of a centre",
"SELECT DegCod,CtrCod,DegTypCod,Status,RequesterUsrCod,"
"ShortName,FullName,WWW"
" FROM degrees WHERE CtrCod=%ld ORDER BY FullName",
"SELECT DegCod," // row[0]
"CtrCod," // row[1]
"DegTypCod," // row[2]
"Status," // row[3]
"RequesterUsrCod," // row[4]
"ShortName," // row[5]
"FullName," // row[6]
"WWW" // row[7]
" FROM deg_degrees"
" WHERE CtrCod=%ld"
" ORDER BY FullName",
Gbl.Hierarchy.Ctr.CtrCod);
/***** Count number of rows in result *****/
@ -1346,9 +1360,15 @@ bool Deg_GetDataOfDegreeByCod (struct Deg_Degree *Deg)
{
/***** Get data of a degree from database *****/
if (DB_QuerySELECT (&mysql_res,"can not get data of a degree",
"SELECT DegCod,CtrCod,DegTypCod,Status,"
"RequesterUsrCod,ShortName,FullName,WWW"
" FROM degrees WHERE DegCod=%ld",
"SELECT DegCod," // row[0]
"CtrCod," // row[1]
"DegTypCod," // row[2]
"Status," // row[3]
"RequesterUsrCod," // row[4]
"ShortName," // row[5]
"FullName," // row[6]
"WWW" // row[7]
" FROM deg_degrees WHERE DegCod=%ld",
Deg->DegCod)) // Degree found...
{
/***** Get data of degree *****/
@ -1409,7 +1429,7 @@ void Deg_GetShortNameOfDegreeByCod (struct Deg_Degree *Deg)
{
/***** Get the short name of a degree from database *****/
if (DB_QuerySELECT (&mysql_res,"can not get the short name of a degree",
"SELECT ShortName FROM degrees WHERE DegCod=%ld",
"SELECT ShortName FROM deg_degrees WHERE DegCod=%ld",
Deg->DegCod) == 1)
{
/***** Get the short name of this degree *****/
@ -1436,7 +1456,7 @@ long Deg_GetCtrCodOfDegreeByCod (long DegCod)
{
/***** Get the centre code of a degree from database *****/
if (DB_QuerySELECT (&mysql_res,"can not get the centre of a degree",
"SELECT CtrCod FROM degrees WHERE DegCod=%ld",
"SELECT CtrCod FROM deg_degrees WHERE DegCod=%ld",
DegCod) == 1)
{
/***** Get the centre code of this degree *****/
@ -1465,9 +1485,10 @@ long Deg_GetInsCodOfDegreeByCod (long DegCod)
{
/***** Get the institution code of a degree from database *****/
if (DB_QuerySELECT (&mysql_res,"can not get the institution of a degree",
"SELECT centres.InsCod FROM degrees,centres"
" WHERE degrees.DegCod=%ld"
" AND degrees.CtrCod=centres.CtrCod",
"SELECT centres.InsCod"
" FROM deg_degrees,centres"
" WHERE deg_degrees.DegCod=%ld"
" AND deg_degrees.CtrCod=centres.CtrCod",
DegCod) == 1)
{
/***** Get the institution code of this degree *****/
@ -1543,7 +1564,7 @@ void Deg_RemoveDegreeCompletely (long DegCod)
/***** Remove the degree *****/
DB_QueryDELETE ("can not remove a degree",
"DELETE FROM degrees WHERE DegCod=%ld",
"DELETE FROM deg_degrees WHERE DegCod=%ld",
DegCod);
/***** Flush caches *****/
@ -1660,7 +1681,7 @@ bool Deg_CheckIfDegNameExistsInCtr (const char *FieldName,const char *Name,
/***** Get number of degrees with a type and a name from database *****/
return (DB_QueryCOUNT ("can not check if the name of a degree"
" already existed",
"SELECT COUNT(*) FROM degrees"
"SELECT COUNT(*) FROM deg_degrees"
" WHERE CtrCod=%ld AND %s='%s' AND DegCod<>%ld",
CtrCod,FieldName,Name,DegCod) != 0);
}
@ -1673,7 +1694,7 @@ static void Deg_UpdateDegNameDB (long DegCod,const char *FieldName,const char *N
{
/***** Update degree changing old name by new name *****/
DB_QueryUPDATE ("can not update the name of a degree",
"UPDATE degrees SET %s='%s' WHERE DegCod=%ld",
"UPDATE deg_degrees SET %s='%s' WHERE DegCod=%ld",
FieldName,NewDegName,DegCod);
}
@ -1701,7 +1722,7 @@ void Deg_ChangeDegreeType (void)
/***** Update the table of degrees changing old type by new type *****/
DB_QueryUPDATE ("can not update the type of a degree",
"UPDATE degrees SET DegTypCod=%ld WHERE DegCod=%ld",
"UPDATE deg_degrees SET DegTypCod=%ld WHERE DegCod=%ld",
NewDegTypCod,Deg_EditingDeg->DegCod);
Deg_EditingDeg->DegTypCod = NewDegTypCod;
@ -1759,7 +1780,7 @@ void Deg_UpdateDegWWWDB (long DegCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1])
{
/***** Update database changing old WWW by new WWW *****/
DB_QueryUPDATE ("can not update the web of a degree",
"UPDATE degrees SET WWW='%s' WHERE DegCod=%ld",
"UPDATE deg_degrees SET WWW='%s' WHERE DegCod=%ld",
NewWWW,DegCod);
}
@ -1796,7 +1817,7 @@ void Deg_ChangeDegStatus (void)
/***** Update status in table of degrees *****/
DB_QueryUPDATE ("can not update the status of a degree",
"UPDATE degrees SET Status=%u WHERE DegCod=%ld",
"UPDATE deg_degrees SET Status=%u WHERE DegCod=%ld",
(unsigned) Status,Deg_EditingDeg->DegCod);
Deg_EditingDeg->Status = Status;
@ -1892,7 +1913,7 @@ unsigned Deg_GetCachedNumDegsInSys (void)
FigCch_UNSIGNED,&NumDegs))
{
/***** Get current number of degrees from database and update cache *****/
NumDegs = (unsigned) DB_GetNumRowsTable ("degrees");
NumDegs = (unsigned) DB_GetNumRowsTable ("deg_degrees");
FigCch_UpdateFigureIntoCache (FigCch_NUM_DEGS,Hie_Lvl_SYS,-1L,
FigCch_UNSIGNED,&NumDegs);
}
@ -1924,10 +1945,11 @@ unsigned Deg_GetNumDegsInCty (long CtyCod)
Gbl.Cache.NumDegsInCty.CtyCod = CtyCod;
Gbl.Cache.NumDegsInCty.NumDegs =
(unsigned) DB_QueryCOUNT ("can not get the number of degrees in a country",
"SELECT COUNT(*) FROM institutions,centres,degrees"
"SELECT COUNT(*)"
" FROM institutions,centres,deg_degrees"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod",
" AND centres.CtrCod=deg_degrees.CtrCod",
CtyCod);
FigCch_UpdateFigureIntoCache (FigCch_NUM_DEGS,Hie_Lvl_CTY,Gbl.Cache.NumDegsInCty.CtyCod,
FigCch_UNSIGNED,&Gbl.Cache.NumDegsInCty.NumDegs);
@ -1972,9 +1994,9 @@ unsigned Deg_GetNumDegsInIns (long InsCod)
Gbl.Cache.NumDegsInIns.NumDegs =
(unsigned) DB_QueryCOUNT ("can not get the number of degrees"
" in an institution",
"SELECT COUNT(*) FROM centres,degrees"
"SELECT COUNT(*) FROM centres,deg_degrees"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod",
" AND centres.CtrCod=deg_degrees.CtrCod",
InsCod);
FigCch_UpdateFigureIntoCache (FigCch_NUM_DEGS,Hie_Lvl_INS,Gbl.Cache.NumDegsInIns.InsCod,
FigCch_UNSIGNED,&Gbl.Cache.NumDegsInIns.NumDegs);
@ -2018,7 +2040,7 @@ unsigned Deg_GetNumDegsInCtr (long CtrCod)
Gbl.Cache.NumDegsInCtr.CtrCod = CtrCod;
Gbl.Cache.NumDegsInCtr.NumDegs =
(unsigned) DB_QueryCOUNT ("can not get the number of degrees in a centre",
"SELECT COUNT(*) FROM degrees"
"SELECT COUNT(*) FROM deg_degrees"
" WHERE CtrCod=%ld",
CtrCod);
FigCch_UpdateFigureIntoCache (FigCch_NUM_DEGS,Hie_Lvl_CTR,Gbl.Cache.NumDegsInCtr.CtrCod,
@ -2055,11 +2077,11 @@ unsigned Deg_GetCachedNumDegsWithCrss (const char *SubQuery,
/***** Get current number of degrees with courses from database and update cache *****/
NumDegsWithCrss = (unsigned)
DB_QueryCOUNT ("can not get number of degrees with courses",
"SELECT COUNT(DISTINCT degrees.DegCod)"
" FROM institutions,centres,degrees,courses"
"SELECT COUNT(DISTINCT deg_degrees.DegCod)"
" FROM institutions,centres,deg_degrees,courses"
" WHERE %sinstitutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod",
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod",
SubQuery);
FigCch_UpdateFigureIntoCache (FigCch_NUM_DEGS_WITH_CRSS,Scope,Cod,
FigCch_UNSIGNED,&NumDegsWithCrss);
@ -2090,11 +2112,11 @@ unsigned Deg_GetCachedNumDegsWithUsrs (Rol_Role_t Role,const char *SubQuery,
/***** Get current number of degrees with users from database and update cache *****/
NumDegsWithUsrs = (unsigned)
DB_QueryCOUNT ("can not get number of degrees with users",
"SELECT COUNT(DISTINCT degrees.DegCod)"
" FROM institutions,centres,degrees,courses,crs_usr"
"SELECT COUNT(DISTINCT deg_degrees.DegCod)"
" FROM institutions,centres,deg_degrees,courses,crs_usr"
" WHERE %sinstitutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u",
SubQuery,(unsigned) Role);

View File

@ -404,7 +404,7 @@ static void DegCfg_UpdateDegCtrDB (long DegCod,long CtrCod)
{
/***** Update centre in table of degrees *****/
DB_QueryUPDATE ("can not update the centre of a degree",
"UPDATE degrees SET CtrCod=%ld WHERE DegCod=%ld",
"UPDATE deg_degrees SET CtrCod=%ld WHERE DegCod=%ld",
CtrCod,DegCod);
}

View File

@ -605,10 +605,10 @@ void DT_GetListDegreeTypes (Hie_Lvl_Level_t Scope,DT_Order_t Order)
DB_QuerySELECT (&mysql_res,"can not get types of degree",
"(SELECT deg_types.DegTypCod," // row[0]
"deg_types.DegTypName," // row[1]
"COUNT(degrees.DegCod) AS NumDegs" // row[2]
" FROM degrees,deg_types"
" WHERE degrees.DegTypCod=deg_types.DegTypCod"
" GROUP BY degrees.DegTypCod)"
"COUNT(deg_degrees.DegCod) AS NumDegs" // row[2]
" FROM deg_degrees,deg_types"
" WHERE deg_degrees.DegTypCod=deg_types.DegTypCod"
" GROUP BY deg_degrees.DegTypCod)"
" UNION "
"(SELECT DegTypCod," // row[0]
"DegTypName," // row[1]
@ -618,7 +618,7 @@ void DT_GetListDegreeTypes (Hie_Lvl_Level_t Scope,DT_Order_t Order)
// and order will be wrong
" FROM deg_types"
" WHERE DegTypCod NOT IN"
" (SELECT DegTypCod FROM degrees))"
" (SELECT DegTypCod FROM deg_degrees))"
" ORDER BY %s",
OrderBySubQuery[Order]);
break;
@ -628,13 +628,13 @@ void DT_GetListDegreeTypes (Hie_Lvl_Level_t Scope,DT_Order_t Order)
DB_QuerySELECT (&mysql_res,"can not get types of degree",
"SELECT deg_types.DegTypCod," // row[0]
"deg_types.DegTypName," // row[1]
"COUNT(degrees.DegCod) AS NumDegs" // row[2]
" FROM institutions,centres,degrees,deg_types"
"COUNT(deg_degrees.DegCod) AS NumDegs" // row[2]
" FROM institutions,centres,deg_degrees,deg_types"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegTypCod=deg_types.DegTypCod"
" GROUP BY degrees.DegTypCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegTypCod=deg_types.DegTypCod"
" GROUP BY deg_degrees.DegTypCod"
" ORDER BY %s",
Gbl.Hierarchy.Cty.CtyCod,
OrderBySubQuery[Order]);
@ -645,12 +645,12 @@ void DT_GetListDegreeTypes (Hie_Lvl_Level_t Scope,DT_Order_t Order)
DB_QuerySELECT (&mysql_res,"can not get types of degree",
"SELECT deg_types.DegTypCod," // row[0]
"deg_types.DegTypName," // row[1]
"COUNT(degrees.DegCod) AS NumDegs" // row[2]
" FROM centres,degrees,deg_types"
"COUNT(deg_degrees.DegCod) AS NumDegs" // row[2]
" FROM centres,deg_degrees,deg_types"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegTypCod=deg_types.DegTypCod"
" GROUP BY degrees.DegTypCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegTypCod=deg_types.DegTypCod"
" GROUP BY deg_degrees.DegTypCod"
" ORDER BY %s",
Gbl.Hierarchy.Ins.InsCod,
OrderBySubQuery[Order]);
@ -661,11 +661,11 @@ void DT_GetListDegreeTypes (Hie_Lvl_Level_t Scope,DT_Order_t Order)
DB_QuerySELECT (&mysql_res,"can not get types of degree",
"SELECT deg_types.DegTypCod," // row[0]
"deg_types.DegTypName," // row[1]
"COUNT(degrees.DegCod) AS NumDegs" // row[2]
" FROM degrees,deg_types"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegTypCod=deg_types.DegTypCod"
" GROUP BY degrees.DegTypCod"
"COUNT(deg_degrees.DegCod) AS NumDegs" // row[2]
" FROM deg_degrees,deg_types"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegTypCod=deg_types.DegTypCod"
" GROUP BY deg_degrees.DegTypCod"
" ORDER BY %s",
Gbl.Hierarchy.Ctr.CtrCod,
OrderBySubQuery[Order]);
@ -677,11 +677,11 @@ void DT_GetListDegreeTypes (Hie_Lvl_Level_t Scope,DT_Order_t Order)
DB_QuerySELECT (&mysql_res,"can not get types of degree",
"SELECT deg_types.DegTypCod," // row[0]
"deg_types.DegTypName," // row[1]
"COUNT(degrees.DegCod) AS NumDegs" // row[2]
" FROM degrees,deg_types"
" WHERE degrees.DegCod=%ld"
" AND degrees.DegTypCod=deg_types.DegTypCod"
" GROUP BY degrees.DegTypCod"
"COUNT(deg_degrees.DegCod) AS NumDegs" // row[2]
" FROM deg_degrees,deg_types"
" WHERE deg_degrees.DegCod=%ld"
" AND deg_degrees.DegTypCod=deg_types.DegTypCod"
" GROUP BY deg_degrees.DegTypCod"
" ORDER BY %s",
Gbl.Hierarchy.Deg.DegCod,
OrderBySubQuery[Order]);
@ -846,7 +846,7 @@ static unsigned DT_CountNumDegsOfType (long DegTypCod)
/***** Get number of degrees of a type from database *****/
return
(unsigned) DB_QueryCOUNT ("can not get number of degrees of a type",
"SELECT COUNT(*) FROM degrees"
"SELECT COUNT(*) FROM deg_degrees"
" WHERE DegTypCod=%ld",
DegTypCod);
}
@ -918,7 +918,8 @@ static void DT_RemoveDegreeTypeCompletely (long DegTypCod)
/***** Get degrees of a type from database *****/
NumRows = DB_QuerySELECT (&mysql_res,"can not get degrees of a type",
"SELECT DegCod FROM degrees WHERE DegTypCod=%ld",
"SELECT DegCod FROM deg_degrees"
" WHERE DegTypCod=%ld",
DegTypCod);
/* Get degrees of this type */

View File

@ -2374,11 +2374,11 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM usr_admins,degrees,courses,crs_usr_requests"
" FROM usr_admins,deg_degrees,courses,crs_usr_requests"
" WHERE usr_admins.UsrCod=%ld"
" AND usr_admins.Scope='%s'"
" AND usr_admins.Cod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND usr_admins.Cod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
" ORDER BY crs_usr_requests.RequestTime DESC",
@ -2394,12 +2394,12 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM usr_admins,centres,degrees,courses,crs_usr_requests"
" FROM usr_admins,centres,deg_degrees,courses,crs_usr_requests"
" WHERE usr_admins.UsrCod=%ld"
" AND usr_admins.Scope='%s'"
" AND usr_admins.Cod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
" ORDER BY crs_usr_requests.RequestTime DESC",
@ -2437,12 +2437,12 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM crs_usr,institutions,centres,degrees,courses,crs_usr_requests"
" FROM crs_usr,institutions,centres,deg_degrees,courses,crs_usr_requests"
" WHERE crs_usr.UsrCod=%ld"
" AND crs_usr.Role=%u"
" AND crs_usr.CrsCod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=%ld"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
@ -2462,14 +2462,14 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM usr_admins,institutions,centres,degrees,courses,crs_usr_requests"
" FROM usr_admins,institutions,centres,deg_degrees,courses,crs_usr_requests"
" WHERE usr_admins.UsrCod=%ld"
" AND usr_admins.Scope='%s'"
" AND usr_admins.Cod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND usr_admins.Cod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
" ORDER BY crs_usr_requests.RequestTime DESC",
@ -2486,14 +2486,14 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM usr_admins,institutions,centres,degrees,courses,crs_usr_requests"
" FROM usr_admins,institutions,centres,deg_degrees,courses,crs_usr_requests"
" WHERE usr_admins.UsrCod=%ld"
" AND usr_admins.Scope='%s'"
" AND usr_admins.Cod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
" ORDER BY crs_usr_requests.RequestTime DESC",
@ -2510,14 +2510,14 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM usr_admins,institutions,centres,degrees,courses,crs_usr_requests"
" FROM usr_admins,institutions,centres,deg_degrees,courses,crs_usr_requests"
" WHERE usr_admins.UsrCod=%ld"
" AND usr_admins.Scope='%s'"
" AND usr_admins.Cod=institutions.InsCod"
" AND institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
" ORDER BY crs_usr_requests.RequestTime DESC",
@ -2534,11 +2534,11 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM institutions,centres,degrees,courses,crs_usr_requests"
" FROM institutions,centres,deg_degrees,courses,crs_usr_requests"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
" ORDER BY crs_usr_requests.RequestTime DESC",
@ -2562,12 +2562,12 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM crs_usr,centres,degrees,courses,crs_usr_requests"
" FROM crs_usr,centres,deg_degrees,courses,crs_usr_requests"
" WHERE crs_usr.UsrCod=%ld"
" AND crs_usr.Role=%u"
" AND crs_usr.CrsCod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=%ld"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
@ -2586,13 +2586,13 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM usr_admins,centres,degrees,courses,crs_usr_requests"
" FROM usr_admins,centres,deg_degrees,courses,crs_usr_requests"
" WHERE usr_admins.UsrCod=%ld"
" AND usr_admins.Scope='%s'"
" AND usr_admins.Cod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND usr_admins.Cod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
" ORDER BY crs_usr_requests.RequestTime DESC",
@ -2609,13 +2609,13 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM usr_admins,centres,degrees,courses,crs_usr_requests"
" FROM usr_admins,centres,deg_degrees,courses,crs_usr_requests"
" WHERE usr_admins.UsrCod=%ld"
" AND usr_admins.Scope='%s'"
" AND usr_admins.Cod=centres.CtrCod"
" AND centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
" ORDER BY crs_usr_requests.RequestTime DESC",
@ -2633,10 +2633,10 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM centres,degrees,courses,crs_usr_requests"
" FROM centres,deg_degrees,courses,crs_usr_requests"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
" ORDER BY crs_usr_requests.RequestTime DESC",
@ -2660,12 +2660,12 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM crs_usr,degrees,courses,crs_usr_requests"
" FROM crs_usr,deg_degrees,courses,crs_usr_requests"
" WHERE crs_usr.UsrCod=%ld"
" AND crs_usr.Role=%u"
" AND crs_usr.CrsCod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=%ld"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=%ld"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
" ORDER BY crs_usr_requests.RequestTime DESC",
@ -2683,12 +2683,12 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM usr_admins,degrees,courses,crs_usr_requests"
" FROM usr_admins,deg_degrees,courses,crs_usr_requests"
" WHERE usr_admins.UsrCod=%ld"
" AND usr_admins.Scope='%s'"
" AND usr_admins.Cod=degrees.DegCod"
" AND degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" AND usr_admins.Cod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
" ORDER BY crs_usr_requests.RequestTime DESC",
@ -2707,9 +2707,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
"UNIX_TIMESTAMP(crs_usr_requests.RequestTime)"
" FROM degrees,courses,crs_usr_requests"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr_requests"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr_requests.CrsCod"
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
" ORDER BY crs_usr_requests.RequestTime DESC",

View File

@ -1897,30 +1897,30 @@ unsigned Exa_GetNumCoursesWithExams (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of courses with exams",
"SELECT COUNT(DISTINCT exa_exams.CrsCod)"
" FROM institutions,centres,degrees,courses,exa_exams"
" FROM institutions,centres,deg_degrees,courses,exa_exams"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=exa_exams.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of courses with exams",
"SELECT COUNT(DISTINCT exa_exams.CrsCod)"
" FROM centres,degrees,courses,exa_exams"
" FROM centres,deg_degrees,courses,exa_exams"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=exa_exams.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of courses with exams",
"SELECT COUNT(DISTINCT exa_exams.CrsCod)"
" FROM degrees,courses,exa_exams"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,exa_exams"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=exa_exams.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
break;
@ -1977,30 +1977,30 @@ unsigned Exa_GetNumExams (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of exams",
"SELECT COUNT(*)"
" FROM institutions,centres,degrees,courses,exa_exams"
" FROM institutions,centres,deg_degrees,courses,exa_exams"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=exa_exams.CrsCod",
Gbl.Hierarchy.Cty.CtyCod);
break;
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of exams",
"SELECT COUNT(*)"
" FROM centres,degrees,courses,exa_exams"
" FROM centres,deg_degrees,courses,exa_exams"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=exa_exams.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of exams",
"SELECT COUNT(*)"
" FROM degrees,courses,exa_exams"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,exa_exams"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=exa_exams.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
break;
@ -2060,11 +2060,11 @@ double Exa_GetNumQstsPerCrsExam (Hie_Lvl_Level_t Scope)
DB_QuerySELECT (&mysql_res,"can not get number of questions per exam",
"SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(exa_set_questions.QstCod) AS NumQsts"
" FROM institutions,centres,degrees,courses,exa_exams,exa_set_questions"
" FROM institutions,centres,deg_degrees,courses,exa_exams,exa_set_questions"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=exa_exams.CrsCod"
" AND exa_exams.ExaCod=exa_set_questions.ExaCod"
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable",
@ -2074,10 +2074,10 @@ double Exa_GetNumQstsPerCrsExam (Hie_Lvl_Level_t Scope)
DB_QuerySELECT (&mysql_res,"can not get number of questions per exam",
"SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(exa_set_questions.QstCod) AS NumQsts"
" FROM centres,degrees,courses,exa_exams,exa_set_questions"
" FROM centres,deg_degrees,courses,exa_exams,exa_set_questions"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=exa_exams.CrsCod"
" AND exa_exams.ExaCod=exa_set_questions.ExaCod"
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable",
@ -2087,9 +2087,9 @@ double Exa_GetNumQstsPerCrsExam (Hie_Lvl_Level_t Scope)
DB_QuerySELECT (&mysql_res,"can not get number of questions per exam",
"SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(exa_set_questions.QstCod) AS NumQsts"
" FROM degrees,courses,exa_exams,exa_set_questions"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,exa_exams,exa_set_questions"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=exa_exams.CrsCod"
" AND exa_exams.ExaCod=exa_set_questions.ExaCod"
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable",

View File

@ -809,7 +809,8 @@ static void Fig_GetAndShowHierarchyWithCrss (void)
NumDegsWithCrss = Deg_GetCachedNumDegsWithCrss (SubQuery,Hie_Lvl_INS,Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
sprintf (SubQuery,"degrees.CtrCod=%ld AND ",Gbl.Hierarchy.Ctr.CtrCod);
sprintf (SubQuery,"deg_degrees.CtrCod=%ld AND ",
Gbl.Hierarchy.Ctr.CtrCod);
NumDegsWithCrss = Deg_GetCachedNumDegsWithCrss (SubQuery,Hie_Lvl_CTR,Gbl.Hierarchy.Ctr.CtrCod);
break;
case Hie_Lvl_DEG:
@ -872,7 +873,8 @@ static void Fig_GetAndShowHierarchyWithUsrs (Rol_Role_t Role)
NumCrssWithUsrs = Crs_GetCachedNumCrssWithUsrs (Role,SubQuery,Hie_Lvl_INS,Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
sprintf (SubQuery,"degrees.CtrCod=%ld AND ",Gbl.Hierarchy.Ctr.CtrCod);
sprintf (SubQuery,"deg_degrees.CtrCod=%ld AND ",
Gbl.Hierarchy.Ctr.CtrCod);
NumCtysWithUsrs = Cty_GetCachedNumCtysWithUsrs (Role,SubQuery,Hie_Lvl_CTR,Gbl.Hierarchy.Ctr.CtrCod);
NumInssWithUsrs = Ins_GetCachedNumInssWithUsrs (Role,SubQuery,Hie_Lvl_CTR,Gbl.Hierarchy.Ctr.CtrCod);
NumCtrsWithUsrs = Ctr_GetCachedNumCtrsWithUsrs (Role,SubQuery,Hie_Lvl_CTR,Gbl.Hierarchy.Ctr.CtrCod);
@ -1140,8 +1142,8 @@ static void Fig_GetAndShowInssOrderedByNumDegs (void)
NumInss =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get institutions",
"SELECT centres.InsCod,COUNT(*) AS N"
" FROM centres,degrees"
" WHERE centres.CtrCod=degrees.CtrCod"
" FROM centres,deg_degrees"
" WHERE centres.CtrCod=deg_degrees.CtrCod"
" GROUP BY InsCod"
" ORDER BY N DESC");
break;
@ -1149,10 +1151,10 @@ static void Fig_GetAndShowInssOrderedByNumDegs (void)
NumInss =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get institutions",
"SELECT centres.InsCod,COUNT(*) AS N"
" FROM institutions,centres,degrees"
" FROM institutions,centres,deg_degrees"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" GROUP BY centres.InsCod"
" ORDER BY N DESC",
Gbl.Hierarchy.Cty.CtyCod);
@ -1164,9 +1166,9 @@ static void Fig_GetAndShowInssOrderedByNumDegs (void)
NumInss =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get institutions",
"SELECT centres.InsCod,COUNT(*) AS N"
" FROM centres,degrees"
" FROM centres,deg_degrees"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" GROUP BY centres.InsCod"
" ORDER BY N DESC",
Gbl.Hierarchy.Ins.InsCod);
@ -1209,9 +1211,9 @@ static void Fig_GetAndShowInssOrderedByNumCrss (void)
NumInss =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get institutions",
"SELECT centres.InsCod,COUNT(*) AS N"
" FROM centres,degrees,courses"
" WHERE centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" FROM centres,deg_degrees,courses"
" WHERE centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" GROUP BY InsCod"
" ORDER BY N DESC");
break;
@ -1219,11 +1221,11 @@ static void Fig_GetAndShowInssOrderedByNumCrss (void)
NumInss =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get institutions",
"SELECT centres.InsCod,COUNT(*) AS N"
" FROM institutions,centres,degrees,courses"
" FROM institutions,centres,deg_degrees,courses"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" GROUP BY centres.InsCod"
" ORDER BY N DESC",
Gbl.Hierarchy.Cty.CtyCod);
@ -1235,10 +1237,10 @@ static void Fig_GetAndShowInssOrderedByNumCrss (void)
NumInss =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get institutions",
"SELECT centres.InsCod,COUNT(*) AS N"
" FROM centres,degrees,courses"
" FROM centres,deg_degrees,courses"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" GROUP BY centres.InsCod"
" ORDER BY N DESC",
Gbl.Hierarchy.Ins.InsCod);
@ -1281,9 +1283,9 @@ static void Fig_GetAndShowInssOrderedByNumUsrsInCrss (void)
NumInss =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get institutions",
"SELECT centres.InsCod,COUNT(DISTINCT crs_usr.UsrCod) AS N"
" FROM centres,degrees,courses,crs_usr"
" WHERE centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" FROM centres,deg_degrees,courses,crs_usr"
" WHERE centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" GROUP BY InsCod"
" ORDER BY N DESC");
@ -1292,11 +1294,11 @@ static void Fig_GetAndShowInssOrderedByNumUsrsInCrss (void)
NumInss =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get institutions",
"SELECT centres.InsCod,COUNT(DISTINCT crs_usr.UsrCod) AS N"
" FROM institutions,centres,degrees,courses,crs_usr"
" FROM institutions,centres,deg_degrees,courses,crs_usr"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" GROUP BY centres.InsCod"
" ORDER BY N DESC",
@ -1309,10 +1311,10 @@ static void Fig_GetAndShowInssOrderedByNumUsrsInCrss (void)
NumInss =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get institutions",
"SELECT centres.InsCod,COUNT(DISTINCT crs_usr.UsrCod) AS N"
" FROM centres,degrees,courses,crs_usr"
" FROM centres,deg_degrees,courses,crs_usr"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" GROUP BY centres.InsCod"
" ORDER BY N DESC",
@ -1776,11 +1778,11 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM institutions,centres,degrees,courses,file_browser_size"
" FROM institutions,centres,deg_degrees,courses,file_browser_size"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN (%u,%u,%u,%u,%u,%u)"
" UNION "
@ -1790,11 +1792,11 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM institutions,centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" FROM institutions,centres,deg_degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
@ -1825,11 +1827,11 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM institutions,centres,degrees,courses,file_browser_size"
" FROM institutions,centres,deg_degrees,courses,file_browser_size"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
" and file_browser_size.FileBrowser=%u",
Gbl.Hierarchy.Cty.CtyCod,(unsigned) FileBrowser);
@ -1846,11 +1848,11 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM institutions,centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" FROM institutions,centres,deg_degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
@ -1867,11 +1869,11 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM institutions,centres,degrees,courses,file_browser_size"
" FROM institutions,centres,deg_degrees,courses,file_browser_size"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser=%u",
Gbl.Hierarchy.Cty.CtyCod,(unsigned) FileBrowser);
@ -1885,11 +1887,11 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM institutions,centres,degrees,courses,crs_usr,file_browser_size"
" FROM institutions,centres,deg_degrees,courses,crs_usr,file_browser_size"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=file_browser_size.ZoneUsrCod"
" AND file_browser_size.FileBrowser=%u",
@ -1921,10 +1923,10 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM centres,degrees,courses,file_browser_size"
" FROM centres,deg_degrees,courses,file_browser_size"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN (%u,%u,%u,%u,%u,%u)"
" UNION "
@ -1934,10 +1936,10 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" FROM centres,deg_degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
@ -1968,10 +1970,10 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM centres,degrees,courses,file_browser_size"
" FROM centres,deg_degrees,courses,file_browser_size"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
" and file_browser_size.FileBrowser=%u",
Gbl.Hierarchy.Ins.InsCod,(unsigned) FileBrowser);
@ -1988,10 +1990,10 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" FROM centres,deg_degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
@ -2008,10 +2010,10 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM centres,degrees,courses,file_browser_size"
" FROM centres,deg_degrees,courses,file_browser_size"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser=%u",
Gbl.Hierarchy.Ins.InsCod,(unsigned) FileBrowser);
@ -2025,10 +2027,10 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM centres,degrees,courses,crs_usr,file_browser_size"
" FROM centres,deg_degrees,courses,crs_usr,file_browser_size"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=file_browser_size.ZoneUsrCod"
" AND file_browser_size.FileBrowser=%u",
@ -2060,9 +2062,9 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM degrees,courses,file_browser_size"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,file_browser_size"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN (%u,%u,%u,%u,%u,%u)"
" UNION "
@ -2072,9 +2074,9 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
@ -2105,9 +2107,9 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM degrees,courses,file_browser_size"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,file_browser_size"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser=%u",
Gbl.Hierarchy.Ctr.CtrCod,(unsigned) FileBrowser);
@ -2124,9 +2126,9 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
@ -2143,9 +2145,9 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM degrees,courses,file_browser_size"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,file_browser_size"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser=%u",
Gbl.Hierarchy.Ctr.CtrCod,(unsigned) FileBrowser);
@ -2159,9 +2161,9 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Lvl_Level_t Scope,
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM degrees,courses,crs_usr,file_browser_size"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,file_browser_size"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=file_browser_size.ZoneUsrCod"
" AND file_browser_size.FileBrowser=%u",
@ -2828,11 +2830,11 @@ static void Fig_GetNumberOfOERsFromDB (Hie_Lvl_Level_t Scope,Brw_License_t Licen
NumRows =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get number of OERs",
"SELECT files.Public,COUNT(*)"
" FROM institutions,centres,degrees,courses,files"
" FROM institutions,centres,deg_degrees,courses,files"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=files.Cod"
" AND files.FileBrowser IN (%u,%u)"
" AND files.License=%u"
@ -2846,10 +2848,10 @@ static void Fig_GetNumberOfOERsFromDB (Hie_Lvl_Level_t Scope,Brw_License_t Licen
NumRows =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get number of OERs",
"SELECT files.Public,COUNT(*)"
" FROM centres,degrees,courses,files"
" FROM centres,deg_degrees,courses,files"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=files.Cod"
" AND files.FileBrowser IN (%u,%u)"
" AND files.License=%u"
@ -2863,9 +2865,9 @@ static void Fig_GetNumberOfOERsFromDB (Hie_Lvl_Level_t Scope,Brw_License_t Licen
NumRows =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get number of OERs",
"SELECT files.Public,COUNT(*)"
" FROM degrees,courses,files"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,files"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=files.Cod"
" AND files.FileBrowser IN (%u,%u)"
" AND files.License=%u"
@ -3435,11 +3437,11 @@ static void Fig_GetAndShowTimelineActivityStats (void)
NumRows = DB_QuerySELECT (&mysql_res,"can not get number of social notes",
"SELECT COUNT(DISTINCT tml_notes.NotCod),"
"COUNT(DISTINCT tml_notes.UsrCod)"
" FROM institutions,centres,degrees,courses,crs_usr,tml_notes"
" FROM institutions,centres,deg_degrees,courses,crs_usr,tml_notes"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=tml_notes.UsrCod"
" AND tml_notes.NoteType=%u",
@ -3450,10 +3452,10 @@ static void Fig_GetAndShowTimelineActivityStats (void)
NumRows = DB_QuerySELECT (&mysql_res,"can not get number of social notes",
"SELECT COUNT(DISTINCT tml_notes.NotCod),"
"COUNT(DISTINCT tml_notes.UsrCod)"
" FROM centres,degrees,courses,crs_usr,tml_notes"
" FROM centres,deg_degrees,courses,crs_usr,tml_notes"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=tml_notes.UsrCod"
" AND tml_notes.NoteType=%u",
@ -3464,9 +3466,9 @@ static void Fig_GetAndShowTimelineActivityStats (void)
NumRows = DB_QuerySELECT (&mysql_res,"can not get number of social notes",
"SELECT COUNT(DISTINCT tml_notes.NotCod),"
"COUNT(DISTINCT tml_notes.UsrCod)"
" FROM degrees,courses,crs_usr,tml_notes"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,tml_notes"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=tml_notes.UsrCod"
" AND tml_notes.NoteType=%u",
@ -3565,11 +3567,11 @@ static void Fig_GetAndShowTimelineActivityStats (void)
NumRows = DB_QuerySELECT (&mysql_res,"can not get number of social notes",
"SELECT COUNT(DISTINCT tml_notes.NotCod),"
"COUNT(DISTINCT tml_notes.UsrCod)"
" FROM institutions,centres,degrees,courses,crs_usr,tml_notes"
" FROM institutions,centres,deg_degrees,courses,crs_usr,tml_notes"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=tml_notes.UsrCod",
Gbl.Hierarchy.Cty.CtyCod);
@ -3578,10 +3580,10 @@ static void Fig_GetAndShowTimelineActivityStats (void)
NumRows = DB_QuerySELECT (&mysql_res,"can not get number of social notes",
"SELECT COUNT(DISTINCT tml_notes.NotCod),"
"COUNT(DISTINCT tml_notes.UsrCod)"
" FROM centres,degrees,courses,crs_usr,tml_notes"
" FROM centres,deg_degrees,courses,crs_usr,tml_notes"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=tml_notes.UsrCod",
Gbl.Hierarchy.Ins.InsCod);
@ -3590,9 +3592,9 @@ static void Fig_GetAndShowTimelineActivityStats (void)
NumRows = DB_QuerySELECT (&mysql_res,"can not get number of social notes",
"SELECT COUNT(DISTINCT tml_notes.NotCod),"
"COUNT(DISTINCT tml_notes.UsrCod)"
" FROM degrees,courses,crs_usr,tml_notes"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,tml_notes"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=tml_notes.UsrCod",
Gbl.Hierarchy.Ctr.CtrCod);
@ -3748,11 +3750,11 @@ static void Fig_GetAndShowFollowStats (void)
(unsigned) DB_QueryCOUNT ("can not get the total number"
" of following/followers",
"SELECT COUNT(DISTINCT usr_follow.%s)"
" FROM institutions,centres,degrees,courses,crs_usr,usr_follow"
" FROM institutions,centres,deg_degrees,courses,crs_usr,usr_follow"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_follow.%s",
FieldDB[Fol],
@ -3764,10 +3766,10 @@ static void Fig_GetAndShowFollowStats (void)
(unsigned) DB_QueryCOUNT ("can not get the total number"
" of following/followers",
"SELECT COUNT(DISTINCT usr_follow.%s)"
" FROM centres,degrees,courses,crs_usr,usr_follow"
" FROM centres,deg_degrees,courses,crs_usr,usr_follow"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_follow.%s",
FieldDB[Fol],
@ -3779,9 +3781,9 @@ static void Fig_GetAndShowFollowStats (void)
(unsigned) DB_QueryCOUNT ("can not get the total number"
" of following/followers",
"SELECT COUNT(DISTINCT usr_follow.%s)"
" FROM degrees,courses,crs_usr,usr_follow"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,usr_follow"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_follow.%s",
FieldDB[Fol],
@ -3862,11 +3864,11 @@ static void Fig_GetAndShowFollowStats (void)
" per survey",
"SELECT AVG(N) FROM "
"(SELECT COUNT(DISTINCT usr_follow.%s) AS N"
" FROM institutions,centres,degrees,courses,crs_usr,usr_follow"
" FROM institutions,centres,deg_degrees,courses,crs_usr,usr_follow"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_follow.%s"
" GROUP BY %s) AS F",
@ -3880,10 +3882,10 @@ static void Fig_GetAndShowFollowStats (void)
" per survey",
"SELECT AVG(N) FROM "
"(SELECT COUNT(DISTINCT usr_follow.%s) AS N"
" FROM centres,degrees,courses,crs_usr,usr_follow"
" FROM centres,deg_degrees,courses,crs_usr,usr_follow"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_follow.%s"
" GROUP BY %s) AS F",
@ -3897,9 +3899,9 @@ static void Fig_GetAndShowFollowStats (void)
" per survey",
"SELECT AVG(N) FROM "
"(SELECT COUNT(DISTINCT usr_follow.%s) AS N"
" FROM degrees,courses,crs_usr,usr_follow"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,usr_follow"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_follow.%s"
" GROUP BY %s) AS F",
@ -4400,11 +4402,11 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void)
DB_QuerySELECT (&mysql_res,"can not get the number"
" of notifications by email",
"SELECT SUM(sta_notif.NumEvents),SUM(sta_notif.NumMails)"
" FROM institutions,centres,degrees,sta_notif"
" FROM institutions,centres,deg_degrees,sta_notif"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=sta_notif.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=sta_notif.DegCod"
" AND sta_notif.NotifyEvent=%u",
Gbl.Hierarchy.Cty.CtyCod,(unsigned) NotifyEvent);
break;
@ -4412,10 +4414,10 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void)
DB_QuerySELECT (&mysql_res,"can not get the number"
" of notifications by email",
"SELECT SUM(sta_notif.NumEvents),SUM(sta_notif.NumMails)"
" FROM centres,degrees,sta_notif"
" FROM centres,deg_degrees,sta_notif"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=sta_notif.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=sta_notif.DegCod"
" AND sta_notif.NotifyEvent=%u",
Gbl.Hierarchy.Ins.InsCod,(unsigned) NotifyEvent);
break;
@ -4423,9 +4425,9 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void)
DB_QuerySELECT (&mysql_res,"can not get the number"
" of notifications by email",
"SELECT SUM(sta_notif.NumEvents),SUM(sta_notif.NumMails)"
" FROM degrees,sta_notif"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=sta_notif.DegCod"
" FROM deg_degrees,sta_notif"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=sta_notif.DegCod"
" AND sta_notif.NotifyEvent=%u",
Gbl.Hierarchy.Ctr.CtrCod,(unsigned) NotifyEvent);
break;
@ -5567,11 +5569,11 @@ unsigned Fig_GetNumUsrsWhoChoseAnOption (const char *SubQuery)
(unsigned) DB_QueryCOUNT ("can not get the number of users"
" who have chosen an option",
"SELECT COUNT(DISTINCT usr_data.UsrCod)"
" FROM institutions,centres,degrees,courses,crs_usr,usr_data"
" FROM institutions,centres,deg_degrees,courses,crs_usr,usr_data"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_data.UsrCod"
" AND %s",
@ -5582,10 +5584,10 @@ unsigned Fig_GetNumUsrsWhoChoseAnOption (const char *SubQuery)
(unsigned) DB_QueryCOUNT ("can not get the number of users"
" who have chosen an option",
"SELECT COUNT(DISTINCT usr_data.UsrCod)"
" FROM centres,degrees,courses,crs_usr,usr_data"
" FROM centres,deg_degrees,courses,crs_usr,usr_data"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_data.UsrCod"
" AND %s",
@ -5596,9 +5598,9 @@ unsigned Fig_GetNumUsrsWhoChoseAnOption (const char *SubQuery)
(unsigned) DB_QueryCOUNT ("can not get the number of users"
" who have chosen an option",
"SELECT COUNT(DISTINCT usr_data.UsrCod)"
" FROM degrees,courses,crs_usr,usr_data"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,usr_data"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_data.UsrCod"
" AND %s",

View File

@ -1376,11 +1376,11 @@ void Fol_GetAndShowRankingFollowers (void)
NumUsrs =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get ranking",
"SELECT usr_follow.FollowedCod,COUNT(DISTINCT usr_follow.FollowerCod) AS N"
" FROM institutions,centres,degrees,courses,crs_usr,usr_follow"
" FROM institutions,centres,deg_degrees,courses,crs_usr,usr_follow"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_follow.FollowedCod"
" GROUP BY usr_follow.FollowedCod"
@ -1391,10 +1391,10 @@ void Fol_GetAndShowRankingFollowers (void)
NumUsrs =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get ranking",
"SELECT usr_follow.FollowedCod,COUNT(DISTINCT usr_follow.FollowerCod) AS N"
" FROM centres,degrees,courses,crs_usr,usr_follow"
" FROM centres,deg_degrees,courses,crs_usr,usr_follow"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_follow.FollowedCod"
" GROUP BY usr_follow.FollowedCod"
@ -1405,9 +1405,9 @@ void Fol_GetAndShowRankingFollowers (void)
NumUsrs =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get ranking",
"SELECT usr_follow.FollowedCod,COUNT(DISTINCT usr_follow.FollowerCod) AS N"
" FROM degrees,courses,crs_usr,usr_follow"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,usr_follow"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_follow.FollowedCod"
" GROUP BY usr_follow.FollowedCod"

View File

@ -2686,27 +2686,27 @@ unsigned For_GetNumTotalForumsOfType (For_ForumType_t ForumType,
else if (CtrCod > 0) // DegCod <= 0 && CtrCod > 0 ==> Number of degree forums for a centre
DB_QuerySELECT (&mysql_res,"can not get number of forums of a type",
"SELECT COUNT(DISTINCT forum_thread.Location)"
" FROM forum_thread,degrees"
" FROM forum_thread,deg_degrees"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=degrees.DegCod"
" AND degrees.CtrCod=%ld",
" AND forum_thread.Location=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=%ld",
(unsigned) ForumType,CtrCod);
else if (InsCod > 0) // CtrCod <= 0 && InsCod > 0 ==> Number of degree forums for an institution
DB_QuerySELECT (&mysql_res,"can not get number of forums of a type",
"SELECT COUNT(DISTINCT forum_thread.Location)"
" FROM forum_thread,degrees,centres"
" FROM forum_thread,deg_degrees,centres"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND forum_thread.Location=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=%ld",
(unsigned) ForumType,InsCod);
else if (CtyCod > 0) // InsCod <= 0 && CtyCod > 0 ==> Number of degree forums for a country
DB_QuerySELECT (&mysql_res,"can not get number of forums of a type",
"SELECT COUNT(DISTINCT forum_thread.Location)"
" FROM forum_thread,degrees,centres,institutions"
" FROM forum_thread,deg_degrees,centres,institutions"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND forum_thread.Location=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=%ld",
(unsigned) ForumType,CtyCod);
@ -2737,30 +2737,30 @@ unsigned For_GetNumTotalForumsOfType (For_ForumType_t ForumType,
else if (CtrCod > 0) // DegCod <= 0 && CtrCod > 0 ==> Number of course forums for a centre
DB_QuerySELECT (&mysql_res,"can not get number of forums of a type",
"SELECT COUNT(DISTINCT forum_thread.Location)"
" FROM forum_thread,courses,degrees"
" FROM forum_thread,courses,deg_degrees"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=%ld",
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=%ld",
(unsigned) ForumType,CtrCod);
else if (InsCod > 0) // CtrCod <= 0 && InsCod > 0 ==> Number of course forums for an institution
DB_QuerySELECT (&mysql_res,"can not get number of forums of a type",
"SELECT COUNT(DISTINCT forum_thread.Location)"
" FROM forum_thread,courses,degrees,centres"
" FROM forum_thread,courses,deg_degrees,centres"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=%ld",
(unsigned) ForumType,InsCod);
else if (CtyCod > 0) // InsCod <= 0 && CtyCod > 0 ==> Number of course forums for a country
DB_QuerySELECT (&mysql_res,"can not get number of forums of a type",
"SELECT COUNT(DISTINCT forum_thread.Location)"
" FROM forum_thread,courses,degrees,centres,institutions"
" FROM forum_thread,courses,deg_degrees,centres,institutions"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=%ld",
(unsigned) ForumType,CtyCod);
@ -2900,20 +2900,20 @@ unsigned For_GetNumTotalThrsInForumsOfType (For_ForumType_t ForumType,
(unsigned) DB_QueryCOUNT ("can not get the number of threads"
" in forums of a type",
"SELECT COUNT(*)"
" FROM forum_thread,degrees"
" FROM forum_thread,deg_degrees"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=degrees.DegCod"
" AND degrees.CtrCod=%ld",
" AND forum_thread.Location=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=%ld",
(unsigned) ForumType,CtrCod);
else if (InsCod > 0) // CtrCod <= 0 && InsCod > 0 ==> Number of threads in degree forums for an institution
NumThrs =
(unsigned) DB_QueryCOUNT ("can not get the number of threads"
" in forums of a type",
"SELECT COUNT(*)"
" FROM forum_thread,degrees,centres"
" FROM forum_thread,deg_degrees,centres"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND forum_thread.Location=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=%ld",
(unsigned) ForumType,InsCod);
else if (CtyCod > 0) // InsCod <= 0 && CtyCod > 0 ==> Number of threads in degree forums for a country
@ -2921,10 +2921,10 @@ unsigned For_GetNumTotalThrsInForumsOfType (For_ForumType_t ForumType,
(unsigned) DB_QueryCOUNT ("can not get the number of threads"
" in forums of a type",
"SELECT COUNT(*)"
" FROM forum_thread,degrees,centres,institutions"
" FROM forum_thread,deg_degrees,centres,institutions"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND forum_thread.Location=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=%ld",
(unsigned) ForumType,CtyCod);
@ -2963,22 +2963,22 @@ unsigned For_GetNumTotalThrsInForumsOfType (For_ForumType_t ForumType,
(unsigned) DB_QueryCOUNT ("can not get the number of threads"
" in forums of a type",
"SELECT COUNT(*)"
" FROM forum_thread,courses,degrees"
" FROM forum_thread,courses,deg_degrees"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=%ld",
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=%ld",
(unsigned) ForumType,CtrCod);
else if (InsCod > 0) // CtrCod <= 0 && InsCod > 0 ==> Number of threads in course forums for an institution
NumThrs =
(unsigned) DB_QueryCOUNT ("can not get the number of threads"
" in forums of a type",
"SELECT COUNT(*)"
" FROM forum_thread,courses,degrees,centres"
" FROM forum_thread,courses,deg_degrees,centres"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=%ld",
(unsigned) ForumType,InsCod);
else if (CtyCod > 0) // InsCod <= 0 && CtyCod > 0 ==> Number of threads in course forums for a country
@ -2986,11 +2986,11 @@ unsigned For_GetNumTotalThrsInForumsOfType (For_ForumType_t ForumType,
(unsigned) DB_QueryCOUNT ("can not get the number of threads"
" in forums of a type",
"SELECT COUNT(*)"
" FROM forum_thread,courses,degrees,centres,institutions"
" FROM forum_thread,courses,deg_degrees,centres,institutions"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=%ld",
(unsigned) ForumType,CtyCod);
@ -3144,20 +3144,20 @@ unsigned For_GetNumTotalPstsInForumsOfType (For_ForumType_t ForumType,
DB_QuerySELECT (&mysql_res,"can not get the total number"
" of forums of a type",
"SELECT COUNT(*),SUM(forum_post.NumNotif)"
" FROM forum_thread,degrees,forum_post "
" FROM forum_thread,deg_degrees,forum_post "
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=degrees.DegCod"
" AND degrees.CtrCod=%ld"
" AND forum_thread.Location=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=%ld"
" AND forum_thread.ThrCod=forum_post.ThrCod",
(unsigned) ForumType,CtrCod);
else if (InsCod > 0) // CtrCod <= 0 && InsCod > 0 ==> Number of posts in degree forums for an institution
DB_QuerySELECT (&mysql_res,"can not get the total number"
" of forums of a type",
"SELECT COUNT(*),SUM(forum_post.NumNotif)"
" FROM forum_thread,degrees,centres,forum_post"
" FROM forum_thread,deg_degrees,centres,forum_post"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND forum_thread.Location=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=%ld"
" AND forum_thread.ThrCod=forum_post.ThrCod",
(unsigned) ForumType,InsCod);
@ -3165,10 +3165,10 @@ unsigned For_GetNumTotalPstsInForumsOfType (For_ForumType_t ForumType,
DB_QuerySELECT (&mysql_res,"can not get the total number"
" of forums of a type",
"SELECT COUNT(*),SUM(forum_post.NumNotif)"
" FROM forum_thread,degrees,centres,institutions,forum_post"
" FROM forum_thread,deg_degrees,centres,institutions,forum_post"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND forum_thread.Location=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=%ld"
" AND forum_thread.ThrCod=forum_post.ThrCod",
@ -3207,22 +3207,22 @@ unsigned For_GetNumTotalPstsInForumsOfType (For_ForumType_t ForumType,
DB_QuerySELECT (&mysql_res,"can not get the total number"
" of forums of a type",
"SELECT COUNT(*),SUM(forum_post.NumNotif)"
" FROM forum_thread,courses,degrees,forum_post "
" FROM forum_thread,courses,deg_degrees,forum_post "
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=%ld"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=%ld"
" AND forum_thread.ThrCod=forum_post.ThrCod",
(unsigned) ForumType,CtrCod);
else if (InsCod > 0) // CtrCod <= 0 && InsCod > 0 ==> Number of posts in course forums for an institution
DB_QuerySELECT (&mysql_res,"can not get the total number"
" of forums of a type",
"SELECT COUNT(*),SUM(forum_post.NumNotif)"
" FROM forum_thread,courses,degrees,centres,forum_post"
" FROM forum_thread,courses,deg_degrees,centres,forum_post"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=%ld"
" AND forum_thread.ThrCod=forum_post.ThrCod",
(unsigned) ForumType,InsCod);
@ -3230,11 +3230,11 @@ unsigned For_GetNumTotalPstsInForumsOfType (For_ForumType_t ForumType,
DB_QuerySELECT (&mysql_res,"can not get the total number"
" of forums of a type",
"SELECT COUNT(*),SUM(forum_post.NumNotif)"
" FROM forum_thread,courses,degrees,centres,institutions,forum_post"
" FROM forum_thread,courses,deg_degrees,centres,institutions,forum_post"
" WHERE forum_thread.ForumType=%u"
" AND forum_thread.Location=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=%ld"
" AND forum_thread.ThrCod=forum_post.ThrCod",

View File

@ -2674,30 +2674,30 @@ unsigned Gam_GetNumCoursesWithGames (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of courses with games",
"SELECT COUNT(DISTINCT gam_games.CrsCod)"
" FROM institutions,centres,degrees,courses,gam_games"
" FROM institutions,centres,deg_degrees,courses,gam_games"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=gam_games.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of courses with games",
"SELECT COUNT(DISTINCT gam_games.CrsCod)"
" FROM centres,degrees,courses,gam_games"
" FROM centres,deg_degrees,courses,gam_games"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=gam_games.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of courses with games",
"SELECT COUNT(DISTINCT gam_games.CrsCod)"
" FROM degrees,courses,gam_games"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,gam_games"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=gam_games.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
break;
@ -2754,30 +2754,30 @@ unsigned Gam_GetNumGames (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of games",
"SELECT COUNT(*)"
" FROM institutions,centres,degrees,courses,gam_games"
" FROM institutions,centres,deg_degrees,courses,gam_games"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=gam_games.CrsCod",
Gbl.Hierarchy.Cty.CtyCod);
break;
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of games",
"SELECT COUNT(*)"
" FROM centres,degrees,courses,gam_games"
" FROM centres,deg_degrees,courses,gam_games"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=gam_games.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of games",
"SELECT COUNT(*)"
" FROM degrees,courses,gam_games"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,gam_games"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=gam_games.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
break;
@ -2837,11 +2837,11 @@ double Gam_GetNumQstsPerCrsGame (Hie_Lvl_Level_t Scope)
DB_QuerySELECT (&mysql_res,"can not get number of questions per game",
"SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(gam_questions.QstCod) AS NumQsts"
" FROM institutions,centres,degrees,courses,gam_games,gam_questions"
" FROM institutions,centres,deg_degrees,courses,gam_games,gam_questions"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=gam_games.CrsCod"
" AND gam_games.GamCod=gam_questions.GamCod"
" GROUP BY gam_questions.GamCod) AS NumQstsTable",
@ -2851,10 +2851,10 @@ double Gam_GetNumQstsPerCrsGame (Hie_Lvl_Level_t Scope)
DB_QuerySELECT (&mysql_res,"can not get number of questions per game",
"SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(gam_questions.QstCod) AS NumQsts"
" FROM centres,degrees,courses,gam_games,gam_questions"
" FROM centres,deg_degrees,courses,gam_games,gam_questions"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=gam_games.CrsCod"
" AND gam_games.GamCod=gam_questions.GamCod"
" GROUP BY gam_questions.GamCod) AS NumQstsTable",
@ -2864,9 +2864,9 @@ double Gam_GetNumQstsPerCrsGame (Hie_Lvl_Level_t Scope)
DB_QuerySELECT (&mysql_res,"can not get number of questions per game",
"SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(gam_questions.QstCod) AS NumQsts"
" FROM degrees,courses,gam_games,gam_questions"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,gam_games,gam_questions"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=gam_games.CrsCod"
" AND gam_games.GamCod=gam_questions.GamCod"
" GROUP BY gam_questions.GamCod) AS NumQstsTable",

View File

@ -674,17 +674,21 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
" AND usr_admins.Scope='%s'"
" AND usr_admins.Cod=institutions.InsCod)"
" UNION "
"(SELECT %u AS S,usr_admins.Cod,centres.FullName"
"(SELECT %u AS S,"
"usr_admins.Cod,"
"centres.FullName"
" FROM usr_admins,centres"
" WHERE usr_admins.UsrCod=%ld"
" AND usr_admins.Scope='%s'"
" AND usr_admins.Cod=centres.CtrCod)"
" UNION "
"(SELECT %u AS S,usr_admins.Cod,degrees.FullName"
" FROM usr_admins,degrees"
"(SELECT %u AS S,"
"usr_admins.Cod,"
"deg_degrees.FullName"
" FROM usr_admins,deg_degrees"
" WHERE usr_admins.UsrCod=%ld"
" AND usr_admins.Scope='%s'"
" AND usr_admins.Cod=degrees.DegCod)"
" AND usr_admins.Cod=deg_degrees.DegCod)"
" ORDER BY S,FullName",
(unsigned) Hie_Lvl_SYS,UsrCod,Sco_GetDBStrFromScope (Hie_Lvl_SYS),
(unsigned) Hie_Lvl_INS,UsrCod,Sco_GetDBStrFromScope (Hie_Lvl_INS),

View File

@ -354,29 +354,39 @@ static unsigned Ind_GetTableOfCourses (const struct Ind_Indicators *Indicators,
if (Indicators->DegTypCod > 0)
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT DISTINCTROW degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM degrees,courses,crs_usr,usr_data"
" WHERE degrees.DegTypCod=%ld"
" AND degrees.DegCod=courses.DegCod"
"SELECT DISTINCTROW "
"deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM deg_degrees,courses,crs_usr,usr_data"
" WHERE deg_degrees.DegTypCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" AND crs_usr.UsrCod=usr_data.UsrCod"
" AND usr_data.DptCod=%ld"
" ORDER BY degrees.FullName,courses.FullName",
" ORDER BY deg_degrees.FullName,"
"courses.FullName",
Indicators->DegTypCod,
(unsigned) Rol_TCH,
Indicators->DptCod);
else
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT DISTINCTROW degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM degrees,courses,crs_usr,usr_data"
" WHERE degrees.DegCod=courses.DegCod"
"SELECT DISTINCTROW "
"deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM deg_degrees,courses,crs_usr,usr_data"
" WHERE deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" AND crs_usr.UsrCod=usr_data.UsrCod"
" AND usr_data.DptCod=%ld"
" ORDER BY degrees.FullName,courses.FullName",
" ORDER BY deg_degrees.FullName,"
"courses.FullName",
(unsigned) Rol_TCH,
Indicators->DptCod);
}
@ -385,145 +395,194 @@ static unsigned Ind_GetTableOfCourses (const struct Ind_Indicators *Indicators,
if (Indicators->DegTypCod > 0)
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM degrees,courses"
" WHERE degrees.DegTypCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" ORDER BY degrees.FullName,courses.FullName",
"SELECT deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM deg_degrees,courses"
" WHERE deg_degrees.DegTypCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" ORDER BY deg_degrees.FullName,"
"courses.FullName",
Indicators->DegTypCod);
else
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM degrees,courses"
" WHERE degrees.DegCod=courses.DegCod"
" ORDER BY degrees.FullName,courses.FullName");
"SELECT deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM deg_degrees,courses"
" WHERE deg_degrees.DegCod=courses.DegCod"
" ORDER BY deg_degrees.FullName,"
"courses.FullName");
}
break;
case Hie_Lvl_CTY:
if (Indicators->DptCod >= 0) // 0 means another department
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT DISTINCTROW degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM institutions,centres,degrees,courses,crs_usr,usr_data"
"SELECT DISTINCTROW "
"deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM institutions,centres,deg_degrees,courses,crs_usr,usr_data"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" AND crs_usr.UsrCod=usr_data.UsrCod"
" AND usr_data.DptCod=%ld"
" ORDER BY degrees.FullName,courses.FullName",
" ORDER BY deg_degrees.FullName,"
"courses.FullName",
Gbl.Hierarchy.Cty.CtyCod,
(unsigned) Rol_TCH,
Indicators->DptCod);
else
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM institutions,centres,degrees,courses"
"SELECT deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM institutions,centres,deg_degrees,courses"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" ORDER BY degrees.FullName,courses.FullName",
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" ORDER BY deg_degrees.FullName,"
"courses.FullName",
Gbl.Hierarchy.Cty.CtyCod);
break;
case Hie_Lvl_INS:
if (Indicators->DptCod >= 0) // 0 means another department
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT DISTINCTROW degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM centres,degrees,courses,crs_usr,usr_data"
"SELECT DISTINCTROW "
"deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM centres,deg_degrees,courses,crs_usr,usr_data"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" AND crs_usr.UsrCod=usr_data.UsrCod"
" AND usr_data.DptCod=%ld"
" ORDER BY degrees.FullName,courses.FullName",
" ORDER BY deg_degrees.FullName,"
"courses.FullName",
Gbl.Hierarchy.Ins.InsCod,
(unsigned) Rol_TCH,
Indicators->DptCod);
else
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM centres,degrees,courses"
"SELECT deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM centres,deg_degrees,courses"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" ORDER BY degrees.FullName,courses.FullName",
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" ORDER BY deg_degrees.FullName,"
"courses.FullName",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
if (Indicators->DptCod >= 0) // 0 means another department
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT DISTINCTROW degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM degrees,courses,crs_usr,usr_data"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
"SELECT DISTINCTROW "
"deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM deg_degrees,courses,crs_usr,usr_data"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" AND crs_usr.UsrCod=usr_data.UsrCod"
" AND usr_data.DptCod=%ld"
" ORDER BY degrees.FullName,courses.FullName",
" ORDER BY deg_degrees.FullName,"
"courses.FullName",
Gbl.Hierarchy.Ctr.CtrCod,
(unsigned) Rol_TCH,
Indicators->DptCod);
else
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM degrees,courses"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" ORDER BY degrees.FullName,courses.FullName",
"SELECT deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM deg_degrees,courses"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" ORDER BY deg_degrees.FullName,"
"courses.FullName",
Gbl.Hierarchy.Ctr.CtrCod);
break;
case Hie_Lvl_DEG:
if (Indicators->DptCod >= 0) // 0 means another department
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT DISTINCTROW degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM degrees,courses,crs_usr,usr_data"
" WHERE degrees.DegCod=%ld"
" AND degrees.DegCod=courses.DegCod"
"SELECT DISTINCTROW "
"deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM deg_degrees,courses,crs_usr,usr_data"
" WHERE deg_degrees.DegCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" AND crs_usr.UsrCod=usr_data.UsrCod"
" AND usr_data.DptCod=%ld"
" ORDER BY degrees.FullName,courses.FullName",
" ORDER BY deg_degrees.FullName,"
"courses.FullName",
Gbl.Hierarchy.Deg.DegCod,
(unsigned) Rol_TCH,
Indicators->DptCod);
else
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM degrees,courses"
" WHERE degrees.DegCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" ORDER BY degrees.FullName,courses.FullName",
"SELECT deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM deg_degrees,courses"
" WHERE deg_degrees.DegCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" ORDER BY deg_degrees.FullName,"
"courses.FullName",
Gbl.Hierarchy.Deg.DegCod);
break;
case Hie_Lvl_CRS:
if (Indicators->DptCod >= 0) // 0 means another department
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT DISTINCTROW degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM degrees,courses,crs_usr,usr_data"
"SELECT DISTINCTROW "
"deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM deg_degrees,courses,crs_usr,usr_data"
" WHERE courses.CrsCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.CrsCod=%ld"
" AND crs_usr.Role=%u"
" AND crs_usr.UsrCod=usr_data.UsrCod"
" AND usr_data.DptCod=%ld"
" ORDER BY degrees.FullName,courses.FullName",
" ORDER BY deg_degrees.FullName,"
"courses.FullName",
Gbl.Hierarchy.Crs.CrsCod,
Gbl.Hierarchy.Crs.CrsCod,
(unsigned) Rol_TCH,
@ -531,11 +590,15 @@ static unsigned Ind_GetTableOfCourses (const struct Ind_Indicators *Indicators,
else
NumCrss =
(unsigned) DB_QuerySELECT (mysql_res,"can not get courses",
"SELECT degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod"
" FROM degrees,courses"
"SELECT deg_degrees.FullName,"
"courses.FullName,"
"courses.CrsCod,"
"courses.InsCrsCod"
" FROM deg_degrees,courses"
" WHERE courses.CrsCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" ORDER BY degrees.FullName,courses.FullName",
" AND deg_degrees.DegCod=courses.DegCod"
" ORDER BY deg_degrees.FullName,"
"courses.FullName",
Gbl.Hierarchy.Crs.CrsCod);
break;
default:

View File

@ -2027,9 +2027,9 @@ unsigned Ins_GetCachedNumInssWithDegs (const char *SubQuery,
NumInssWithDegs = (unsigned)
DB_QueryCOUNT ("can not get number of institutions with degrees",
"SELECT COUNT(DISTINCT institutions.InsCod)"
" FROM institutions,centres,degrees"
" FROM institutions,centres,deg_degrees"
" WHERE %sinstitutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod",
" AND centres.CtrCod=deg_degrees.CtrCod",
SubQuery);
FigCch_UpdateFigureIntoCache (FigCch_NUM_INSS_WITH_DEGS,Scope,Cod,
FigCch_UNSIGNED,&NumInssWithDegs);
@ -2055,10 +2055,10 @@ unsigned Ins_GetCachedNumInssWithCrss (const char *SubQuery,
NumInssWithCrss = (unsigned)
DB_QueryCOUNT ("can not get number of institutions with courses",
"SELECT COUNT(DISTINCT institutions.InsCod)"
" FROM institutions,centres,degrees,courses"
" FROM institutions,centres,deg_degrees,courses"
" WHERE %sinstitutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod",
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod",
SubQuery);
FigCch_UpdateFigureIntoCache (FigCch_NUM_INSS_WITH_CRSS,Scope,Cod,
FigCch_UNSIGNED,&NumInssWithCrss);
@ -2090,10 +2090,10 @@ unsigned Ins_GetCachedNumInssWithUsrs (Rol_Role_t Role,const char *SubQuery,
NumInssWithUsrs = (unsigned)
DB_QueryCOUNT ("can not get number of institutions with users",
"SELECT COUNT(DISTINCT institutions.InsCod)"
" FROM institutions,centres,degrees,courses,crs_usr"
" FROM institutions,centres,deg_degrees,courses,crs_usr"
" WHERE %sinstitutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u",
SubQuery,(unsigned) Role);

View File

@ -2241,11 +2241,11 @@ unsigned Msg_GetNumMsgsSent (Hie_Lvl_Level_t Scope,Msg_Status_t MsgStatus)
NumMsgs =
(unsigned) DB_QueryCOUNT ("can not get number of sent messages",
"SELECT COUNT(*)"
" FROM institutions,centres,degrees,courses,%s"
" FROM institutions,centres,deg_degrees,courses,%s"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=%s.CrsCod",
Table,
Gbl.Hierarchy.Cty.CtyCod,
@ -2255,10 +2255,10 @@ unsigned Msg_GetNumMsgsSent (Hie_Lvl_Level_t Scope,Msg_Status_t MsgStatus)
NumMsgs =
(unsigned) DB_QueryCOUNT ("can not get number of sent messages",
"SELECT COUNT(*)"
" FROM centres,degrees,courses,%s"
" FROM centres,deg_degrees,courses,%s"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=%s.CrsCod",
Table,
Gbl.Hierarchy.Ins.InsCod,
@ -2268,9 +2268,9 @@ unsigned Msg_GetNumMsgsSent (Hie_Lvl_Level_t Scope,Msg_Status_t MsgStatus)
NumMsgs =
(unsigned) DB_QueryCOUNT ("can not get number of sent messages",
"SELECT COUNT(*)"
" FROM degrees,courses,%s"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,%s"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=%s.CrsCod",
Table,
Gbl.Hierarchy.Ctr.CtrCod,
@ -2332,11 +2332,11 @@ unsigned Msg_GetNumMsgsReceived (Hie_Lvl_Level_t Scope,Msg_Status_t MsgStatus)
(unsigned) DB_QueryCOUNT ("can not get number"
" of received messages",
"SELECT COUNT(*)"
" FROM institutions,centres,degrees,courses,%s,msg_snt"
" FROM institutions,centres,deg_degrees,courses,%s,msg_snt"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=msg_snt.CrsCod"
" AND msg_snt.MsgCod=%s.MsgCod",
Table,
@ -2348,10 +2348,10 @@ unsigned Msg_GetNumMsgsReceived (Hie_Lvl_Level_t Scope,Msg_Status_t MsgStatus)
(unsigned) DB_QueryCOUNT ("can not get number"
" of received messages",
"SELECT COUNT(*)"
" FROM centres,degrees,courses,%s,msg_snt"
" FROM centres,deg_degrees,courses,%s,msg_snt"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=msg_snt.CrsCod"
" AND msg_snt.MsgCod=%s.MsgCod",
Table,
@ -2363,9 +2363,9 @@ unsigned Msg_GetNumMsgsReceived (Hie_Lvl_Level_t Scope,Msg_Status_t MsgStatus)
(unsigned) DB_QueryCOUNT ("can not get number"
" of received messages",
"SELECT COUNT(*)"
" FROM degrees,courses,%s,msg_snt"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,%s,msg_snt"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=msg_snt.CrsCod"
" AND msg_snt.MsgCod=%s.MsgCod",
Table,
@ -2424,21 +2424,21 @@ unsigned Msg_GetNumMsgsReceived (Hie_Lvl_Level_t Scope,Msg_Status_t MsgStatus)
" of received messages",
"SELECT "
"(SELECT COUNT(*)"
" FROM institutions,centres,degrees,courses,msg_snt,msg_rcv"
" FROM institutions,centres,deg_degrees,courses,msg_snt,msg_rcv"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=msg_snt.CrsCod"
" AND msg_snt.MsgCod=msg_rcv.MsgCod"
" AND msg_rcv.Notified='Y')"
" + "
"(SELECT COUNT(*)"
" FROM institutions,centres,degrees,courses,msg_snt,msg_rcv_deleted"
" FROM institutions,centres,deg_degrees,courses,msg_snt,msg_rcv_deleted"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=msg_snt.CrsCod"
" AND msg_snt.MsgCod=msg_rcv_deleted.MsgCod"
" AND msg_rcv_deleted.Notified='Y')",
@ -2451,19 +2451,19 @@ unsigned Msg_GetNumMsgsReceived (Hie_Lvl_Level_t Scope,Msg_Status_t MsgStatus)
" of received messages",
"SELECT "
"(SELECT COUNT(*)"
" FROM centres,degrees,courses,msg_snt,msg_rcv"
" FROM centres,deg_degrees,courses,msg_snt,msg_rcv"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=msg_snt.CrsCod"
" AND msg_snt.MsgCod=msg_rcv.MsgCod"
" AND msg_rcv.Notified='Y')"
" + "
"(SELECT COUNT(*)"
" FROM centres,degrees,courses,msg_snt,msg_rcv_deleted"
" FROM centres,deg_degrees,courses,msg_snt,msg_rcv_deleted"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=msg_snt.CrsCod"
" AND msg_snt.MsgCod=msg_rcv_deleted.MsgCod"
" AND msg_rcv_deleted.Notified='Y')",
@ -2476,17 +2476,17 @@ unsigned Msg_GetNumMsgsReceived (Hie_Lvl_Level_t Scope,Msg_Status_t MsgStatus)
" of received messages",
"SELECT "
"(SELECT COUNT(*)"
" FROM degrees,courses,msg_snt,msg_rcv"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,msg_snt,msg_rcv"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=msg_snt.CrsCod"
" AND msg_snt.MsgCod=msg_rcv.MsgCod"
" AND msg_rcv.Notified='Y')"
" + "
"(SELECT COUNT(*)"
" FROM degrees,courses,msg_snt,msg_rcv_deleted"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,msg_snt,msg_rcv_deleted"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=msg_snt.CrsCod"
" AND msg_snt.MsgCod=msg_rcv_deleted.MsgCod"
" AND msg_rcv_deleted.Notified='Y')",

View File

@ -468,11 +468,11 @@ void Net_ShowWebAndSocialNetworksStats (void)
" with webs / social networks",
"SELECT usr_webs.Web,"
"COUNT(DISTINCT usr_webs.UsrCod) AS N"
" FROM institutions,centres,degrees,courses,crs_usr,usr_webs"
" FROM institutions,centres,deg_degrees,courses,crs_usr,usr_webs"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_webs.UsrCod"
" GROUP BY usr_webs.Web"
@ -485,10 +485,10 @@ void Net_ShowWebAndSocialNetworksStats (void)
" with webs / social networks",
"SELECT usr_webs.Web,"
"COUNT(DISTINCT usr_webs.UsrCod) AS N"
" FROM centres,degrees,courses,crs_usr,usr_webs"
" FROM centres,deg_degrees,courses,crs_usr,usr_webs"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_webs.UsrCod"
" GROUP BY usr_webs.Web"
@ -501,9 +501,9 @@ void Net_ShowWebAndSocialNetworksStats (void)
" with webs / social networks",
"SELECT usr_webs.Web,"
"COUNT(DISTINCT usr_webs.UsrCod) AS N"
" FROM degrees,courses,crs_usr,usr_webs"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,usr_webs"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_webs.UsrCod"
" GROUP BY usr_webs.Web"

View File

@ -830,11 +830,11 @@ unsigned Not_GetNumNotices (Hie_Lvl_Level_t Scope,Not_Status_t Status,unsigned *
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of notices",
"SELECT COUNT(*),SUM(notices.NumNotif)"
" FROM institutions,centres,degrees,courses,notices"
" FROM institutions,centres,deg_degrees,courses,notices"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=notices.CrsCod"
" AND notices.Status=%u",
Gbl.Hierarchy.Cty.CtyCod,
@ -843,10 +843,10 @@ unsigned Not_GetNumNotices (Hie_Lvl_Level_t Scope,Not_Status_t Status,unsigned *
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of notices",
"SELECT COUNT(*),SUM(notices.NumNotif)"
" FROM centres,degrees,courses,notices"
" FROM centres,deg_degrees,courses,notices"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=notices.CrsCod"
" AND notices.Status=%u",
Gbl.Hierarchy.Ins.InsCod,
@ -855,9 +855,9 @@ unsigned Not_GetNumNotices (Hie_Lvl_Level_t Scope,Not_Status_t Status,unsigned *
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of notices",
"SELECT COUNT(*),SUM(notices.NumNotif)"
" FROM degrees,courses,notices"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,notices"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=notices.CrsCod"
" AND notices.Status=%u",
Gbl.Hierarchy.Ctr.CtrCod,
@ -930,30 +930,30 @@ unsigned Not_GetNumNoticesDeleted (Hie_Lvl_Level_t Scope,unsigned *NumNotif)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of deleted notices",
"SELECT COUNT(*),SUM(notices_deleted.NumNotif)"
" FROM institutions,centres,degrees,courses,notices_deleted"
" FROM institutions,centres,deg_degrees,courses,notices_deleted"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=notices_deleted.CrsCod",
Gbl.Hierarchy.Cty.CtyCod);
break;
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of deleted notices",
"SELECT COUNT(*),SUM(notices_deleted.NumNotif)"
" FROM centres,degrees,courses,notices_deleted"
" FROM centres,deg_degrees,courses,notices_deleted"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=notices_deleted.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of deleted notices",
"SELECT COUNT(*),SUM(notices_deleted.NumNotif)"
" FROM degrees,courses,notices_deleted"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,notices_deleted"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=notices_deleted.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
break;

View File

@ -1426,12 +1426,12 @@ static long Pho_GetDegWithAvgPhotoLeastRecentlyUpdated (void)
choose it as least recently updated *****/
/* Get one degree with students not yet computed */
NumRows = DB_QuerySELECT (&mysql_res,"can not get degrees",
"SELECT DISTINCT degrees.DegCod"
" FROM degrees,courses,crs_usr"
" WHERE degrees.DegCod=courses.DegCod"
"SELECT DISTINCT deg_degrees.DegCod"
" FROM deg_degrees,courses,crs_usr"
" WHERE deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role=%u"
" AND degrees.DegCod NOT IN"
" AND deg_degrees.DegCod NOT IN"
" (SELECT DISTINCT DegCod FROM sta_degrees)"
" LIMIT 1",
(unsigned) Rol_STD);
@ -1492,7 +1492,7 @@ void Pho_RemoveObsoleteStatDegrees (void)
{
DB_QueryDELETE ("can not remove old degrees from stats",
"DELETE FROM sta_degrees"
" WHERE DegCod NOT IN (SELECT DegCod FROM degrees)");
" WHERE DegCod NOT IN (SELECT DegCod FROM deg_degrees)");
}
/*****************************************************************************/
@ -2326,45 +2326,45 @@ static unsigned long Pho_BuildQueryOfDegrees (Pho_HowOrderDegrees_t HowOrderDegr
{
case Pho_NUMBER_OF_STUDENTS:
NumDegs = DB_QuerySELECT (mysql_res,"can not get degrees",
"SELECT degrees.DegCod"
" FROM degrees,sta_degrees"
"SELECT deg_degrees.DegCod"
" FROM deg_degrees,sta_degrees"
" WHERE sta_degrees.Sex='all'"
" AND sta_degrees.NumStds>0"
" AND degrees.DegCod=sta_degrees.DegCod"
" AND deg_degrees.DegCod=sta_degrees.DegCod"
" ORDER BY sta_degrees.NumStds DESC,"
"sta_degrees.NumStdsWithPhoto DESC,"
"degrees.ShortName");
"sta_degrees.NumStdsWithPhoto DESC,"
"deg_degrees.ShortName");
break;
case Pho_NUMBER_OF_PHOTOS:
NumDegs = DB_QuerySELECT (mysql_res,"can not get degrees",
"SELECT degrees.DegCod"
" FROM degrees,sta_degrees"
"SELECT deg_degrees.DegCod"
" FROM deg_degrees,sta_degrees"
" WHERE sta_degrees.Sex='all'"
" AND sta_degrees.NumStds>0"
" AND degrees.DegCod=sta_degrees.DegCod"
" AND deg_degrees.DegCod=sta_degrees.DegCod"
" ORDER BY sta_degrees.NumStdsWithPhoto DESC,"
"sta_degrees.NumStds DESC,"
"degrees.ShortName");
"sta_degrees.NumStds DESC,"
"deg_degrees.ShortName");
break;
case Pho_PERCENT:
NumDegs = DB_QuerySELECT (mysql_res,"can not get degrees",
"SELECT degrees.DegCod"
" FROM degrees,sta_degrees"
"SELECT deg_degrees.DegCod"
" FROM deg_degrees,sta_degrees"
" WHERE sta_degrees.Sex='all'"
" AND sta_degrees.NumStds>0"
" AND degrees.DegCod=sta_degrees.DegCod"
" AND deg_degrees.DegCod=sta_degrees.DegCod"
" ORDER BY sta_degrees.NumStdsWithPhoto/"
"sta_degrees.NumStds DESC,"
"degrees.ShortName");
"sta_degrees.NumStds DESC,"
"deg_degrees.ShortName");
break;
case Pho_DEGREE_NAME:
NumDegs = DB_QuerySELECT (mysql_res,"can not get degrees",
"SELECT degrees.DegCod"
" FROM degrees,sta_degrees"
"SELECT deg_degrees.DegCod"
" FROM deg_degrees,sta_degrees"
" WHERE sta_degrees.Sex='all'"
" AND sta_degrees.NumStds>0"
" AND degrees.DegCod=sta_degrees.DegCod"
" ORDER BY degrees.ShortName");
" AND deg_degrees.DegCod=sta_degrees.DegCod"
" ORDER BY deg_degrees.ShortName");
break;
}

View File

@ -1435,11 +1435,11 @@ static void Prf_GetAndShowRankingFigure (const char *FieldName)
NumUsrs =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get ranking",
"SELECT DISTINCTROW usr_figures.UsrCod,usr_figures.%s"
" FROM institutions,centres,degrees,courses,crs_usr,usr_figures"
" FROM institutions,centres,deg_degrees,courses,crs_usr,usr_figures"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.%s>0"
@ -1453,10 +1453,10 @@ static void Prf_GetAndShowRankingFigure (const char *FieldName)
NumUsrs =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get ranking",
"SELECT DISTINCTROW usr_figures.UsrCod,usr_figures.%s"
" FROM centres,degrees,courses,crs_usr,usr_figures"
" FROM centres,deg_degrees,courses,crs_usr,usr_figures"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.%s>0"
@ -1470,9 +1470,9 @@ static void Prf_GetAndShowRankingFigure (const char *FieldName)
NumUsrs =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get ranking",
"SELECT DISTINCTROW usr_figures.UsrCod,usr_figures.%s"
" FROM degrees,courses,crs_usr,usr_figures"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,crs_usr,usr_figures"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.%s>0"
@ -1603,73 +1603,85 @@ void Prf_GetAndShowRankingClicksPerDay (void)
NumUsrs =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get ranking",
"SELECT UsrCod,"
"NumClicks/(DATEDIFF(NOW(),FirstClickTime)+1) AS NumClicksPerDay"
"NumClicks/(DATEDIFF(NOW(),"
"FirstClickTime)+1) AS NumClicksPerDay"
" FROM usr_figures"
" WHERE NumClicks>0"
" AND FirstClickTime>FROM_UNIXTIME(0)"
" AND UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY NumClicksPerDay DESC,UsrCod LIMIT 100");
" ORDER BY NumClicksPerDay DESC,UsrCod"
" LIMIT 100");
break;
case Hie_Lvl_CTY:
NumUsrs =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get ranking",
"SELECT DISTINCTROW usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
" FROM institutions,centres,degrees,courses,crs_usr,usr_figures"
"SELECT DISTINCTROW "
"usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
" FROM institutions,centres,deg_degrees,courses,crs_usr,usr_figures"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.NumClicks>0"
" AND usr_figures.FirstClickTime>FROM_UNIXTIME(0)"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY NumClicksPerDay DESC,usr_figures.UsrCod LIMIT 100",
" ORDER BY NumClicksPerDay DESC,"
"usr_figures.UsrCod"
" LIMIT 100",
Gbl.Hierarchy.Cty.CtyCod);
break;
case Hie_Lvl_INS:
NumUsrs =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get ranking",
"SELECT DISTINCTROW usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
" FROM centres,degrees,courses,crs_usr,usr_figures"
"SELECT DISTINCTROW "
"usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
" FROM centres,deg_degrees,courses,crs_usr,usr_figures"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.NumClicks>0"
" AND usr_figures.FirstClickTime>FROM_UNIXTIME(0)"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY NumClicksPerDay DESC,usr_figures.UsrCod LIMIT 100",
" ORDER BY NumClicksPerDay DESC,"
"usr_figures.UsrCod"
" LIMIT 100",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
NumUsrs =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get ranking",
"SELECT DISTINCTROW usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
" FROM degrees,courses,crs_usr,usr_figures"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
"SELECT DISTINCTROW "
"usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
" FROM deg_degrees,courses,crs_usr,usr_figures"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.NumClicks>0"
" AND usr_figures.FirstClickTime>FROM_UNIXTIME(0)"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY NumClicksPerDay DESC,usr_figures.UsrCod LIMIT 100",
" ORDER BY NumClicksPerDay DESC,"
"usr_figures.UsrCod"
" LIMIT 100",
Gbl.Hierarchy.Ctr.CtrCod);
break;
case Hie_Lvl_DEG:
NumUsrs =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get ranking",
"SELECT DISTINCTROW usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
"SELECT DISTINCTROW "
"usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
" FROM courses,crs_usr,usr_figures"
" WHERE courses.DegCod=%ld"
" AND courses.CrsCod=crs_usr.CrsCod"
@ -1677,22 +1689,27 @@ void Prf_GetAndShowRankingClicksPerDay (void)
" AND usr_figures.NumClicks>0"
" AND usr_figures.FirstClickTime>FROM_UNIXTIME(0)"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY NumClicksPerDay DESC,usr_figures.UsrCod LIMIT 100",
" ORDER BY NumClicksPerDay DESC,"
"usr_figures.UsrCod"
" LIMIT 100",
Gbl.Hierarchy.Deg.DegCod);
break;
case Hie_Lvl_CRS:
NumUsrs =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get ranking",
"SELECT DISTINCTROW usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
"SELECT DISTINCTROW "
"usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
" FROM crs_usr,usr_figures"
" WHERE crs_usr.CrsCod=%ld"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.NumClicks>0"
" AND usr_figures.FirstClickTime>FROM_UNIXTIME(0)"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY NumClicksPerDay DESC,usr_figures.UsrCod LIMIT 100",
" ORDER BY NumClicksPerDay DESC,"
"usr_figures.UsrCod"
" LIMIT 100",
Gbl.Hierarchy.Crs.CrsCod);
break;
default:

View File

@ -2198,11 +2198,11 @@ unsigned Prg_GetNumCoursesWithItems (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of courses with program items",
"SELECT COUNT(DISTINCT prg_items.CrsCod)"
" FROM institutions,centres,degrees,courses,prg_items"
" FROM institutions,centres,deg_degrees,courses,prg_items"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=prg_items.CrsCod",
Gbl.Hierarchy.Cty.CtyCod);
@ -2210,10 +2210,10 @@ unsigned Prg_GetNumCoursesWithItems (Hie_Lvl_Level_t Scope)
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of courses with program items",
"SELECT COUNT(DISTINCT prg_items.CrsCod)"
" FROM centres,degrees,courses,prg_items"
" FROM centres,deg_degrees,courses,prg_items"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=prg_items.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
@ -2221,9 +2221,9 @@ unsigned Prg_GetNumCoursesWithItems (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of courses with program items",
"SELECT COUNT(DISTINCT prg_items.CrsCod)"
" FROM degrees,courses,prg_items"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,prg_items"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=prg_items.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
@ -2283,30 +2283,30 @@ unsigned Prg_GetNumItems (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of program items",
"SELECT COUNT(*)"
" FROM institutions,centres,degrees,courses,prg_items"
" FROM institutions,centres,deg_degrees,courses,prg_items"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=prg_items.CrsCod",
Gbl.Hierarchy.Cty.CtyCod);
break;
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of program items",
"SELECT COUNT(*)"
" FROM centres,degrees,courses,prg_items"
" FROM centres,deg_degrees,courses,prg_items"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=prg_items.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of program items",
"SELECT COUNT(*)"
" FROM degrees,courses,prg_items"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,prg_items"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=prg_items.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
break;

View File

@ -4586,11 +4586,11 @@ unsigned Prj_GetNumCoursesWithProjects (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of courses with projects",
"SELECT COUNT(DISTINCT projects.CrsCod)"
" FROM institutions,centres,degrees,courses,projects"
" FROM institutions,centres,deg_degrees,courses,projects"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=projects.CrsCod",
Gbl.Hierarchy.Cty.CtyCod);
@ -4598,10 +4598,10 @@ unsigned Prj_GetNumCoursesWithProjects (Hie_Lvl_Level_t Scope)
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of courses with projects",
"SELECT COUNT(DISTINCT projects.CrsCod)"
" FROM centres,degrees,courses,projects"
" FROM centres,deg_degrees,courses,projects"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=projects.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
@ -4609,9 +4609,9 @@ unsigned Prj_GetNumCoursesWithProjects (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of courses with projects",
"SELECT COUNT(DISTINCT projects.CrsCod)"
" FROM degrees,courses,projects"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,projects"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.Status=0"
" AND courses.CrsCod=projects.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
@ -4671,30 +4671,30 @@ unsigned Prj_GetNumProjects (Hie_Lvl_Level_t Scope)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of projects",
"SELECT COUNT(*)"
" FROM institutions,centres,degrees,courses,projects"
" FROM institutions,centres,deg_degrees,courses,projects"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=projects.CrsCod",
Gbl.Hierarchy.Cty.CtyCod);
break;
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of projects",
"SELECT COUNT(*)"
" FROM centres,degrees,courses,projects"
" FROM centres,deg_degrees,courses,projects"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=projects.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of projects",
"SELECT COUNT(*)"
" FROM degrees,courses,projects"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,projects"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=projects.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
break;

View File

@ -366,7 +366,7 @@ static void Sch_SearchInDB (void)
Gbl.Hierarchy.Ctr.CtrCod);
break;
case Hie_Lvl_DEG:
sprintf (RangeQuery," AND degrees.DegCod=%ld",
sprintf (RangeQuery," AND deg_degrees.DegCod=%ld",
Gbl.Hierarchy.Deg.DegCod);
break;
case Hie_Lvl_CRS:
@ -569,18 +569,19 @@ static unsigned Sch_SearchDegreesInDB (const char *RangeQuery)
/***** Check user's permission *****/
if (Sch_CheckIfIHavePermissionToSearch (Sch_SEARCH_DEGREES))
/***** Split degree string into words *****/
if (Sch_BuildSearchQuery (SearchQuery,"degrees.FullName",NULL,NULL))
if (Sch_BuildSearchQuery (SearchQuery,"deg_degrees.FullName",NULL,NULL))
{
/***** Query database and list degrees found *****/
NumDegs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get degrees",
"SELECT degrees.DegCod"
" FROM degrees,centres,institutions,countries"
"SELECT deg_degrees.DegCod"
" FROM deg_degrees,centres,institutions,countries"
" WHERE %s"
" AND degrees.CtrCod=centres.CtrCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=countries.CtyCod"
"%s"
" ORDER BY degrees.FullName,institutions.FullName",
" ORDER BY deg_degrees.FullName,"
"institutions.FullName",
SearchQuery,RangeQuery);
Deg_ListDegsFound (&mysql_res,NumDegs);
return NumDegs;
@ -608,21 +609,24 @@ static unsigned Sch_SearchCoursesInDB (const char *RangeQuery)
/***** Query database and list courses found *****/
NumCrss = (unsigned)
DB_QuerySELECT (&mysql_res,"can not get courses",
"SELECT degrees.DegCod," // row[0]
"courses.CrsCod," // row[1]
"degrees.ShortName," // row[2]
"degrees.FullName," // row[3]
"courses.Year," // row[4]
"courses.FullName," // row[5]
"centres.ShortName" // row[6]
" FROM courses,degrees,centres,institutions,countries"
"SELECT deg_degrees.DegCod," // row[0]
"courses.CrsCod," // row[1]
"deg_degrees.ShortName," // row[2]
"deg_degrees.FullName," // row[3]
"courses.Year," // row[4]
"courses.FullName," // row[5]
"centres.ShortName" // row[6]
" FROM courses,deg_degrees,centres,institutions,countries"
" WHERE %s"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=countries.CtyCod"
"%s"
" ORDER BY courses.FullName,institutions.FullName,degrees.FullName,courses.Year",
" ORDER BY courses.FullName,"
"institutions.FullName,"
"degrees.FullName,"
"courses.Year",
SearchQuery,RangeQuery);
Crs_ListCrssFound (&mysql_res,NumCrss);
return NumCrss;
@ -683,13 +687,17 @@ static unsigned Sch_SearchOpenDocumentsInDB (const char *RangeQuery)
"SELECT * FROM "
"("
"SELECT files.FilCod," // Institution
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,institutions.ShortName AS InsShortName,"
"-1 AS CtrCod,'' AS CtrShortName,"
"-1 AS DegCod,'' AS DegShortName,"
"-1 AS CrsCod,'' AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,degrees,centres,institutions,countries"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,"
"institutions.ShortName AS InsShortName,"
"-1 AS CtrCod,"
"'' AS CtrShortName,"
"-1 AS DegCod,"
"'' AS DegShortName,"
"-1 AS CrsCod,"
"'' AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,deg_degrees,centres,institutions,countries"
" WHERE files.Public='Y' AND %s"
" AND files.FileBrowser IN (%u,%u)"
" AND files.Cod=institutions.InsCod"
@ -697,13 +705,17 @@ static unsigned Sch_SearchOpenDocumentsInDB (const char *RangeQuery)
"%s"
" UNION "
"SELECT files.FilCod," // Centre
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,institutions.ShortName AS InsShortName,"
"centres.CtrCod,centres.ShortName AS CtrShortName,"
"-1 AS DegCod,'' AS DegShortName,"
"-1 AS CrsCod,'' AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,degrees,centres,institutions,countries"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,"
"institutions.ShortName AS InsShortName,"
"centres.CtrCod,"
"centres.ShortName AS CtrShortName,"
"-1 AS DegCod,"
"'' AS DegShortName,"
"-1 AS CrsCod,"
"'' AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,deg_degrees,centres,institutions,countries"
" WHERE files.Public='Y' AND %s"
" AND files.FileBrowser IN (%u,%u)"
" AND files.Cod=centres.CtrCod"
@ -712,40 +724,51 @@ static unsigned Sch_SearchOpenDocumentsInDB (const char *RangeQuery)
"%s"
" UNION "
"SELECT files.FilCod," // Degree
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,institutions.ShortName AS InsShortName,"
"centres.CtrCod,centres.ShortName AS CtrShortName,"
"degrees.DegCod,degrees.ShortName AS DegShortName,"
"-1,'' AS CrsShortName,"
"-1"
" FROM files,courses,degrees,centres,institutions,countries"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,"
"institutions.ShortName AS InsShortName,"
"centres.CtrCod,"
"centres.ShortName AS CtrShortName,"
"deg_degrees.DegCod,"
"deg_degrees.ShortName AS DegShortName,"
"-1,'' AS CrsShortName,"
"-1"
" FROM files,courses,deg_degrees,centres,institutions,countries"
" WHERE files.Public='Y' AND %s"
" AND files.FileBrowser IN (%u,%u)"
" AND files.Cod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND files.Cod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=countries.CtyCod"
"%s"
" UNION "
"SELECT files.FilCod," // Course
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,institutions.ShortName AS InsShortName,"
"centres.CtrCod,centres.ShortName AS CtrShortName,"
"degrees.DegCod,degrees.ShortName AS DegShortName,"
"courses.CrsCod,courses.ShortName AS CrsShortName,"
"-1"
" FROM files,courses,degrees,centres,institutions,countries"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,"
"institutions.ShortName AS InsShortName,"
"centres.CtrCod,"
"centres.ShortName AS CtrShortName,"
"deg_degrees.DegCod,"
"deg_degrees.ShortName AS DegShortName,"
"courses.CrsCod,"
"courses.ShortName AS CrsShortName,"
"-1"
" FROM files,courses,deg_degrees,centres,institutions,countries"
" WHERE files.Public='Y' AND %s"
" AND files.FileBrowser IN (%u,%u)"
" AND files.Cod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=countries.CtyCod"
"%s"
") AS selected_files"
" WHERE PathFromRoot<>''"
" ORDER BY InsShortName,CtrShortName,DegShortName,CrsShortName,PathFromRoot",
" ORDER BY InsShortName,"
"CtrShortName,"
"DegShortName,"
"CrsShortName,"
"PathFromRoot",
SearchQuery,
(unsigned) Brw_ADMI_DOC_INS,
(unsigned) Brw_ADMI_SHR_INS,
@ -830,43 +853,55 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
"SELECT * FROM "
"("
"SELECT files.FilCod,"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,institutions.ShortName AS InsShortName,"
"centres.CtrCod,centres.ShortName AS CtrShortName,"
"degrees.DegCod,degrees.ShortName AS DegShortName,"
"courses.CrsCod,courses.ShortName AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,degrees,centres,institutions,countries"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,"
"institutions.ShortName AS InsShortName,"
"centres.CtrCod,"
"centres.ShortName AS CtrShortName,"
"deg_degrees.DegCod,"
"deg_degrees.ShortName AS DegShortName,"
"courses.CrsCod,"
"courses.ShortName AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,deg_degrees,centres,institutions,countries"
" WHERE files.FilCod IN (SELECT FilCod FROM my_files_crs) AND %s"
" AND files.FileBrowser IN (%u,%u,%u,%u)"
" AND files.Cod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=countries.CtyCod"
"%s"
" UNION "
"SELECT files.FilCod,"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,institutions.ShortName AS InsShortName,"
"centres.CtrCod,centres.ShortName AS CtrShortName,"
"degrees.DegCod,degrees.ShortName AS DegShortName,"
"courses.CrsCod,courses.ShortName AS CrsShortName,"
"crs_grp.GrpCod"
" FROM files,crs_grp,crs_grp_types,courses,degrees,centres,institutions,countries"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,"
"institutions.ShortName AS InsShortName,"
"centres.CtrCod,"
"centres.ShortName AS CtrShortName,"
"deg_degrees.DegCod,"
"deg_degrees.ShortName AS DegShortName,"
"courses.CrsCod,"
"courses.ShortName AS CrsShortName,"
"crs_grp.GrpCod"
" FROM files,crs_grp,crs_grp_types,courses,deg_degrees,centres,institutions,countries"
" WHERE files.FilCod IN (SELECT FilCod FROM my_files_grp) AND %s"
" AND files.FileBrowser IN (%u,%u,%u,%u)"
" AND files.Cod=crs_grp.GrpCod"
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
" AND crs_grp_types.CrsCod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=countries.CtyCod"
"%s"
") AS selected_files"
" WHERE PathFromRoot<>''"
" ORDER BY InsShortName,CtrShortName,DegShortName,CrsShortName,PathFromRoot",
" ORDER BY InsShortName,"
"CtrShortName,"
"DegShortName,"
"CrsShortName,"
"PathFromRoot",
SearchQuery,
(unsigned) Brw_ADMI_DOC_CRS,
(unsigned) Brw_ADMI_TCH_CRS,
@ -918,13 +953,17 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
"SELECT * FROM "
"("
"SELECT files.FilCod," // Institution
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,institutions.ShortName AS InsShortName,"
"-1 AS CtrCod,'' AS CtrShortName,"
"-1 AS DegCod,'' AS DegShortName,"
"-1 AS CrsCod,'' AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,degrees,centres,institutions,countries"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,"
"institutions.ShortName AS InsShortName,"
"-1 AS CtrCod,"
"'' AS CtrShortName,"
"-1 AS DegCod,"
"'' AS DegShortName,"
"-1 AS CrsCod,"
"'' AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,deg_degrees,centres,institutions,countries"
" WHERE files.PublisherUsrCod=%ld AND %s"
" AND files.FileBrowser IN (%u,%u)"
" AND files.Cod=institutions.InsCod"
@ -932,13 +971,17 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
"%s"
" UNION "
"SELECT files.FilCod," // Centre
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,institutions.ShortName AS InsShortName,"
"centres.CtrCod,centres.ShortName AS CtrShortName,"
"-1 AS DegCod,'' AS DegShortName,"
"-1 AS CrsCod,'' AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,degrees,centres,institutions,countries"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,"
"institutions.ShortName AS InsShortName,"
"centres.CtrCod,"
"centres.ShortName AS CtrShortName,"
"-1 AS DegCod,"
"'' AS DegShortName,"
"-1 AS CrsCod,"
"'' AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,deg_degrees,centres,institutions,countries"
" WHERE files.PublisherUsrCod=%ld AND %s"
" AND files.FileBrowser IN (%u,%u)"
" AND files.Cod=centres.CtrCod"
@ -947,64 +990,80 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
"%s"
" UNION "
"SELECT files.FilCod," // Degree
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,institutions.ShortName AS InsShortName,"
"centres.CtrCod,centres.ShortName AS CtrShortName,"
"degrees.DegCod,degrees.ShortName AS DegShortName,"
"-1 AS CrsCod,'' AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,degrees,centres,institutions,countries"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,"
"institutions.ShortName AS InsShortName,"
"centres.CtrCod,"
"centres.ShortName AS CtrShortName,"
"deg_degrees.DegCod,"
"deg_degrees.ShortName AS DegShortName,"
"-1 AS CrsCod,"
"'' AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,deg_degrees,centres,institutions,countries"
" WHERE files.PublisherUsrCod=%ld AND %s"
" AND files.FileBrowser IN (%u,%u)"
" AND files.Cod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND files.Cod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=countries.CtyCod"
"%s"
" UNION "
"SELECT files.FilCod," // Course
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,institutions.ShortName AS InsShortName,"
"centres.CtrCod,centres.ShortName AS CtrShortName,"
"degrees.DegCod,degrees.ShortName AS DegShortName,"
"courses.CrsCod,courses.ShortName AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,degrees,centres,institutions,countries"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,"
"institutions.ShortName AS InsShortName,"
"centres.CtrCod,"
"centres.ShortName AS CtrShortName,"
"deg_degrees.DegCod,"
"deg_degrees.ShortName AS DegShortName,"
"courses.CrsCod,"
"courses.ShortName AS CrsShortName,"
"-1 AS GrpCod"
" FROM files,courses,deg_degrees,centres,institutions,countries"
" WHERE files.PublisherUsrCod=%ld AND %s"
" AND files.FileBrowser IN (%u,%u,%u,%u)"
" AND files.Cod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=countries.CtyCod"
"%s"
" UNION "
"SELECT files.FilCod," // Group
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,institutions.ShortName AS InsShortName,"
"centres.CtrCod,centres.ShortName AS CtrShortName,"
"degrees.DegCod,degrees.ShortName AS DegShortName,"
"courses.CrsCod,courses.ShortName AS CrsShortName,"
"crs_grp.GrpCod"
" FROM files,crs_grp,crs_grp_types,courses,degrees,centres,institutions,countries"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"institutions.InsCod,"
"institutions.ShortName AS InsShortName,"
"centres.CtrCod,"
"centres.ShortName AS CtrShortName,"
"deg_degrees.DegCod,"
"deg_degrees.ShortName AS DegShortName,"
"courses.CrsCod,"
"courses.ShortName AS CrsShortName,"
"crs_grp.GrpCod"
" FROM files,crs_grp,crs_grp_types,courses,deg_degrees,centres,institutions,countries"
" WHERE files.PublisherUsrCod=%ld AND %s"
" AND files.FileBrowser IN (%u,%u,%u,%u)"
" AND files.Cod=crs_grp.GrpCod"
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
" AND crs_grp_types.CrsCod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND courses.DegCod=deg_degrees.DegCod"
" AND deg_degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=countries.CtyCod"
"%s"
" UNION "
"SELECT files.FilCod," // Briefcase
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"-1 AS InsCod,'' AS InsShortName,"
"-1 AS CtrCod,'' AS CtrShortName,"
"-1 AS DegCod,'' AS DegShortName,"
"-1 AS CrsCod,'' AS CrsShortName,"
"-1 AS GrpCod"
"SUBSTRING(files.Path,LOCATE('/',files.Path)) AS PathFromRoot,"
"-1 AS InsCod,"
"'' AS InsShortName,"
"-1 AS CtrCod,"
"'' AS CtrShortName,"
"-1 AS DegCod,"
"'' AS DegShortName,"
"-1 AS CrsCod,"
"'' AS CrsShortName,"
"-1 AS GrpCod"
" FROM files"
" WHERE files.PublisherUsrCod=%ld AND %s"
" AND files.FileBrowser=%u"

View File

@ -3896,11 +3896,11 @@ unsigned Svy_GetNumCoursesWithCrsSurveys (Hie_Lvl_Level_t Scope)
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with surveys",
"SELECT COUNT(DISTINCT svy_surveys.Cod)"
" FROM institutions,centres,degrees,courses,svy_surveys"
" FROM institutions,centres,deg_degrees,courses,svy_surveys"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=svy_surveys.Cod"
" AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Ins.InsCod,
@ -3910,10 +3910,10 @@ unsigned Svy_GetNumCoursesWithCrsSurveys (Hie_Lvl_Level_t Scope)
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with surveys",
"SELECT COUNT(DISTINCT svy_surveys.Cod)"
" FROM centres,degrees,courses,svy_surveys"
" FROM centres,deg_degrees,courses,svy_surveys"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=svy_surveys.Cod"
" AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Ins.InsCod,
@ -3923,9 +3923,9 @@ unsigned Svy_GetNumCoursesWithCrsSurveys (Hie_Lvl_Level_t Scope)
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with surveys",
"SELECT COUNT(DISTINCT svy_surveys.Cod)"
" FROM degrees,courses,svy_surveys"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,svy_surveys"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=svy_surveys.Cod"
" AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Ctr.CtrCod,
@ -3992,11 +3992,11 @@ unsigned Svy_GetNumCrsSurveys (Hie_Lvl_Level_t Scope,unsigned *NumNotif)
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of surveys",
"SELECT COUNT(*),SUM(svy_surveys.NumNotif)"
" FROM institutions,centres,degrees,courses,svy_surveys"
" FROM institutions,centres,deg_degrees,courses,svy_surveys"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=svy_surveys.Cod"
" AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Cty.CtyCod,
@ -4005,10 +4005,10 @@ unsigned Svy_GetNumCrsSurveys (Hie_Lvl_Level_t Scope,unsigned *NumNotif)
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of surveys",
"SELECT COUNT(*),SUM(svy_surveys.NumNotif)"
" FROM centres,degrees,courses,svy_surveys"
" FROM centres,deg_degrees,courses,svy_surveys"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=svy_surveys.Cod"
" AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Ins.InsCod,
@ -4017,9 +4017,9 @@ unsigned Svy_GetNumCrsSurveys (Hie_Lvl_Level_t Scope,unsigned *NumNotif)
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of surveys",
"SELECT COUNT(*),SUM(svy_surveys.NumNotif)"
" FROM degrees,courses,svy_surveys"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,svy_surveys"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=svy_surveys.Cod"
" AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Ctr.CtrCod,
@ -4098,11 +4098,11 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
" per survey",
"SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts"
" FROM institutions,centres,degrees,courses,svy_surveys,svy_questions"
" FROM institutions,centres,deg_degrees,courses,svy_surveys,svy_questions"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=svy_surveys.Cod"
" AND svy_surveys.Scope='%s'"
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
@ -4115,10 +4115,10 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
" per survey",
"SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts"
" FROM centres,degrees,courses,svy_surveys,svy_questions"
" FROM centres,deg_degrees,courses,svy_surveys,svy_questions"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=svy_surveys.Cod"
" AND svy_surveys.Scope='%s'"
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
@ -4131,9 +4131,9 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
" per survey",
"SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts"
" FROM degrees,courses,svy_surveys,svy_questions"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,svy_surveys,svy_questions"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=svy_surveys.Cod"
" AND svy_surveys.Scope='%s'"
" AND svy_surveys.SvyCod=svy_questions.SvyCod"

View File

@ -5340,11 +5340,15 @@ static unsigned Tst_GetNumTstQuestions (Hie_Lvl_Level_t Scope,Tst_AnswerType_t A
case Hie_Lvl_SYS:
if (AnsType == Tst_ANS_UNKNOWN) // Any type
DB_QuerySELECT (&mysql_res,"can not get number of test questions",
"SELECT COUNT(*),SUM(NumHits),SUM(Score)"
"SELECT COUNT(*),"
"SUM(NumHits),"
"SUM(Score)"
" FROM tst_questions");
else
DB_QuerySELECT (&mysql_res,"can not get number of test questions",
"SELECT COUNT(*),SUM(NumHits),SUM(Score)"
"SELECT COUNT(*),"
"SUM(NumHits),"
"SUM(Score)"
" FROM tst_questions"
" WHERE AnsType='%s'",
Tst_StrAnswerTypesDB[AnsType]);
@ -5352,22 +5356,26 @@ static unsigned Tst_GetNumTstQuestions (Hie_Lvl_Level_t Scope,Tst_AnswerType_t A
case Hie_Lvl_CTY:
if (AnsType == Tst_ANS_UNKNOWN) // Any type
DB_QuerySELECT (&mysql_res,"can not get number of test questions",
"SELECT COUNT(*),SUM(NumHits),SUM(Score)"
" FROM institutions,centres,degrees,courses,tst_questions"
"SELECT COUNT(*),"
"SUM(NumHits),"
"SUM(Score)"
" FROM institutions,centres,deg_degrees,courses,tst_questions"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod",
Gbl.Hierarchy.Cty.CtyCod);
else
DB_QuerySELECT (&mysql_res,"can not get number of test questions",
"SELECT COUNT(*),SUM(NumHits),SUM(Score)"
" FROM institutions,centres,degrees,courses,tst_questions"
"SELECT COUNT(*),"
"SUM(NumHits),"
"SUM(Score)"
" FROM institutions,centres,deg_degrees,courses,tst_questions"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod"
" AND tst_questions.AnsType='%s'",
Gbl.Hierarchy.Cty.CtyCod,
@ -5376,20 +5384,24 @@ static unsigned Tst_GetNumTstQuestions (Hie_Lvl_Level_t Scope,Tst_AnswerType_t A
case Hie_Lvl_INS:
if (AnsType == Tst_ANS_UNKNOWN) // Any type
DB_QuerySELECT (&mysql_res,"can not get number of test questions",
"SELECT COUNT(*),SUM(NumHits),SUM(Score)"
" FROM centres,degrees,courses,tst_questions"
"SELECT COUNT(*),"
"SUM(NumHits),"
"SUM(Score)"
" FROM centres,deg_degrees,courses,tst_questions"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
else
DB_QuerySELECT (&mysql_res,"can not get number of test questions",
"SELECT COUNT(*),SUM(NumHits),SUM(Score)"
" FROM centres,degrees,courses,tst_questions"
"SELECT COUNT(*),"
"SUM(NumHits),"
"SUM(Score)"
" FROM centres,deg_degrees,courses,tst_questions"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod"
" AND tst_questions.AnsType='%s'",
Gbl.Hierarchy.Ins.InsCod,
@ -5398,18 +5410,22 @@ static unsigned Tst_GetNumTstQuestions (Hie_Lvl_Level_t Scope,Tst_AnswerType_t A
case Hie_Lvl_CTR:
if (AnsType == Tst_ANS_UNKNOWN) // Any type
DB_QuerySELECT (&mysql_res,"can not get number of test questions",
"SELECT COUNT(*),SUM(NumHits),SUM(Score)"
" FROM degrees,courses,tst_questions"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
"SELECT COUNT(*),"
"SUM(NumHits),"
"SUM(Score)"
" FROM deg_degrees,courses,tst_questions"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
else
DB_QuerySELECT (&mysql_res,"can not get number of test questions",
"SELECT COUNT(*),SUM(NumHits),SUM(Score)"
" FROM degrees,courses,tst_questions"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
"SELECT COUNT(*),"
"SUM(NumHits),"
"SUM(Score)"
" FROM deg_degrees,courses,tst_questions"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod"
" AND tst_questions.AnsType='%s'",
Gbl.Hierarchy.Ctr.CtrCod,
@ -5418,14 +5434,18 @@ static unsigned Tst_GetNumTstQuestions (Hie_Lvl_Level_t Scope,Tst_AnswerType_t A
case Hie_Lvl_DEG:
if (AnsType == Tst_ANS_UNKNOWN) // Any type
DB_QuerySELECT (&mysql_res,"can not get number of test questions",
"SELECT COUNT(*),SUM(NumHits),SUM(Score)"
"SELECT COUNT(*),"
"SUM(NumHits),"
"SUM(Score)"
" FROM courses,tst_questions"
" WHERE courses.DegCod=%ld"
" AND courses.CrsCod=tst_questions.CrsCod",
Gbl.Hierarchy.Deg.DegCod);
else
DB_QuerySELECT (&mysql_res,"can not get number of test questions",
"SELECT COUNT(*),SUM(NumHits),SUM(Score)"
"SELECT COUNT(*),"
"SUM(NumHits),"
"SUM(Score)"
" FROM courses,tst_questions"
" WHERE courses.DegCod=%ld"
" AND courses.CrsCod=tst_questions.CrsCod"
@ -5436,13 +5456,17 @@ static unsigned Tst_GetNumTstQuestions (Hie_Lvl_Level_t Scope,Tst_AnswerType_t A
case Hie_Lvl_CRS:
if (AnsType == Tst_ANS_UNKNOWN) // Any type
DB_QuerySELECT (&mysql_res,"can not get number of test questions",
"SELECT COUNT(*),SUM(NumHits),SUM(Score)"
"SELECT COUNT(*),"
"SUM(NumHits),"
"SUM(Score)"
" FROM tst_questions"
" WHERE CrsCod=%ld",
Gbl.Hierarchy.Crs.CrsCod);
else
DB_QuerySELECT (&mysql_res,"can not get number of test questions",
"SELECT COUNT(*),SUM(NumHits),SUM(Score)"
"SELECT COUNT(*),"
"SUM(NumHits),"
"SUM(Score)"
" FROM tst_questions"
" WHERE CrsCod=%ld AND AnsType='%s'",
Gbl.Hierarchy.Crs.CrsCod,
@ -5514,22 +5538,22 @@ static unsigned Tst_GetNumCoursesWithTstQuestions (Hie_Lvl_Level_t Scope,Tst_Ans
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with test questions",
"SELECT COUNT(DISTINCT tst_questions.CrsCod)"
" FROM institutions,centres,degrees,courses,tst_questions"
" FROM institutions,centres,deg_degrees,courses,tst_questions"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod",
Gbl.Hierarchy.Cty.CtyCod);
else
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with test questions",
"SELECT COUNT(DISTINCT tst_questions.CrsCod)"
" FROM institutions,centres,degrees,courses,tst_questions"
" FROM institutions,centres,deg_degrees,courses,tst_questions"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod"
" AND tst_questions.AnsType='%s'",
Gbl.Hierarchy.Cty.CtyCod,
@ -5540,20 +5564,20 @@ static unsigned Tst_GetNumCoursesWithTstQuestions (Hie_Lvl_Level_t Scope,Tst_Ans
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with test questions",
"SELECT COUNT(DISTINCT tst_questions.CrsCod)"
" FROM centres,degrees,courses,tst_questions"
" FROM centres,deg_degrees,courses,tst_questions"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod",
Gbl.Hierarchy.Ins.InsCod);
else
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with test questions",
"SELECT COUNT(DISTINCT tst_questions.CrsCod)"
" FROM centres,degrees,courses,tst_questions"
" FROM centres,deg_degrees,courses,tst_questions"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod"
" AND tst_questions.AnsType='%s'",
Gbl.Hierarchy.Ins.InsCod,
@ -5564,18 +5588,18 @@ static unsigned Tst_GetNumCoursesWithTstQuestions (Hie_Lvl_Level_t Scope,Tst_Ans
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with test questions",
"SELECT COUNT(DISTINCT tst_questions.CrsCod)"
" FROM degrees,courses,tst_questions"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,tst_questions"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod",
Gbl.Hierarchy.Ctr.CtrCod);
else
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with test questions",
"SELECT COUNT(DISTINCT tst_questions.CrsCod)"
" FROM degrees,courses,tst_questions"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,tst_questions"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod"
" AND tst_questions.AnsType='%s'",
Gbl.Hierarchy.Ctr.CtrCod,
@ -5676,11 +5700,11 @@ static unsigned Tst_GetNumCoursesWithPluggableTstQuestions (Hie_Lvl_Level_t Scop
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with pluggable test questions",
"SELECT COUNT(DISTINCT tst_questions.CrsCod)"
" FROM institutions,centres,degrees,courses,tst_questions,tst_config"
" FROM institutions,centres,deg_degrees,courses,tst_questions,tst_config"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod"
" AND tst_questions.CrsCod=tst_config.CrsCod"
" AND tst_config.pluggable='%s'",
@ -5690,11 +5714,11 @@ static unsigned Tst_GetNumCoursesWithPluggableTstQuestions (Hie_Lvl_Level_t Scop
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with pluggable test questions",
"SELECT COUNT(DISTINCT tst_questions.CrsCod)"
" FROM institutions,centres,degrees,courses,tst_questions,tst_config"
" FROM institutions,centres,deg_degrees,courses,tst_questions,tst_config"
" WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod"
" AND tst_questions.AnsType='%s'"
" AND tst_questions.CrsCod=tst_config.CrsCod"
@ -5708,10 +5732,10 @@ static unsigned Tst_GetNumCoursesWithPluggableTstQuestions (Hie_Lvl_Level_t Scop
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with pluggable test questions",
"SELECT COUNT(DISTINCT tst_questions.CrsCod)"
" FROM centres,degrees,courses,tst_questions,tst_config"
" FROM centres,deg_degrees,courses,tst_questions,tst_config"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod"
" AND tst_questions.CrsCod=tst_config.CrsCod"
" AND tst_config.pluggable='%s'",
@ -5721,10 +5745,10 @@ static unsigned Tst_GetNumCoursesWithPluggableTstQuestions (Hie_Lvl_Level_t Scop
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with pluggable test questions",
"SELECT COUNT(DISTINCT tst_questions.CrsCod)"
" FROM centres,degrees,courses,tst_questions,tst_config"
" FROM centres,deg_degrees,courses,tst_questions,tst_config"
" WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND centres.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod"
" AND tst_questions.AnsType='%s'"
" AND tst_questions.CrsCod=tst_config.CrsCod"
@ -5738,9 +5762,9 @@ static unsigned Tst_GetNumCoursesWithPluggableTstQuestions (Hie_Lvl_Level_t Scop
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with pluggable test questions",
"SELECT COUNT(DISTINCT tst_questions.CrsCod)"
" FROM degrees,courses,tst_questions,tst_config"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,tst_questions,tst_config"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod"
" AND tst_questions.CrsCod=tst_config.CrsCod"
" AND tst_config.pluggable='%s'",
@ -5750,9 +5774,9 @@ static unsigned Tst_GetNumCoursesWithPluggableTstQuestions (Hie_Lvl_Level_t Scop
DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with pluggable test questions",
"SELECT COUNT(DISTINCT tst_questions.CrsCod)"
" FROM degrees,courses,tst_questions,tst_config"
" WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod"
" FROM deg_degrees,courses,tst_questions,tst_config"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=tst_questions.CrsCod"
" AND tst_questions.AnsType='%s'"
" AND tst_questions.CrsCod=tst_config.CrsCod"

File diff suppressed because it is too large Load Diff