From 8f2f68ad4968d2ec19c8506457f4f97f73655e2b Mon Sep 17 00:00:00 2001
From: Julio Montoya <gugli100@gmail.com>
Date: Tue, 12 Apr 2011 14:59:49 +0200
Subject: [PATCH] Fixing sql error

---
 main/user/subscribe_user.php | 105 ++++++++++++++++-------------------
 1 file changed, 49 insertions(+), 56 deletions(-)

diff --git a/main/user/subscribe_user.php b/main/user/subscribe_user.php
index 055fb39d50..a76f3fa27c 100755
--- a/main/user/subscribe_user.php
+++ b/main/user/subscribe_user.php
@@ -206,20 +206,16 @@ function get_number_of_users() {
 			}
 
 		} else {
-			$sql = "SELECT 	u.user_id
-				FROM $user_table u
-				LEFT JOIN $course_user_table cu on u.user_id = cu.user_id  and course_code='".api_get_course_id()."'
-				WHERE cu.user_id IS NULL AND u.status<>".DRH." ";
+			$sql = "SELECT 	u.user_id FROM $user_table u LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".api_get_course_id()."'
+				    WHERE cu.user_id IS NULL AND u.status<>".DRH." ";
 
 			if ($_configuration['multiple_access_urls']) {
 				$url_access_id = api_get_current_access_url_id();
 				if ($url_access_id !=-1) {
 					$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
 
-					$sql = "SELECT
-						u.user_id
-						FROM $user_table u
-						LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".api_get_course_id()."'
+					$sql = "SELECT u.user_id FROM $user_table u
+						LEFT JOIN $course_user_table cu on u.user_id = cu.user_id AND course_code='".api_get_course_id()."'
 						INNER JOIN  $tbl_url_rel_user as url_rel_user
 						ON (url_rel_user.user_id = u.user_id)
 						WHERE cu.user_id IS NULL AND u.status<>".DRH." AND access_url_id= $url_access_id ";
@@ -229,58 +225,57 @@ function get_number_of_users() {
 
 	} else {
 		// students
-
-			if (api_get_session_id() != 0) {
-				$sql = "SELECT	u.user_id
-						FROM $user_table u
-						LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".api_get_course_id()."' AND id_session ='".api_get_session_id()."'
-						WHERE cu.id_user IS NULL AND u.status<>".DRH." AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
-				if ($_configuration['multiple_access_urls']) {
-					$url_access_id = api_get_current_access_url_id();
-					if ($url_access_id !=-1) {
-						$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
-						$sql = "SELECT	u.user_id
-								FROM $user_table u
-								LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".api_get_course_id()."' AND id_session ='".api_get_session_id()."'
-								INNER JOIN  $tbl_url_rel_user as url_rel_user
-								ON (url_rel_user.user_id = u.user_id)
-								WHERE cu.user_id IS NULL AND u.status<>".DRH." AND access_url_id= $url_access_id AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
-					}
+		if (api_get_session_id() != 0) {
+			$sql = "SELECT	u.user_id
+					FROM $user_table u
+					LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".api_get_course_id()."' AND id_session ='".api_get_session_id()."'
+					WHERE cu.id_user IS NULL AND u.status<>".DRH." AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
+			if ($_configuration['multiple_access_urls']) {
+				$url_access_id = api_get_current_access_url_id();
+				if ($url_access_id !=-1) {
+					$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
+					$sql = "SELECT	u.user_id
+							FROM $user_table u
+							LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".api_get_course_id()."' AND id_session ='".api_get_session_id()."'
+							INNER JOIN  $tbl_url_rel_user as url_rel_user
+							ON (url_rel_user.user_id = u.user_id)
+							WHERE cu.id_user IS NULL AND u.status<>".DRH." AND access_url_id= $url_access_id AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
 				}
-			} else {
+			}
+		} else {
 
-				$sql = "SELECT 	u.user_id
-						FROM $user_table u
-						LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'";
+			$sql = "SELECT 	u.user_id
+					FROM $user_table u
+					LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'";
 
-				// we change the SQL when we have a filter
-				if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){
-					$field_identification = explode('*',$_GET['subscribe_user_filter_value']);
-					$sql .=	"
-						LEFT JOIN $table_user_field_values field_values
-							ON field_values.user_id = u.user_id
-						WHERE cu.user_id IS NULL AND u.status<>".DRH."
-							AND field_values.field_id = '".Database::escape_string($field_identification[0])."'
-							AND field_values.field_value = '".Database::escape_string($field_identification[1])."'";
-				} else	{
-					$sql .=	"WHERE cu.user_id IS NULL AND u.status<>".DRH." ";
-				}
+			// we change the SQL when we have a filter
+			if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){
+				$field_identification = explode('*',$_GET['subscribe_user_filter_value']);
+				$sql .=	"
+					LEFT JOIN $table_user_field_values field_values
+						ON field_values.user_id = u.user_id
+					WHERE cu.user_id IS NULL AND u.status<>".DRH."
+						AND field_values.field_id = '".Database::escape_string($field_identification[0])."'
+						AND field_values.field_value = '".Database::escape_string($field_identification[1])."'";
+			} else	{
+				$sql .=	"WHERE cu.user_id IS NULL AND u.status<>".DRH." ";
+			}
 
-				if ($_configuration['multiple_access_urls']) {
-					$url_access_id = api_get_current_access_url_id();
+			if ($_configuration['multiple_access_urls']) {
+				$url_access_id = api_get_current_access_url_id();
 
-					if ($url_access_id !=-1) {
+				if ($url_access_id !=-1) {
 
-						$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
+					$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
 
-						$sql = "SELECT u.user_id
-								FROM $user_table u
-								LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
-								INNER JOIN  $tbl_url_rel_user as url_rel_user
-								ON (url_rel_user.user_id = u.user_id)
-								WHERE cu.user_id IS NULL AND access_url_id= $url_access_id AND u.status<>".DRH." ";
-					}
+					$sql = "SELECT u.user_id
+							FROM $user_table u
+							LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
+							INNER JOIN  $tbl_url_rel_user as url_rel_user
+							ON (url_rel_user.user_id = u.user_id)
+							WHERE cu.user_id IS NULL AND access_url_id= $url_access_id AND u.status<>".DRH." ";
 				}
+			}
 
 		}
 	}
@@ -300,15 +295,13 @@ function get_number_of_users() {
 			$a_course_users = CourseManager :: get_user_list_from_course_code($_SESSION['_course']['id'], true, $_SESSION['id_session']);
 		} else {
 			$a_course_users = CourseManager :: get_user_list_from_course_code($_SESSION['_course']['id'], true);
-	}
+	    }
 		foreach ($a_course_users as $user_id=>$course_user) {
 			$users_of_course[] = $course_user['user_id'];
 	    }
-
 	}
 
-	//executing the SQL statement
-	$res = Database::query($sql);
+	$res = Database::query($sql);	
 	while ($user = Database::fetch_row($res)) {
 		$users[] = $user[0];
 	}