|
|
|
|
@ -18,6 +18,9 @@ class UserGroup extends Model |
|
|
|
|
{ |
|
|
|
|
var $columns = array('id', 'name', 'description'); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
public function __construct() |
|
|
|
|
{ |
|
|
|
|
$this->table = Database::get_main_table(TABLE_USERGROUP); |
|
|
|
|
@ -27,18 +30,29 @@ class UserGroup extends Model |
|
|
|
|
$this->table_course = Database::get_main_table(TABLE_MAIN_COURSE); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @return mixed |
|
|
|
|
*/ |
|
|
|
|
public function get_count() |
|
|
|
|
{ |
|
|
|
|
$row = Database::select('count(*) as count', $this->table, array(), 'first'); |
|
|
|
|
return $row['count']; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param int $course_id |
|
|
|
|
* @return mixed |
|
|
|
|
*/ |
|
|
|
|
public function get_usergroup_by_course_with_data_count($course_id) |
|
|
|
|
{ |
|
|
|
|
$row = Database::select('count(*) as count', $this->usergroup_rel_course_table, array('where' => array('course_id = ?' => $course_id)), 'first'); |
|
|
|
|
return $row['count']; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param string $name |
|
|
|
|
* @return mixed |
|
|
|
|
*/ |
|
|
|
|
public function get_id_by_name($name) |
|
|
|
|
{ |
|
|
|
|
$row = Database::select('id', $this->table, array('where' => array('name = ?' => $name)), 'first'); |
|
|
|
|
@ -63,6 +77,9 @@ class UserGroup extends Model |
|
|
|
|
echo Display::grid_html('usergroups'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
function display_teacher_view() |
|
|
|
|
{ |
|
|
|
|
// action links |
|
|
|
|
@ -86,6 +103,10 @@ class UserGroup extends Model |
|
|
|
|
return $array; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param array $options |
|
|
|
|
* @return array |
|
|
|
|
*/ |
|
|
|
|
public function get_usergroup_in_course($options = array()) |
|
|
|
|
{ |
|
|
|
|
$sql = "SELECT u.* FROM {$this->usergroup_rel_course_table} usergroup |
|
|
|
|
@ -101,6 +122,10 @@ class UserGroup extends Model |
|
|
|
|
return $array; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param array $options |
|
|
|
|
* @return array|bool |
|
|
|
|
*/ |
|
|
|
|
public function get_usergroup_not_in_course($options = array()) |
|
|
|
|
{ |
|
|
|
|
$course_id = null; |
|
|
|
|
@ -123,6 +148,10 @@ class UserGroup extends Model |
|
|
|
|
return $array; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param int $course_id |
|
|
|
|
* @return array |
|
|
|
|
*/ |
|
|
|
|
public function get_usergroup_by_course($course_id) |
|
|
|
|
{ |
|
|
|
|
$options = array('where' => array('course_id = ?' => $course_id)); |
|
|
|
|
@ -136,6 +165,11 @@ class UserGroup extends Model |
|
|
|
|
return $array; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param int $usergroup_id |
|
|
|
|
* @param int $course_id |
|
|
|
|
* @return bool |
|
|
|
|
*/ |
|
|
|
|
public function usergroup_was_added_in_course($usergroup_id, $course_id) |
|
|
|
|
{ |
|
|
|
|
$results = Database::select('usergroup_id', $this->usergroup_rel_course_table, array('where' => array('course_id = ? AND usergroup_id = ?' => array($course_id, $usergroup_id)))); |
|
|
|
|
@ -226,7 +260,7 @@ class UserGroup extends Model |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//Deleting items |
|
|
|
|
// Deleting items |
|
|
|
|
if (!empty($delete_items)) { |
|
|
|
|
foreach ($delete_items as $session_id) { |
|
|
|
|
if (!empty($user_list)) { |
|
|
|
|
@ -238,7 +272,7 @@ class UserGroup extends Model |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//Addding new relationships |
|
|
|
|
// Addding new relationships |
|
|
|
|
if (!empty($new_items)) { |
|
|
|
|
foreach ($new_items as $session_id) { |
|
|
|
|
$params = array('session_id' => $session_id, 'usergroup_id' => $usergroup_id); |
|
|
|
|
@ -297,6 +331,10 @@ class UserGroup extends Model |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param int $usergroup_id |
|
|
|
|
* @param bool $delete_items |
|
|
|
|
*/ |
|
|
|
|
function unsubscribe_courses_from_usergroup($usergroup_id, $delete_items) |
|
|
|
|
{ |
|
|
|
|
//Deleting items |
|
|
|
|
@ -344,17 +382,17 @@ class UserGroup extends Model |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//Deleting items |
|
|
|
|
// Deleting items |
|
|
|
|
if (!empty($delete_items) && $delete_users_not_present_in_list) { |
|
|
|
|
foreach ($delete_items as $user_id) { |
|
|
|
|
//Removing courses |
|
|
|
|
// Removing courses |
|
|
|
|
if (!empty($course_list)) { |
|
|
|
|
foreach ($course_list as $course_id) { |
|
|
|
|
$course_info = api_get_course_info_by_id($course_id); |
|
|
|
|
CourseManager::unsubscribe_user($user_id, $course_info['code']); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//Removing sessions |
|
|
|
|
// Removing sessions |
|
|
|
|
if (!empty($session_list)) { |
|
|
|
|
foreach ($session_list as $session_id) { |
|
|
|
|
SessionManager::unsubscribe_user_from_session($session_id, $user_id); |
|
|
|
|
@ -364,7 +402,7 @@ class UserGroup extends Model |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//Addding new relationships |
|
|
|
|
// Adding new relationships |
|
|
|
|
if (!empty($new_items)) { |
|
|
|
|
//Adding sessions |
|
|
|
|
if (!empty($session_list)) { |
|
|
|
|
@ -374,7 +412,7 @@ class UserGroup extends Model |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
foreach ($new_items as $user_id) { |
|
|
|
|
//Adding courses |
|
|
|
|
// Adding courses |
|
|
|
|
if (!empty($course_list)) { |
|
|
|
|
foreach ($course_list as $course_id) { |
|
|
|
|
$course_info = api_get_course_info_by_id($course_id); |
|
|
|
|
@ -387,11 +425,14 @@ class UserGroup extends Model |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function usergroup_exists($name) |
|
|
|
|
/** |
|
|
|
|
* @param string $name |
|
|
|
|
* @return bool |
|
|
|
|
*/ |
|
|
|
|
public function usergroup_exists($name) |
|
|
|
|
{ |
|
|
|
|
$sql = "SELECT * FROM $this->table WHERE name='".Database::escape_string($name)."'"; |
|
|
|
|
$res = Database::query($sql); |
|
|
|
|
return Database::num_rows($res) != 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|