mirror of https://github.com/acanas/swad-core.git
Version 22.66.2: Mar 03, 2023 Fixed bugs in figures.
This commit is contained in:
parent
4952598ea7
commit
6439db55e4
|
@ -1486,7 +1486,7 @@ unsigned Brw_DB_GetNumberOfPublicFiles (MYSQL_RES **mysql_res,Brw_License_t Lice
|
|||
"COUNT(*)" // row[1]
|
||||
" FROM brw_files"
|
||||
" WHERE License=%u"
|
||||
" GROUP BY Public",
|
||||
" GROUP BY Public",
|
||||
(unsigned) License);
|
||||
case HieLvl_CTY:
|
||||
return (unsigned)
|
||||
|
@ -1505,7 +1505,7 @@ unsigned Brw_DB_GetNumberOfPublicFiles (MYSQL_RES **mysql_res,Brw_License_t Lice
|
|||
" AND crs_courses.CrsCod=brw_files.Cod"
|
||||
" AND brw_files.FileBrowser IN (%u,%u)"
|
||||
" AND brw_files.License=%u"
|
||||
" GROUP BY brw_files.Public",
|
||||
" GROUP BY brw_files.Public",
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
|
@ -1525,7 +1525,7 @@ unsigned Brw_DB_GetNumberOfPublicFiles (MYSQL_RES **mysql_res,Brw_License_t Lice
|
|||
" AND crs_courses.CrsCod=brw_files.Cod"
|
||||
" AND brw_files.FileBrowser IN (%u,%u)"
|
||||
" AND brw_files.License=%u"
|
||||
" GROUP BY brw_files.Public",
|
||||
" GROUP BY brw_files.Public",
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
|
@ -1543,7 +1543,7 @@ unsigned Brw_DB_GetNumberOfPublicFiles (MYSQL_RES **mysql_res,Brw_License_t Lice
|
|||
" AND crs_courses.CrsCod=brw_files.Cod"
|
||||
" AND brw_files.FileBrowser IN (%u,%u)"
|
||||
" AND brw_files.License=%u"
|
||||
" GROUP BY brw_files.Public",
|
||||
" GROUP BY brw_files.Public",
|
||||
Gbl.Hierarchy.Ctr.CtrCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
|
@ -1559,7 +1559,7 @@ unsigned Brw_DB_GetNumberOfPublicFiles (MYSQL_RES **mysql_res,Brw_License_t Lice
|
|||
" AND crs_courses.CrsCod=brw_files.Cod"
|
||||
" AND brw_files.FileBrowser IN (%u,%u)"
|
||||
" AND brw_files.License=%u"
|
||||
" GROUP BY brw_files.Public",
|
||||
" GROUP BY brw_files.Public",
|
||||
Gbl.Hierarchy.Deg.DegCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
|
@ -1573,7 +1573,7 @@ unsigned Brw_DB_GetNumberOfPublicFiles (MYSQL_RES **mysql_res,Brw_License_t Lice
|
|||
" WHERE Cod=%ld"
|
||||
" AND FileBrowser IN (%u,%u)"
|
||||
" AND License=%u"
|
||||
" GROUP BY Public",
|
||||
" GROUP BY Public",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
|
|
|
@ -142,7 +142,7 @@ unsigned Ctr_DB_GetListOfCtrsFullWithNumUsrs (MYSQL_RES **mysql_res,
|
|||
" FROM ctr_centers,usr_data"
|
||||
" WHERE ctr_centers.InsCod=%ld"
|
||||
" AND ctr_centers.CtrCod=usr_data.CtrCod"
|
||||
" GROUP BY ctr_centers.CtrCod)"
|
||||
" GROUP BY ctr_centers.CtrCod)"
|
||||
" UNION "
|
||||
"(SELECT CtrCod," // row[ 0]
|
||||
"InsCod," // row[ 1]
|
||||
|
@ -162,7 +162,7 @@ unsigned Ctr_DB_GetListOfCtrsFullWithNumUsrs (MYSQL_RES **mysql_res,
|
|||
" (SELECT DISTINCT "
|
||||
"CtrCod"
|
||||
" FROM usr_data))"
|
||||
" ORDER BY %s",
|
||||
" ORDER BY %s",
|
||||
InsCod,
|
||||
InsCod,
|
||||
OrderBySubQuery[SelectedOrder]);
|
||||
|
@ -188,8 +188,8 @@ unsigned Ctr_DB_GetCtrsWithPendingDegs (MYSQL_RES **mysql_res)
|
|||
" AND deg_degrees.CtrCod=ctr_admin.CtrCod"
|
||||
" AND ctr_admin.UsrCod=%ld"
|
||||
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
||||
" GROUP BY deg_degrees.CtrCod"
|
||||
" ORDER BY ctr_centers.ShortName",
|
||||
" GROUP BY deg_degrees.CtrCod"
|
||||
" ORDER BY ctr_centers.ShortName",
|
||||
(unsigned) Hie_STATUS_BIT_PENDING,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
case Rol_SYS_ADM:
|
||||
|
@ -201,8 +201,8 @@ unsigned Ctr_DB_GetCtrsWithPendingDegs (MYSQL_RES **mysql_res)
|
|||
"ctr_centers"
|
||||
" WHERE (deg_degrees.Status & %u)<>0"
|
||||
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
||||
" GROUP BY deg_degrees.CtrCod"
|
||||
" ORDER BY ctr_centers.ShortName",
|
||||
" GROUP BY deg_degrees.CtrCod"
|
||||
" ORDER BY ctr_centers.ShortName",
|
||||
(unsigned) Hie_STATUS_BIT_PENDING);
|
||||
default: // Forbidden for other users
|
||||
Err_WrongRoleExit ();
|
||||
|
@ -728,8 +728,8 @@ unsigned Ctr_DB_GetCtrsFromUsr (MYSQL_RES **mysql_res,long UsrCod,long InsCod)
|
|||
" AND crs_courses.DegCod=deg_degrees.DegCod"
|
||||
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
||||
" AND ctr_centers.InsCod=%ld"
|
||||
" GROUP BY ctr_centers.CtrCod"
|
||||
" ORDER BY ctr_centers.ShortName",
|
||||
" GROUP BY ctr_centers.CtrCod"
|
||||
" ORDER BY ctr_centers.ShortName",
|
||||
UsrCod,
|
||||
InsCod);
|
||||
else
|
||||
|
@ -745,8 +745,8 @@ unsigned Ctr_DB_GetCtrsFromUsr (MYSQL_RES **mysql_res,long UsrCod,long InsCod)
|
|||
" AND crs_users.CrsCod=crs_courses.CrsCod"
|
||||
" AND crs_courses.DegCod=deg_degrees.DegCod"
|
||||
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
||||
" GROUP BY ctr_centers.CtrCod"
|
||||
" ORDER BY ctr_centers.ShortName",
|
||||
" GROUP BY ctr_centers.CtrCod"
|
||||
" ORDER BY ctr_centers.ShortName",
|
||||
UsrCod);
|
||||
}
|
||||
|
||||
|
|
|
@ -629,11 +629,12 @@ TODO: Emilce Barrera Mesa: Podr
|
|||
TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen.
|
||||
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 22.66 (2023-03-02)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 22.66.2 (2023-03-03)"
|
||||
#define CSS_FILE "swad22.57.1.css"
|
||||
#define JS_FILE "swad22.49.js"
|
||||
/*
|
||||
Version 22.66.1: Mar 02, 2023 Rubric removal. (337125 lines)
|
||||
Version 22.66.2: Mar 03, 2023 Fixed bugs in figures. (337128 lines)
|
||||
Version 22.66.1: Mar 02, 2023 Rubric removal. (337126 lines)
|
||||
Version 22.66: Mar 02, 2023 New module swad_rubric_criteria for rubric criteria. (337125 lines)
|
||||
Version 22.65.1: Mar 02, 2023 Changes in rubrics. Not finished. (337012 lines)
|
||||
Version 22.65: Mar 01, 2023 New module swad_rubric for rubrics. Not finished. (336989 lines)
|
||||
|
|
|
@ -136,8 +136,8 @@ unsigned Cty_DB_GetCtysWithPendingInss (MYSQL_RES **mysql_res)
|
|||
"cty_countrs"
|
||||
" WHERE (ins_instits.Status & %u)<>0"
|
||||
" AND ins_instits.CtyCod=cty_countrs.CtyCod"
|
||||
" GROUP BY ins_instits.CtyCod"
|
||||
" ORDER BY cty_countrs.Name_%s",
|
||||
" GROUP BY ins_instits.CtyCod"
|
||||
" ORDER BY cty_countrs.Name_%s",
|
||||
(unsigned) Hie_STATUS_BIT_PENDING,
|
||||
Lan_STR_LANG_ID[Gbl.Prefs.Language]);
|
||||
}
|
||||
|
@ -201,7 +201,7 @@ unsigned Cty_DB_GetCtysFull (MYSQL_RES **mysql_res)
|
|||
" FROM cty_countrs,"
|
||||
"usr_data"
|
||||
" WHERE cty_countrs.CtyCod=usr_data.CtyCod"
|
||||
" GROUP BY cty_countrs.CtyCod)"
|
||||
" GROUP BY cty_countrs.CtyCod)"
|
||||
" UNION "
|
||||
"(SELECT CtyCod," // row[0]
|
||||
"Alpha2," // row[1]
|
||||
|
@ -213,7 +213,7 @@ unsigned Cty_DB_GetCtysFull (MYSQL_RES **mysql_res)
|
|||
" (SELECT DISTINCT "
|
||||
"CtyCod"
|
||||
" FROM usr_data))"
|
||||
" ORDER BY %s",
|
||||
" ORDER BY %s",
|
||||
SubQueryNam1,SubQueryWWW1,
|
||||
SubQueryNam2,SubQueryWWW2,OrderBySubQuery);
|
||||
|
||||
|
@ -565,8 +565,8 @@ unsigned Cty_DB_GetCtysFromUsr (MYSQL_RES **mysql_res,long UsrCod)
|
|||
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
||||
" AND ctr_centers.InsCod=ins_instits.InsCod"
|
||||
" AND ins_instits.CtyCod=cty_countrs.CtyCod"
|
||||
" GROUP BY cty_countrs.CtyCod"
|
||||
" ORDER BY cty_countrs.Name_%s",
|
||||
" GROUP BY cty_countrs.CtyCod"
|
||||
" ORDER BY cty_countrs.Name_%s",
|
||||
UsrCod,
|
||||
Lan_STR_LANG_ID[Gbl.Prefs.Language]);
|
||||
}
|
||||
|
|
|
@ -175,7 +175,7 @@ unsigned Deg_DB_GetDegreeTypes (MYSQL_RES **mysql_res,
|
|||
" FROM deg_degrees,"
|
||||
"deg_types"
|
||||
" WHERE deg_degrees.DegTypCod=deg_types.DegTypCod"
|
||||
" GROUP BY deg_degrees.DegTypCod)"
|
||||
" GROUP BY deg_degrees.DegTypCod)"
|
||||
" UNION "
|
||||
"(SELECT DegTypCod," // row[0]
|
||||
"DegTypName," // row[1]
|
||||
|
@ -187,7 +187,7 @@ unsigned Deg_DB_GetDegreeTypes (MYSQL_RES **mysql_res,
|
|||
" WHERE DegTypCod NOT IN"
|
||||
" (SELECT DegTypCod"
|
||||
" FROM deg_degrees))"
|
||||
" ORDER BY %s",
|
||||
" ORDER BY %s",
|
||||
OrderBySubQuery[Order]);
|
||||
case HieLvl_CTY:
|
||||
/* Get only degree types with degrees in the current country */
|
||||
|
@ -204,8 +204,8 @@ unsigned Deg_DB_GetDegreeTypes (MYSQL_RES **mysql_res,
|
|||
" AND ins_instits.InsCod=ctr_centers.InsCod"
|
||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegTypCod=deg_types.DegTypCod"
|
||||
" GROUP BY deg_degrees.DegTypCod"
|
||||
" ORDER BY %s",
|
||||
" GROUP BY deg_degrees.DegTypCod"
|
||||
" ORDER BY %s",
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
OrderBySubQuery[Order]);
|
||||
case HieLvl_INS:
|
||||
|
@ -221,8 +221,8 @@ unsigned Deg_DB_GetDegreeTypes (MYSQL_RES **mysql_res,
|
|||
" WHERE ctr_centers.InsCod=%ld"
|
||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegTypCod=deg_types.DegTypCod"
|
||||
" GROUP BY deg_degrees.DegTypCod"
|
||||
" ORDER BY %s",
|
||||
" GROUP BY deg_degrees.DegTypCod"
|
||||
" ORDER BY %s",
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
OrderBySubQuery[Order]);
|
||||
case HieLvl_CTR:
|
||||
|
@ -236,8 +236,8 @@ unsigned Deg_DB_GetDegreeTypes (MYSQL_RES **mysql_res,
|
|||
"deg_types"
|
||||
" WHERE deg_degrees.CtrCod=%ld"
|
||||
" AND deg_degrees.DegTypCod=deg_types.DegTypCod"
|
||||
" GROUP BY deg_degrees.DegTypCod"
|
||||
" ORDER BY %s",
|
||||
" GROUP BY deg_degrees.DegTypCod"
|
||||
" ORDER BY %s",
|
||||
Gbl.Hierarchy.Ctr.CtrCod,
|
||||
OrderBySubQuery[Order]);
|
||||
case HieLvl_DEG:
|
||||
|
@ -252,8 +252,8 @@ unsigned Deg_DB_GetDegreeTypes (MYSQL_RES **mysql_res,
|
|||
"deg_types"
|
||||
" WHERE deg_degrees.DegCod=%ld"
|
||||
" AND deg_degrees.DegTypCod=deg_types.DegTypCod"
|
||||
" GROUP BY deg_degrees.DegTypCod"
|
||||
" ORDER BY %s",
|
||||
" GROUP BY deg_degrees.DegTypCod"
|
||||
" ORDER BY %s",
|
||||
Gbl.Hierarchy.Deg.DegCod,
|
||||
OrderBySubQuery[Order]);
|
||||
default:
|
||||
|
@ -462,8 +462,8 @@ unsigned Deg_DB_GetDegsWithPendingCrss (MYSQL_RES **mysql_res)
|
|||
" AND usr_admins.Cod=crs_courses.DegCod"
|
||||
" AND (crs_courses.Status & %u)<>0"
|
||||
" AND crs_courses.DegCod=deg_degrees.DegCod"
|
||||
" GROUP BY crs_courses.DegCod"
|
||||
" ORDER BY deg_degrees.ShortName",
|
||||
" GROUP BY crs_courses.DegCod"
|
||||
" ORDER BY deg_degrees.ShortName",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
Sco_GetDBStrFromScope (HieLvl_DEG),
|
||||
(unsigned) Hie_STATUS_BIT_PENDING);
|
||||
|
@ -476,8 +476,8 @@ unsigned Deg_DB_GetDegsWithPendingCrss (MYSQL_RES **mysql_res)
|
|||
"deg_degrees"
|
||||
" WHERE (crs_courses.Status & %u)<>0"
|
||||
" AND crs_courses.DegCod=deg_degrees.DegCod"
|
||||
" GROUP BY crs_courses.DegCod"
|
||||
" ORDER BY deg_degrees.ShortName",
|
||||
" GROUP BY crs_courses.DegCod"
|
||||
" ORDER BY deg_degrees.ShortName",
|
||||
(unsigned) Hie_STATUS_BIT_PENDING);
|
||||
default: // Forbidden for other users
|
||||
Err_WrongRoleExit ();
|
||||
|
@ -766,8 +766,8 @@ unsigned Deg_DB_GetDegsFromUsr (MYSQL_RES **mysql_res,long UsrCod,long CtrCod)
|
|||
" AND crs_users.CrsCod=crs_courses.CrsCod"
|
||||
" AND crs_courses.DegCod=deg_degrees.DegCod"
|
||||
" AND deg_degrees.CtrCod=%ld"
|
||||
" GROUP BY deg_degrees.DegCod"
|
||||
" ORDER BY deg_degrees.ShortName",
|
||||
" GROUP BY deg_degrees.DegCod"
|
||||
" ORDER BY deg_degrees.ShortName",
|
||||
UsrCod,
|
||||
CtrCod);
|
||||
else
|
||||
|
@ -781,8 +781,8 @@ unsigned Deg_DB_GetDegsFromUsr (MYSQL_RES **mysql_res,long UsrCod,long CtrCod)
|
|||
" WHERE crs_users.UsrCod=%ld"
|
||||
" AND crs_users.CrsCod=crs_courses.CrsCod"
|
||||
" AND crs_courses.DegCod=deg_degrees.DegCod"
|
||||
" GROUP BY deg_degrees.DegCod"
|
||||
" ORDER BY deg_degrees.ShortName",
|
||||
" GROUP BY deg_degrees.DegCod"
|
||||
" ORDER BY deg_degrees.ShortName",
|
||||
UsrCod);
|
||||
}
|
||||
|
||||
|
@ -806,8 +806,8 @@ unsigned Deg_DB_GetUsrMainDeg (MYSQL_RES **mysql_res,long UsrCod)
|
|||
"crs_courses"
|
||||
" WHERE crs_users.UsrCod=%ld"
|
||||
" AND crs_users.CrsCod=crs_courses.CrsCod"
|
||||
" GROUP BY crs_courses.DegCod"
|
||||
" ORDER BY N DESC" // Ordered by number of courses in which user is enroled
|
||||
" GROUP BY crs_courses.DegCod"
|
||||
" ORDER BY N DESC" // Ordered by number of courses in which user is enroled
|
||||
" LIMIT 1)" // We need only the main degree
|
||||
" AS main_degree"
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ unsigned Dpt_DB_GetListDepartments (MYSQL_RES **mysql_res,
|
|||
" AND dpt_departments.DptCod=usr_data.DptCod"
|
||||
" AND usr_data.UsrCod=crs_users.UsrCod"
|
||||
" AND crs_users.Role IN (%u,%u)"
|
||||
" GROUP BY dpt_departments.DptCod)"
|
||||
" GROUP BY dpt_departments.DptCod)"
|
||||
" UNION "
|
||||
"(SELECT DptCod," // row[0]
|
||||
"InsCod," // row[1]
|
||||
|
@ -99,7 +99,7 @@ unsigned Dpt_DB_GetListDepartments (MYSQL_RES **mysql_res,
|
|||
" FROM usr_data,crs_users"
|
||||
" WHERE crs_users.Role IN (%u,%u)"
|
||||
" AND crs_users.UsrCod=usr_data.UsrCod))"
|
||||
" ORDER BY %s",
|
||||
" ORDER BY %s",
|
||||
InsCod,(unsigned) Rol_NET,(unsigned) Rol_TCH,
|
||||
InsCod,(unsigned) Rol_NET,(unsigned) Rol_TCH,
|
||||
OrderBySubQuery[SelectedOrder]);
|
||||
|
@ -125,7 +125,7 @@ unsigned Dpt_DB_GetDataOfDepartmentByCod (MYSQL_RES **mysql_res,long DptCod)
|
|||
" AND dpt_departments.DptCod=usr_data.DptCod"
|
||||
" AND usr_data.UsrCod=crs_users.UsrCod"
|
||||
" AND crs_users.Role=%u"
|
||||
" GROUP BY dpt_departments.DptCod)"
|
||||
" GROUP BY dpt_departments.DptCod)"
|
||||
" UNION "
|
||||
"(SELECT InsCod," // row[0]
|
||||
"ShortName," // row[1]
|
||||
|
|
|
@ -46,9 +46,9 @@ unsigned Dup_DB_GetListDuplicateUsrs (MYSQL_RES **mysql_res)
|
|||
"COUNT(*) AS N," // row[1]
|
||||
"UNIX_TIMESTAMP(MIN(InformTime)) AS T" // row[2]
|
||||
" FROM usr_duplicated"
|
||||
" GROUP BY UsrCod"
|
||||
" ORDER BY N DESC,"
|
||||
"T DESC");
|
||||
" GROUP BY UsrCod"
|
||||
" ORDER BY N DESC,"
|
||||
"T DESC");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -680,13 +680,14 @@ double Enr_DB_GetAverageNumUsrsPerCrs (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
"SELECT AVG(NumUsrs)"
|
||||
" FROM (SELECT COUNT(UsrCod) AS NumUsrs"
|
||||
" FROM crs_users"
|
||||
" GROUP BY CrsCod) AS NumUsrsTable");
|
||||
" GROUP BY CrsCod) AS NumUsrsTable");
|
||||
else
|
||||
return DB_QuerySELECTDouble ("can not get number of users per course",
|
||||
"SELECT AVG(NumUsrs)"
|
||||
" FROM (SELECT COUNT(UsrCod) AS NumUsrs"
|
||||
" FROM crs_users"
|
||||
" WHERE Role=%u GROUP BY CrsCod) AS NumUsrsTable",
|
||||
" WHERE Role=%u"
|
||||
" GROUP BY CrsCod) AS NumUsrsTable",
|
||||
(unsigned) Role);
|
||||
case HieLvl_CTY:
|
||||
if (Role == Rol_UNK) // Any user
|
||||
|
@ -703,7 +704,7 @@ double Enr_DB_GetAverageNumUsrsPerCrs (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
Cod);
|
||||
else
|
||||
return DB_QuerySELECTDouble ("can not get number of users per course",
|
||||
|
@ -720,7 +721,7 @@ double Enr_DB_GetAverageNumUsrsPerCrs (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.Role=%u"
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
Cod,
|
||||
(unsigned) Role);
|
||||
case HieLvl_INS:
|
||||
|
@ -736,7 +737,7 @@ double Enr_DB_GetAverageNumUsrsPerCrs (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
Cod);
|
||||
else
|
||||
return DB_QuerySELECTDouble ("can not get number of users per course",
|
||||
|
@ -751,7 +752,7 @@ double Enr_DB_GetAverageNumUsrsPerCrs (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.Role=%u"
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
Cod,
|
||||
(unsigned) Role);
|
||||
case HieLvl_CTR:
|
||||
|
@ -765,7 +766,7 @@ double Enr_DB_GetAverageNumUsrsPerCrs (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" WHERE deg_degrees.CtrCod=%ld"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
Cod);
|
||||
else
|
||||
return DB_QuerySELECTDouble ("can not get number of users per course",
|
||||
|
@ -778,7 +779,7 @@ double Enr_DB_GetAverageNumUsrsPerCrs (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.Role=%u"
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
Cod,
|
||||
(unsigned) Role);
|
||||
case HieLvl_DEG:
|
||||
|
@ -790,7 +791,7 @@ double Enr_DB_GetAverageNumUsrsPerCrs (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
"crs_users"
|
||||
" WHERE crs_courses.DegCod=%ld"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
Cod);
|
||||
else
|
||||
return DB_QuerySELECTDouble ("can not get number of users per course",
|
||||
|
@ -801,7 +802,7 @@ double Enr_DB_GetAverageNumUsrsPerCrs (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" WHERE crs_courses.DegCod=%ld"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.Role=%u"
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
" GROUP BY crs_users.CrsCod) AS NumUsrsTable",
|
||||
Cod,
|
||||
(unsigned) Role);
|
||||
case HieLvl_CRS:
|
||||
|
@ -831,14 +832,14 @@ double Enr_DB_GetAverageNumCrssPerUsr (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
"SELECT AVG(NumCrss)"
|
||||
" FROM (SELECT COUNT(CrsCod) AS NumCrss"
|
||||
" FROM crs_users"
|
||||
" GROUP BY UsrCod) AS NumCrssTable");
|
||||
" GROUP BY UsrCod) AS NumCrssTable");
|
||||
else
|
||||
return DB_QuerySELECTDouble ("can not get number of courses per user",
|
||||
"SELECT AVG(NumCrss)"
|
||||
" FROM (SELECT COUNT(CrsCod) AS NumCrss"
|
||||
" FROM crs_users"
|
||||
" WHERE Role=%u"
|
||||
" GROUP BY UsrCod) AS NumCrssTable",
|
||||
" GROUP BY UsrCod) AS NumCrssTable",
|
||||
(unsigned) Role);
|
||||
case HieLvl_CTY:
|
||||
if (Role == Rol_UNK) // Any user
|
||||
|
@ -855,7 +856,7 @@ double Enr_DB_GetAverageNumCrssPerUsr (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
Cod);
|
||||
else
|
||||
return DB_QuerySELECTDouble ("can not get number of courses per user",
|
||||
|
@ -872,7 +873,7 @@ double Enr_DB_GetAverageNumCrssPerUsr (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.Role=%u"
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
Cod,
|
||||
(unsigned) Role);
|
||||
case HieLvl_INS:
|
||||
|
@ -888,7 +889,7 @@ double Enr_DB_GetAverageNumCrssPerUsr (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
Cod);
|
||||
else
|
||||
return DB_QuerySELECTDouble ("can not get number of courses per user",
|
||||
|
@ -903,7 +904,7 @@ double Enr_DB_GetAverageNumCrssPerUsr (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.Role=%u"
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
Cod,
|
||||
(unsigned) Role);
|
||||
case HieLvl_CTR:
|
||||
|
@ -917,7 +918,7 @@ double Enr_DB_GetAverageNumCrssPerUsr (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" WHERE deg_degrees.CtrCod=%ld"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
Cod);
|
||||
else
|
||||
return DB_QuerySELECTDouble ("can not get number of courses per user",
|
||||
|
@ -930,7 +931,7 @@ double Enr_DB_GetAverageNumCrssPerUsr (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.Role=%u"
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
Cod,
|
||||
(unsigned) Role);
|
||||
case HieLvl_DEG:
|
||||
|
@ -942,7 +943,7 @@ double Enr_DB_GetAverageNumCrssPerUsr (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
"crs_users"
|
||||
" WHERE crs_courses.DegCod=%ld"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
Cod);
|
||||
else
|
||||
return DB_QuerySELECTDouble ("can not get number of courses per user",
|
||||
|
@ -953,7 +954,7 @@ double Enr_DB_GetAverageNumCrssPerUsr (HieLvl_Level_t Scope,long Cod,Rol_Role_t
|
|||
" WHERE crs_courses.DegCod=%ld"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.Role=%u"
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
" GROUP BY crs_users.UsrCod) AS NumCrssTable",
|
||||
Cod,
|
||||
(unsigned) Role);
|
||||
case HieLvl_CRS:
|
||||
|
|
|
@ -168,8 +168,8 @@ unsigned Exa_DB_GetListExams (MYSQL_RES **mysql_res,Exa_Order_t SelectedOrder)
|
|||
" ON exa_exams.ExaCod=exa_sessions.ExaCod"
|
||||
" WHERE exa_exams.CrsCod=%ld"
|
||||
"%s"
|
||||
" GROUP BY exa_exams.ExaCod"
|
||||
" ORDER BY %s",
|
||||
" GROUP BY exa_exams.ExaCod"
|
||||
" ORDER BY %s",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
HiddenSubQuery,
|
||||
OrderBySubQuery[SelectedOrder]);
|
||||
|
@ -290,7 +290,7 @@ unsigned Exa_DB_GetNumCoursesWithExams (HieLvl_Level_t Scope)
|
|||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=exa_exams.CrsCod",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
return DB_QueryCOUNT ("can not get number of courses with exams",
|
||||
"SELECT COUNT(DISTINCT exa_exams.CrsCod)"
|
||||
|
@ -419,7 +419,7 @@ double Exa_DB_GetNumQstsPerCrsExam (HieLvl_Level_t Scope)
|
|||
" FROM exa_exams,"
|
||||
"exa_set_questions"
|
||||
" WHERE exa_exams.ExaCod=exa_set_questions.ExaCod"
|
||||
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable");
|
||||
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable");
|
||||
case HieLvl_CTY:
|
||||
return DB_QuerySELECTDouble ("can not get number of questions per exam",
|
||||
"SELECT AVG(NumQsts)"
|
||||
|
@ -436,7 +436,7 @@ double Exa_DB_GetNumQstsPerCrsExam (HieLvl_Level_t Scope)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=exa_exams.CrsCod"
|
||||
" AND exa_exams.ExaCod=exa_set_questions.ExaCod"
|
||||
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable",
|
||||
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
return DB_QuerySELECTDouble ("can not get number of questions per exam",
|
||||
|
@ -452,7 +452,7 @@ double Exa_DB_GetNumQstsPerCrsExam (HieLvl_Level_t Scope)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=exa_exams.CrsCod"
|
||||
" AND exa_exams.ExaCod=exa_set_questions.ExaCod"
|
||||
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable",
|
||||
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
case HieLvl_CTR:
|
||||
return DB_QuerySELECTDouble ("can not get number of questions per exam",
|
||||
|
@ -466,7 +466,7 @@ double Exa_DB_GetNumQstsPerCrsExam (HieLvl_Level_t Scope)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=exa_exams.CrsCod"
|
||||
" AND exa_exams.ExaCod=exa_set_questions.ExaCod"
|
||||
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable",
|
||||
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Ctr.CtrCod);
|
||||
case HieLvl_DEG:
|
||||
return DB_QuerySELECTDouble ("can not get number of questions per exam",
|
||||
|
@ -478,7 +478,7 @@ double Exa_DB_GetNumQstsPerCrsExam (HieLvl_Level_t Scope)
|
|||
" WHERE crs_courses.DegCod=%ld"
|
||||
" AND crs_courses.CrsCod=exa_exams.CrsCod"
|
||||
" AND exa_exams.ExaCod=exa_set_questions.ExaCod"
|
||||
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable",
|
||||
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Deg.DegCod);
|
||||
case HieLvl_CRS:
|
||||
return DB_QuerySELECTDouble ("can not get number of questions per exam",
|
||||
|
@ -488,7 +488,7 @@ double Exa_DB_GetNumQstsPerCrsExam (HieLvl_Level_t Scope)
|
|||
"exa_set_questions"
|
||||
" WHERE exa_exams.Cod=%ld"
|
||||
" AND exa_exams.ExaCod=exa_set_questions.ExaCod"
|
||||
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable",
|
||||
" GROUP BY exa_set_questions.ExaCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
default:
|
||||
Err_WrongScopeExit ();
|
||||
|
|
|
@ -419,7 +419,7 @@ double Fol_DB_GetNumFollowedPerFollower (unsigned Fol)
|
|||
"SELECT AVG(N)"
|
||||
" FROM (SELECT COUNT(%s) AS N"
|
||||
" FROM usr_follow"
|
||||
" GROUP BY %s) AS F",
|
||||
" GROUP BY %s) AS F",
|
||||
FieldDB[Fol],
|
||||
FieldDB[1 - Fol]);
|
||||
case HieLvl_CTY:
|
||||
|
@ -438,7 +438,7 @@ double Fol_DB_GetNumFollowedPerFollower (unsigned Fol)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.UsrCod=usr_follow.%s"
|
||||
" GROUP BY %s) AS F",
|
||||
" GROUP BY %s) AS F",
|
||||
FieldDB[Fol],
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
FieldDB[Fol],
|
||||
|
@ -457,7 +457,7 @@ double Fol_DB_GetNumFollowedPerFollower (unsigned Fol)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.UsrCod=usr_follow.%s"
|
||||
" GROUP BY %s) AS F",
|
||||
" GROUP BY %s) AS F",
|
||||
FieldDB[Fol],
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
FieldDB[Fol],
|
||||
|
@ -474,7 +474,7 @@ double Fol_DB_GetNumFollowedPerFollower (unsigned Fol)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.UsrCod=usr_follow.%s"
|
||||
" GROUP BY %s) AS F",
|
||||
" GROUP BY %s) AS F",
|
||||
FieldDB[Fol],
|
||||
Gbl.Hierarchy.Ctr.CtrCod,
|
||||
FieldDB[Fol],
|
||||
|
@ -489,7 +489,7 @@ double Fol_DB_GetNumFollowedPerFollower (unsigned Fol)
|
|||
" WHERE crs_courses.DegCod=%ld"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.UsrCod=usr_follow.%s"
|
||||
" GROUP BY %s) AS F",
|
||||
" GROUP BY %s) AS F",
|
||||
FieldDB[Fol],
|
||||
Gbl.Hierarchy.Deg.DegCod,
|
||||
FieldDB[Fol],
|
||||
|
@ -502,7 +502,7 @@ double Fol_DB_GetNumFollowedPerFollower (unsigned Fol)
|
|||
"usr_follow"
|
||||
" WHERE crs_users.CrsCod=%ld"
|
||||
" AND crs_users.UsrCod=usr_follow.%s"
|
||||
" GROUP BY %s) AS F",
|
||||
" GROUP BY %s) AS F",
|
||||
FieldDB[Fol],
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
FieldDB[Fol],
|
||||
|
@ -567,9 +567,9 @@ unsigned Fol_DB_GetRankingFollowers (MYSQL_RES **mysql_res)
|
|||
"SELECT FollowedCod," // row[0]
|
||||
"COUNT(FollowerCod) AS N" // row[1]
|
||||
" FROM usr_follow"
|
||||
" GROUP BY FollowedCod"
|
||||
" ORDER BY N DESC,"
|
||||
"FollowedCod"
|
||||
" GROUP BY FollowedCod"
|
||||
" ORDER BY N DESC,"
|
||||
"FollowedCod"
|
||||
" LIMIT 100");
|
||||
case HieLvl_CTY:
|
||||
return (unsigned)
|
||||
|
@ -588,9 +588,9 @@ unsigned Fol_DB_GetRankingFollowers (MYSQL_RES **mysql_res)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.UsrCod=usr_follow.FollowedCod"
|
||||
" GROUP BY usr_follow.FollowedCod"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_follow.FollowedCod"
|
||||
" GROUP BY usr_follow.FollowedCod"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_follow.FollowedCod"
|
||||
" LIMIT 100",
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
|
@ -608,9 +608,9 @@ unsigned Fol_DB_GetRankingFollowers (MYSQL_RES **mysql_res)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.UsrCod=usr_follow.FollowedCod"
|
||||
" GROUP BY usr_follow.FollowedCod"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_follow.FollowedCod"
|
||||
" GROUP BY usr_follow.FollowedCod"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_follow.FollowedCod"
|
||||
" LIMIT 100",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
case HieLvl_CTR:
|
||||
|
@ -626,9 +626,9 @@ unsigned Fol_DB_GetRankingFollowers (MYSQL_RES **mysql_res)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.UsrCod=usr_follow.FollowedCod"
|
||||
" GROUP BY usr_follow.FollowedCod"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_follow.FollowedCod"
|
||||
" GROUP BY usr_follow.FollowedCod"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_follow.FollowedCod"
|
||||
" LIMIT 100",
|
||||
Gbl.Hierarchy.Ctr.CtrCod);
|
||||
case HieLvl_DEG:
|
||||
|
@ -642,9 +642,9 @@ unsigned Fol_DB_GetRankingFollowers (MYSQL_RES **mysql_res)
|
|||
" WHERE crs_courses.DegCod=%ld"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.UsrCod=usr_follow.FollowedCod"
|
||||
" GROUP BY usr_follow.FollowedCod"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_follow.FollowedCod"
|
||||
" GROUP BY usr_follow.FollowedCod"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_follow.FollowedCod"
|
||||
" LIMIT 100",
|
||||
Gbl.Hierarchy.Deg.DegCod);
|
||||
case HieLvl_CRS:
|
||||
|
@ -656,9 +656,9 @@ unsigned Fol_DB_GetRankingFollowers (MYSQL_RES **mysql_res)
|
|||
"usr_follow"
|
||||
" WHERE crs_users.CrsCod=%ld"
|
||||
" AND crs_users.UsrCod=usr_follow.FollowedCod"
|
||||
" GROUP BY usr_follow.FollowedCod"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_follow.FollowedCod"
|
||||
" GROUP BY usr_follow.FollowedCod"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_follow.FollowedCod"
|
||||
" LIMIT 100",
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
break;
|
||||
|
|
|
@ -350,7 +350,7 @@ unsigned For_DB_GetThreadAndNumPostsGivenPstCod (MYSQL_RES **mysql_res,long PstC
|
|||
" (SELECT ThrCod"
|
||||
" FROM for_posts"
|
||||
" WHERE PstCod=%ld)"
|
||||
" GROUP BY ThrCod;",
|
||||
" GROUP BY ThrCod;",
|
||||
PstCod);
|
||||
}
|
||||
|
||||
|
@ -368,7 +368,7 @@ unsigned For_DB_GetPublishersInThreadExceptMe (MYSQL_RES **mysql_res,long PstCod
|
|||
" WHERE ThrCod=(SELECT ThrCod"
|
||||
" FROM for_posts"
|
||||
" WHERE PstCod=%ld)"
|
||||
" AND UsrCod<>%ld",
|
||||
" AND UsrCod<>%ld",
|
||||
PstCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
}
|
||||
|
|
|
@ -158,8 +158,8 @@ unsigned Gam_DB_GetListGames (MYSQL_RES **mysql_res,Gam_Order_t SelectedOrder)
|
|||
" ON gam_games.GamCod=mch_matches.GamCod"
|
||||
" WHERE gam_games.CrsCod=%ld"
|
||||
"%s"
|
||||
" GROUP BY gam_games.GamCod"
|
||||
" ORDER BY %s",
|
||||
" GROUP BY gam_games.GamCod"
|
||||
" ORDER BY %s",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
HiddenSubQuery,
|
||||
OrderBySubQuery[SelectedOrder]);
|
||||
|
@ -191,10 +191,10 @@ unsigned Gam_DB_GetListAvailableGames (MYSQL_RES **mysql_res)
|
|||
" ON gam_games.GamCod=mch_matches.GamCod"
|
||||
" WHERE gam_games.CrsCod=%ld"
|
||||
" AND Hidden='N'"
|
||||
" GROUP BY gam_games.GamCod"
|
||||
" ORDER BY StartTime DESC,"
|
||||
"EndTime DESC,"
|
||||
"gam_games.Title DESC",
|
||||
" GROUP BY gam_games.GamCod"
|
||||
" ORDER BY StartTime DESC,"
|
||||
"EndTime DESC,"
|
||||
"gam_games.Title DESC",
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
}
|
||||
|
||||
|
@ -298,7 +298,7 @@ unsigned Gam_DB_GetNumCoursesWithGames (HieLvl_Level_t Scope)
|
|||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=gam_games.CrsCod",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
return (unsigned)
|
||||
DB_QueryCOUNT ("can not get number of courses with games",
|
||||
|
@ -665,7 +665,7 @@ double Gam_DB_GetNumQstsPerGame (HieLvl_Level_t Scope)
|
|||
" FROM gam_games,"
|
||||
"gam_questions"
|
||||
" WHERE gam_games.GamCod=gam_questions.GamCod"
|
||||
" GROUP BY gam_questions.GamCod) AS NumQstsTable");
|
||||
" GROUP BY gam_questions.GamCod) AS NumQstsTable");
|
||||
case HieLvl_CTY:
|
||||
return
|
||||
DB_QuerySELECTDouble ("can not get number of questions per game",
|
||||
|
@ -683,7 +683,7 @@ double Gam_DB_GetNumQstsPerGame (HieLvl_Level_t Scope)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=gam_games.CrsCod"
|
||||
" AND gam_games.GamCod=gam_questions.GamCod"
|
||||
" GROUP BY gam_questions.GamCod) AS NumQstsTable",
|
||||
" GROUP BY gam_questions.GamCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
return
|
||||
|
@ -700,7 +700,7 @@ double Gam_DB_GetNumQstsPerGame (HieLvl_Level_t Scope)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=gam_games.CrsCod"
|
||||
" AND gam_games.GamCod=gam_questions.GamCod"
|
||||
" GROUP BY gam_questions.GamCod) AS NumQstsTable",
|
||||
" GROUP BY gam_questions.GamCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
case HieLvl_CTR:
|
||||
return
|
||||
|
@ -715,7 +715,7 @@ double Gam_DB_GetNumQstsPerGame (HieLvl_Level_t Scope)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=gam_games.CrsCod"
|
||||
" AND gam_games.GamCod=gam_questions.GamCod"
|
||||
" GROUP BY gam_questions.GamCod) AS NumQstsTable",
|
||||
" GROUP BY gam_questions.GamCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Ctr.CtrCod);
|
||||
case HieLvl_DEG:
|
||||
return
|
||||
|
@ -728,7 +728,7 @@ double Gam_DB_GetNumQstsPerGame (HieLvl_Level_t Scope)
|
|||
" WHERE crs_courses.DegCod=%ld"
|
||||
" AND crs_courses.CrsCod=gam_games.CrsCod"
|
||||
" AND gam_games.GamCod=gam_questions.GamCod"
|
||||
" GROUP BY gam_questions.GamCod) AS NumQstsTable",
|
||||
" GROUP BY gam_questions.GamCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Deg.DegCod);
|
||||
case HieLvl_CRS:
|
||||
return
|
||||
|
@ -739,7 +739,7 @@ double Gam_DB_GetNumQstsPerGame (HieLvl_Level_t Scope)
|
|||
"gam_questions"
|
||||
" WHERE gam_games.Cod=%ld"
|
||||
" AND gam_games.GamCod=gam_questions.GamCod"
|
||||
" GROUP BY gam_questions.GamCod) AS NumQstsTable",
|
||||
" GROUP BY gam_questions.GamCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
default:
|
||||
Err_WrongScopeExit ();
|
||||
|
@ -780,7 +780,7 @@ unsigned Gam_DB_GetNumAnswersOfQstsInGame (MYSQL_RES **mysql_res,long GamCod)
|
|||
"gam_questions"
|
||||
" WHERE gam_questions.GamCod=%ld"
|
||||
" AND gam_questions.QstCod=tst_answers.QstCod"
|
||||
" GROUP BY tst_answers.QstCod",
|
||||
" GROUP BY tst_answers.QstCod",
|
||||
GamCod);
|
||||
}
|
||||
|
||||
|
|
|
@ -424,8 +424,8 @@ unsigned Grp_DB_GetGrpTypesWithGrpsInCrs (MYSQL_RES **mysql_res,long CrsCod)
|
|||
"grp_groups"
|
||||
" WHERE grp_types.CrsCod=%ld"
|
||||
" AND grp_types.GrpTypCod=grp_groups.GrpTypCod"
|
||||
" GROUP BY grp_types.GrpTypCod"
|
||||
" ORDER BY grp_types.GrpTypName",
|
||||
" GROUP BY grp_types.GrpTypCod"
|
||||
" ORDER BY grp_types.GrpTypName",
|
||||
CrsCod);
|
||||
}
|
||||
|
||||
|
@ -449,7 +449,7 @@ unsigned Grp_DB_GetAllGrpTypesInCrs (MYSQL_RES **mysql_res,long CrsCod)
|
|||
"grp_groups"
|
||||
" WHERE grp_types.CrsCod=%ld"
|
||||
" AND grp_types.GrpTypCod=grp_groups.GrpTypCod"
|
||||
" GROUP BY grp_types.GrpTypCod)"
|
||||
" GROUP BY grp_types.GrpTypCod)"
|
||||
" UNION "
|
||||
"(SELECT GrpTypCod," // row[0]
|
||||
"GrpTypName," // row[1]
|
||||
|
@ -463,7 +463,7 @@ unsigned Grp_DB_GetAllGrpTypesInCrs (MYSQL_RES **mysql_res,long CrsCod)
|
|||
" AND GrpTypCod NOT IN"
|
||||
" (SELECT GrpTypCod"
|
||||
" FROM grp_groups))"
|
||||
" ORDER BY GrpTypName",
|
||||
" ORDER BY GrpTypName",
|
||||
CrsCod,
|
||||
CrsCod);
|
||||
}
|
||||
|
@ -954,8 +954,8 @@ bool Grp_DB_CheckIfAvailableGrpTyp (long GrpTypCod)
|
|||
" AND grp_groups.GrpCod=grp_users.GrpCod"
|
||||
" AND grp_users.UsrCod=crs_users.UsrCod"
|
||||
" AND crs_users.Role=%u" // Student
|
||||
" GROUP BY grp_groups.GrpCod"
|
||||
" HAVING NumStudents<MaxStudents" // Not full
|
||||
" GROUP BY grp_groups.GrpCod"
|
||||
" HAVING NumStudents<MaxStudents" // Not full
|
||||
") AS available_grp_types_with_stds"
|
||||
|
||||
" UNION "
|
||||
|
|
|
@ -178,8 +178,8 @@ unsigned Ind_DB_GetTableOfCourses (MYSQL_RES **mysql_res,
|
|||
" AND crs_users.Role=%u"
|
||||
" AND crs_users.UsrCod=usr_data.UsrCod"
|
||||
" AND usr_data.DptCod=%ld"
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
(unsigned) Rol_TCH,
|
||||
Indicators->DptCod);
|
||||
|
@ -198,8 +198,8 @@ unsigned Ind_DB_GetTableOfCourses (MYSQL_RES **mysql_res,
|
|||
" AND ins_instits.InsCod=ctr_centers.InsCod"
|
||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
if (Indicators->DptCod >= 0) // 0 means another department
|
||||
|
@ -222,8 +222,8 @@ unsigned Ind_DB_GetTableOfCourses (MYSQL_RES **mysql_res,
|
|||
" AND crs_users.Role=%u"
|
||||
" AND crs_users.UsrCod=usr_data.UsrCod"
|
||||
" AND usr_data.DptCod=%ld"
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
(unsigned) Rol_TCH,
|
||||
Indicators->DptCod);
|
||||
|
@ -240,8 +240,8 @@ unsigned Ind_DB_GetTableOfCourses (MYSQL_RES **mysql_res,
|
|||
" WHERE ctr_centers.InsCod=%ld"
|
||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
case HieLvl_CTR:
|
||||
if (Indicators->DptCod >= 0) // 0 means another department
|
||||
|
@ -262,8 +262,8 @@ unsigned Ind_DB_GetTableOfCourses (MYSQL_RES **mysql_res,
|
|||
" AND crs_users.Role=%u"
|
||||
" AND crs_users.UsrCod=usr_data.UsrCod"
|
||||
" AND usr_data.DptCod=%ld"
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
Gbl.Hierarchy.Ctr.CtrCod,
|
||||
(unsigned) Rol_TCH,
|
||||
Indicators->DptCod);
|
||||
|
@ -278,8 +278,8 @@ unsigned Ind_DB_GetTableOfCourses (MYSQL_RES **mysql_res,
|
|||
"crs_courses"
|
||||
" WHERE deg_degrees.CtrCod=%ld"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
Gbl.Hierarchy.Ctr.CtrCod);
|
||||
case HieLvl_DEG:
|
||||
if (Indicators->DptCod >= 0) // 0 means another department
|
||||
|
@ -300,8 +300,8 @@ unsigned Ind_DB_GetTableOfCourses (MYSQL_RES **mysql_res,
|
|||
" AND crs_users.Role=%u"
|
||||
" AND crs_users.UsrCod=usr_data.UsrCod"
|
||||
" AND usr_data.DptCod=%ld"
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
Gbl.Hierarchy.Deg.DegCod,
|
||||
(unsigned) Rol_TCH,
|
||||
Indicators->DptCod);
|
||||
|
@ -316,8 +316,8 @@ unsigned Ind_DB_GetTableOfCourses (MYSQL_RES **mysql_res,
|
|||
"crs_courses"
|
||||
" WHERE deg_degrees.DegCod=%ld"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
Gbl.Hierarchy.Deg.DegCod);
|
||||
case HieLvl_CRS:
|
||||
if (Indicators->DptCod >= 0) // 0 means another department
|
||||
|
@ -339,8 +339,8 @@ unsigned Ind_DB_GetTableOfCourses (MYSQL_RES **mysql_res,
|
|||
" AND crs_users.Role=%u"
|
||||
" AND crs_users.UsrCod=usr_data.UsrCod"
|
||||
" AND usr_data.DptCod=%ld"
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
(unsigned) Rol_TCH,
|
||||
|
@ -356,8 +356,8 @@ unsigned Ind_DB_GetTableOfCourses (MYSQL_RES **mysql_res,
|
|||
"crs_courses"
|
||||
" WHERE crs_courses.CrsCod=%ld"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
" ORDER BY deg_degrees.FullName,"
|
||||
"crs_courses.FullName",
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
default:
|
||||
Err_WrongScopeExit ();
|
||||
|
|
|
@ -222,8 +222,8 @@ unsigned Ins_DB_GetAllInsWithPendingCtr (MYSQL_RES **mysql_res)
|
|||
"ins_instits"
|
||||
" WHERE (ctr_centers.Status & %u)<>0"
|
||||
" AND ctr_centers.InsCod=ins_instits.InsCod"
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY ins_instits.ShortName",
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY ins_instits.ShortName",
|
||||
(unsigned) Hie_STATUS_BIT_PENDING);
|
||||
}
|
||||
|
||||
|
@ -244,8 +244,8 @@ unsigned Ins_DB_GetInsWithPendingCtrsAdminByMe (MYSQL_RES **mysql_res)
|
|||
" AND ctr_centers.InsCod=ins_admin.InsCod"
|
||||
" AND ins_admin.UsrCod=%ld"
|
||||
" AND ctr_centers.InsCod=ins_instits.InsCod"
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY ins_instits.ShortName",
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY ins_instits.ShortName",
|
||||
(unsigned) Hie_STATUS_BIT_PENDING,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
}
|
||||
|
@ -317,7 +317,7 @@ unsigned Ins_DB_GetFullListOfInssInCty (MYSQL_RES **mysql_res,long CtyCod)
|
|||
"usr_data"
|
||||
" WHERE ins_instits.CtyCod=%ld"
|
||||
" AND ins_instits.InsCod=usr_data.InsCod"
|
||||
" GROUP BY ins_instits.InsCod)"
|
||||
" GROUP BY ins_instits.InsCod)"
|
||||
" UNION "
|
||||
"(SELECT InsCod," // row[0]
|
||||
"CtyCod," // row[1]
|
||||
|
@ -353,8 +353,8 @@ unsigned Ins_DB_GetInssOrderedByNumCtrs (MYSQL_RES **mysql_res)
|
|||
"SELECT InsCod," // row[0]
|
||||
"COUNT(*) AS N" // row[1]
|
||||
" FROM ctr_centers"
|
||||
" GROUP BY InsCod"
|
||||
" ORDER BY N DESC");
|
||||
" GROUP BY InsCod"
|
||||
" ORDER BY N DESC");
|
||||
case HieLvl_CTY:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get institutions",
|
||||
|
@ -364,8 +364,8 @@ unsigned Ins_DB_GetInssOrderedByNumCtrs (MYSQL_RES **mysql_res)
|
|||
"ctr_centers"
|
||||
" WHERE ins_instits.CtyCod=%ld"
|
||||
" AND ins_instits.InsCod=ctr_centers.InsCod"
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
case HieLvl_CTR:
|
||||
|
@ -377,7 +377,7 @@ unsigned Ins_DB_GetInssOrderedByNumCtrs (MYSQL_RES **mysql_res)
|
|||
"COUNT(*) AS N" // row[1]
|
||||
" FROM ctr_centers"
|
||||
" WHERE InsCod=%ld"
|
||||
" GROUP BY InsCod",
|
||||
" GROUP BY InsCod",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
default:
|
||||
Err_WrongScopeExit ();
|
||||
|
@ -401,8 +401,8 @@ unsigned Ins_DB_GetInssOrderedByNumDegs (MYSQL_RES **mysql_res)
|
|||
" FROM ctr_centers,"
|
||||
"deg_degrees"
|
||||
" WHERE ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" GROUP BY InsCod"
|
||||
" ORDER BY N DESC");
|
||||
" GROUP BY InsCod"
|
||||
" ORDER BY N DESC");
|
||||
case HieLvl_CTY:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get institutions",
|
||||
|
@ -414,8 +414,8 @@ unsigned Ins_DB_GetInssOrderedByNumDegs (MYSQL_RES **mysql_res)
|
|||
" WHERE ins_instits.CtyCod=%ld"
|
||||
" AND ins_instits.InsCod=ctr_centers.InsCod"
|
||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
case HieLvl_CTR:
|
||||
|
@ -429,8 +429,8 @@ unsigned Ins_DB_GetInssOrderedByNumDegs (MYSQL_RES **mysql_res)
|
|||
"deg_degrees"
|
||||
" WHERE ctr_centers.InsCod=%ld"
|
||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
default:
|
||||
Err_WrongScopeExit ();
|
||||
|
@ -456,8 +456,8 @@ unsigned Ins_DB_GetInssOrderedByNumCrss (MYSQL_RES **mysql_res)
|
|||
"crs_courses"
|
||||
" WHERE ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" GROUP BY InsCod"
|
||||
" ORDER BY N DESC");
|
||||
" GROUP BY InsCod"
|
||||
" ORDER BY N DESC");
|
||||
case HieLvl_CTY:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get institutions",
|
||||
|
@ -471,8 +471,8 @@ unsigned Ins_DB_GetInssOrderedByNumCrss (MYSQL_RES **mysql_res)
|
|||
" AND ins_instits.InsCod=ctr_centers.InsCod"
|
||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
case HieLvl_CTR:
|
||||
|
@ -488,8 +488,8 @@ unsigned Ins_DB_GetInssOrderedByNumCrss (MYSQL_RES **mysql_res)
|
|||
" WHERE ctr_centers.InsCod=%ld"
|
||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
default:
|
||||
Err_WrongScopeExit ();
|
||||
|
@ -518,8 +518,8 @@ unsigned Ins_DB_GetInssOrderedByNumUsrsInCrss (MYSQL_RES **mysql_res)
|
|||
" WHERE ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" GROUP BY InsCod"
|
||||
" ORDER BY N DESC");
|
||||
" GROUP BY InsCod"
|
||||
" ORDER BY N DESC");
|
||||
case HieLvl_CTY:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get institutions",
|
||||
|
@ -535,8 +535,8 @@ unsigned Ins_DB_GetInssOrderedByNumUsrsInCrss (MYSQL_RES **mysql_res)
|
|||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
case HieLvl_CTR:
|
||||
|
@ -554,8 +554,8 @@ unsigned Ins_DB_GetInssOrderedByNumUsrsInCrss (MYSQL_RES **mysql_res)
|
|||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
" GROUP BY ctr_centers.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
default:
|
||||
Err_WrongScopeExit ();
|
||||
|
@ -578,8 +578,8 @@ unsigned Ins_DB_GetInssOrderedByNumUsrsWhoClaimToBelongToThem (MYSQL_RES **mysql
|
|||
"COUNT(*) AS N" // row[1]
|
||||
" FROM usr_data"
|
||||
" WHERE InsCod>0"
|
||||
" GROUP BY InsCod"
|
||||
" ORDER BY N DESC");
|
||||
" GROUP BY InsCod"
|
||||
" ORDER BY N DESC");
|
||||
case HieLvl_CTY:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get institutions",
|
||||
|
@ -588,8 +588,8 @@ unsigned Ins_DB_GetInssOrderedByNumUsrsWhoClaimToBelongToThem (MYSQL_RES **mysql
|
|||
" FROM ins_instits,usr_data"
|
||||
" WHERE ins_instits.CtyCod=%ld"
|
||||
" AND ins_instits.InsCod=usr_data.InsCod"
|
||||
" GROUP BY usr_data.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
" GROUP BY usr_data.InsCod"
|
||||
" ORDER BY N DESC",
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
case HieLvl_CTR:
|
||||
|
@ -601,8 +601,8 @@ unsigned Ins_DB_GetInssOrderedByNumUsrsWhoClaimToBelongToThem (MYSQL_RES **mysql
|
|||
"COUNT(*) AS N" // row[1]
|
||||
" FROM usr_data"
|
||||
" WHERE InsCod=%ld"
|
||||
" GROUP BY InsCod"
|
||||
" ORDER BY N DESC",
|
||||
" GROUP BY InsCod"
|
||||
" ORDER BY N DESC",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
default:
|
||||
Err_WrongScopeExit ();
|
||||
|
@ -767,8 +767,8 @@ unsigned Ins_DB_GetInssFromUsr (MYSQL_RES **mysql_res,long UsrCod,long CtyCod)
|
|||
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
||||
" AND ctr_centers.InsCod=ins_instits.InsCod"
|
||||
" AND ins_instits.CtyCod=%ld"
|
||||
" GROUP BY ins_instits.InsCod"
|
||||
" ORDER BY ins_instits.ShortName",
|
||||
" GROUP BY ins_instits.InsCod"
|
||||
" ORDER BY ins_instits.ShortName",
|
||||
UsrCod,
|
||||
CtyCod);
|
||||
else
|
||||
|
@ -786,8 +786,8 @@ unsigned Ins_DB_GetInssFromUsr (MYSQL_RES **mysql_res,long UsrCod,long CtyCod)
|
|||
" AND crs_courses.DegCod=deg_degrees.DegCod"
|
||||
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
||||
" AND ctr_centers.InsCod=ins_instits.InsCod"
|
||||
" GROUP BY ins_instits.InsCod"
|
||||
" ORDER BY ins_instits.ShortName",
|
||||
" GROUP BY ins_instits.InsCod"
|
||||
" ORDER BY ins_instits.ShortName",
|
||||
UsrCod);
|
||||
}
|
||||
|
||||
|
|
|
@ -220,8 +220,8 @@ unsigned Log_DB_GetMyClicksGroupedByAction (MYSQL_RES **mysql_res,
|
|||
" FROM log"
|
||||
" WHERE ClickTime>=FROM_UNIXTIME(%ld)"
|
||||
" AND UsrCod=%ld"
|
||||
" GROUP BY ActCod"
|
||||
" ORDER BY N DESC"
|
||||
" GROUP BY ActCod"
|
||||
" ORDER BY N DESC"
|
||||
" LIMIT %u",
|
||||
(long) FirstClickTimeUTC,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
|
@ -247,7 +247,7 @@ unsigned Log_DB_GetMyMaxHitsPerYear (MYSQL_RES **mysql_res,
|
|||
" WHERE ClickTime>=FROM_UNIXTIME(%ld)"
|
||||
" AND UsrCod=%ld"
|
||||
" AND CrsCod<=0"
|
||||
" GROUP BY Year"
|
||||
" GROUP BY Year"
|
||||
// ---------------------------------------------------------
|
||||
" UNION "
|
||||
// Clicks as student, non-editing teacher or teacher in courses
|
||||
|
@ -261,9 +261,9 @@ unsigned Log_DB_GetMyMaxHitsPerYear (MYSQL_RES **mysql_res,
|
|||
" AND Role>=%u" // Student
|
||||
" AND Role<=%u" // Teacher
|
||||
" AND CrsCod>0"
|
||||
" GROUP BY CrsCod,"
|
||||
"Year,"
|
||||
"Role"
|
||||
" GROUP BY CrsCod,"
|
||||
"Year,"
|
||||
"Role"
|
||||
// ---------------------------------------------------------
|
||||
") AS hits_per_crs_year",
|
||||
(unsigned) Rol_UNK,
|
||||
|
@ -293,12 +293,13 @@ unsigned Log_DB_GetMyCrssAndHitsPerCrs (MYSQL_RES **mysql_res,Rol_Role_t Role)
|
|||
" ON my_courses.CrsCod=log.CrsCod"
|
||||
" WHERE log.UsrCod=%ld"
|
||||
" AND log.Role=%u"
|
||||
" GROUP BY my_courses.CrsCod"
|
||||
" ORDER BY N DESC,"
|
||||
"my_courses.CrsCod DESC",
|
||||
" GROUP BY my_courses.CrsCod"
|
||||
" ORDER BY N DESC,"
|
||||
"my_courses.CrsCod DESC",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,(unsigned) Role,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,(unsigned) Role);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************** Get my historic courses **************************/
|
||||
/*****************************************************************************/
|
||||
|
@ -314,7 +315,7 @@ unsigned Log_DB_GetMyHistoricCrss (MYSQL_RES **mysql_res,
|
|||
" WHERE UsrCod=%ld"
|
||||
" AND Role=%u"
|
||||
" AND CrsCod>0"
|
||||
" GROUP BY CrsCod"
|
||||
" GROUP BY CrsCod"
|
||||
" HAVING N>%u"
|
||||
" ORDER BY N DESC",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
|
@ -350,10 +351,10 @@ unsigned Log_DB_GetMyHitsPerYear (MYSQL_RES **mysql_res,
|
|||
" FROM log"
|
||||
" WHERE ClickTime>=FROM_UNIXTIME(%ld)"
|
||||
" AND UsrCod=%ld"
|
||||
"%s"
|
||||
"%s"
|
||||
" GROUP BY Year"
|
||||
" ORDER BY Year DESC",
|
||||
"%s"
|
||||
"%s"
|
||||
" GROUP BY Year"
|
||||
" ORDER BY Year DESC",
|
||||
(long) FirstClickTimeUTC,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
SubQueryCrs,
|
||||
|
|
|
@ -311,7 +311,7 @@ void Mai_DB_CreateTmpTables (void)
|
|||
" SELECT SUBSTRING_INDEX(E_mail,'@',-1) AS Domain,"
|
||||
"COUNT(*) as N"
|
||||
" FROM usr_emails"
|
||||
" GROUP BY Domain");
|
||||
" GROUP BY Domain");
|
||||
|
||||
DB_CreateTmpTable ("CREATE TEMPORARY TABLE T2 ENGINE=MEMORY"
|
||||
" SELECT *"
|
||||
|
|
|
@ -1240,8 +1240,8 @@ unsigned Mch_DB_GetMaxUsrsPerScore (long MchCod)
|
|||
" FROM (SELECT COUNT(*) AS NumUsrs"
|
||||
" FROM mch_results"
|
||||
" WHERE MchCod=%ld"
|
||||
" GROUP BY Score"
|
||||
" ORDER BY Score) AS Scores",
|
||||
" GROUP BY Score"
|
||||
" ORDER BY Score) AS Scores",
|
||||
MchCod);
|
||||
}
|
||||
|
||||
|
@ -1257,7 +1257,7 @@ unsigned Mch_DB_GetNumUsrsPerScore (MYSQL_RES **mysql_res,long MchCod)
|
|||
"COUNT(*) AS NumUsrs" // row[1]
|
||||
" FROM mch_results"
|
||||
" WHERE MchCod=%ld"
|
||||
" GROUP BY Score"
|
||||
" ORDER BY Score DESC",
|
||||
" GROUP BY Score"
|
||||
" ORDER BY Score DESC",
|
||||
MchCod);
|
||||
}
|
||||
|
|
|
@ -129,9 +129,9 @@ unsigned Net_DB_GetWebAndSocialNetworksStats (MYSQL_RES **mysql_res)
|
|||
"SELECT Web," // row[0]
|
||||
"COUNT(*) AS N" // row[1]
|
||||
" FROM usr_webs"
|
||||
" GROUP BY Web"
|
||||
" ORDER BY N DESC,"
|
||||
"Web");
|
||||
" GROUP BY Web"
|
||||
" ORDER BY N DESC,"
|
||||
"Web");
|
||||
case HieLvl_CTY:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of users"
|
||||
|
@ -150,9 +150,9 @@ unsigned Net_DB_GetWebAndSocialNetworksStats (MYSQL_RES **mysql_res)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.UsrCod=usr_webs.UsrCod"
|
||||
" GROUP BY usr_webs.Web"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_webs.Web",
|
||||
" GROUP BY usr_webs.Web"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_webs.Web",
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
return (unsigned)
|
||||
|
@ -170,9 +170,9 @@ unsigned Net_DB_GetWebAndSocialNetworksStats (MYSQL_RES **mysql_res)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.UsrCod=usr_webs.UsrCod"
|
||||
" GROUP BY usr_webs.Web"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_webs.Web",
|
||||
" GROUP BY usr_webs.Web"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_webs.Web",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
case HieLvl_CTR:
|
||||
return (unsigned)
|
||||
|
@ -188,9 +188,9 @@ unsigned Net_DB_GetWebAndSocialNetworksStats (MYSQL_RES **mysql_res)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.UsrCod=usr_webs.UsrCod"
|
||||
" GROUP BY usr_webs.Web"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_webs.Web",
|
||||
" GROUP BY usr_webs.Web"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_webs.Web",
|
||||
Gbl.Hierarchy.Ctr.CtrCod);
|
||||
case HieLvl_DEG:
|
||||
return (unsigned)
|
||||
|
@ -204,9 +204,9 @@ unsigned Net_DB_GetWebAndSocialNetworksStats (MYSQL_RES **mysql_res)
|
|||
" WHERE crs_courses.DegCod=%ld"
|
||||
" AND crs_courses.CrsCod=crs_users.CrsCod"
|
||||
" AND crs_users.UsrCod=usr_webs.UsrCod"
|
||||
" GROUP BY usr_webs.Web"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_webs.Web",
|
||||
" GROUP BY usr_webs.Web"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_webs.Web",
|
||||
Gbl.Hierarchy.Deg.DegCod);
|
||||
case HieLvl_CRS:
|
||||
return (unsigned)
|
||||
|
@ -218,9 +218,9 @@ unsigned Net_DB_GetWebAndSocialNetworksStats (MYSQL_RES **mysql_res)
|
|||
"usr_webs"
|
||||
" WHERE crs_users.CrsCod=%ld"
|
||||
" AND crs_users.UsrCod=usr_webs.UsrCod"
|
||||
" GROUP BY usr_webs.Web"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_webs.Web",
|
||||
" GROUP BY usr_webs.Web"
|
||||
" ORDER BY N DESC,"
|
||||
"usr_webs.Web",
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -90,7 +90,7 @@ unsigned Plc_DB_GetListPlaces (MYSQL_RES **mysql_res,Plc_Order_t SelectedOrder)
|
|||
" WHERE plc_places.InsCod=%ld"
|
||||
" AND plc_places.PlcCod=ctr_centers.PlcCod"
|
||||
" AND ctr_centers.InsCod=%ld"
|
||||
" GROUP BY plc_places.PlcCod)"
|
||||
" GROUP BY plc_places.PlcCod)"
|
||||
" UNION "
|
||||
"(SELECT PlcCod,"
|
||||
"ShortName,"
|
||||
|
@ -103,7 +103,7 @@ unsigned Plc_DB_GetListPlaces (MYSQL_RES **mysql_res,Plc_Order_t SelectedOrder)
|
|||
"PlcCod"
|
||||
" FROM ctr_centers"
|
||||
" WHERE InsCod=%ld))"
|
||||
" ORDER BY %s",
|
||||
" ORDER BY %s",
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
|
@ -127,7 +127,7 @@ unsigned Plc_DB_GetDataOfPlaceByCod (MYSQL_RES **mysql_res,long PlcCod)
|
|||
" WHERE plc_places.PlcCod=%ld"
|
||||
" AND plc_places.PlcCod=ctr_centers.PlcCod"
|
||||
" AND ctr_centers.PlcCod=%ld"
|
||||
" GROUP BY plc_places.PlcCod)"
|
||||
" GROUP BY plc_places.PlcCod)"
|
||||
" UNION "
|
||||
"(SELECT ShortName," // row[0]
|
||||
"FullName," // row[1]
|
||||
|
|
|
@ -273,8 +273,8 @@ unsigned Prf_DB_GetRankingFigure (MYSQL_RES **mysql_res,const char *FieldName)
|
|||
" AND UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM usr_banned)"
|
||||
" ORDER BY %s DESC,"
|
||||
"UsrCod"
|
||||
" ORDER BY %s DESC,"
|
||||
"UsrCod"
|
||||
" LIMIT 100",
|
||||
FieldName,
|
||||
FieldName,
|
||||
|
@ -301,8 +301,8 @@ unsigned Prf_DB_GetRankingFigure (MYSQL_RES **mysql_res,const char *FieldName)
|
|||
" AND usr_figures.UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM usr_banned)"
|
||||
" ORDER BY usr_figures.%s DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" ORDER BY usr_figures.%s DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" LIMIT 100",
|
||||
FieldName,
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
|
@ -328,8 +328,8 @@ unsigned Prf_DB_GetRankingFigure (MYSQL_RES **mysql_res,const char *FieldName)
|
|||
" AND usr_figures.UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM usr_banned)"
|
||||
" ORDER BY usr_figures.%s DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" ORDER BY usr_figures.%s DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" LIMIT 100",
|
||||
FieldName,
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
|
@ -353,8 +353,8 @@ unsigned Prf_DB_GetRankingFigure (MYSQL_RES **mysql_res,const char *FieldName)
|
|||
" AND usr_figures.UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM usr_banned)"
|
||||
" ORDER BY usr_figures.%s DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" ORDER BY usr_figures.%s DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" LIMIT 100",
|
||||
FieldName,
|
||||
Gbl.Hierarchy.Ctr.CtrCod,
|
||||
|
@ -376,8 +376,8 @@ unsigned Prf_DB_GetRankingFigure (MYSQL_RES **mysql_res,const char *FieldName)
|
|||
" AND usr_figures.UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM usr_banned)"
|
||||
" ORDER BY usr_figures.%s DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" ORDER BY usr_figures.%s DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" LIMIT 100",
|
||||
FieldName,
|
||||
Gbl.Hierarchy.Deg.DegCod,
|
||||
|
@ -397,8 +397,8 @@ unsigned Prf_DB_GetRankingFigure (MYSQL_RES **mysql_res,const char *FieldName)
|
|||
" AND usr_figures.UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM usr_banned)"
|
||||
" ORDER BY usr_figures.%s DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" ORDER BY usr_figures.%s DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" LIMIT 100",
|
||||
FieldName,
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
|
@ -430,8 +430,8 @@ unsigned Prf_DB_GetRankingClicksPerDay (MYSQL_RES **mysql_res)
|
|||
" AND UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM usr_banned)"
|
||||
" ORDER BY NumClicksPerDay DESC,"
|
||||
"UsrCod"
|
||||
" ORDER BY NumClicksPerDay DESC,"
|
||||
"UsrCod"
|
||||
" LIMIT 100");
|
||||
case HieLvl_CTY:
|
||||
return (unsigned)
|
||||
|
@ -457,8 +457,8 @@ unsigned Prf_DB_GetRankingClicksPerDay (MYSQL_RES **mysql_res)
|
|||
" AND usr_figures.UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM usr_banned)"
|
||||
" ORDER BY NumClicksPerDay DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" ORDER BY NumClicksPerDay DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" LIMIT 100",
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
|
@ -483,8 +483,8 @@ unsigned Prf_DB_GetRankingClicksPerDay (MYSQL_RES **mysql_res)
|
|||
" AND usr_figures.UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM usr_banned)"
|
||||
" ORDER BY NumClicksPerDay DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" ORDER BY NumClicksPerDay DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" LIMIT 100",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
case HieLvl_CTR:
|
||||
|
@ -507,8 +507,8 @@ unsigned Prf_DB_GetRankingClicksPerDay (MYSQL_RES **mysql_res)
|
|||
" AND usr_figures.UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM usr_banned)"
|
||||
" ORDER BY NumClicksPerDay DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" ORDER BY NumClicksPerDay DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" LIMIT 100",
|
||||
Gbl.Hierarchy.Ctr.CtrCod);
|
||||
case HieLvl_DEG:
|
||||
|
@ -529,8 +529,8 @@ unsigned Prf_DB_GetRankingClicksPerDay (MYSQL_RES **mysql_res)
|
|||
" AND usr_figures.UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM usr_banned)"
|
||||
" ORDER BY NumClicksPerDay DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" ORDER BY NumClicksPerDay DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" LIMIT 100",
|
||||
Gbl.Hierarchy.Deg.DegCod);
|
||||
case HieLvl_CRS:
|
||||
|
@ -549,8 +549,8 @@ unsigned Prf_DB_GetRankingClicksPerDay (MYSQL_RES **mysql_res)
|
|||
" AND usr_figures.UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM usr_banned)"
|
||||
" ORDER BY NumClicksPerDay DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" ORDER BY NumClicksPerDay DESC,"
|
||||
"usr_figures.UsrCod"
|
||||
" LIMIT 100",
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
default:
|
||||
|
|
|
@ -392,8 +392,8 @@ unsigned Prj_DB_GetListProjects (MYSQL_RES **mysql_res,
|
|||
"%s"
|
||||
" AND prj_projects.PrjCod=prj_users.PrjCod"
|
||||
" AND prj_users.UsrCod=%ld"
|
||||
" GROUP BY prj_projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
||||
" ORDER BY %s",
|
||||
" GROUP BY prj_projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
||||
" ORDER BY %s",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
AssignSubQuery,
|
||||
HidVisSubQuery,
|
||||
|
@ -417,8 +417,8 @@ unsigned Prj_DB_GetListProjects (MYSQL_RES **mysql_res,
|
|||
"%s"
|
||||
" AND prj_projects.PrjCod=prj_users.PrjCod"
|
||||
" AND prj_users.UsrCod=%ld"
|
||||
" GROUP BY prj_projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
||||
" ORDER BY %s",
|
||||
" GROUP BY prj_projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
||||
" ORDER BY %s",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
AssignSubQuery,
|
||||
HidVisSubQuery,
|
||||
|
@ -450,8 +450,8 @@ unsigned Prj_DB_GetListProjects (MYSQL_RES **mysql_res,
|
|||
"%s"
|
||||
" AND prj_projects.PrjCod=prj_users.PrjCod"
|
||||
" AND prj_users.UsrCod IN (%s)"
|
||||
" GROUP BY prj_projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
||||
" ORDER BY %s",
|
||||
" GROUP BY prj_projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
||||
" ORDER BY %s",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
AssignSubQuery,
|
||||
HidVisSubQuery,
|
||||
|
@ -469,14 +469,14 @@ unsigned Prj_DB_GetListProjects (MYSQL_RES **mysql_res,
|
|||
" LEFT JOIN prj_users"
|
||||
" ON prj_projects.PrjCod=prj_users.PrjCod"
|
||||
" WHERE prj_projects.CrsCod=%ld"
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
" AND prj_projects.PrjCod=prj_users.PrjCod"
|
||||
" AND prj_users.UsrCod IN (%s)"
|
||||
" GROUP BY prj_projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
||||
" ORDER BY %s",
|
||||
" GROUP BY prj_projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
||||
" ORDER BY %s",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
AssignSubQuery,
|
||||
HidVisSubQuery,
|
||||
|
@ -500,11 +500,11 @@ unsigned Prj_DB_GetListProjects (MYSQL_RES **mysql_res,
|
|||
"SELECT prj_projects.PrjCod"
|
||||
" FROM prj_projects"
|
||||
" WHERE prj_projects.CrsCod=%ld"
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
" ORDER BY %s",
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
" ORDER BY %s",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
AssignSubQuery,
|
||||
HidVisSubQuery,
|
||||
|
@ -519,11 +519,11 @@ unsigned Prj_DB_GetListProjects (MYSQL_RES **mysql_res,
|
|||
" FROM prj_projects LEFT JOIN dpt_departments"
|
||||
" ON prj_projects.DptCod=dpt_departments.DptCod"
|
||||
" WHERE prj_projects.CrsCod=%ld"
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
" ORDER BY %s",
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
"%s"
|
||||
" ORDER BY %s",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
AssignSubQuery,
|
||||
HidVisSubQuery,
|
||||
|
|
|
@ -187,7 +187,7 @@ unsigned Rub_DB_GetNumCoursesWithRubrics (HieLvl_Level_t Scope)
|
|||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=rub_rubrics.CrsCod",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
return (unsigned)
|
||||
DB_QueryCOUNT ("can not get number of courses with rubrics",
|
||||
|
@ -525,7 +525,7 @@ unsigned Rub_DB_GetCriterionData (MYSQL_RES **mysql_res,long CriCod)
|
|||
DB_QuerySELECT (mysql_res,"can not get a criterion",
|
||||
"SELECT Title" // row[0]
|
||||
" FROM rub_criteria"
|
||||
" WHERE QstCod=%ld"
|
||||
" WHERE CriCod=%ld"
|
||||
" AND CrsCod=%ld", // Extra check
|
||||
CriCod,
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
|
@ -544,16 +544,16 @@ double Rub_DB_GetNumCriteriaPerRubric (HieLvl_Level_t Scope)
|
|||
return
|
||||
DB_QuerySELECTDouble ("can not get number of criteria per rubric",
|
||||
"SELECT AVG(NumCriteria)"
|
||||
" FROM (SELECT COUNT(rub_criteria.QstCod) AS NumCriteria"
|
||||
" FROM (SELECT COUNT(rub_criteria.CriCod) AS NumCriteria"
|
||||
" FROM rub_rubrics,"
|
||||
"rub_criteria"
|
||||
" WHERE rub_rubrics.RubCod=rub_criteria.RubCod"
|
||||
" GROUP BY rub_criteria.RubCod) AS NumCriteriaTable");
|
||||
" GROUP BY rub_criteria.RubCod) AS NumCriteriaTable");
|
||||
case HieLvl_CTY:
|
||||
return
|
||||
DB_QuerySELECTDouble ("can not get number of criteria per rubric",
|
||||
"SELECT AVG(NumCriteria)"
|
||||
" FROM (SELECT COUNT(rub_criteria.QstCod) AS NumCriteria"
|
||||
" FROM (SELECT COUNT(rub_criteria.CriCod) AS NumCriteria"
|
||||
" FROM ins_instits,"
|
||||
"ctr_centers,"
|
||||
"deg_degrees,"
|
||||
|
@ -566,13 +566,13 @@ double Rub_DB_GetNumCriteriaPerRubric (HieLvl_Level_t Scope)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=rub_rubrics.CrsCod"
|
||||
" AND rub_rubrics.RubCod=rub_criteria.RubCod"
|
||||
" GROUP BY rub_criteria.RubCod) AS NumCriteriaTable",
|
||||
" GROUP BY rub_criteria.RubCod) AS NumCriteriaTable",
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
case HieLvl_INS:
|
||||
return
|
||||
DB_QuerySELECTDouble ("can not get number of criteria per rubric",
|
||||
"SELECT AVG(NumCriteria)"
|
||||
" FROM (SELECT COUNT(rub_criteria.QstCod) AS NumCriteria"
|
||||
" FROM (SELECT COUNT(rub_criteria.CriCod) AS NumCriteria"
|
||||
" FROM ctr_centers,"
|
||||
"deg_degrees,"
|
||||
"crs_courses,"
|
||||
|
@ -583,13 +583,13 @@ double Rub_DB_GetNumCriteriaPerRubric (HieLvl_Level_t Scope)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=rub_rubrics.CrsCod"
|
||||
" AND rub_rubrics.RubCod=rub_criteria.RubCod"
|
||||
" GROUP BY rub_criteria.RubCod) AS NumCriteriaTable",
|
||||
" GROUP BY rub_criteria.RubCod) AS NumCriteriaTable",
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
case HieLvl_CTR:
|
||||
return
|
||||
DB_QuerySELECTDouble ("can not get number of criteria per rubric",
|
||||
"SELECT AVG(NumCriteria)"
|
||||
" FROM (SELECT COUNT(rub_criteria.QstCod) AS NumCriteria"
|
||||
" FROM (SELECT COUNT(rub_criteria.CriCod) AS NumCriteria"
|
||||
" FROM deg_degrees,"
|
||||
"crs_courses,"
|
||||
"rub_rubrics,"
|
||||
|
@ -598,31 +598,31 @@ double Rub_DB_GetNumCriteriaPerRubric (HieLvl_Level_t Scope)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=rub_rubrics.CrsCod"
|
||||
" AND rub_rubrics.RubCod=rub_criteria.RubCod"
|
||||
" GROUP BY rub_criteria.RubCod) AS NumCriteriaTable",
|
||||
" GROUP BY rub_criteria.RubCod) AS NumCriteriaTable",
|
||||
Gbl.Hierarchy.Ctr.CtrCod);
|
||||
case HieLvl_DEG:
|
||||
return
|
||||
DB_QuerySELECTDouble ("can not get number of criteria per rubric",
|
||||
"SELECT AVG(NumCriteria)"
|
||||
" FROM (SELECT COUNT(rub_criteria.QstCod) AS NumCriteria"
|
||||
" FROM (SELECT COUNT(rub_criteria.CriCod) AS NumCriteria"
|
||||
" FROM crs_courses,"
|
||||
"rub_rubrics,"
|
||||
"rub_criteria"
|
||||
" WHERE crs_courses.DegCod=%ld"
|
||||
" AND crs_courses.CrsCod=rub_rubrics.CrsCod"
|
||||
" AND rub_rubrics.RubCod=rub_criteria.RubCod"
|
||||
" GROUP BY rub_criteria.RubCod) AS NumCriteriaTable",
|
||||
" GROUP BY rub_criteria.RubCod) AS NumCriteriaTable",
|
||||
Gbl.Hierarchy.Deg.DegCod);
|
||||
case HieLvl_CRS:
|
||||
return
|
||||
DB_QuerySELECTDouble ("can not get number of criteria per rubric",
|
||||
"SELECT AVG(NumCriteria)"
|
||||
" FROM (SELECT COUNT(rub_criteria.QstCod) AS NumCriteria"
|
||||
" FROM (SELECT COUNT(rub_criteria.CriCod) AS NumCriteria"
|
||||
" FROM rub_rubrics,"
|
||||
"rub_criteria"
|
||||
" WHERE rub_rubrics.Cod=%ld"
|
||||
" WHERE rub_rubrics.CrsCod=%ld"
|
||||
" AND rub_rubrics.RubCod=rub_criteria.RubCod"
|
||||
" GROUP BY rub_criteria.RubCod) AS NumCriteriaTable",
|
||||
" GROUP BY rub_criteria.RubCod) AS NumCriteriaTable",
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
default:
|
||||
Err_WrongScopeExit ();
|
||||
|
|
|
@ -381,7 +381,7 @@ unsigned Svy_DB_GetNumCrssWithCrsSurveys (HieLvl_Level_t Scope)
|
|||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'",
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
Sco_GetDBStrFromScope (HieLvl_CRS));
|
||||
case HieLvl_INS:
|
||||
return (unsigned)
|
||||
|
@ -549,7 +549,7 @@ double Svy_DB_GetNumQstsPerCrsSurvey (HieLvl_Level_t Scope)
|
|||
"svy_questions"
|
||||
" WHERE svy_surveys.Scope='%s'"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
Sco_GetDBStrFromScope (HieLvl_CRS));
|
||||
case HieLvl_CTY:
|
||||
return DB_QuerySELECTDouble ("can not get number of questions per survey",
|
||||
|
@ -568,7 +568,7 @@ double Svy_DB_GetNumQstsPerCrsSurvey (HieLvl_Level_t Scope)
|
|||
" AND crs_courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
Sco_GetDBStrFromScope (HieLvl_CRS));
|
||||
case HieLvl_INS:
|
||||
|
@ -586,7 +586,7 @@ double Svy_DB_GetNumQstsPerCrsSurvey (HieLvl_Level_t Scope)
|
|||
" AND crs_courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
Sco_GetDBStrFromScope (HieLvl_CRS));
|
||||
case HieLvl_CTR:
|
||||
|
@ -602,7 +602,7 @@ double Svy_DB_GetNumQstsPerCrsSurvey (HieLvl_Level_t Scope)
|
|||
" AND crs_courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Ctr.CtrCod,
|
||||
Sco_GetDBStrFromScope (HieLvl_CRS));
|
||||
case HieLvl_DEG:
|
||||
|
@ -616,7 +616,7 @@ double Svy_DB_GetNumQstsPerCrsSurvey (HieLvl_Level_t Scope)
|
|||
" AND crs_courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Deg.DegCod,
|
||||
Sco_GetDBStrFromScope (HieLvl_CRS));
|
||||
case HieLvl_CRS:
|
||||
|
@ -628,7 +628,7 @@ double Svy_DB_GetNumQstsPerCrsSurvey (HieLvl_Level_t Scope)
|
|||
" WHERE svy_surveys.Scope='%s'"
|
||||
" AND svy_surveys.Cod=%ld"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
Sco_GetDBStrFromScope (HieLvl_CRS),Gbl.Hierarchy.Crs.CrsCod);
|
||||
default:
|
||||
Err_WrongScopeExit ();
|
||||
|
|
|
@ -141,8 +141,8 @@ void TmlPub_GetListPubsToShowInTimeline (struct Tml_Timeline *Timeline)
|
|||
of every set of publications corresponding to the same note:
|
||||
SELECT MAX(PubCod) AS NewestPubCod
|
||||
FROM tml_pubs ...
|
||||
GROUP BY NotCod
|
||||
ORDER BY NewestPubCod DESC
|
||||
GROUP BY NotCod
|
||||
ORDER BY NewestPubCod DESC
|
||||
LIMIT 10
|
||||
but this query is slow (several seconds) with a big table.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue