mirror of
https://github.com/acanas/swad-core.git
synced 2024-09-22 00:00:40 +02:00
Version 16.164.1
This commit is contained in:
parent
0f4e4325cd
commit
803b15d886
|
@ -209,13 +209,14 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 16.164 (2017-03-24)"
|
#define Log_PLATFORM_VERSION "SWAD 16.164.1 (2017-03-24)"
|
||||||
#define CSS_FILE "swad16.161.css"
|
#define CSS_FILE "swad16.161.css"
|
||||||
#define JS_FILE "swad16.144.js"
|
#define JS_FILE "swad16.144.js"
|
||||||
|
|
||||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
||||||
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
|
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
|
||||||
/*
|
/*
|
||||||
|
Version 16.164.1: Mar 24, 2017 Statistics about types of degree depends on the selected scope. (217575 lines)
|
||||||
Version 16.164: Mar 24, 2017 New figure in statistics: types of degree. (217510 lines)
|
Version 16.164: Mar 24, 2017 New figure in statistics: types of degree. (217510 lines)
|
||||||
Version 16.163: Mar 24, 2017 Types of degree can be ordered by name and by number of degrees.
|
Version 16.163: Mar 24, 2017 Types of degree can be ordered by name and by number of degrees.
|
||||||
Integer fields in database queries without single quotes. (217434 lines)
|
Integer fields in database queries without single quotes. (217434 lines)
|
||||||
|
|
|
@ -505,18 +505,82 @@ void DT_GetListDegreeTypes (void)
|
||||||
unsigned long NumRow;
|
unsigned long NumRow;
|
||||||
|
|
||||||
/***** Get types of degree from database *****/
|
/***** Get types of degree from database *****/
|
||||||
sprintf (Query,"(SELECT deg_types.DegTypCod,"
|
switch (Gbl.Scope.Current)
|
||||||
"deg_types.DegTypName AS DegTypName,"
|
{
|
||||||
|
case Sco_SCOPE_SYS:
|
||||||
|
/* Get
|
||||||
|
all degree types with degrees
|
||||||
|
union with
|
||||||
|
all degree types without any degree */
|
||||||
|
sprintf (Query,"(SELECT deg_types.DegTypCod,deg_types.DegTypName,"
|
||||||
"COUNT(degrees.DegCod) AS NumDegs"
|
"COUNT(degrees.DegCod) AS NumDegs"
|
||||||
" FROM deg_types,degrees"
|
" FROM degrees,deg_types"
|
||||||
" WHERE deg_types.DegTypCod=degrees.DegTypCod"
|
" WHERE degrees.DegTypCod=deg_types.DegTypCod"
|
||||||
" GROUP BY degrees.DegTypCod)"
|
" GROUP BY degrees.DegTypCod)"
|
||||||
" UNION "
|
" UNION "
|
||||||
"(SELECT DegTypCod,DegTypName,0 AS NumDegs" // Do not use '0' because NumDegs will be casted to string and order will be wrong
|
"(SELECT DegTypCod,DegTypName,0 AS NumDegs" // Do not use '0' because NumDegs will be casted to string and order will be wrong
|
||||||
" FROM deg_types"
|
" FROM deg_types"
|
||||||
" WHERE DegTypCod NOT IN (SELECT DegTypCod FROM degrees))"
|
" WHERE DegTypCod NOT IN"
|
||||||
|
" (SELECT DegTypCod FROM degrees))"
|
||||||
" ORDER BY %s",
|
" ORDER BY %s",
|
||||||
OrderBySubQuery[Gbl.Degs.DegTypes.SelectedOrder]);
|
OrderBySubQuery[Gbl.Degs.DegTypes.SelectedOrder]);
|
||||||
|
break;
|
||||||
|
case Sco_SCOPE_CTY:
|
||||||
|
/* Get only degree types with degrees in the current country */
|
||||||
|
sprintf (Query,"SELECT deg_types.DegTypCod,deg_types.DegTypName,"
|
||||||
|
"COUNT(degrees.DegCod) AS NumDegs"
|
||||||
|
" FROM institutions,centres,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"
|
||||||
|
" ORDER BY %s",
|
||||||
|
Gbl.CurrentCty.Cty.CtyCod,
|
||||||
|
OrderBySubQuery[Gbl.Degs.DegTypes.SelectedOrder]);
|
||||||
|
break;
|
||||||
|
case Sco_SCOPE_INS:
|
||||||
|
/* Get only degree types with degrees in the current institution */
|
||||||
|
sprintf (Query,"SELECT deg_types.DegTypCod,deg_types.DegTypName,"
|
||||||
|
"COUNT(degrees.DegCod) AS NumDegs"
|
||||||
|
" FROM centres,degrees,deg_types"
|
||||||
|
" WHERE centres.InsCod=%ld"
|
||||||
|
" AND centres.CtrCod=degrees.CtrCod"
|
||||||
|
" AND degrees.DegTypCod=deg_types.DegTypCod"
|
||||||
|
" GROUP BY degrees.DegTypCod"
|
||||||
|
" ORDER BY %s",
|
||||||
|
Gbl.CurrentIns.Ins.InsCod,
|
||||||
|
OrderBySubQuery[Gbl.Degs.DegTypes.SelectedOrder]);
|
||||||
|
break;
|
||||||
|
case Sco_SCOPE_CTR:
|
||||||
|
/* Get only degree types with degrees in the current centre */
|
||||||
|
sprintf (Query,"SELECT deg_types.DegTypCod,deg_types.DegTypName,"
|
||||||
|
"COUNT(degrees.DegCod) AS NumDegs"
|
||||||
|
" FROM degrees,deg_types"
|
||||||
|
" WHERE degrees.CtrCod=%ld"
|
||||||
|
" AND degrees.DegTypCod=deg_types.DegTypCod"
|
||||||
|
" GROUP BY degrees.DegTypCod"
|
||||||
|
" ORDER BY %s",
|
||||||
|
Gbl.CurrentCtr.Ctr.CtrCod,
|
||||||
|
OrderBySubQuery[Gbl.Degs.DegTypes.SelectedOrder]);
|
||||||
|
break;
|
||||||
|
case Sco_SCOPE_DEG:
|
||||||
|
case Sco_SCOPE_CRS:
|
||||||
|
/* Get only degree types with degrees in the current degree */
|
||||||
|
sprintf (Query,"SELECT deg_types.DegTypCod,deg_types.DegTypName,"
|
||||||
|
"COUNT(degrees.DegCod) AS NumDegs"
|
||||||
|
" FROM degrees,deg_types"
|
||||||
|
" WHERE degrees.DegCod=%ld"
|
||||||
|
" AND degrees.DegTypCod=deg_types.DegTypCod"
|
||||||
|
" GROUP BY degrees.DegTypCod"
|
||||||
|
" ORDER BY %s",
|
||||||
|
Gbl.CurrentDeg.Deg.DegCod,
|
||||||
|
OrderBySubQuery[Gbl.Degs.DegTypes.SelectedOrder]);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Lay_ShowErrorAndExit ("Wrong scope.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
Gbl.Degs.DegTypes.Num = (unsigned) DB_QuerySELECT (Query,&mysql_res,"can not get types of degree");
|
Gbl.Degs.DegTypes.Num = (unsigned) DB_QuerySELECT (Query,&mysql_res,"can not get types of degree");
|
||||||
|
|
||||||
/***** Get degree types *****/
|
/***** Get degree types *****/
|
||||||
|
|
Loading…
Reference in New Issue
Block a user