Minor usergroup fixes

skala
Julio Montoya 13 years ago
parent 9cf3677546
commit d2e69f8207
  1. 60
      main/admin/add_users_to_usergroup.php
  2. 18
      main/admin/group_add.php
  3. 39
      main/admin/usergroups.php
  4. 67
      main/inc/lib/group_portal_manager.lib.php
  5. 146
      main/inc/lib/usergroup.lib.php

@ -13,7 +13,6 @@ $cidReset = true;
// including some necessary files // including some necessary files
require_once '../inc/global.inc.php'; require_once '../inc/global.inc.php';
require_once '../inc/lib/xajax/xajax.inc.php'; require_once '../inc/lib/xajax/xajax.inc.php';
require_once api_get_path(LIBRARY_PATH).'usergroup.lib.php';
// setting the section (for the tabs) // setting the section (for the tabs)
$this_section = SECTION_PLATFORM_ADMIN; $this_section = SECTION_PLATFORM_ADMIN;
@ -36,7 +35,7 @@ if(isset($_REQUEST['add_type']) && $_REQUEST['add_type']!=''){
} }
$htmlHeadXtra[] = ' $htmlHeadXtra[] = '
<script type="text/javascript"> <script>
function add_user_to_session (code, content) { function add_user_to_session (code, content) {
document.getElementById("user_to_add").value = ""; document.getElementById("user_to_add").value = "";
@ -69,17 +68,17 @@ function validate_filter() {
document.formulaire.submit(); document.formulaire.submit();
} }
function checked_in_no_group(checked) { function checked_in_no_group(checked) {
$("#first_letter_user") $("#first_letter_user")
.find("option") .find("option")
.attr("selected", false); .attr("selected", false);
document.formulaire.form_sent.value="2"; document.formulaire.form_sent.value="2";
document.formulaire.submit(); document.formulaire.submit();
} }
function change_select(val) { function change_select(val) {
$("#user_with_any_group_id").attr("checked", false); $("#user_with_any_group_id").attr("checked", false);
document.formulaire.form_sent.value="2"; document.formulaire.form_sent.value="2";
document.formulaire.submit(); document.formulaire.submit();
} }
@ -105,18 +104,18 @@ $id = intval($_GET['id']);
$first_letter_user = ''; $first_letter_user = '';
if ($_POST['form_sent']) { if ($_POST['form_sent']) {
$form_sent = $_POST['form_sent']; $form_sent = $_POST['form_sent'];
$elements_posted = $_POST['elements_in_name']; $elements_posted = $_POST['elements_in_name'];
$first_letter_user = $_POST['firstLetterUser']; $first_letter_user = $_POST['firstLetterUser'];
if (!is_array($elements_posted)) { if (!is_array($elements_posted)) {
$elements_posted=array(); $elements_posted=array();
} }
if ($form_sent == 1) { if ($form_sent == 1) {
//added a parameter to send emails when registering a user //added a parameter to send emails when registering a user
$usergroup->subscribe_users_to_usergroup($id, $elements_posted); $usergroup->subscribe_users_to_usergroup($id, $elements_posted);
header('Location: usergroups.php'); header('Location: usergroups.php');
exit; exit;
} }
} }
@ -124,7 +123,7 @@ if ($_POST['form_sent']) {
//Filter by Extra Fields //Filter by Extra Fields
$use_extra_fields = false; $use_extra_fields = false;
if (is_array($extra_field_list)) { if (is_array($extra_field_list)) {
if (is_array($new_field_list) && count($new_field_list)>0 ) { if (is_array($new_field_list) && count($new_field_list)>0 ) {
foreach ($new_field_list as $new_field) { foreach ($new_field_list as $new_field) {
$varname = 'field_'.$new_field['variable']; $varname = 'field_'.$new_field['variable'];
if (UserManager::is_extra_field_available($new_field['variable'])) { if (UserManager::is_extra_field_available($new_field['variable'])) {
@ -149,15 +148,13 @@ if ($use_extra_fields) {
$final_result = $extra_field_result[0]; $final_result = $extra_field_result[0];
} }
} }
//var_dump($final_result);
$data = $usergroup->get($id); $data = $usergroup->get($id);
$list_in = $usergroup->get_users_by_usergroup($id); $list_in = $usergroup->get_users_by_usergroup($id);
$list_all = $usergroup->get_users_by_usergroup(); $list_all = $usergroup->get_users_by_usergroup();
$order = array('lastname'); $order = array('lastname');
if (api_is_western_name_order()) { if (api_is_western_name_order()) {
$order = array('firstname'); $order = array('firstname');
} }
$elements_not_in = $elements_in = array(); $elements_not_in = $elements_in = array();
@ -171,26 +168,26 @@ if (!empty($complete_user_list)) {
} }
} }
if ($item['status'] == 6 ) continue; //avoid anonymous users if ($item['status'] == 6 ) continue; //avoid anonymous users
if (in_array($item['user_id'], $list_in)) { if (in_array($item['user_id'], $list_in)) {
$person_name = api_get_person_name($item['firstname'], $item['lastname']).' ('.$item['username'].')'; $person_name = api_get_person_name($item['firstname'], $item['lastname']).' ('.$item['username'].')';
$elements_in[$item['user_id']] = $person_name; $elements_in[$item['user_id']] = $person_name;
} }
} }
} }
$user_with_any_group = isset($_REQUEST['user_with_any_group']) && !empty($_REQUEST['user_with_any_group']) ? true : false; $user_with_any_group = isset($_REQUEST['user_with_any_group']) && !empty($_REQUEST['user_with_any_group']) ? true : false;
if ($user_with_any_group) { if ($user_with_any_group) {
$user_list = UserManager::get_user_list_like(array('lastname' => $first_letter_user), $order, true); $user_list = UserManager::get_user_list_like(array('lastname' => $first_letter_user), $order, true);
$new_user_list = array(); $new_user_list = array();
foreach($user_list as $item) { foreach ($user_list as $item) {
if (!in_array($item['user_id'], $list_all)) { if (!in_array($item['user_id'], $list_all)) {
$new_user_list[] = $item; $new_user_list[] = $item;
} }
} }
$user_list = $new_user_list; $user_list = $new_user_list;
} else { } else {
$user_list = UserManager::get_user_list_like(array('lastname' => $first_letter_user), $order, true); $user_list = UserManager::get_user_list_like(array('lastname' => $first_letter_user), $order, true);
} }
@ -203,8 +200,8 @@ if (!empty($user_list)) {
} }
if ($item['status'] == 6 ) continue; //avoid anonymous users if ($item['status'] == 6 ) continue; //avoid anonymous users
$person_name = api_get_person_name($item['firstname'], $item['lastname']).' ('.$item['username'].')'; $person_name = api_get_person_name($item['firstname'], $item['lastname']).' ('.$item['username'].')';
if (in_array($item['user_id'], $list_in)) { if (in_array($item['user_id'], $list_in)) {
//$elements_in[$item['user_id']] = $person_name; //$elements_in[$item['user_id']] = $person_name;
} else { } else {
$elements_not_in[$item['user_id']] = $person_name; $elements_not_in[$item['user_id']] = $person_name;
} }
@ -222,12 +219,12 @@ if ($add_type == 'multiple') {
} }
echo '<div class="actions">'; echo '<div class="actions">';
echo '<a href="usergroups.php">'.Display::return_icon('back.png',get_lang('Back'), array(), ICON_SIZE_MEDIUM).'</a>'; echo '<a href="usergroups.php">'.Display::return_icon('back.png',get_lang('Back'), array(), ICON_SIZE_MEDIUM).'</a>';
echo '</div>'; echo '</div>';
?> ?>
<form name="formulaire" method="post" action="<?php echo api_get_self(); ?>?id=<?php echo $id; if(!empty($_GET['add'])) echo '&add=true' ; ?>" style="margin:0px;"> <form name="formulaire" method="post" action="<?php echo api_get_self(); ?>?id=<?php echo $id; if(!empty($_GET['add'])) echo '&add=true' ; ?>" style="margin:0px;">
<?php <?php
echo '<legend>'.$data['name'].': '.$tool_name.'</legend>'; echo '<legend>'.$data['name'].': '.$tool_name.'</legend>';
if ($add_type=='multiple') { if ($add_type=='multiple') {
if (is_array($extra_field_list)) { if (is_array($extra_field_list)) {
@ -287,12 +284,13 @@ if(!empty($errorMsg)) {
<?php } ?> <?php } ?>
<tr> <tr>
<td align="center"> <td align="center">
<div id="content_source"> <div id="content_source">
<?php echo Display::select('elements_not_in_name', $elements_not_in, '',array('style'=>'width:360px', 'multiple'=>'multiple','id'=>'elements_not_in','size'=>'15px'),false); ?> <?php echo Display::select('elements_not_in_name', $elements_not_in, '',array('style'=>'width:360px', 'multiple'=>'multiple','id'=>'elements_not_in','size'=>'15px'),false); ?>
<br /> <br />
<input type="checkbox" <?php if ($user_with_any_group) echo 'checked="checked"';?> onchange="checked_in_no_group(this.checked);" name="user_with_any_group" id="user_with_any_group_id"> <label class="control-label">
<label for="user_with_any_group_id"><?php echo get_lang('UsersRegisteredInNoGroup'); ?></label> <input type="checkbox" <?php if ($user_with_any_group) echo 'checked="checked"';?> onchange="checked_in_no_group(this.checked);" name="user_with_any_group" id="user_with_any_group_id">
<?php echo get_lang('UsersRegisteredInAnyGroup'); ?>
</label>
</div> </div>
</td> </td>
<td width="10%" valign="middle" align="center"> <td width="10%" valign="middle" align="center">

@ -14,7 +14,6 @@ require '../inc/global.inc.php';
$libpath = api_get_path(LIBRARY_PATH); $libpath = api_get_path(LIBRARY_PATH);
require_once $libpath.'fileManage.lib.php'; require_once $libpath.'fileManage.lib.php';
require_once $libpath.'fileUpload.lib.php'; require_once $libpath.'fileUpload.lib.php';
require_once $libpath.'group_portal_manager.lib.php';
// Section for the tabs // Section for the tabs
$this_section = SECTION_PLATFORM_ADMIN; $this_section = SECTION_PLATFORM_ADMIN;
@ -22,7 +21,7 @@ $this_section = SECTION_PLATFORM_ADMIN;
// User permissions // User permissions
api_protect_admin_script(); api_protect_admin_script();
$htmlHeadXtra[] = '<script type="text/javascript"> $htmlHeadXtra[] = '<script>
textarea = ""; textarea = "";
num_characters_permited = 255; num_characters_permited = 255;
function text_longitud(){ function text_longitud(){
@ -36,10 +35,6 @@ function text_longitud(){
</script>'; </script>';
// Database table definitions // Database table definitions
$table_admin = Database :: get_main_table(TABLE_MAIN_ADMIN);
$table_user = Database :: get_main_table(TABLE_MAIN_USER);
$database = Database::get_main_database();
if (!empty($_GET['message'])) { if (!empty($_GET['message'])) {
$message = urldecode($_GET['message']); $message = urldecode($_GET['message']);
} }
@ -49,7 +44,7 @@ $tool_name = get_lang('AddGroups');
// Create the form // Create the form
$form = new FormValidator('group_add'); $form = new FormValidator('group_add');
$form->addElement('header', '', $tool_name); $form->addElement('header', $tool_name);
// name // name
$form->addElement('text', 'name', get_lang('Name'), array('size'=>60, 'maxlength'=>120)); $form->addElement('text', 'name', get_lang('Name'), array('size'=>60, 'maxlength'=>120));
@ -108,11 +103,10 @@ if( $form->validate()) {
$url = $values['url']; $url = $values['url'];
$status = intval($values['visibility']); $status = intval($values['visibility']);
$picture = $_FILES['picture']; $picture = $_FILES['picture'];
$parent_group_id = intval($values['parent_group']); $parent_group_id = intval($values['parent_group']);
$group_id = GroupPortalManager::add($name, $description, $url, $status); $group_id = GroupPortalManager::add($name, $description, $url, $status);
GroupPortalManager::set_parent_group($group_id,$parent_group_id); GroupPortalManager::set_parent_group($group_id,$parent_group_id);
if (!empty($picture['name'])) { if (!empty($picture['name'])) {
$picture_uri = GroupPortalManager::update_group_picture($group_id, $_FILES['picture']['name'], $_FILES['picture']['tmp_name']); $picture_uri = GroupPortalManager::update_group_picture($group_id, $_FILES['picture']['name'], $_FILES['picture']['tmp_name']);
@ -144,7 +138,7 @@ if( $form->validate()) {
Security::clear_token(); Security::clear_token();
$tok = Security::get_token(); $tok = Security::get_token();
header('Location: group_list.php?action=show_message&message='.urlencode(get_lang('GroupAdded')).'&sec_token='.$tok); header('Location: group_list.php?action=show_message&message='.urlencode(get_lang('GroupAdded')).'&sec_token='.$tok);
exit (); exit ();
} }
} else { } else {
if (isset($_POST['submit'])) { if (isset($_POST['submit'])) {
@ -164,4 +158,4 @@ if(!empty($message)){
$form->display(); $form->display();
// Footer // Footer
Display::display_footer(); Display::display_footer();

@ -10,7 +10,6 @@ $language_file = array('admin');
$cidReset = true; $cidReset = true;
require_once '../inc/global.inc.php'; require_once '../inc/global.inc.php';
require_once api_get_path(LIBRARY_PATH).'usergroup.lib.php';
$this_section = SECTION_PLATFORM_ADMIN; $this_section = SECTION_PLATFORM_ADMIN;
api_protect_admin_script(); api_protect_admin_script();
@ -24,7 +23,7 @@ if ($action == 'add') {
$interbreadcrumb[]=array('url' => 'usergroups.php','name' => get_lang('Classes')); $interbreadcrumb[]=array('url' => 'usergroups.php','name' => get_lang('Classes'));
$interbreadcrumb[]=array('url' => '#','name' => get_lang('Add')); $interbreadcrumb[]=array('url' => '#','name' => get_lang('Add'));
} elseif ($action == 'edit') { } elseif ($action == 'edit') {
$interbreadcrumb[]=array('url' => 'usergroups.php','name' => get_lang('Classes')); $interbreadcrumb[]=array('url' => 'usergroups.php','name' => get_lang('Classes'));
$interbreadcrumb[]=array('url' => '#','name' => get_lang('Edit')); $interbreadcrumb[]=array('url' => '#','name' => get_lang('Edit'));
} else { } else {
$interbreadcrumb[]=array('url' => '#','name' => get_lang('Classes')); $interbreadcrumb[]=array('url' => '#','name' => get_lang('Classes'));
@ -47,7 +46,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'editnote') {
$url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_usergroups'; $url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_usergroups';
//The order is important you need to check the the $column variable in the model.ajax.php file //The order is important you need to check the the $column variable in the model.ajax.php file
$columns = array(get_lang('Name'), get_lang('Users'), get_lang('Courses'), get_lang('Sessions'), get_lang('Actions')); $columns = array(get_lang('Name'), get_lang('Users'), get_lang('Courses'), get_lang('Sessions'), get_lang('Actions'));
//Column config //Column config
@ -58,11 +57,11 @@ $column_model = array(
array('name'=>'courses', 'index'=>'courses', 'width'=>'15', 'align'=>'left'), array('name'=>'courses', 'index'=>'courses', 'width'=>'15', 'align'=>'left'),
array('name'=>'sessions', 'index'=>'sessions', 'width'=>'15', 'align'=>'left'), array('name'=>'sessions', 'index'=>'sessions', 'width'=>'15', 'align'=>'left'),
array('name'=>'actions', 'index'=>'actions', 'width'=>'20', 'align'=>'left','sortable'=>'false','formatter'=>'action_formatter'), array('name'=>'actions', 'index'=>'actions', 'width'=>'20', 'align'=>'left','sortable'=>'false','formatter'=>'action_formatter'),
); );
//Autowidth //Autowidth
$extra_params['autowidth'] = 'true'; $extra_params['autowidth'] = 'true';
//height auto //height auto
$extra_params['height'] = 'auto'; $extra_params['height'] = 'auto';
//With this function we can add actions to the jgrid //With this function we can add actions to the jgrid
$action_links = 'function action_formatter (cellvalue, options, rowObject) { $action_links = 'function action_formatter (cellvalue, options, rowObject) {
@ -70,18 +69,18 @@ $action_links = 'function action_formatter (cellvalue, options, rowObject) {
.' <a href="add_users_to_usergroup.php?id=\'+options.rowId+\'"><img src="../img/icons/22/user_to_class.png" title="'.get_lang('SubscribeUsersToClass').'"></a>' .' <a href="add_users_to_usergroup.php?id=\'+options.rowId+\'"><img src="../img/icons/22/user_to_class.png" title="'.get_lang('SubscribeUsersToClass').'"></a>'
.' <a href="add_courses_to_usergroup.php?id=\'+options.rowId+\'"><img src="../img/icons/22/course_to_class.png" title="'.get_lang('SubscribeClassToCourses').'"></a>' .' <a href="add_courses_to_usergroup.php?id=\'+options.rowId+\'"><img src="../img/icons/22/course_to_class.png" title="'.get_lang('SubscribeClassToCourses').'"></a>'
.' <a href="add_sessions_to_usergroup.php?id=\'+options.rowId+\'"><img src="../img/icons/22/sessions_to_class.png" title="'.get_lang('SubscribeClassToSessions').'"></a>' .' <a href="add_sessions_to_usergroup.php?id=\'+options.rowId+\'"><img src="../img/icons/22/sessions_to_class.png" title="'.get_lang('SubscribeClassToSessions').'"></a>'
.' <a href="?action=edit&id=\'+options.rowId+\'"><img width="20px" src="../img/edit.png" title="'.get_lang('Edit').'" ></a>' .' <a href="?action=edit&id=\'+options.rowId+\'"><img width="20px" src="../img/edit.png" title="'.get_lang('Edit').'" ></a>'
.' <a onclick="javascript:if(!confirm('."\'".addslashes(api_htmlentities(get_lang("ConfirmYourChoice"),ENT_QUOTES))."\'".')) return false;" href="?action=delete&id=\'+options.rowId+\'"><img title="'.get_lang('Delete').'" src="../img/delete.png"></a>\'; .' <a onclick="javascript:if(!confirm('."\'".addslashes(api_htmlentities(get_lang("ConfirmYourChoice"),ENT_QUOTES))."\'".')) return false;" href="?action=delete&id=\'+options.rowId+\'"><img title="'.get_lang('Delete').'" src="../img/delete.png"></a>\';
}'; }';
?> ?>
<script> <script>
$(function() { $(function() {
<?php <?php
// grid definition see the $usergroup>display() function // grid definition see the $usergroup>display() function
echo Display::grid_js('usergroups', $url,$columns,$column_model,$extra_params, array(), $action_links,true); echo Display::grid_js('usergroups', $url,$columns,$column_model,$extra_params, array(), $action_links,true);
?> ?>
}); });
</script> </script>
<?php <?php
// Tool introduction // Tool introduction
Display::display_introduction_section(get_lang('Classes')); Display::display_introduction_section(get_lang('Classes'));
@ -96,11 +95,11 @@ if (isset($_GET['action']) && $_GET['action'] == 'add') {
$_SESSION['notebook_view'] = 'creation_date'; $_SESSION['notebook_view'] = 'creation_date';
//@todo move this in the career.lib.php //@todo move this in the career.lib.php
// Initiate the object // Initiate the object
$form = new FormValidator('note', 'post', api_get_self().'?action='.Security::remove_XSS($_GET['action'])); $form = new FormValidator('note', 'post', api_get_self().'?action='.Security::remove_XSS($_GET['action']));
// Settting the form elements // Settting the form elements
$form->addElement('header', '', get_lang('Add')); $form->addElement('header', get_lang('Add'));
$form->addElement('text', 'name', get_lang('name'), array('size' => '70', 'id' => 'name')); $form->addElement('text', 'name', get_lang('name'), array('size' => '70', 'id' => 'name'));
//$form->applyFilter('note_title', 'html_filter'); //$form->applyFilter('note_title', 'html_filter');
$form->add_html_editor('description', get_lang('Description'), false, false, array('Width' => '95%', 'Height' => '250')); $form->add_html_editor('description', get_lang('Description'), false, false, array('Width' => '95%', 'Height' => '250'));
@ -113,10 +112,10 @@ if (isset($_GET['action']) && $_GET['action'] == 'add') {
if ($form->validate()) { if ($form->validate()) {
$check = Security::check_token('post'); $check = Security::check_token('post');
if ($check) { if ($check) {
$values = $form->exportValues(); $values = $form->exportValues();
$res = $usergroup->save($values); $res = $usergroup->save($values);
if ($res) { if ($res) {
Display::display_confirmation_message(get_lang('Added')); Display::display_confirmation_message(get_lang('ItemAdded'));
} }
} }
Security::clear_token(); Security::clear_token();
@ -152,7 +151,7 @@ elseif (isset($_GET['action']) && $_GET['action'] == 'edit' && is_numeric($_GET[
if ($form->validate()) { if ($form->validate()) {
$check = Security::check_token('post'); $check = Security::check_token('post');
if ($check) { if ($check) {
$values = $form->exportValues(); $values = $form->exportValues();
$res = $usergroup->update($values); $res = $usergroup->update($values);
if ($res) { if ($res) {
Display::display_confirmation_message(get_lang('Updated')); Display::display_confirmation_message(get_lang('Updated'));
@ -178,7 +177,7 @@ elseif (isset($_GET['action']) && $_GET['action'] == 'delete' && is_numeric($_GE
} }
$usergroup->display(); $usergroup->display();
} else { } else {
$usergroup->display(); $usergroup->display();
} }
Display :: display_footer(); Display :: display_footer();

@ -46,7 +46,7 @@ class GroupPortalManager {
* @return boolean if success * @return boolean if success
*/ */
public static function add($name, $description, $url, $visibility, $picture='') { public static function add($name, $description, $url, $visibility, $picture='') {
$tms = time(); $now = api_get_utc_datetime();
$table = Database :: get_main_table(TABLE_MAIN_GROUP); $table = Database :: get_main_table(TABLE_MAIN_GROUP);
$sql = "INSERT INTO $table $sql = "INSERT INTO $table
SET name = '".Database::escape_string($name)."', SET name = '".Database::escape_string($name)."',
@ -54,9 +54,9 @@ class GroupPortalManager {
picture_uri = '".Database::escape_string($picture)."', picture_uri = '".Database::escape_string($picture)."',
url = '".Database::escape_string($url)."', url = '".Database::escape_string($url)."',
visibility = '".Database::escape_string($visibility)."', visibility = '".Database::escape_string($visibility)."',
created_on = FROM_UNIXTIME(".$tms."), created_on = '".$now."',
updated_on = FROM_UNIXTIME(".$tms.")"; updated_on = '".$now."'";
$result = Database::query($sql); Database::query($sql);
$return = Database::insert_id(); $return = Database::insert_id();
return $return; return $return;
} }
@ -74,14 +74,14 @@ class GroupPortalManager {
public static function update($group_id, $name, $description, $url, $visibility, $picture_uri) { public static function update($group_id, $name, $description, $url, $visibility, $picture_uri) {
$group_id = intval($group_id); $group_id = intval($group_id);
$table = Database::get_main_table(TABLE_MAIN_GROUP); $table = Database::get_main_table(TABLE_MAIN_GROUP);
$tms = time(); $now = api_get_utc_datetime();
$sql = "UPDATE $table $sql = "UPDATE $table
SET name = '".Database::escape_string($name)."', SET name = '".Database::escape_string($name)."',
description = '".Database::escape_string($description)."', description = '".Database::escape_string($description)."',
picture_uri = '".Database::escape_string($picture_uri)."', picture_uri = '".Database::escape_string($picture_uri)."',
url = '".Database::escape_string($url)."', url = '".Database::escape_string($url)."',
visibility = '".Database::escape_string($visibility)."', visibility = '".Database::escape_string($visibility)."',
updated_on = FROM_UNIXTIME(".$tms.") updated_on = '".$now."'
WHERE id = '$group_id'"; WHERE id = '$group_id'";
$result = Database::query($sql); $result = Database::query($sql);
return $result; return $result;
@ -120,7 +120,6 @@ class GroupPortalManager {
{ {
$table = Database :: get_main_table(TABLE_MAIN_GROUP); $table = Database :: get_main_table(TABLE_MAIN_GROUP);
$visibility = intval($visibility); $visibility = intval($visibility);
$user_condition = '';
$sql = "SELECT name, description, picture_uri FROM $table WHERE visibility = $visibility "; $sql = "SELECT name, description, picture_uri FROM $table WHERE visibility = $visibility ";
$res = Database::query($sql); $res = Database::query($sql);
$data = array (); $data = array ();
@ -137,7 +136,7 @@ class GroupPortalManager {
public static function get_groups_list($without_this_one = NULL ) { public static function get_groups_list($without_this_one = NULL ) {
$where=''; $where='';
if ( isset($without_this_one) && (intval($without_this_one) == $without_this_one) ) { if ( isset($without_this_one) && (intval($without_this_one) == $without_this_one) ) {
$where = "WHERE id <> $without_this_one"; $where = "WHERE id <> $without_this_one";
} }
$table = Database :: get_main_table(TABLE_MAIN_GROUP); $table = Database :: get_main_table(TABLE_MAIN_GROUP);
$sql = "SELECT id, name FROM $table $where order by name"; $sql = "SELECT id, name FROM $table $where order by name";
@ -162,7 +161,7 @@ class GroupPortalManager {
$sql = "SELECT id, name, description, picture_uri, url, visibility FROM $table WHERE id = $group_id "; $sql = "SELECT id, name, description, picture_uri, url, visibility FROM $table WHERE id = $group_id ";
$res = Database::query($sql); $res = Database::query($sql);
$item = array(); $item = array();
if (Database::num_rows($res)>0) { if (Database::num_rows($res)>0) {
$item = Database::fetch_array($res,'ASSOC'); $item = Database::fetch_array($res,'ASSOC');
} }
return $item; return $item;
@ -174,7 +173,7 @@ class GroupPortalManager {
* @param parent_group, if 0, we delete the parent_group association * @param parent_group, if 0, we delete the parent_group association
* @param relation_type * @param relation_type
* @return true or false * @return true or false
**/ **/
public static function set_parent_group($group_id, $parent_group_id, $relation_type = 1){ public static function set_parent_group($group_id, $parent_group_id, $relation_type = 1){
$table = Database :: get_main_table(TABLE_MAIN_GROUP_REL_GROUP); $table = Database :: get_main_table(TABLE_MAIN_GROUP_REL_GROUP);
$group_id = intval($group_id); $group_id = intval($group_id);
@ -187,7 +186,7 @@ class GroupPortalManager {
if (Database::num_rows($res)==0) { if (Database::num_rows($res)==0) {
$sql = "INSERT INTO $table SET group_id = $parent_group_id, subgroup_id = $group_id, relation_type = $relation_type"; $sql = "INSERT INTO $table SET group_id = $parent_group_id, subgroup_id = $group_id, relation_type = $relation_type";
} else { } else {
$sql = "UPDATE $table SET group_id = $parent_group_id, relation_type = $relation_type WHERE subgroup_id = $group_id"; $sql = "UPDATE $table SET group_id = $parent_group_id, relation_type = $relation_type WHERE subgroup_id = $group_id";
} }
} }
$res = Database::query($sql); $res = Database::query($sql);
@ -217,16 +216,16 @@ class GroupPortalManager {
$t_rel_group = Database :: get_main_table(TABLE_MAIN_GROUP_REL_GROUP); $t_rel_group = Database :: get_main_table(TABLE_MAIN_GROUP_REL_GROUP);
$select_part = "SELECT "; $select_part = "SELECT ";
$cond_part=''; $cond_part='';
for ($i=1; $i <= $level; $i++) { for ($i=1; $i <= $level; $i++) {
$g_number=$i; $g_number=$i;
$rg_number=$i-1; $rg_number=$i-1;
if ( $i == $level) { if ( $i == $level) {
$select_part .= "g$i.id as id_$i, g$i.name as name_$i "; $select_part .= "g$i.id as id_$i, g$i.name as name_$i ";
} else { } else {
$select_part .="g$i.id as id_$i, g$i.name name_$i, "; $select_part .="g$i.id as id_$i, g$i.name name_$i, ";
} }
if ($i == 1) { if ($i == 1) {
$cond_part .= "FROM $t_group g1 JOIN $t_rel_group rg0 on g1.id = rg0.subgroup_id and rg0.group_id = $root "; $cond_part .= "FROM $t_group g1 JOIN $t_rel_group rg0 on g1.id = rg0.subgroup_id and rg0.group_id = $root ";
} else { } else {
$cond_part .= "LEFT JOIN $t_rel_group rg$rg_number on g$rg_number.id = rg$rg_number.group_id "; $cond_part .= "LEFT JOIN $t_rel_group rg$rg_number on g$rg_number.id = rg$rg_number.group_id ";
$cond_part .= "LEFT JOIN $t_group g$g_number on rg$rg_number.subgroup_id = g$g_number.id "; $cond_part .= "LEFT JOIN $t_group g$g_number on rg$rg_number.subgroup_id = g$g_number.id ";
@ -236,7 +235,7 @@ class GroupPortalManager {
$res = Database::query($sql); $res = Database::query($sql);
$toreturn = array(); $toreturn = array();
while ($item = Database::fetch_assoc($res)) { while ($item = Database::fetch_assoc($res)) {
foreach ($item as $key => $value ){ foreach ($item as $key => $value ){
if ($key == 'id_1') { if ($key == 'id_1') {
$toreturn[$value]['name'] = $item['name_1']; $toreturn[$value]['name'] = $item['name_1'];
@ -413,13 +412,13 @@ class GroupPortalManager {
$num = 6; $num = 6;
} else { } else {
$num = intval($num); $num = intval($num);
} }
$where_relation_condition = " WHERE gu.relation_type IN ('".GROUP_USER_PERMISSION_ADMIN."' , '".GROUP_USER_PERMISSION_READER."', '".GROUP_USER_PERMISSION_HRM."') "; $where_relation_condition = " WHERE gu.relation_type IN ('".GROUP_USER_PERMISSION_ADMIN."' , '".GROUP_USER_PERMISSION_READER."', '".GROUP_USER_PERMISSION_HRM."') ";
$sql = "SELECT DISTINCT count(user_id) as count, g.picture_uri, g.name, g.description, g.id $sql = "SELECT DISTINCT count(user_id) as count, g.picture_uri, g.name, g.description, g.id
FROM $tbl_group g INNER JOIN $table_group_rel_user gu ON gu.group_id = g.id FROM $tbl_group g INNER JOIN $table_group_rel_user gu ON gu.group_id = g.id
$where_relation_condition $where_relation_condition
ORDER BY created_on desc LIMIT $num "; ORDER BY created_on desc LIMIT $num ";
$result=Database::query($sql); $result=Database::query($sql);
$array = array(); $array = array();
while ($row = Database::fetch_array($result, 'ASSOC')) { while ($row = Database::fetch_array($result, 'ASSOC')) {
@ -451,17 +450,17 @@ class GroupPortalManager {
$table_group_rel_user = Database::get_main_table(TABLE_MAIN_USER_REL_GROUP); $table_group_rel_user = Database::get_main_table(TABLE_MAIN_USER_REL_GROUP);
$tbl_user = Database::get_main_table(TABLE_MAIN_USER); $tbl_user = Database::get_main_table(TABLE_MAIN_USER);
$group_id = intval($group_id); $group_id = intval($group_id);
if (empty($group_id)){ if (empty($group_id)){
return array(); return array();
} }
$limit_text = ''; $limit_text = '';
if (isset($from) && isset($limit)) { if (isset($from) && isset($limit)) {
$from = intval($from); $from = intval($from);
$limit = intval($limit); $limit = intval($limit);
$limit_text = "LIMIT $from, $limit"; $limit_text = "LIMIT $from, $limit";
} }
if (count($relation_type) == 0) { if (count($relation_type) == 0) {
$where_relation_condition = ''; $where_relation_condition = '';
@ -476,10 +475,10 @@ class GroupPortalManager {
$where_relation_condition = "AND gu.relation_type IN ($relation_type) "; $where_relation_condition = "AND gu.relation_type IN ($relation_type) ";
} }
$sql = "SELECT picture_uri as image, u.user_id, u.firstname, u.lastname, relation_type $sql = "SELECT picture_uri as image, u.user_id, u.firstname, u.lastname, relation_type
FROM $tbl_user u INNER JOIN $table_group_rel_user gu FROM $tbl_user u INNER JOIN $table_group_rel_user gu
ON (gu.user_id = u.user_id) ON (gu.user_id = u.user_id)
WHERE gu.group_id= $group_id $where_relation_condition WHERE gu.group_id= $group_id $where_relation_condition
ORDER BY relation_type, firstname $limit_text"; ORDER BY relation_type, firstname $limit_text";
$result = Database::query($sql); $result = Database::query($sql);
@ -489,7 +488,7 @@ class GroupPortalManager {
$image_path = UserManager::get_user_picture_path_by_id($row['user_id'], 'web', false, true); $image_path = UserManager::get_user_picture_path_by_id($row['user_id'], 'web', false, true);
$picture = UserManager::get_picture_user($row['user_id'], $image_path['file'], $image_conf['height'], $image_conf['size']); $picture = UserManager::get_picture_user($row['user_id'], $image_path['file'], $image_conf['height'], $image_conf['size']);
$row['image'] = '<img src="'.$picture['file'].'" '.$picture['style'].' />'; $row['image'] = '<img src="'.$picture['file'].'" '.$picture['style'].' />';
} }
$array[$row['user_id']] = $row; $array[$row['user_id']] = $row;
} }
return $array; return $array;
@ -829,7 +828,7 @@ class GroupPortalManager {
$ok = $small->send_image($path.'small_'.$filename) $ok = $small->send_image($path.'small_'.$filename)
&& $medium->send_image($path.'medium_'.$filename) && $medium->send_image($path.'medium_'.$filename)
&& $normal->send_image($path.'big_'.$filename) && $normal->send_image($path.'big_'.$filename)
&& $big->send_image($path.$filename); && $big->send_image($path.$filename);
return $ok ? $filename : false; return $ok ? $filename : false;
} }
@ -903,7 +902,7 @@ class GroupPortalManager {
* @param int size in pixels * @param int size in pixels
* @return obj image object * @return obj image object
*/ */
public static function resize_picture($file, $max_size_for_picture) { public static function resize_picture($file, $max_size_for_picture) {
$temp = new Image($file); $temp = new Image($file);
$picture_infos = api_getimagesize($file); $picture_infos = api_getimagesize($file);
if ($picture_infos['width'] > $max_size_for_picture) { if ($picture_infos['width'] > $max_size_for_picture) {
@ -1032,7 +1031,7 @@ class GroupPortalManager {
//$picture = GroupPortalManager::get_picture_group($group_id, $group_info['picture_uri'],160,GROUP_IMAGE_SIZE_MEDIUM); //$picture = GroupPortalManager::get_picture_group($group_id, $group_info['picture_uri'],160,GROUP_IMAGE_SIZE_MEDIUM);
//$big_image = GroupPortalManager::get_picture_group($group_id, $group_info['picture_uri'],'',GROUP_IMAGE_SIZE_BIG); //$big_image = GroupPortalManager::get_picture_group($group_id, $group_info['picture_uri'],'',GROUP_IMAGE_SIZE_BIG);
//$tags = GroupPortalManager::get_group_tags($group_id, true); //$tags = GroupPortalManager::get_group_tags($group_id, true);
//$groups_by_user = GroupPortalManager::get_groups_by_user($user_id, 0); //$groups_by_user = GroupPortalManager::get_groups_by_user($user_id, 0);
//my relation with the group is set here //my relation with the group is set here
@ -1048,12 +1047,12 @@ class GroupPortalManager {
</style>'; </style>';
//Loading group permission //Loading group permission
$links = ''; $links = '';
switch ($my_group_role) { switch ($my_group_role) {
case GROUP_USER_PERMISSION_READER: case GROUP_USER_PERMISSION_READER:
// I'm just a reader // I'm just a reader
$relation_group_title = get_lang('IAmAReader'); $relation_group_title = get_lang('IAmAReader');
$links .= '<li><a href="group_invitation.php?id='.$group_id.'">'. Display::return_icon('invitation_friend.png', get_lang('InviteFriends'), array('hspace'=>'6')).'<span class="'.($show=='invite_friends'?'social-menu-text-active':'social-menu-text4').'" >'.get_lang('InviteFriends').'</span></a></li>'; $links .= '<li><a href="group_invitation.php?id='.$group_id.'">'. Display::return_icon('invitation_friend.png', get_lang('InviteFriends'), array('hspace'=>'6')).'<span class="'.($show=='invite_friends'?'social-menu-text-active':'social-menu-text4').'" >'.get_lang('InviteFriends').'</span></a></li>';
$links .= '<li><a href="groups.php?id='.$group_id.'&action=leave&u='.api_get_user_id().'">'. Display::return_icon('group_leave.png', get_lang('LeaveGroup'), array('hspace'=>'6')).'<span class="social-menu-text4" >'.get_lang('LeaveGroup').'</span></a></li>'; $links .= '<li><a href="groups.php?id='.$group_id.'&action=leave&u='.api_get_user_id().'">'. Display::return_icon('group_leave.png', get_lang('LeaveGroup'), array('hspace'=>'6')).'<span class="social-menu-text4" >'.get_lang('LeaveGroup').'</span></a></li>';
break; break;
@ -1101,10 +1100,10 @@ class GroupPortalManager {
} }
$html .= $links; $html .= $links;
$html .= '</ul>'; $html .= '</ul>';
} }
return $html; return $html;
} }
function delete_topic($group_id, $topic_id) { function delete_topic($group_id, $topic_id) {
$table_message = Database::get_main_table(TABLE_MESSAGE); $table_message = Database::get_main_table(TABLE_MESSAGE);
$topic_id = intval($topic_id); $topic_id = intval($topic_id);

@ -16,14 +16,20 @@ require_once 'model.lib.php';
class UserGroup extends Model { class UserGroup extends Model {
var $columns = array('id', 'name','description'); var $columns = array('id', 'name','description');
public function __construct() { public function __construct() {
$this->table = Database::get_main_table(TABLE_USERGROUP); $this->table = Database::get_main_table(TABLE_USERGROUP);
$this->usergroup_rel_user_table = Database::get_main_table(TABLE_USERGROUP_REL_USER); $this->usergroup_rel_user_table = Database::get_main_table(TABLE_USERGROUP_REL_USER);
$this->usergroup_rel_course_table = Database::get_main_table(TABLE_USERGROUP_REL_COURSE); $this->usergroup_rel_course_table = Database::get_main_table(TABLE_USERGROUP_REL_COURSE);
$this->usergroup_rel_session_table = Database::get_main_table(TABLE_USERGROUP_REL_SESSION); $this->usergroup_rel_session_table = Database::get_main_table(TABLE_USERGROUP_REL_SESSION);
} }
public function get_count() {
$row = Database::select('count(*) as count', $this->table, array(),'first');
return $row['count'];
}
/** /**
* Displays the title + grid * Displays the title + grid
*/ */
@ -31,44 +37,44 @@ class UserGroup extends Model {
// action links // action links
echo '<div class="actions">'; echo '<div class="actions">';
echo '<a href="../admin/index.php">'.Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('PlatformAdmin'),'','32').'</a>'; echo '<a href="../admin/index.php">'.Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('PlatformAdmin'),'','32').'</a>';
//echo '<a href="career_dashboard.php">'.Display::return_icon('back.png',get_lang('Back')).get_lang('Back').'</a>'; //echo '<a href="career_dashboard.php">'.Display::return_icon('back.png',get_lang('Back')).get_lang('Back').'</a>';
echo '<a href="'.api_get_self().'?action=add">'.Display::return_icon('new_class.png',get_lang('langAddClasses'),'','32').'</a>'; echo '<a href="'.api_get_self().'?action=add">'.Display::return_icon('new_class.png',get_lang('langAddClasses'),'','32').'</a>';
echo '</div>'; echo '</div>';
echo Display::grid_html('usergroups'); echo Display::grid_html('usergroups');
} }
/** /**
* Gets a list of course ids by user group * Gets a list of course ids by user group
* @param int user group id * @param int user group id
* @return array * @return array
*/ */
public function get_courses_by_usergroup($id) { public function get_courses_by_usergroup($id) {
$results = Database::select('course_id',$this->usergroup_rel_course_table, array('where'=>array('usergroup_id = ?'=>$id))); $results = Database::select('course_id',$this->usergroup_rel_course_table, array('where'=>array('usergroup_id = ?'=>$id)));
$array = array(); $array = array();
if (!empty($results)) { if (!empty($results)) {
foreach($results as $row) { foreach($results as $row) {
$array[]= $row['course_id']; $array[]= $row['course_id'];
} }
} }
return $array; return $array;
} }
/** /**
* Gets a list of session ids by user group * Gets a list of session ids by user group
* @param int user group id * @param int user group id
* @return array * @return array
*/ */
public function get_sessions_by_usergroup($id) { public function get_sessions_by_usergroup($id) {
$results = Database::select('session_id',$this->usergroup_rel_session_table, array('where'=>array('usergroup_id = ?'=>$id))); $results = Database::select('session_id',$this->usergroup_rel_session_table, array('where'=>array('usergroup_id = ?'=>$id)));
$array = array(); $array = array();
if (!empty($results)) { if (!empty($results)) {
foreach($results as $row) { foreach($results as $row) {
$array[]= $row['session_id']; $array[]= $row['session_id'];
} }
} }
return $array; return $array;
} }
/** /**
* Gets a list of user ids by user group * Gets a list of user ids by user group
* @param int user group id * @param int user group id
@ -82,14 +88,14 @@ class UserGroup extends Model {
} }
$results = Database::select('user_id', $this->usergroup_rel_user_table, $conditions, true); $results = Database::select('user_id', $this->usergroup_rel_user_table, $conditions, true);
$array = array(); $array = array();
if (!empty($results)) { if (!empty($results)) {
foreach($results as $row) { foreach($results as $row) {
$array[]= $row['user_id']; $array[]= $row['user_id'];
} }
} }
return $array; return $array;
} }
/** /**
* Gets the usergroup id list by user id * Gets the usergroup id list by user id
* @param int user id * @param int user id
@ -97,37 +103,37 @@ class UserGroup extends Model {
public function get_usergroup_by_user($id) { public function get_usergroup_by_user($id) {
$results = Database::select('usergroup_id',$this->usergroup_rel_user_table, array('where'=>array('user_id = ?'=>$id))); $results = Database::select('usergroup_id',$this->usergroup_rel_user_table, array('where'=>array('user_id = ?'=>$id)));
$array = array(); $array = array();
if (!empty($results)) { if (!empty($results)) {
foreach($results as $row) { foreach($results as $row) {
$array[]= $row['usergroup_id']; $array[]= $row['usergroup_id'];
} }
} }
return $array; return $array;
} }
/** /**
* Subscribes sessions to a group (also adding the members of the group in the session and course) * Subscribes sessions to a group (also adding the members of the group in the session and course)
* @param int usergroup id * @param int usergroup id
* @param array list of session ids * @param array list of session ids
*/ */
function subscribe_sessions_to_usergroup($usergroup_id, $list) { function subscribe_sessions_to_usergroup($usergroup_id, $list) {
$current_list = self::get_sessions_by_usergroup($usergroup_id); $current_list = self::get_sessions_by_usergroup($usergroup_id);
$user_list = self::get_users_by_usergroup($usergroup_id); $user_list = self::get_users_by_usergroup($usergroup_id);
$delete_items = $new_items = array(); $delete_items = $new_items = array();
if (!empty($list)) { if (!empty($list)) {
foreach ($list as $session_id) { foreach ($list as $session_id) {
if (!in_array($session_id, $current_list)) { if (!in_array($session_id, $current_list)) {
$new_items[] = $session_id; $new_items[] = $session_id;
} }
} }
} }
if (!empty($current_list)) { if (!empty($current_list)) {
foreach($current_list as $session_id) { foreach($current_list as $session_id) {
if (!in_array($session_id, $list)) { if (!in_array($session_id, $list)) {
$delete_items[] = $session_id; $delete_items[] = $session_id;
} }
} }
} }
@ -136,7 +142,7 @@ class UserGroup extends Model {
foreach($delete_items as $session_id) { foreach($delete_items as $session_id) {
if (!empty($user_list)) { if (!empty($user_list)) {
foreach($user_list as $user_id) { foreach($user_list as $user_id) {
SessionManager::unsubscribe_user_from_session($session_id, $user_id); SessionManager::unsubscribe_user_from_session($session_id, $user_id);
/*foreach ($course_list as $course_data) { /*foreach ($course_list as $course_data) {
foreach($user_list as $user_id) { foreach($user_list as $user_id) {
@ -147,14 +153,14 @@ class UserGroup extends Model {
} }
Database::delete($this->usergroup_rel_session_table, array('usergroup_id = ? AND session_id = ?'=>array($usergroup_id, $session_id))); Database::delete($this->usergroup_rel_session_table, array('usergroup_id = ? AND session_id = ?'=>array($usergroup_id, $session_id)));
} }
} }
//Addding new relationships //Addding new relationships
if (!empty($new_items)) { if (!empty($new_items)) {
foreach($new_items as $session_id) { foreach($new_items as $session_id) {
$params = array('session_id'=>$session_id, 'usergroup_id'=>$usergroup_id); $params = array('session_id'=>$session_id, 'usergroup_id'=>$usergroup_id);
Database::insert($this->usergroup_rel_session_table, $params); Database::insert($this->usergroup_rel_session_table, $params);
if (!empty($user_list)) { if (!empty($user_list)) {
SessionManager::suscribe_users_to_session($session_id, $user_list, null, false); SessionManager::suscribe_users_to_session($session_id, $user_list, null, false);
} }
@ -168,85 +174,85 @@ class UserGroup extends Model {
} }
} }
} }
/** /**
* Subscribes courses to a group (also adding the members of the group in the course) * Subscribes courses to a group (also adding the members of the group in the course)
* @param int usergroup id * @param int usergroup id
* @param array list of course ids * @param array list of course ids
*/ */
function subscribe_courses_to_usergroup($usergroup_id, $list) { function subscribe_courses_to_usergroup($usergroup_id, $list) {
$current_list = self::get_courses_by_usergroup($usergroup_id); $current_list = self::get_courses_by_usergroup($usergroup_id);
$user_list = self::get_users_by_usergroup($usergroup_id); $user_list = self::get_users_by_usergroup($usergroup_id);
$delete_items = $new_items = array(); $delete_items = $new_items = array();
if (!empty($list)) { if (!empty($list)) {
foreach ($list as $id) { foreach ($list as $id) {
if (!in_array($id, $current_list)) { if (!in_array($id, $current_list)) {
$new_items[] = $id; $new_items[] = $id;
} }
} }
} }
if (!empty($current_list)) { if (!empty($current_list)) {
foreach($current_list as $id) { foreach($current_list as $id) {
if (!in_array($id, $list)) { if (!in_array($id, $list)) {
$delete_items[] = $id; $delete_items[] = $id;
} }
} }
} }
//Deleting items //Deleting items
if (!empty($delete_items)) { if (!empty($delete_items)) {
foreach($delete_items as $course_id) { foreach($delete_items as $course_id) {
$course_info = api_get_course_info_by_id($course_id); $course_info = api_get_course_info_by_id($course_id);
if (!empty($user_list)) { if (!empty($user_list)) {
foreach($user_list as $user_id) { foreach($user_list as $user_id) {
CourseManager::unsubscribe_user($user_id, $course_info['code']); CourseManager::unsubscribe_user($user_id, $course_info['code']);
} }
} }
Database::delete($this->usergroup_rel_course_table, array('usergroup_id = ? AND course_id = ?'=>array($usergroup_id, $course_id))); Database::delete($this->usergroup_rel_course_table, array('usergroup_id = ? AND course_id = ?'=>array($usergroup_id, $course_id)));
} }
} }
//Addding new relationships //Addding new relationships
if (!empty($new_items)) { if (!empty($new_items)) {
foreach($new_items as $course_id) { foreach($new_items as $course_id) {
$course_info = api_get_course_info_by_id($course_id); $course_info = api_get_course_info_by_id($course_id);
if (!empty($user_list)) { if (!empty($user_list)) {
foreach($user_list as $user_id) { foreach($user_list as $user_id) {
CourseManager::subscribe_user($user_id, $course_info['code']); CourseManager::subscribe_user($user_id, $course_info['code']);
} }
} }
$params = array('course_id'=>$course_id, 'usergroup_id'=>$usergroup_id); $params = array('course_id'=>$course_id, 'usergroup_id'=>$usergroup_id);
Database::insert($this->usergroup_rel_course_table, $params); Database::insert($this->usergroup_rel_course_table, $params);
} }
} }
} }
/** /**
* Subscribes users to a group * Subscribes users to a group
* @param int usergroup id * @param int usergroup id
* @param array list of user ids * @param array list of user ids
*/ */
function subscribe_users_to_usergroup($usergroup_id, $list) { function subscribe_users_to_usergroup($usergroup_id, $list) {
$current_list = self::get_users_by_usergroup($usergroup_id); $current_list = self::get_users_by_usergroup($usergroup_id);
$course_list = self::get_courses_by_usergroup($usergroup_id); $course_list = self::get_courses_by_usergroup($usergroup_id);
$session_list = self::get_sessions_by_usergroup($usergroup_id); $session_list = self::get_sessions_by_usergroup($usergroup_id);
$delete_items = $new_items = array(); $delete_items = $new_items = array();
if (!empty($list)) { if (!empty($list)) {
foreach ($list as $user_id) { foreach ($list as $user_id) {
if (!in_array($user_id, $current_list)) { if (!in_array($user_id, $current_list)) {
$new_items[] = $user_id; $new_items[] = $user_id;
} }
} }
} }
if (!empty($current_list)) { if (!empty($current_list)) {
foreach($current_list as $user_id) { foreach($current_list as $user_id) {
if (!in_array($user_id, $list)) { if (!in_array($user_id, $list)) {
$delete_items[] = $user_id; $delete_items[] = $user_id;
} }
} }
} }
@ -257,7 +263,7 @@ class UserGroup extends Model {
if (!empty($course_list)) { if (!empty($course_list)) {
foreach($course_list as $course_id) { foreach($course_list as $course_id) {
$course_info = api_get_course_info_by_id($course_id); $course_info = api_get_course_info_by_id($course_id);
CourseManager::unsubscribe_user($user_id, $course_info['code']); CourseManager::unsubscribe_user($user_id, $course_info['code']);
} }
} }
//Removing sessions //Removing sessions

Loading…
Cancel
Save