Julio Montoya 13 lat temu
rodzic
commit
e8060a685a
1 zmienionych plików z 15 dodań i 9 usunięć
  1. 15 9
      main/inc/lib/main_api.lib.php

+ 15 - 9
main/inc/lib/main_api.lib.php

@@ -1874,6 +1874,10 @@ function api_is_course_tutor() {
  * @return boolean True if current user is a course or session coach
  */
 function api_is_coach($session_id = 0, $course_code = '') {
+	//@todo Not sure about this one
+	/*if (api_is_platform_admin()) {
+		return true;
+	}*/
     if (!empty($session_id)) {
         $session_id = intval($session_id);
     } else {
@@ -1884,33 +1888,34 @@ function api_is_coach($session_id = 0, $course_code = '') {
         $course_code = Database::escape_string($course_code);
     } else {
         $course_code = api_get_course_id();
-    }
-    
-	if (!empty($course_code)) {
+    }    
+    $session_table = Database::get_main_table(TABLE_MAIN_SESSION);
+    $session_rel_course_rel_user_table = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
+    $sessionIsCoach = null;
+	if (!empty($course_code)) {		
 	    $sql = "SELECT DISTINCT id, name, date_start, date_end
-				FROM session INNER JOIN session_rel_course_rel_user session_rc_ru
+				FROM $session_table INNER JOIN $session_rel_course_rel_user_table session_rc_ru
 	            ON session_rc_ru.id_user = '".api_get_user_id()."'
 	            WHERE session_rc_ru.course_code = '$course_code' AND session_rc_ru.status = 2 AND session_rc_ru.id_session = '$session_id'
 	            ORDER BY date_start, date_end, name";
 	
 	    $result = Database::query($sql);
-	    $sessionIsCoach = Database::store_result($result);
+	    $sessionIsCoach = Database::store_result($result);	    
 	}
 	
 	if (!empty($session_id)) {
 	    $sql = "SELECT DISTINCT id, name, date_start, date_end
-	         	FROM session
+	         	FROM $session_table
 	         	WHERE session.id_coach =  '".api_get_user_id()."' AND id = '$session_id'
 				ORDER BY date_start, date_end, name";
 	
-	    $result = Database::query($sql);
+	    $result = Database::query($sql);	    
 	    if (!empty($sessionIsCoach)) {
 	    	$sessionIsCoach = array_merge($sessionIsCoach , Database::store_result($result));
 	    } else {
-	    	$sessionIsCoach = Database::store_result($result);
+	    	$sessionIsCoach = Database::store_result($result);	    	
 	    }
 	}
-
     return (count($sessionIsCoach) > 0);
 }
 
@@ -2152,6 +2157,7 @@ function api_is_allowed_to_edit($tutor = false, $coach = false, $session_coach =
     $session_visibility 		= api_get_session_visibility($my_session_id);
     
     $is_courseAdmin = api_is_course_admin() || api_is_platform_admin();
+    
     if (!$is_courseAdmin && $tutor) {   // If we also want to check if the user is a tutor...
         $is_courseAdmin = $is_courseAdmin || api_is_course_tutor();
     }