Version 18.11.4

This commit is contained in:
Antonio Cañas Vargas 2018-10-30 17:47:57 +01:00
parent e0602b0ad0
commit 6c93499a82
8 changed files with 467 additions and 431 deletions

View File

@ -355,10 +355,11 @@ En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 18.11.2 (2018-10-30)"
#define Log_PLATFORM_VERSION "SWAD 18.11.4 (2018-10-30)"
#define CSS_FILE "swad18.4.css"
#define JS_FILE "swad17.17.1.js"
/*
Version 18.11.4: Oct 30, 2018 Joining building and performing query into one function. (235593 lines)
Version 18.11.3: Oct 30, 2018 Joining building and performing query into one function. (235553 lines)
Version 18.11.2: Oct 30, 2018 Joining building and performing query into one function. (235531 lines)
Version 18.11.1: Oct 30, 2018 Joining building and performing query into one function. (235497 lines)

View File

@ -3124,9 +3124,8 @@ void Crs_GetAndWriteCrssOfAUsr (const struct UsrData *UsrDat,Rol_Role_t Role)
}
/*****************************************************************************/
/****************************** List courses found ***************************/
/**************************** List courses found *****************************/
/*****************************************************************************/
// Returns number of courses found
void Crs_ListCrssFound (MYSQL_RES **mysql_res,unsigned NumCrss)
{

View File

@ -2552,22 +2552,19 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
}
/*****************************************************************************/
/****************************** List degrees found ***************************/
/**************************** List degrees found *****************************/
/*****************************************************************************/
// Returns number of degrees found
unsigned Deg_ListDegsFound (void)
void Deg_ListDegsFound (MYSQL_RES **mysql_res,unsigned NumDegs)
{
extern const char *Txt_degree;
extern const char *Txt_degrees;
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumDegs;
unsigned NumDeg;
struct Degree Deg;
/***** Query database *****/
if ((NumDegs = (unsigned) DB_QuerySELECT_new (&mysql_res,"can not get degrees")))
if (NumDegs)
{
/***** Start box and table *****/
/* Number of degrees found */
@ -2587,7 +2584,7 @@ unsigned Deg_ListDegsFound (void)
NumDeg++)
{
/* Get next degree */
row = mysql_fetch_row (mysql_res);
row = mysql_fetch_row (*mysql_res);
/* Get degree code (row[0]) */
Deg.DegCod = Str_ConvertStrCodToLongCod (row[0]);
@ -2604,7 +2601,5 @@ unsigned Deg_ListDegsFound (void)
}
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
return NumDegs;
DB_FreeMySQLResult (mysql_res);
}

View File

@ -143,6 +143,6 @@ unsigned Deg_GetNumDegsInCtr (long CtrCod);
unsigned Deg_GetNumDegsWithCrss (const char *SubQuery);
unsigned Deg_GetNumDegsWithUsrs (Rol_Role_t Role,const char *SubQuery);
unsigned Deg_ListDegsFound (void);
void Deg_ListDegsFound (MYSQL_RES **mysql_res,unsigned NumCrss);
#endif

View File

@ -281,7 +281,8 @@ void Dpt_GetListDepartments (long InsCod)
sprintf (OrderBySubQuery,"NumTchs DESC,FullName");
break;
}
DB_BuildQuery ("(SELECT departments.DptCod,departments.InsCod,"
Gbl.Dpts.Num = (unsigned) DB_QuerySELECT (&mysql_res,"can not get departments",
"(SELECT departments.DptCod,departments.InsCod,"
"departments.ShortName,departments.FullName,departments.WWW,"
"COUNT(DISTINCT usr_data.UsrCod) AS NumTchs"
" FROM departments,usr_data,crs_usr"
@ -300,8 +301,6 @@ void Dpt_GetListDepartments (long InsCod)
InsCod,(unsigned) Rol_NET,(unsigned) Rol_TCH,
InsCod,(unsigned) Rol_NET,(unsigned) Rol_TCH,
OrderBySubQuery);
Gbl.Dpts.Num = (unsigned) DB_QuerySELECT_new (&mysql_res,"can not get departments");
if (Gbl.Dpts.Num) // Departments found...
{
/***** Create list with courses in degree *****/
@ -377,7 +376,8 @@ void Dpt_GetDataOfDepartmentByCod (struct Department *Dpt)
else if (Dpt->DptCod > 0)
{
/***** Get data of a department from database *****/
DB_BuildQuery ("(SELECT departments.InsCod,departments.ShortName,departments.FullName,departments.WWW,"
NumRows = DB_QuerySELECT (&mysql_res,"can not get data of a department",
"(SELECT departments.InsCod,departments.ShortName,departments.FullName,departments.WWW,"
"COUNT(DISTINCT usr_data.UsrCod) AS NumTchs"
" FROM departments,usr_data,crs_usr"
" WHERE departments.DptCod=%ld"
@ -393,8 +393,6 @@ void Dpt_GetDataOfDepartmentByCod (struct Department *Dpt)
" WHERE crs_usr.Role=%u AND crs_usr.UsrCod=usr_data.UsrCod))",
Dpt->DptCod,(unsigned) Rol_TCH,
Dpt->DptCod,(unsigned) Rol_TCH);
NumRows = DB_QuerySELECT_new (&mysql_res,"can not get data of a department");
if (NumRows) // Department found...
{
/* Get row */

View File

@ -145,12 +145,13 @@ void Dup_ListDuplicateUsrs (void)
Box_StartBox (NULL,Txt_Possibly_duplicate_users,NULL,
Hlp_USERS_Duplicates_possibly_duplicate_users,Box_NOT_CLOSABLE);
/***** Build query *****/
DB_BuildQuery ("SELECT UsrCod,COUNT(*) AS N,MIN(UNIX_TIMESTAMP(InformTime)) AS T"
/***** Make query *****/
NumUsrs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get possibly"
" duplicate users",
"SELECT UsrCod,COUNT(*) AS N,MIN(UNIX_TIMESTAMP(InformTime)) AS T"
" FROM usr_duplicated"
" GROUP BY UsrCod"
" ORDER BY N DESC,T DESC");
NumUsrs = (unsigned) DB_QuerySELECT_new (&mysql_res,"can not get possibly duplicate users");
/***** List possible duplicated users *****/
if (NumUsrs)
@ -266,11 +267,11 @@ static void Dup_ListSimilarUsrs (void)
Box_StartBox (NULL,Txt_Similar_users,NULL,
Hlp_USERS_Duplicates_similar_users,Box_NOT_CLOSABLE);
/***** Build query *****/
/***** Make query *****/
if (Gbl.Usrs.Other.UsrDat.Surname1[0] &&
Gbl.Usrs.Other.UsrDat.FirstName[0]) // Name and surname 1 not empty
{
DB_BuildQuery ("SELECT DISTINCT UsrCod FROM"
NumUsrs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get similar users",
"SELECT DISTINCT UsrCod FROM"
"(SELECT DISTINCT UsrCod FROM usr_IDs"
" WHERE UsrID IN (SELECT UsrID FROM usr_IDs WHERE UsrCod=%ld)"
" UNION"
@ -281,12 +282,11 @@ static void Dup_ListSimilarUsrs (void)
Gbl.Usrs.Other.UsrDat.Surname1,
Gbl.Usrs.Other.UsrDat.Surname2,
Gbl.Usrs.Other.UsrDat.FirstName);
}
else
DB_BuildQuery ("SELECT DISTINCT UsrCod FROM usr_IDs"
NumUsrs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get similar users",
"SELECT DISTINCT UsrCod FROM usr_IDs"
" WHERE UsrID IN (SELECT UsrID FROM usr_IDs WHERE UsrCod=%ld)",
Gbl.Usrs.Other.UsrDat.UsrCod);
NumUsrs = (unsigned) DB_QuerySELECT_new (&mysql_res,"can not get similar users");
/***** List possible similar users *****/
if (NumUsrs)

View File

@ -477,12 +477,12 @@ void Enr_GetNotifEnrolment (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
// This function may be called inside a web service, so don't report error
/***** Get user's role in course from database *****/
DB_BuildQuery ("SELECT Role"
if (DB_QuerySELECT (&mysql_res,"can not get user's role"
" in course",
"SELECT Role"
" FROM crs_usr"
" WHERE CrsCod=%ld AND UsrCod=%ld",
CrsCod,UsrCod);
if (DB_QuerySELECT_new (&mysql_res,"can not get user's role"
" in course") == 1) // Result should have a unique row
CrsCod,UsrCod) == 1) // Result should have a unique row
{
/***** Get user's role in course *****/
row = mysql_fetch_row (mysql_res);
@ -859,7 +859,8 @@ void Enr_RemoveOldUsrs (void)
SecondsWithoutAccess = (time_t) MonthsWithoutAccess * Dat_SECONDS_IN_ONE_MONTH;
/***** Get old users from database *****/
DB_BuildQuery ("SELECT UsrCod FROM"
NumUsrs = DB_QuerySELECT (&mysql_res,"can not get old users",
"SELECT UsrCod FROM"
"("
"SELECT UsrCod FROM usr_last WHERE"
" LastTime<FROM_UNIXTIME(UNIX_TIMESTAMP()-'%lu')"
@ -869,7 +870,7 @@ void Enr_RemoveOldUsrs (void)
") AS candidate_usrs"
" WHERE UsrCod NOT IN (SELECT DISTINCT UsrCod FROM crs_usr)",
(unsigned long) SecondsWithoutAccess);
if ((NumUsrs = DB_QuerySELECT_new (&mysql_res,"can not get old users")))
if (NumUsrs)
{
snprintf (Gbl.Alert.Txt,sizeof (Gbl.Alert.Txt),
Txt_Eliminating_X_users_who_were_not_enroled_in_any_course_and_with_more_than_Y_months_without_access_to_Z,
@ -2028,11 +2029,11 @@ void Enr_SignUpInCrs (void)
Lay_ShowErrorAndExit ("Wrong role.");
/***** Try to get and old request of the same user in the same course from database *****/
DB_BuildQuery ("SELECT ReqCod FROM crs_usr_requests"
if (DB_QuerySELECT (&mysql_res,"can not get enrolment request",
"SELECT ReqCod FROM crs_usr_requests"
" WHERE CrsCod=%ld AND UsrCod=%ld",
Gbl.CurrentCrs.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod);
if (DB_QuerySELECT_new (&mysql_res,"can not get enrolment request"))
Gbl.Usrs.Me.UsrDat.UsrCod))
{
row = mysql_fetch_row (mysql_res);
/* Get request code (row[0]) */
@ -2098,11 +2099,11 @@ void Enr_GetNotifEnrolmentRequest (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
// This function may be called inside a web service, so don't report error
/***** Get user and requested role from database *****/
DB_BuildQuery ("SELECT UsrCod,Role"
if (DB_QuerySELECT (&mysql_res,"can not get enrolment request",
"SELECT UsrCod,Role"
" FROM crs_usr_requests"
" WHERE ReqCod=%ld",
ReqCod);
if (DB_QuerySELECT_new (&mysql_res,"can not get enrolment request") == 1) // Result should have a unique row
ReqCod) == 1) // Result should have a unique row
{
/***** Get user and requested role *****/
row = mysql_fetch_row (mysql_res);
@ -2304,8 +2305,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
extern const char *Txt_No_enrolment_requests;
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumReq;
unsigned NumRequests;
unsigned long NumReqs = 0; // Initialized to avoid warning
unsigned long NumReq;
long ReqCod;
struct Degree Deg;
struct Course Crs;
@ -2377,7 +2378,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
{
case Rol_TCH:
// Requests in all courses in which I am teacher
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2394,7 +2397,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
break;
case Rol_DEG_ADM:
// Requests in all degrees administrated by me
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2410,7 +2415,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
break;
case Rol_CTR_ADM:
// Requests in all centres administrated by me
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2427,7 +2434,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
break;
case Rol_INS_ADM:
// Requests in all institutions administrated by me
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2445,7 +2454,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
break;
case Rol_SYS_ADM:
// All requests
DB_BuildQuery ("SELECT ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT ReqCod,"
"CrsCod,"
"UsrCod,"
"Role,"
@ -2465,7 +2476,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
{
case Rol_TCH:
// Requests in courses of this country in which I am teacher
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2488,7 +2501,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
break;
case Rol_DEG_ADM:
// Requests in degrees of this country administrated by me
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2509,7 +2524,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
break;
case Rol_CTR_ADM:
// Requests in centres of this country administrated by me
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2530,7 +2547,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
break;
case Rol_INS_ADM:
// Requests in institutions of this country administrated by me
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2551,7 +2570,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
break;
case Rol_SYS_ADM:
// Requests in any course of this country
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2577,7 +2598,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
{
case Rol_TCH:
// Requests in courses of this institution in which I am teacher
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2599,7 +2622,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
break;
case Rol_DEG_ADM:
// Requests in degrees of this institution administrated by me
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2619,7 +2644,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
break;
case Rol_CTR_ADM:
// Requests in centres of this institution administrated by me
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2640,7 +2667,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this institution
case Rol_SYS_ADM:
// Requests in any course of this institution
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2665,7 +2694,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
{
case Rol_TCH:
// Requests in courses of this centre in which I am teacher
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2686,7 +2717,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
break;
case Rol_DEG_ADM:
// Requests in degrees of this centre administrated by me
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2707,7 +2740,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this centre
case Rol_SYS_ADM:
// Request in any course of this centre
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2731,7 +2766,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
{
case Rol_TCH:
// Requests in courses of this degree in which I am teacher
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2754,7 +2791,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this degree
case Rol_SYS_ADM:
// Requests in any course of this degree
DB_BuildQuery ("SELECT crs_usr_requests.ReqCod,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT crs_usr_requests.ReqCod,"
"crs_usr_requests.CrsCod,"
"crs_usr_requests.UsrCod,"
"crs_usr_requests.Role,"
@ -2781,7 +2820,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this course
case Rol_SYS_ADM:
// Requests in this course
DB_BuildQuery ("SELECT ReqCod,CrsCod,UsrCod,Role,"
NumReqs = DB_QuerySELECT (&mysql_res,"can not get requests"
" for enrolment",
"SELECT ReqCod,CrsCod,UsrCod,Role,"
"UNIX_TIMESTAMP(RequestTime)"
" FROM crs_usr_requests"
" WHERE CrsCod=%ld"
@ -2800,10 +2841,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
break;
}
NumRequests = (unsigned) DB_QuerySELECT_new (&mysql_res,"can not get requests for enrolment");
/***** List requests *****/
if (NumRequests)
if (NumReqs)
{
/* Initialize structure with user's data */
Usr_UsrDataConstructor (&UsrDat);
@ -2837,7 +2876,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
/* List requests */
for (NumReq = 0;
NumReq < NumRequests;
NumReq < NumReqs;
NumReq++)
{
row = mysql_fetch_row (mysql_res);
@ -2871,9 +2910,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
/***** Number *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT RIGHT_TOP\">"
"%u"
"%lu"
"</td>",
NumRequests - NumReq);
NumReqs - NumReq);
/***** Link to course *****/
Crs_GetDataOfCourseByCod (&Crs);
@ -2993,10 +3032,10 @@ static void Enr_RemoveEnrolmentRequest (long CrsCod,long UsrCod)
/***** Mark possible notifications as removed
Important: do this before removing the request *****/
/* Request request code (returns 0 or 1 rows) */
DB_BuildQuery ("SELECT ReqCod FROM crs_usr_requests"
if (DB_QuerySELECT (&mysql_res,"can not get request code",
"SELECT ReqCod FROM crs_usr_requests"
" WHERE CrsCod=%ld AND UsrCod=%ld",
CrsCod,UsrCod);
if (DB_QuerySELECT_new (&mysql_res,"can not get request code")) // Request exists
CrsCod,UsrCod)) // Request exists
{
/* Get request code */
row = mysql_fetch_row (mysql_res);

View File

@ -728,6 +728,8 @@ static unsigned Sch_SearchCentresInDB (const char *RangeQuery)
static unsigned Sch_SearchDegreesInDB (const char *RangeQuery)
{
char SearchQuery[Sch_MAX_BYTES_SEARCH_QUERY + 1];
MYSQL_RES *mysql_res;
unsigned NumDegs;
/***** Check scope *****/
if (Gbl.Scope.Current != Sco_SCOPE_CRS)
@ -737,7 +739,8 @@ static unsigned Sch_SearchDegreesInDB (const char *RangeQuery)
if (Sch_BuildSearchQuery (SearchQuery,"degrees.FullName",NULL,NULL))
{
/***** Query database and list degrees found *****/
DB_BuildQuery ("SELECT degrees.DegCod"
NumDegs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get degrees",
"SELECT degrees.DegCod"
" FROM degrees,centres,institutions,countries"
" WHERE %s"
" AND degrees.CtrCod=centres.CtrCod"
@ -746,7 +749,8 @@ static unsigned Sch_SearchDegreesInDB (const char *RangeQuery)
"%s"
" ORDER BY degrees.FullName,institutions.FullName",
SearchQuery,RangeQuery);
return Deg_ListDegsFound ();
Deg_ListDegsFound (&mysql_res,NumDegs);
return NumDegs;
}
return 0;