|
|
|
|
@ -53,6 +53,7 @@ class UserGroup extends Model |
|
|
|
|
public function getTotalCount() |
|
|
|
|
{ |
|
|
|
|
$row = Database::select('count(*) as count', $this->table, array(), 'first'); |
|
|
|
|
|
|
|
|
|
return $row['count']; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -64,14 +65,17 @@ class UserGroup extends Model |
|
|
|
|
if ($this->useMultipleUrl) { |
|
|
|
|
$urlId = api_get_current_access_url_id(); |
|
|
|
|
$sql = "SELECT count(u.id) as count FROM ".$this->table." u |
|
|
|
|
INNER JOIN ".$this->access_url_rel_usergroup." a ON (u.id = a.usergroup_id) |
|
|
|
|
INNER JOIN ".$this->access_url_rel_usergroup." a |
|
|
|
|
ON (u.id = a.usergroup_id) |
|
|
|
|
WHERE access_url_id = $urlId |
|
|
|
|
"; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
if (Database::num_rows($result)) { |
|
|
|
|
$row = Database::fetch_array($result); |
|
|
|
|
|
|
|
|
|
return $row['count']; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} else { |
|
|
|
|
return $this->getTotalCount(); |
|
|
|
|
@ -97,6 +101,7 @@ class UserGroup extends Model |
|
|
|
|
$row = Database::fetch_array($result); |
|
|
|
|
return $row['count']; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
@ -106,6 +111,7 @@ class UserGroup extends Model |
|
|
|
|
array('where' => array('course_id = ?' => $course_id)), |
|
|
|
|
'first' |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
return $row['count']; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -118,6 +124,7 @@ class UserGroup extends Model |
|
|
|
|
public function get_id_by_name($name) |
|
|
|
|
{ |
|
|
|
|
$row = Database::select('id', $this->table, array('where' => array('name = ?' => $name)), 'first'); |
|
|
|
|
|
|
|
|
|
return $row['id']; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -146,8 +153,8 @@ class UserGroup extends Model |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Gets a list of course ids by user group |
|
|
|
|
* @param int user group id |
|
|
|
|
* @param array $conditionsLike |
|
|
|
|
* @param int user group id |
|
|
|
|
* @param array $loadCourseData |
|
|
|
|
* @return array |
|
|
|
|
*/ |
|
|
|
|
public function get_courses_by_usergroup($id, $loadCourseData = false) |
|
|
|
|
@ -204,11 +211,13 @@ class UserGroup extends Model |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return $array; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param array $options |
|
|
|
|
* |
|
|
|
|
* @return array |
|
|
|
|
*/ |
|
|
|
|
public function get_usergroup_in_course($options = array()) |
|
|
|
|
@ -235,13 +244,24 @@ class UserGroup extends Model |
|
|
|
|
$urlId = api_get_current_access_url_id(); |
|
|
|
|
$sql .= " AND access_url_id = $urlId "; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($options['LIMIT'])) { |
|
|
|
|
$limits = explode(',', $options['LIMIT']); |
|
|
|
|
$limits = array_map('intval', $limits); |
|
|
|
|
if (isset($limits[0]) && isset($limits[1])) { |
|
|
|
|
$sql .= " LIMIT ".$limits[0].', '.$limits[1]; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
$array = Database::store_result($result, 'ASSOC'); |
|
|
|
|
|
|
|
|
|
return $array; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param array $options |
|
|
|
|
* |
|
|
|
|
* @return array|bool |
|
|
|
|
*/ |
|
|
|
|
public function get_usergroup_not_in_course($options = array()) |
|
|
|
|
@ -251,13 +271,13 @@ class UserGroup extends Model |
|
|
|
|
$course_id = intval($options['course_id']); |
|
|
|
|
unset($options['course_id']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (empty($course_id)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
if ($this->useMultipleUrl) { |
|
|
|
|
|
|
|
|
|
if ($this->useMultipleUrl) { |
|
|
|
|
$urlId = api_get_current_access_url_id(); |
|
|
|
|
|
|
|
|
|
$sql = "SELECT DISTINCT u.id, name |
|
|
|
|
FROM {$this->table} u |
|
|
|
|
INNER JOIN {$this->access_url_rel_usergroup} a |
|
|
|
|
@ -281,8 +301,16 @@ class UserGroup extends Model |
|
|
|
|
$sql .= " AND access_url_id = $urlId"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($options['LIMIT'])) { |
|
|
|
|
$limits = explode(',', $options['LIMIT']); |
|
|
|
|
$limits = array_map('intval', $limits); |
|
|
|
|
if (isset($limits[0]) && isset($limits[1])) { |
|
|
|
|
$sql .= " LIMIT ".$limits[0].', '.$limits[1]; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
$array = Database::store_result($result, 'ASSOC'); |
|
|
|
|
|
|
|
|
|
return $array; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|