Added support for access urls in portal limits management - refs #4792

skala
Yannick Warnier 13 years ago
parent 36c97ee87f
commit a67c0a2cb4
  1. 14
      main/inc/lib/course.lib.php
  2. 15
      main/inc/lib/sessionmanager.lib.php
  3. 14
      main/inc/lib/usermanager.lib.php

@ -3750,13 +3750,19 @@ class CourseManager {
/**
* Get courses count
* @param int Access URL ID (optional)
* @return int Number of courses
*/
public function count_courses() {
public function count_courses($access_url_id=null) {
$table_course = Database::get_main_table(TABLE_MAIN_COURSE);
$sql = "SELECT count(id) FROM $table_course";
$table_course_rel_access_url = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$sql = "SELECT count(id) FROM $table_course c";
if (!empty($access_url_id) && $access_url_id == intval($access_url_id)) {
$sql .= ", $table_course_rel_access_url u WHERE c.code = u.course_code AND u.access_url_id = $access_url_id";
}
$res = Database::query($sql);
$row = Database::fetch_array($res,0);
return $row;
$row = Database::fetch_row($res);
return $row[0];
}
} //end class CourseManager

@ -1771,13 +1771,20 @@ class SessionManager {
return false;
}
/**
*
* Get the number of sessions
* @param int ID of the URL we want to filter on (optional)
* @return int Number of sessions
*/
public function count_sessions() {
public function count_sessions($access_url_id=null) {
$session_table = Database::get_main_table(TABLE_MAIN_SESSION);
$sql = "SELECT count(id) FROM $session_table";
$access_url_rel_session_table = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
$sql = "SELECT count(id) FROM $session_table s";
if (!empty($access_url_id) && $access_url_id == intval($access_url_id)) {
$sql .= ", $access_url_rel_session_table u ".
" WHERE s.id = u.session_id AND u.access_url_id = $access_url_id";
}
$res = Database::query($sql);
$row = Database::fetch_array($res);
$row = Database::fetch_row($res);
return $row[0];
}
}

@ -2382,14 +2382,22 @@ class UserManager {
/**
* Get the total count of users
* @param int Status of users to be counted
* @param int Access URL ID (optional)
* @return mixed Number of users or false on error
*/
public static function get_number_of_users($status=0) {
public static function get_number_of_users($status=0, $access_url_id=null) {
$t_u = Database::get_main_table(TABLE_MAIN_USER);
$sql = "SELECT count(*) FROM $t_u";
$t_a = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$sql = "SELECT count(*) FROM $t_u u";
$sql2 = '';
if (is_int($status) && $status>0) {
$sql .= " WHERE status = $status ";
$sql2 .= " WHERE u.status = $status ";
}
if (!empty($access_url_id) && $access_url_id == intval($access_url_id)) {
$sql .= ", $t_a a ";
$sql2 .= " AND a.access_url_id = $access_url_id AND u.user_id = a.user_id ";
}
$sql = $sql.$sql2;
$res = Database::query($sql);
if (Database::num_rows($res) === 1) {
return (int) Database::result($res, 0, 0);

Loading…
Cancel
Save