Delete unused group code see #8210
	
		
	
				
					
				
			
							parent
							
								
									c85a7abb2b
								
							
						
					
					
						commit
						59c1a9cb74
					
				@ -1,570 +0,0 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
/** | 
				
			||||
*	@package chamilo.admin | 
				
			||||
*/ | 
				
			||||
// resetting the course id | 
				
			||||
$cidReset = true; | 
				
			||||
 | 
				
			||||
// including some necessary files | 
				
			||||
require_once '../inc/global.inc.php'; | 
				
			||||
 | 
				
			||||
// setting the section (for the tabs) | 
				
			||||
$this_section = SECTION_PLATFORM_ADMIN; | 
				
			||||
 | 
				
			||||
// Access restrictions | 
				
			||||
api_protect_admin_script(true); | 
				
			||||
 | 
				
			||||
// setting breadcrumbs | 
				
			||||
$interbreadcrumb[] = array('url' => 'index.php','name' => get_lang('PlatformAdmin')); | 
				
			||||
$interbreadcrumb[] = array('url' => 'group_list.php','name' => get_lang('GroupList')); | 
				
			||||
 | 
				
			||||
// Database Table Definitions | 
				
			||||
$tbl_group			= Database::get_main_table(TABLE_MAIN_GROUP); | 
				
			||||
$tbl_user			= Database::get_main_table(TABLE_MAIN_USER); | 
				
			||||
$tbl_group_rel_user	= Database::get_main_table(TABLE_USERGROUP_REL_USER); | 
				
			||||
$tbl_user_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); | 
				
			||||
$needle = null; | 
				
			||||
$user_anonymous = api_get_anonymous_id(); | 
				
			||||
 | 
				
			||||
// setting the name of the tool | 
				
			||||
$tool_name = get_lang('SubscribeUsersToGroup'); | 
				
			||||
$group_id = intval($_GET['id']); | 
				
			||||
$without_user_id = null; | 
				
			||||
 | 
				
			||||
$add_type = 'multiple'; | 
				
			||||
if (isset($_REQUEST['add_type']) && $_REQUEST['add_type'] != '') { | 
				
			||||
    $add_type = Security::remove_XSS($_REQUEST['add_type']); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
//checking for extra field with filter on | 
				
			||||
$xajax = new xajax(); | 
				
			||||
$xajax->registerFunction('search_users'); | 
				
			||||
function search_users($needle, $type, $relation_type) | 
				
			||||
{ | 
				
			||||
    global $tbl_user, $tbl_user_rel_access_url, $tbl_group_rel_user, $group_id; | 
				
			||||
    $xajax_response = new xajaxResponse(); | 
				
			||||
    $return = $return_origin = $return_destination = ''; | 
				
			||||
    $without_user_id = $without_user_id = $condition_relation = ''; | 
				
			||||
 | 
				
			||||
    if (!empty($group_id) && !empty($relation_type)) { | 
				
			||||
        $group_id = intval($group_id); | 
				
			||||
        $relation_type = intval($relation_type); | 
				
			||||
        // get user_id from relation type and group id | 
				
			||||
        $sql = "SELECT user_id FROM $tbl_group_rel_user | 
				
			||||
                WHERE group_id = '$group_id' | 
				
			||||
                AND relation_type IN (".GROUP_USER_PERMISSION_ADMIN.",".GROUP_USER_PERMISSION_READER.",".GROUP_USER_PERMISSION_PENDING_INVITATION.",".GROUP_USER_PERMISSION_MODERATOR.", ".GROUP_USER_PERMISSION_HRM.") "; | 
				
			||||
        $res = Database::query($sql); | 
				
			||||
        $user_ids = array(); | 
				
			||||
        if (Database::num_rows($res) > 0) { | 
				
			||||
            while ($row = Database::fetch_row($res)) { | 
				
			||||
                $user_ids[] = $row[0]; | 
				
			||||
            } | 
				
			||||
            $without_user_id = " AND user.user_id NOT IN(".implode(',', $user_ids).") "; | 
				
			||||
        } | 
				
			||||
 | 
				
			||||
        $condition_relation = " AND groups.relation_type = '$relation_type' "; | 
				
			||||
 | 
				
			||||
        // data for destination user list | 
				
			||||
        $sql = "SELECT user.user_id, user.username, user.lastname, user.firstname | 
				
			||||
                FROM $tbl_group_rel_user groups | 
				
			||||
                INNER JOIN  $tbl_user user ON user.user_id = groups.user_id | 
				
			||||
                WHERE groups.group_id = '$group_id' $condition_relation "; | 
				
			||||
 | 
				
			||||
        $rs_destination = Database::query($sql); | 
				
			||||
        if (Database::num_rows($rs_destination) > 0) { | 
				
			||||
            $return_destination .= '<select id="destination_users" name="sessionUsersList[]" multiple="multiple" size="15" style="width:360px;">'; | 
				
			||||
            while ($row = Database::fetch_array($rs_destination)) { | 
				
			||||
                $person_name = api_get_person_name($row['firstname'], $row['lastname']); | 
				
			||||
                $return_destination .= '<option value="'.$row['user_id'].'">'. | 
				
			||||
                    $person_name.' ('.$row['username'].')</option>'; | 
				
			||||
            } | 
				
			||||
            $return_destination .= '</select>'; | 
				
			||||
        } else { | 
				
			||||
            $return_destination .= '<select id="destination_users" name="sessionUsersList[]" multiple="multiple" size="15" style="width:360px;"></select>'; | 
				
			||||
        } | 
				
			||||
        $xajax_response->addAssign('ajax_destination_list','innerHTML', api_utf8_encode($return_destination)); | 
				
			||||
    } else { | 
				
			||||
        $return_destination .= '<select id="destination_users" name="sessionUsersList[]" multiple="multiple" size="15" style="width:360px;"></select>'; | 
				
			||||
        $xajax_response->addAssign('ajax_destination_list','innerHTML', api_utf8_encode($return_destination)); | 
				
			||||
 | 
				
			||||
        if ($type == 'single') { | 
				
			||||
            $return.= ''; | 
				
			||||
            $xajax_response->addAssign('ajax_list_users_single','innerHTML',api_utf8_encode($return)); | 
				
			||||
        } else { | 
				
			||||
            $return_origin .= '<select id="origin_users" name="nosessionUsersList[]" multiple="multiple" size="15" style="width:360px;"></select>'; | 
				
			||||
            $xajax_response->addAssign('ajax_origin_list_multiple', 'innerHTML', api_utf8_encode($return_origin)); | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    if (!empty($needle) && !empty($type)) { | 
				
			||||
        $user_anonymous = api_get_anonymous_id(); | 
				
			||||
        $order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname, username' : ' ORDER BY lastname, firstname, username'; | 
				
			||||
        if ($type == 'single') { | 
				
			||||
            if (!empty($group_id) && !empty($relation_type)) { | 
				
			||||
                // search users where username or firstname or lastname begins likes $needle | 
				
			||||
                $sql = "SELECT user_id, username, lastname, firstname | 
				
			||||
                        FROM $tbl_user user | 
				
			||||
                        WHERE (username LIKE '$needle%' OR firstname LIKE '$needle%' OR lastname LIKE '$needle%') | 
				
			||||
                        AND user_id<>'$user_anonymous' $without_user_id $order_clause LIMIT 11"; | 
				
			||||
                if (api_is_multiple_url_enabled()) { | 
				
			||||
                    $access_url_id = api_get_current_access_url_id(); | 
				
			||||
                    if ($access_url_id != -1) { | 
				
			||||
                        $sql = "SELECT user.user_id, username, lastname, firstname FROM $tbl_user user | 
				
			||||
                                INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=user.user_id) | 
				
			||||
                                WHERE access_url_id = '$access_url_id'  AND (username LIKE '$needle%' OR firstname LIKE '$needle%' OR lastname LIKE '$needle%') | 
				
			||||
                                AND user.user_id<>'$user_anonymous' $without_user_id $order_clause LIMIT 11 "; | 
				
			||||
                    } | 
				
			||||
                } | 
				
			||||
                $rs_single = Database::query($sql); | 
				
			||||
                $i=0; | 
				
			||||
                while ($user = Database :: fetch_array($rs_single)) { | 
				
			||||
                    $i++; | 
				
			||||
                    if ($i<=10) { | 
				
			||||
                        $person_name = api_get_person_name($user['firstname'], $user['lastname']); | 
				
			||||
                        $return .= '<a href="javascript: void(0);" onclick="javascript: add_user(\''.$user['user_id'].'\',\''.$person_name.' ('.$user['username'].')'.'\')">'.$person_name.' ('.$user['username'].')</a><br />'; | 
				
			||||
                    } else { | 
				
			||||
                        $return .= '...<br />'; | 
				
			||||
                    } | 
				
			||||
                } | 
				
			||||
                $xajax_response->addAssign('ajax_list_users_single','innerHTML',api_utf8_encode($return)); | 
				
			||||
            } else { | 
				
			||||
                $xajax_response->addAlert(get_lang('YouMustChooseARelationType')); | 
				
			||||
                $xajax_response->addClear('user_to_add', 'value'); | 
				
			||||
            } | 
				
			||||
 | 
				
			||||
        } else { | 
				
			||||
            // multiple | 
				
			||||
            if (!empty($group_id) && !empty($relation_type)) { | 
				
			||||
                $sql = "SELECT user_id, username, lastname, firstname FROM $tbl_user user | 
				
			||||
                        WHERE ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND user_id<>'$user_anonymous' $without_user_id $order_clause "; | 
				
			||||
                if (api_is_multiple_url_enabled()) { | 
				
			||||
                    $access_url_id = api_get_current_access_url_id(); | 
				
			||||
                    if ($access_url_id != -1) { | 
				
			||||
                        $sql = "SELECT user.user_id, username, lastname, firstname | 
				
			||||
                                FROM $tbl_user user | 
				
			||||
                                INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=user.user_id) | 
				
			||||
                                WHERE | 
				
			||||
                                    access_url_id = '$access_url_id' AND | 
				
			||||
                                    ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND | 
				
			||||
                                    user.user_id<>'$user_anonymous' $without_user_id $order_clause "; | 
				
			||||
                    } | 
				
			||||
                } | 
				
			||||
 | 
				
			||||
                $rs_multiple = Database::query($sql); | 
				
			||||
                $return_origin .= '<select id="origin_users" name="nosessionUsersList[]" multiple="multiple" size="15" style="width:360px;">'; | 
				
			||||
                while ($user = Database :: fetch_array($rs_multiple)) { | 
				
			||||
                    $person_name = api_get_person_name($user['firstname'], $user['lastname']); | 
				
			||||
                    $return_origin .= '<option value="'.$user['user_id'].'">'. | 
				
			||||
                        $person_name.' ('.$user['username'].')</option>'; | 
				
			||||
                } | 
				
			||||
                $return_origin .= '</select>'; | 
				
			||||
                $xajax_response->addAssign('ajax_origin_list_multiple', 'innerHTML', api_utf8_encode($return_origin)); | 
				
			||||
            } | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    return $xajax_response; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
$xajax->processRequests(); | 
				
			||||
$htmlHeadXtra[] = $xajax->getJavascript('../inc/lib/xajax/'); | 
				
			||||
$htmlHeadXtra[] = ' | 
				
			||||
<script> | 
				
			||||
function add_user (code, content) { | 
				
			||||
	destination = document.getElementById("destination_users"); | 
				
			||||
	for (i=0;i<destination.length;i++) { | 
				
			||||
		if (destination.options[i].text == content) { | 
				
			||||
            return false; | 
				
			||||
		} | 
				
			||||
	} | 
				
			||||
 | 
				
			||||
	destination.options[destination.length] = new Option(content,code); | 
				
			||||
	destination.selectedIndex = -1; | 
				
			||||
	sortOptions(destination.options); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
function remove_item(origin) | 
				
			||||
{ | 
				
			||||
	for(var i = 0 ; i<origin.options.length ; i++) { | 
				
			||||
		if(origin.options[i].selected) { | 
				
			||||
			origin.options[i]=null; | 
				
			||||
			i = i-1; | 
				
			||||
		} | 
				
			||||
	} | 
				
			||||
} | 
				
			||||
 | 
				
			||||
function validate_filter() { | 
				
			||||
    document.formulaire.add_type.value = \''.$add_type.'\'; | 
				
			||||
    document.formulaire.form_sent.value=0; | 
				
			||||
    document.formulaire.submit(); | 
				
			||||
} | 
				
			||||
</script>'; | 
				
			||||
 | 
				
			||||
$form_sent = 0; | 
				
			||||
$errorMsg = $firstLetterUser = $firstLetterSession=''; | 
				
			||||
$UserList = $SessionList = array(); | 
				
			||||
$users = $sessions = array(); | 
				
			||||
$noPHP_SELF = true; | 
				
			||||
$group_info = GroupPortalManager::get_group_data($group_id); | 
				
			||||
$group_name = $group_info['name']; | 
				
			||||
 | 
				
			||||
Display::display_header($group_name); | 
				
			||||
 | 
				
			||||
if (isset($_POST['form_sent']) && $_POST['form_sent']) { | 
				
			||||
    $form_sent = $_POST['form_sent']; | 
				
			||||
    $firstLetterUser = isset($_POST['firstLetterUser']) ? $_POST['firstLetterUser'] : null; | 
				
			||||
    $UserList = $_POST['sessionUsersList']; | 
				
			||||
    $group_id = intval($_POST['id']); | 
				
			||||
    $relation_type = intval($_POST['relation']); | 
				
			||||
 | 
				
			||||
    if (!is_array($UserList)) { | 
				
			||||
        $UserList = array(); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    if ($form_sent == 1) { | 
				
			||||
        $users_by_group = GroupPortalManager::get_users_by_group($group_id, null, array($relation_type)); | 
				
			||||
        $user_id_relation    = array_keys($users_by_group); | 
				
			||||
        $user_relation_diff  = array_diff($user_id_relation, $UserList); | 
				
			||||
        if (!empty($user_relation_diff)) { | 
				
			||||
            foreach ($user_relation_diff as $user_id) { | 
				
			||||
                GroupPortalManager::delete_user_rel_group($user_id, $group_id); | 
				
			||||
            } | 
				
			||||
        } | 
				
			||||
        $result = GroupPortalManager::add_users_to_groups($UserList, array($group_id), $relation_type); | 
				
			||||
        Display :: display_confirmation_message(get_lang('UsersEdited')); | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
 | 
				
			||||
$nosessionUsersList = $sessionUsersList = array(); | 
				
			||||
$ajax_search = $add_type == 'unique' ? true : false; | 
				
			||||
 | 
				
			||||
$order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname, username' : ' ORDER BY lastname, firstname, username'; | 
				
			||||
 | 
				
			||||
if ($ajax_search) { | 
				
			||||
 | 
				
			||||
    // data for destination list | 
				
			||||
    if (isset($_POST['id']) && isset($_POST['relation'])) { | 
				
			||||
        // data for destination user list | 
				
			||||
        $id = intval($_POST['id']); | 
				
			||||
        $relation_type = intval($_POST['relation']); | 
				
			||||
        $condition_relation = " AND groups.relation_type = '$relation_type' "; | 
				
			||||
        $sql = "SELECT user.user_id, user.username, user.lastname, user.firstname | 
				
			||||
                FROM $tbl_group_rel_user groups | 
				
			||||
                INNER JOIN  $tbl_user user ON user.user_id = groups.user_id | 
				
			||||
                WHERE groups.group_id = '$id' $condition_relation "; | 
				
			||||
        $rs_destination = Database::query($sql); | 
				
			||||
        if (Database::num_rows($rs_destination) > 0) { | 
				
			||||
            while ($row_destination_list = Database::fetch_array($rs_destination)) { | 
				
			||||
                $sessionUsersList[$row_destination_list['user_id']] = $row_destination_list ; | 
				
			||||
            } | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
} else { | 
				
			||||
 | 
				
			||||
    $many_users = false; | 
				
			||||
    $sql = "SELECT count(user_id) FROM $tbl_user user | 
				
			||||
            WHERE ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND | 
				
			||||
            user_id<>'$user_anonymous' $without_user_id "; | 
				
			||||
 | 
				
			||||
    if (api_is_multiple_url_enabled()) { | 
				
			||||
        $access_url_id = api_get_current_access_url_id(); | 
				
			||||
        if ($access_url_id != -1) { | 
				
			||||
            $sql = "SELECT count(user.user_id) FROM $tbl_user user | 
				
			||||
                    INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=user.user_id) | 
				
			||||
                    WHERE | 
				
			||||
                        access_url_id = '$access_url_id' AND | 
				
			||||
                        ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND | 
				
			||||
                        user.user_id<>'$user_anonymous' $without_user_id "; | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
    $rs_count  = Database::query($sql); | 
				
			||||
    $row_count = 0; | 
				
			||||
    if (Database::num_rows($rs_count)) { | 
				
			||||
        $row_count = Database::fetch_row($rs_count); | 
				
			||||
        $row_count = $row_count[0]; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    if ($row_count > 2) { | 
				
			||||
        $many_users = true; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    // data for origin list | 
				
			||||
    if (isset($_GET['id'])) { | 
				
			||||
        $id = intval($_GET['id']); | 
				
			||||
        $needle = isset($_POST['firstLetterUser']) ? Database::escape_string($_POST['firstLetterUser']) : null; | 
				
			||||
        $needle = api_convert_encoding($needle, $charset, 'utf-8'); | 
				
			||||
        $user_anonymous = api_get_anonymous_id(); | 
				
			||||
        // get user_id from relation type and group id | 
				
			||||
        $sql = "SELECT user_id FROM $tbl_group_rel_user | 
				
			||||
                WHERE group_id = $id | 
				
			||||
                AND relation_type IN (".GROUP_USER_PERMISSION_ADMIN.", ".GROUP_USER_PERMISSION_READER.",".GROUP_USER_PERMISSION_PENDING_INVITATION.",".GROUP_USER_PERMISSION_MODERATOR.", ".GROUP_USER_PERMISSION_HRM.") "; | 
				
			||||
        $res = Database::query($sql); | 
				
			||||
        $user_ids = array(); | 
				
			||||
        if (Database::num_rows($res) > 0) { | 
				
			||||
            while ($row = Database::fetch_row($res)) { | 
				
			||||
                $user_ids[] = $row[0]; | 
				
			||||
            } | 
				
			||||
            $without_user_id = " AND user.user_id NOT IN(".implode(',', $user_ids).") "; | 
				
			||||
        } | 
				
			||||
 | 
				
			||||
        $sql = "SELECT user_id, username, lastname, firstname FROM $tbl_user user | 
				
			||||
                WHERE ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND user_id<>'$user_anonymous' $without_user_id $order_clause "; | 
				
			||||
        if (api_is_multiple_url_enabled()) { | 
				
			||||
            $access_url_id = api_get_current_access_url_id(); | 
				
			||||
            if ($access_url_id != -1) { | 
				
			||||
                $sql = "SELECT user.user_id, username, lastname, firstname FROM $tbl_user user | 
				
			||||
                        INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=user.user_id) | 
				
			||||
                        WHERE access_url_id = '$access_url_id' | 
				
			||||
                        AND ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' | 
				
			||||
                        AND user.user_id<>'$user_anonymous' $without_user_id $order_clause "; | 
				
			||||
            } | 
				
			||||
        } | 
				
			||||
        $rs_origin_list = Database::query($sql); | 
				
			||||
        while ($row_origin_list = Database::fetch_array($rs_origin_list)) { | 
				
			||||
            $nosessionUsersList[$row_origin_list['user_id']] = $row_origin_list; | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    // data for destination list | 
				
			||||
    if (isset($_POST['id']) && isset($_POST['relation'])) { | 
				
			||||
        // data for destination user list | 
				
			||||
        $id = intval($_POST['id']); | 
				
			||||
        $relation_type = intval($_POST['relation']); | 
				
			||||
        $condition_relation = " AND groups.relation_type = '$relation_type' "; | 
				
			||||
 | 
				
			||||
        $sql = "SELECT user.user_id, user.username, user.lastname, user.firstname | 
				
			||||
                FROM $tbl_group_rel_user groups | 
				
			||||
                INNER JOIN  $tbl_user user ON user.user_id = groups.user_id | 
				
			||||
                WHERE groups.group_id = '$id' $condition_relation "; | 
				
			||||
        $rs_destination = Database::query($sql); | 
				
			||||
        if (Database::num_rows($rs_destination) > 0) { | 
				
			||||
            while ($row_destination_list = Database::fetch_array($rs_destination)) { | 
				
			||||
                $sessionUsersList[$row_destination_list['user_id']] = $row_destination_list ; | 
				
			||||
            } | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
 | 
				
			||||
if ($add_type == 'multiple') { | 
				
			||||
    $link_add_type_unique = '<a href="'.api_get_self().'?id='.$group_id.'&add_type=unique">'.Display::return_icon('single.gif').get_lang('SessionAddTypeUnique').'</a>'; | 
				
			||||
    $link_add_type_multiple = Display::return_icon('multiple.gif').get_lang('SessionAddTypeMultiple'); | 
				
			||||
} else { | 
				
			||||
    $link_add_type_unique = Display::return_icon('single.gif').get_lang('SessionAddTypeUnique'); | 
				
			||||
    $link_add_type_multiple = '<a href="'.api_get_self().'?id='.$group_id.'&add_type=multiple">'.Display::return_icon('multiple.gif').get_lang('SessionAddTypeMultiple').'</a>'; | 
				
			||||
} | 
				
			||||
?> | 
				
			||||
 | 
				
			||||
<div class="actions"> | 
				
			||||
	<?php echo $link_add_type_unique ?> | <?php echo $link_add_type_multiple ?> | 
				
			||||
</div> | 
				
			||||
 | 
				
			||||
<form name="formulaire" method="post" action="<?php echo api_get_self(); ?>?id=<?php echo $group_id; ?>" style="margin:0px;" <?php if($ajax_search){echo ' onsubmit="valide();"';}?>>
 | 
				
			||||
<?php echo '<legend>'.$tool_name.' ('.$group_info['name'].')</legend>'; ?> | 
				
			||||
<?php if ($add_type=='multiple') { ?> | 
				
			||||
<select name="relation" id="relation" onchange="xajax_search_users(document.getElementById('firstLetterUser').value,'multiple',this.value)"> | 
				
			||||
<?php } else { ?> | 
				
			||||
<select name="relation" id="relation" onchange="xajax_search_users(document.getElementById('user_to_add').value,'single',this.value);"> | 
				
			||||
<?php } ?> | 
				
			||||
<option value=""><?php echo get_lang('SelectARelationType')?></option>
 | 
				
			||||
<option value="<?php echo GROUP_USER_PERMISSION_ADMIN ?>" <?php echo ((isset($_POST['relation']) && $_POST['relation']==GROUP_USER_PERMISSION_ADMIN)?'selected=selected':'') ?> > <?php echo get_lang('Admin') ?></option>
 | 
				
			||||
<option value="<?php echo GROUP_USER_PERMISSION_READER ?>" <?php echo ((isset($_POST['relation']) && $_POST['relation']==GROUP_USER_PERMISSION_READER)?'selected=selected':'') ?> > <?php echo get_lang('Reader') ?></option>
 | 
				
			||||
<option value="<?php echo GROUP_USER_PERMISSION_PENDING_INVITATION ?>" <?php echo ((isset($_POST['relation']) && $_POST['relation']==GROUP_USER_PERMISSION_PENDING_INVITATION)?'selected=selected':'') ?> > <?php echo get_lang('PendingInvitation') ?></option>
 | 
				
			||||
<option value="<?php echo GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER ?>" <?php echo ((isset($_POST['relation']) && $_POST['relation']==GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER)?'selected=selected':'') ?> > <?php echo get_lang('WaitingForAdminResponse') ?></option>
 | 
				
			||||
<option value="<?php echo GROUP_USER_PERMISSION_MODERATOR ?>" <?php echo ((isset($_POST['relation']) && $_POST['relation']==GROUP_USER_PERMISSION_MODERATOR)?'selected=selected':'') ?> > <?php echo get_lang('Moderator') ?></option>
 | 
				
			||||
<option value="<?php echo GROUP_USER_PERMISSION_HRM ?>" <?php echo ((isset($_POST['relation']) && $_POST['relation']==GROUP_USER_PERMISSION_HRM)?'selected=selected':'') ?> > <?php echo get_lang('Drh') ?></option>
 | 
				
			||||
</select> | 
				
			||||
<input type="hidden" name="form_sent" value="1" /> | 
				
			||||
<input type="hidden" name="id" value="<?php echo $group_id ?>" />
 | 
				
			||||
<input type="hidden" name="add_type" value="<?php echo $add_type ?>" />
 | 
				
			||||
 | 
				
			||||
<?php | 
				
			||||
if (!empty($errorMsg)) { | 
				
			||||
    Display::display_normal_message($errorMsg); | 
				
			||||
} | 
				
			||||
?> | 
				
			||||
 | 
				
			||||
<table border="0" cellpadding="5" cellspacing="0" width="100%"> | 
				
			||||
<tr> | 
				
			||||
  <td align="center"><b><?php echo get_lang('UserListInPlatform') ?> :</b>
 | 
				
			||||
  </td> | 
				
			||||
  <td> </td> | 
				
			||||
  <td align="center"><b><?php echo get_lang('UsersInGroup') ?> :</b></td>
 | 
				
			||||
</tr> | 
				
			||||
<?php if ($add_type=='multiple') { ?> | 
				
			||||
<tr> | 
				
			||||
<td align="center"> | 
				
			||||
<?php echo get_lang('FirstLetterUser'); ?> :
 | 
				
			||||
	<div id="firstLetter"> | 
				
			||||
        <select name="firstLetterUser" id="firstLetterUser" onchange = "xajax_search_users(this.value,'multiple',document.getElementById('relation').value)" > | 
				
			||||
            <option value = "%"><?php echo get_lang('All') ?></option>
 | 
				
			||||
              <?php | 
				
			||||
                $selected_letter = isset($_POST['firstLetterUser']) ? $_POST['firstLetterUser'] : null; | 
				
			||||
                echo Display :: get_alphabet_options($selected_letter); | 
				
			||||
              ?> | 
				
			||||
	     </select> | 
				
			||||
    </div> | 
				
			||||
</td> | 
				
			||||
<td align="center"> </td> | 
				
			||||
</tr> | 
				
			||||
<?php } ?> | 
				
			||||
<tr> | 
				
			||||
  <td align="center"> | 
				
			||||
  <div id="content_source"> | 
				
			||||
  	  <?php | 
				
			||||
  	  if (!($add_type=='multiple')) { | 
				
			||||
  	  	?> | 
				
			||||
		<input type="text" id="user_to_add" onkeyup="xajax_search_users(this.value,'single',document.getElementById('relation').value)" /> | 
				
			||||
		<div id="ajax_list_users_single"></div> | 
				
			||||
		<?php | 
				
			||||
  	  } else { | 
				
			||||
  	  ?> | 
				
			||||
  	  <div id="ajax_origin_list_multiple"> | 
				
			||||
	  <select id="origin_users" name="nosessionUsersList[]" multiple="multiple" size="15" style="width:360px;"> | 
				
			||||
		<?php | 
				
			||||
		if (!empty($nosessionUsersList)) { | 
				
			||||
			foreach($nosessionUsersList as $enreg) { | 
				
			||||
			?> | 
				
			||||
				<option value="<?php echo $enreg['user_id']; ?>"  > <?php echo $enreg['firstname'].' '.$enreg['lastname'].' ('.$enreg['username'].')'; ?></option>
 | 
				
			||||
			<?php | 
				
			||||
			} | 
				
			||||
		} | 
				
			||||
		?> | 
				
			||||
	  </select> | 
				
			||||
	  </div> | 
				
			||||
	<?php | 
				
			||||
  	  } | 
				
			||||
  	  unset($nosessionUsersList); | 
				
			||||
  	 ?> | 
				
			||||
  </div> | 
				
			||||
  </td> | 
				
			||||
  <td width="10%" valign="middle" align="center"> | 
				
			||||
  <?php | 
				
			||||
  if ($ajax_search) { | 
				
			||||
  ?> | 
				
			||||
    <button class="btn btn-default" type="button" onclick="remove_item(document.getElementById('destination_users'))" ><em class="fa fa-arrow-left"></em></button> | 
				
			||||
  <?php | 
				
			||||
  } else { | 
				
			||||
  ?> | 
				
			||||
  	<button class="btn btn-default" type="button" onclick="moveItem(document.getElementById('origin_users'), document.getElementById('destination_users'))" onclick="moveItem(document.getElementById('origin_users'), document.getElementById('destination_users'))"><em class="fa fa-arrow-right"></em></button> | 
				
			||||
	<br /><br /> | 
				
			||||
	<button class="btn btn-default" type="button" onclick="moveItem(document.getElementById('destination_users'), document.getElementById('origin_users'))" onclick="moveItem(document.getElementById('destination_users'), document.getElementById('origin_users'))"><em class="fa fa-arrow-left"></em></button> | 
				
			||||
	<?php | 
				
			||||
  } | 
				
			||||
  ?> | 
				
			||||
	<br /><br /><br /><br /><br /> | 
				
			||||
  </td> | 
				
			||||
  <td align="center"> | 
				
			||||
  <div id="ajax_destination_list"> | 
				
			||||
  <select id="destination_users" name="sessionUsersList[]" multiple="multiple" size="15" style="width:360px;"> | 
				
			||||
	<?php | 
				
			||||
	if (!empty($sessionUsersList)) { | 
				
			||||
		foreach($sessionUsersList as $enreg) { ?> | 
				
			||||
			<option value="<?php echo $enreg['user_id']; ?>">
 | 
				
			||||
                <?php echo $enreg['firstname'].' '.$enreg['lastname'].' ('.$enreg['username'].')'; ?> | 
				
			||||
            </option> | 
				
			||||
	<?php } | 
				
			||||
	} unset($sessionUsersList); | 
				
			||||
    ?> | 
				
			||||
  </select> | 
				
			||||
  </div> | 
				
			||||
  </td> | 
				
			||||
</tr> | 
				
			||||
<tr> | 
				
			||||
	<td colspan="3" align="center"> | 
				
			||||
		<br /> | 
				
			||||
		<?php | 
				
			||||
		echo '<button class="btn btn-success" type="button" value="" onclick="valide()" ><em class="fa fa-floppy-o"></em> '.get_lang('SubscribeUsersToGroup').'</button>'; | 
				
			||||
		?> | 
				
			||||
	</td> | 
				
			||||
</tr> | 
				
			||||
</table> | 
				
			||||
</form> | 
				
			||||
 | 
				
			||||
<script> | 
				
			||||
function moveItem(origin , destination) { | 
				
			||||
	for (var i = 0 ; i<origin.options.length ; i++) { | 
				
			||||
		if (origin.options[i].selected) { | 
				
			||||
			destination.options[destination.length] = new Option(origin.options[i].text,origin.options[i].value); | 
				
			||||
			origin.options[i]=null; | 
				
			||||
			i = i-1; | 
				
			||||
		} | 
				
			||||
	} | 
				
			||||
	destination.selectedIndex = -1; | 
				
			||||
	sortOptions(destination.options); | 
				
			||||
 | 
				
			||||
} | 
				
			||||
 | 
				
			||||
function sortOptions(options) { | 
				
			||||
	newOptions = new Array(); | 
				
			||||
	for (i = 0 ; i<options.length ; i++) | 
				
			||||
		newOptions[i] = options[i]; | 
				
			||||
 | 
				
			||||
	newOptions = newOptions.sort(mysort); | 
				
			||||
	options.length = 0; | 
				
			||||
	for(i = 0 ; i < newOptions.length ; i++) | 
				
			||||
		options[i] = newOptions[i]; | 
				
			||||
 | 
				
			||||
} | 
				
			||||
 | 
				
			||||
function mysort(a, b) { | 
				
			||||
	if (a.text.toLowerCase() > b.text.toLowerCase()){ | 
				
			||||
		return 1; | 
				
			||||
	} | 
				
			||||
	if (a.text.toLowerCase() < b.text.toLowerCase()){ | 
				
			||||
		return -1; | 
				
			||||
	} | 
				
			||||
	return 0; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
function valide() { | 
				
			||||
	var relation_select = document.getElementById('relation'); | 
				
			||||
	if (relation_select && relation_select.value=="") { | 
				
			||||
		alert("<?php echo get_lang('YouMustChooseARelationType')?>");
 | 
				
			||||
		return false; | 
				
			||||
	} else { | 
				
			||||
		var options = document.getElementById('destination_users').options; | 
				
			||||
		for (i = 0 ; i<options.length ; i++) | 
				
			||||
			options[i].selected = true; | 
				
			||||
		document.forms.formulaire.submit(); | 
				
			||||
	} | 
				
			||||
} | 
				
			||||
 | 
				
			||||
function loadUsersInSelect(select) { | 
				
			||||
	var xhr_object = null; | 
				
			||||
 | 
				
			||||
	if (window.XMLHttpRequest) // Firefox | 
				
			||||
		xhr_object = new XMLHttpRequest(); | 
				
			||||
	else if(window.ActiveXObject) // Internet Explorer | 
				
			||||
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); | 
				
			||||
	else  // XMLHttpRequest non supporté par le navigateur | 
				
			||||
	alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); | 
				
			||||
 | 
				
			||||
	xhr_object.open("POST", "loadUsersInSelect.ajax.php"); | 
				
			||||
	xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); | 
				
			||||
 | 
				
			||||
	nosessionUsers = makepost(document.getElementById('origin_users')); | 
				
			||||
	sessionUsers = makepost(document.getElementById('destination_users')); | 
				
			||||
	nosessionClasses = makepost(document.getElementById('origin_classes')); | 
				
			||||
	sessionClasses = makepost(document.getElementById('destination_classes')); | 
				
			||||
	xhr_object.send("nosessionusers="+nosessionUsers+"&sessionusers="+sessionUsers+"&nosessionclasses="+nosessionClasses+"&sessionclasses="+sessionClasses); | 
				
			||||
 | 
				
			||||
	xhr_object.onreadystatechange = function() { | 
				
			||||
		if(xhr_object.readyState == 4) { | 
				
			||||
			document.getElementById('content_source').innerHTML = result = xhr_object.responseText; | 
				
			||||
			//alert(xhr_object.responseText); | 
				
			||||
		} | 
				
			||||
	} | 
				
			||||
} | 
				
			||||
 | 
				
			||||
function makepost(select) { | 
				
			||||
	var options = select.options; | 
				
			||||
	var ret = ""; | 
				
			||||
	for (i = 0 ; i<options.length ; i++) | 
				
			||||
		ret = ret + options[i].value +'::'+options[i].text+";;"; | 
				
			||||
	return ret; | 
				
			||||
} | 
				
			||||
</script> | 
				
			||||
<?php | 
				
			||||
 | 
				
			||||
Display::display_footer(); | 
				
			||||
@ -1,181 +0,0 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
*	@package chamilo.admin | 
				
			||||
*/ | 
				
			||||
 | 
				
			||||
$cidReset = true; | 
				
			||||
 | 
				
			||||
// Including necessary libraries. | 
				
			||||
require_once '../inc/global.inc.php'; | 
				
			||||
$libpath = api_get_path(LIBRARY_PATH); | 
				
			||||
 | 
				
			||||
// Section for the tabs | 
				
			||||
$this_section = SECTION_PLATFORM_ADMIN; | 
				
			||||
 | 
				
			||||
// User permissions | 
				
			||||
api_protect_admin_script(); | 
				
			||||
 | 
				
			||||
$group_id = 0; | 
				
			||||
 | 
				
			||||
$htmlHeadXtra[] = '<script> | 
				
			||||
textarea = ""; | 
				
			||||
num_characters_permited = 255; | 
				
			||||
function text_longitud(){ | 
				
			||||
   num_characters = document.forms[0].description.value.length; | 
				
			||||
  if (num_characters > num_characters_permited){ | 
				
			||||
      document.forms[0].description.value = textarea; | 
				
			||||
   }else{ | 
				
			||||
      textarea = document.forms[0].description.value; | 
				
			||||
   } | 
				
			||||
} | 
				
			||||
</script>'; | 
				
			||||
 | 
				
			||||
// Database table definitions | 
				
			||||
if (!empty($_GET['message'])) { | 
				
			||||
    $message = urldecode($_GET['message']); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
$interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdmin')); | 
				
			||||
$tool_name = get_lang('AddGroups'); | 
				
			||||
 | 
				
			||||
// Create the form | 
				
			||||
$form = new FormValidator('group_add'); | 
				
			||||
$form->addElement('header', $tool_name); | 
				
			||||
 | 
				
			||||
// name | 
				
			||||
$form->addElement('text', 'name', get_lang('Name'), array('size' => 60, 'maxlength' => 120)); | 
				
			||||
$form->applyFilter('name', 'html_filter'); | 
				
			||||
$form->applyFilter('name', 'trim'); | 
				
			||||
$form->addRule('name', get_lang('ThisFieldIsRequired'), 'required'); | 
				
			||||
 | 
				
			||||
// Description | 
				
			||||
$form->addElement( | 
				
			||||
    'textarea', | 
				
			||||
    'description', | 
				
			||||
    get_lang('Description'), | 
				
			||||
    array('rows' => 3, 'cols' => 58, 'onKeyDown' => "text_longitud()", 'onKeyUp' => "text_longitud()") | 
				
			||||
); | 
				
			||||
$form->applyFilter('description', 'html_filter'); | 
				
			||||
$form->applyFilter('description', 'trim'); | 
				
			||||
 | 
				
			||||
// url | 
				
			||||
$form->addElement('text', 'url', get_lang('Url'), array('size' => 35)); | 
				
			||||
$form->applyFilter('url', 'html_filter'); | 
				
			||||
$form->applyFilter('url', 'trim'); | 
				
			||||
 | 
				
			||||
// Picture | 
				
			||||
$form->addElement('file', 'picture', get_lang('AddPicture')); | 
				
			||||
$allowed_picture_types = array('jpg', 'jpeg', 'png', 'gif'); | 
				
			||||
$form->addRule( | 
				
			||||
    'picture', | 
				
			||||
    get_lang('OnlyImagesAllowed').' ('.implode(', ', $allowed_picture_types).')', | 
				
			||||
    'filetype', | 
				
			||||
    $allowed_picture_types | 
				
			||||
); | 
				
			||||
 | 
				
			||||
//Group Parentship | 
				
			||||
$groups = array(); | 
				
			||||
$groups[0] = get_lang('NoParentship'); | 
				
			||||
$groups = $groups + GroupPortalManager::get_groups_list($group_id); | 
				
			||||
 | 
				
			||||
$group_data['parent_group'] = GroupPortalManager::get_parent_group($group_id); | 
				
			||||
$form->addElement('select', 'parent_group', get_lang('GroupParentship'), $groups, array()); | 
				
			||||
 | 
				
			||||
// Status | 
				
			||||
$status = array(); | 
				
			||||
$status[GROUP_PERMISSION_OPEN] = get_lang('Open'); | 
				
			||||
$status[GROUP_PERMISSION_CLOSED] = get_lang('Closed'); | 
				
			||||
 | 
				
			||||
$form->addElement('select', 'visibility', get_lang('GroupPermissions'), $status); | 
				
			||||
 | 
				
			||||
// Set default values | 
				
			||||
$defaults['status'] = GROUP_PERMISSION_OPEN; | 
				
			||||
 | 
				
			||||
$form->setDefaults($defaults); | 
				
			||||
 | 
				
			||||
// Submit button | 
				
			||||
$form->addButtonCreate(get_lang('Add')); | 
				
			||||
 | 
				
			||||
// Validate form | 
				
			||||
if ($form->validate()) { | 
				
			||||
	$check = Security::check_token('post'); | 
				
			||||
	if ($check) { | 
				
			||||
		$values = $form->exportValues(); | 
				
			||||
 | 
				
			||||
        $picture_element = $form->getElement('picture'); | 
				
			||||
        $picture = $picture_element->getValue(); | 
				
			||||
        $picture_uri = ''; | 
				
			||||
        $name = $values['name']; | 
				
			||||
        $description = $values['description']; | 
				
			||||
        $url = $values['url']; | 
				
			||||
        $status = intval($values['visibility']); | 
				
			||||
        $picture = $_FILES['picture']; | 
				
			||||
        $parent_group_id = intval($values['parent_group']); | 
				
			||||
 | 
				
			||||
		$group_id = GroupPortalManager::add($name, $description, $url, $status); | 
				
			||||
        GroupPortalManager::set_parent_group($group_id,$parent_group_id); | 
				
			||||
 | 
				
			||||
		if (!empty($picture['name'])) { | 
				
			||||
            $picture_uri = GroupPortalManager::update_group_picture( | 
				
			||||
                $group_id, | 
				
			||||
                $_FILES['picture']['name'], | 
				
			||||
                $_FILES['picture']['tmp_name'] | 
				
			||||
            ); | 
				
			||||
            GroupPortalManager::update( | 
				
			||||
                $group_id, | 
				
			||||
                $name, | 
				
			||||
                $description, | 
				
			||||
                $url, | 
				
			||||
                $status, | 
				
			||||
                $picture_uri | 
				
			||||
            ); | 
				
			||||
		} | 
				
			||||
 | 
				
			||||
		//@todo send emails | 
				
			||||
 | 
				
			||||
/*		if (!empty($email) && $send_mail) { | 
				
			||||
			$recipient_name = api_get_person_name($firstname, $lastname, null, PERSON_NAME_EMAIL_ADDRESS); | 
				
			||||
			$emailsubject = '['.api_get_setting('siteName').'] '.get_lang('YourReg').' '.api_get_setting('siteName'); | 
				
			||||
 | 
				
			||||
			$sender_name = api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'), null, PERSON_NAME_EMAIL_ADDRESS); | 
				
			||||
			$email_admin = api_get_setting('emailAdministrator'); | 
				
			||||
 | 
				
			||||
			if ($_configuration['multiple_access_urls']) { | 
				
			||||
				$access_url_id = api_get_current_access_url_id(); | 
				
			||||
				if ($access_url_id != -1) { | 
				
			||||
					$url = api_get_access_url($access_url_id); | 
				
			||||
					$emailbody = get_lang('Dear')." ".stripslashes(api_get_person_name($firstname, $lastname)).",\n\n".get_lang('YouAreReg')." ".api_get_setting('siteName') ." ".get_lang('WithTheFollowingSettings')."\n\n".get_lang('Username')." : ". $username ."\n". get_lang('Pass')." : ".stripslashes($password)."\n\n" .get_lang('Address') ." ". api_get_setting('siteName') ." ". get_lang('Is') ." : ". $url['url'] ."\n\n". get_lang('Problem'). "\n\n". get_lang('SignatureFormula').",\n\n".api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'))."\n". get_lang('Manager'). " ".api_get_setting('siteName')."\nT. ".api_get_setting('administratorTelephone')."\n" .get_lang('Email') ." : ".api_get_setting('emailAdministrator'); | 
				
			||||
				} | 
				
			||||
			} | 
				
			||||
			else { | 
				
			||||
				$emailbody = get_lang('Dear')." ".stripslashes(api_get_person_name($firstname, $lastname)).",\n\n".get_lang('YouAreReg')." ".api_get_setting('siteName') ." ".get_lang('WithTheFollowingSettings')."\n\n".get_lang('Username')." : ". $username ."\n". get_lang('Pass')." : ".stripslashes($password)."\n\n" .get_lang('Address') ." ". api_get_setting('siteName') ." ". get_lang('Is') ." : ". $_configuration['root_web'] ."\n\n". get_lang('Problem'). "\n\n". get_lang('SignatureFormula').",\n\n".api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'))."\n". get_lang('Manager'). " ".api_get_setting('siteName')."\nT. ".api_get_setting('administratorTelephone')."\n" .get_lang('Email') ." : ".api_get_setting('emailAdministrator'); | 
				
			||||
			} | 
				
			||||
			@api_mail_html($recipient_name, $email, $emailsubject, $emailbody, $sender_name, $email_admin); | 
				
			||||
		}*/ | 
				
			||||
 | 
				
			||||
		Security::clear_token(); | 
				
			||||
		$tok = Security::get_token(); | 
				
			||||
		header('Location: group_list.php?action=show_message&message='.urlencode(get_lang('GroupAdded')).'&sec_token='.$tok); | 
				
			||||
        exit (); | 
				
			||||
	} | 
				
			||||
} else { | 
				
			||||
	if (isset($_POST['submit'])) { | 
				
			||||
		Security::clear_token(); | 
				
			||||
	} | 
				
			||||
	$token = Security::get_token(); | 
				
			||||
	$form->addElement('hidden', 'sec_token'); | 
				
			||||
	$form->setConstants(array('sec_token' => $token)); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
// Display form | 
				
			||||
Display::display_header($tool_name); | 
				
			||||
 | 
				
			||||
if (!empty($message)) { | 
				
			||||
    Display::display_normal_message(stripslashes($message)); | 
				
			||||
} | 
				
			||||
$form->display(); | 
				
			||||
 | 
				
			||||
// Footer | 
				
			||||
Display::display_footer(); | 
				
			||||
@ -1,176 +0,0 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
*	@package chamilo.admin | 
				
			||||
*/ | 
				
			||||
$cidReset = true; | 
				
			||||
require_once '../inc/global.inc.php'; | 
				
			||||
$this_section = SECTION_PLATFORM_ADMIN; | 
				
			||||
api_protect_admin_script(); | 
				
			||||
 | 
				
			||||
$libpath = api_get_path(LIBRARY_PATH); | 
				
			||||
 | 
				
			||||
$group_id = isset($_GET['id']) ? intval($_GET['id']) : intval($_POST['id']); | 
				
			||||
$tool_name = get_lang('GroupEdit'); | 
				
			||||
 | 
				
			||||
$interbreadcrumb[] = array('url' => 'index.php','name' => get_lang('PlatformAdmin')); | 
				
			||||
$interbreadcrumb[] = array('url' => 'group_list.php','name' => get_lang('GroupList')); | 
				
			||||
 | 
				
			||||
$table_group = Database::get_main_table(TABLE_MAIN_GROUP); | 
				
			||||
 | 
				
			||||
$htmlHeadXtra[] = '<script type="text/javascript"> | 
				
			||||
textarea = ""; | 
				
			||||
num_characters_permited = 255; | 
				
			||||
function text_longitud(){ | 
				
			||||
   num_characters = document.forms[0].description.value.length; | 
				
			||||
  if (num_characters > num_characters_permited){ | 
				
			||||
      document.forms[0].description.value = textarea; | 
				
			||||
   }else{ | 
				
			||||
      textarea = document.forms[0].description.value; | 
				
			||||
   } | 
				
			||||
} | 
				
			||||
</script>'; | 
				
			||||
 | 
				
			||||
$sql = "SELECT * FROM $table_group WHERE id = '".$group_id."'"; | 
				
			||||
$res = Database::query($sql); | 
				
			||||
if (Database::num_rows($res) != 1) { | 
				
			||||
	header('Location: group_list.php'); | 
				
			||||
	exit; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
$group_data = Database::fetch_array($res, 'ASSOC'); | 
				
			||||
 | 
				
			||||
// Create the form | 
				
			||||
$form = new FormValidator('group_edit', 'post', '', '', array('style' => 'width: 60%; float: '.($text_dir == 'rtl' ? 'right;' : 'left;'))); | 
				
			||||
$form->addElement('header', '', $tool_name); | 
				
			||||
$form->addElement('hidden', 'id', $group_id); | 
				
			||||
 | 
				
			||||
// name | 
				
			||||
$form->addElement('text', 'name', get_lang('Name'), array('size'=>60, 'maxlength'=>120)); | 
				
			||||
$form->applyFilter('name', 'html_filter'); | 
				
			||||
$form->applyFilter('name', 'trim'); | 
				
			||||
$form->addRule('name', get_lang('ThisFieldIsRequired'), 'required'); | 
				
			||||
 | 
				
			||||
// Description | 
				
			||||
$form->addElement( | 
				
			||||
	'textarea', | 
				
			||||
	'description', | 
				
			||||
	get_lang('Description'), | 
				
			||||
	array( | 
				
			||||
		'rows' => 3, | 
				
			||||
		'cols' => 58, | 
				
			||||
		'onKeyDown' => "text_longitud()", | 
				
			||||
		'onKeyUp' => "text_longitud()", | 
				
			||||
	) | 
				
			||||
); | 
				
			||||
$form->applyFilter('description', 'html_filter'); | 
				
			||||
$form->applyFilter('description', 'trim'); | 
				
			||||
 | 
				
			||||
// url | 
				
			||||
$form->addElement('text', 'url', get_lang('Url'), array('size' => 35)); | 
				
			||||
$form->applyFilter('url', 'html_filter'); | 
				
			||||
$form->applyFilter('url', 'trim'); | 
				
			||||
// Picture | 
				
			||||
$form->addElement('file', 'picture', get_lang('AddPicture')); | 
				
			||||
$allowed_picture_types = array ('jpg', 'jpeg', 'png', 'gif'); | 
				
			||||
$form->addRule('picture', get_lang('OnlyImagesAllowed').' ('.implode(',', $allowed_picture_types).')', 'filetype', $allowed_picture_types); | 
				
			||||
if (strlen($group_data['picture_uri']) > 0) { | 
				
			||||
	$form->addElement('checkbox', 'delete_picture', '', get_lang('DelImage')); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
// Group parent | 
				
			||||
$groups = array(); | 
				
			||||
$groups = GroupPortalManager::get_groups_list($group_id); | 
				
			||||
$groups[0] = get_lang('NoParentship'); | 
				
			||||
$group_data['parent_group'] = GroupPortalManager::get_parent_group($group_id); | 
				
			||||
$form->addElement('select', 'parent_group', get_lang('GroupParentship'), $groups, array()); | 
				
			||||
 | 
				
			||||
 | 
				
			||||
// Status | 
				
			||||
$status = array(); | 
				
			||||
$status[GROUP_PERMISSION_OPEN] = get_lang('Open'); | 
				
			||||
$status[GROUP_PERMISSION_CLOSED] = get_lang('Closed'); | 
				
			||||
$form->addElement('select', 'visibility', get_lang('GroupPermissions'), $status, array()); | 
				
			||||
 | 
				
			||||
// Submit button | 
				
			||||
$form->addButtonUpdate(get_lang('ModifyInformation')); | 
				
			||||
 | 
				
			||||
// Set default values | 
				
			||||
$form->setDefaults($group_data); | 
				
			||||
 | 
				
			||||
// Validate form | 
				
			||||
if ( $form->validate()) { | 
				
			||||
	$group = $form->exportValues(); | 
				
			||||
 | 
				
			||||
	$picture_element = $form->getElement('picture'); | 
				
			||||
	$picture = $picture_element->getValue(); | 
				
			||||
 | 
				
			||||
	$picture_uri = $group_data['picture_uri']; | 
				
			||||
	if ($group['delete_picture']) { | 
				
			||||
		$picture_uri = GroupPortalManager::delete_group_picture($group_id); | 
				
			||||
		} | 
				
			||||
	elseif (!empty($picture['name'])) { | 
				
			||||
        $picture_uri = GroupPortalManager::update_group_picture( | 
				
			||||
            $group_id, | 
				
			||||
            $_FILES['picture']['name'], | 
				
			||||
            $_FILES['picture']['tmp_name'] | 
				
			||||
        ); | 
				
			||||
	} | 
				
			||||
 | 
				
			||||
	$name = $group['name']; | 
				
			||||
	$description = $group['description']; | 
				
			||||
	$url = $group['url']; | 
				
			||||
	$status = intval($group['visibility']); | 
				
			||||
	$parent_group_id = intval($group['parent_group']); | 
				
			||||
 | 
				
			||||
    GroupPortalManager::update( | 
				
			||||
        $group_id, | 
				
			||||
        $name, | 
				
			||||
        $description, | 
				
			||||
        $url, | 
				
			||||
        $status, | 
				
			||||
        $picture_uri | 
				
			||||
    ); | 
				
			||||
    GroupPortalManager::set_parent_group($group_id, $parent_group_id); | 
				
			||||
 | 
				
			||||
	$tok = Security::get_token(); | 
				
			||||
	header('Location: group_list.php?action=show_message&message='.urlencode(get_lang('GroupUpdated')).'&sec_token='.$tok); | 
				
			||||
	exit(); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
Display::display_header($tool_name); | 
				
			||||
 | 
				
			||||
// Group picture | 
				
			||||
$image_path = GroupPortalManager::get_group_picture_path_by_id($group_id, 'web'); | 
				
			||||
$image_dir = $image_path['dir']; | 
				
			||||
$image = $image_path['file']; | 
				
			||||
$image_file = ($image != '' ? $image_dir.$image : Display::returnIconPath('unknown_group.jpg')); | 
				
			||||
$image_size = api_getimagesize($image_file); | 
				
			||||
 | 
				
			||||
$img_attributes = 'src="'.$image_file.'?rand='.time().'" ' | 
				
			||||
	.'style="float:'.($text_dir == 'rtl' ? 'left' : 'right').'; padding:5px;" '; | 
				
			||||
 | 
				
			||||
if ($image_size['width'] > 300) { | 
				
			||||
    // limit display width to 300px | 
				
			||||
	$img_attributes .= 'width="300" '; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
// get the path,width and height from original picture | 
				
			||||
$big_image = $image_dir.'big_'.$image; | 
				
			||||
$big_image_size = api_getimagesize($big_image); | 
				
			||||
$big_image_width = $big_image_size['width']; | 
				
			||||
$big_image_height = $big_image_size['height']; | 
				
			||||
$url_big_image = $big_image.'?rnd='.time(); | 
				
			||||
 | 
				
			||||
if ($image == '') { | 
				
			||||
	echo '<img '.$img_attributes.' />'; | 
				
			||||
} else { | 
				
			||||
	echo '<input type="image" '.$img_attributes.' onclick="javascript: return show_image(\''.$url_big_image.'\',\''.$big_image_width.'\',\''.$big_image_height.'\');"/>'; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
// Display form | 
				
			||||
$form->display(); | 
				
			||||
 | 
				
			||||
// Footer | 
				
			||||
Display::display_footer(); | 
				
			||||
@ -1,407 +0,0 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
  @author Bart Mollet | 
				
			||||
 * 	@package chamilo.admin | 
				
			||||
 | 
				
			||||
 */ | 
				
			||||
$cidReset = true; | 
				
			||||
require_once '../inc/global.inc.php'; | 
				
			||||
 | 
				
			||||
$this_section = SECTION_PLATFORM_ADMIN; | 
				
			||||
api_protect_admin_script(true); | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Get the total number of users on the platform | 
				
			||||
 * @see SortableTable#get_total_number_of_items() | 
				
			||||
 */ | 
				
			||||
function get_number_of_groups() { | 
				
			||||
    $group_table = Database :: get_main_table(TABLE_MAIN_GROUP); | 
				
			||||
    $sql = "SELECT COUNT(g.id) AS total_number_of_items FROM $group_table g"; | 
				
			||||
 | 
				
			||||
    // adding the filter to see the user's only of the current access_url | 
				
			||||
    /* | 
				
			||||
      global $_configuration; | 
				
			||||
      if ((api_is_platform_admin() || api_is_session_admin()) && $_configuration['multiple_access_urls'] && api_get_current_access_url_id()!=-1) { | 
				
			||||
      $access_url_rel_user_table= Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); | 
				
			||||
      $sql.= " INNER JOIN $access_url_rel_user_table url_rel_user ON (u.user_id=url_rel_user.user_id)"; | 
				
			||||
      } | 
				
			||||
     */ | 
				
			||||
    if (isset($_GET['keyword'])) { | 
				
			||||
        $keyword = Database::escape_string(trim($_GET['keyword'])); | 
				
			||||
        $sql .= " WHERE (g.name LIKE '%".$keyword."%' OR g.description LIKE '%".$keyword."%'  OR  g.url LIKE '%".$keyword."%' )"; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    // adding the filter to see the user's only of the current access_url | 
				
			||||
    /* | 
				
			||||
      if ((api_is_platform_admin() || api_is_session_admin()) && $_configuration['multiple_access_urls'] && api_get_current_access_url_id()!=-1) { | 
				
			||||
      $sql.= " AND url_rel_user.access_url_id=".api_get_current_access_url_id(); | 
				
			||||
      } */ | 
				
			||||
 | 
				
			||||
    $res = Database::query($sql); | 
				
			||||
    $obj = Database::fetch_object($res); | 
				
			||||
    return $obj->total_number_of_items; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Get the users to display on the current page (fill the sortable-table) | 
				
			||||
 * @param   int     offset of first user to recover | 
				
			||||
 * @param   int     Number of users to get | 
				
			||||
 * @param   int     Column to sort on | 
				
			||||
 * @param   string  Order (ASC,DESC) | 
				
			||||
 * @see SortableTable#get_table_data($from) | 
				
			||||
 */ | 
				
			||||
function get_group_data($from, $number_of_items, $column, $direction) { | 
				
			||||
    $group_table = Database :: get_main_table(TABLE_MAIN_GROUP); | 
				
			||||
 | 
				
			||||
    $sql = "SELECT | 
				
			||||
                 g.id			AS col0, | 
				
			||||
                 g.name			AS col1, | 
				
			||||
                 g.description 	AS col2, | 
				
			||||
                 g.visibility 	AS col3, | 
				
			||||
                 g.id			AS col4 | 
				
			||||
             FROM $group_table g "; | 
				
			||||
 | 
				
			||||
    // adding the filter to see the user's only of the current access_url | 
				
			||||
    /* global $_configuration; | 
				
			||||
      if ((api_is_platform_admin() || api_is_session_admin()) && $_configuration['multiple_access_urls'] && api_get_current_access_url_id()!=-1) { | 
				
			||||
      $access_url_rel_user_table= Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); | 
				
			||||
      $sql.= " INNER JOIN $access_url_rel_user_table url_rel_user ON (u.user_id=url_rel_user.user_id)"; | 
				
			||||
      } */ | 
				
			||||
 | 
				
			||||
    if (isset($_GET['keyword'])) { | 
				
			||||
        $keyword = Database::escape_string(trim($_GET['keyword'])); | 
				
			||||
        $sql .= " WHERE (g.name LIKE '%".$keyword."%' OR g.description LIKE '%".$keyword."%'  OR  g.url LIKE '%".$keyword."%' )"; | 
				
			||||
    } | 
				
			||||
    /* | 
				
			||||
      // adding the filter to see the user's only of the current access_url | 
				
			||||
      if ((api_is_platform_admin() || api_is_session_admin()) && $_configuration['multiple_access_urls'] && api_get_current_access_url_id()!=-1) { | 
				
			||||
      $sql.= " AND url_rel_user.access_url_id=".api_get_current_access_url_id(); | 
				
			||||
      } */ | 
				
			||||
 | 
				
			||||
    if (!in_array($direction, array('ASC', 'DESC'))) { | 
				
			||||
        $direction = 'ASC'; | 
				
			||||
    } | 
				
			||||
    $column = intval($column); | 
				
			||||
    $from = intval($from); | 
				
			||||
    $number_of_items = intval($number_of_items); | 
				
			||||
 | 
				
			||||
    $sql .= " ORDER BY col$column $direction "; | 
				
			||||
    $sql .= " LIMIT $from,$number_of_items"; | 
				
			||||
 | 
				
			||||
    $res = Database::query($sql); | 
				
			||||
 | 
				
			||||
    $users = array(); | 
				
			||||
    $t = time(); | 
				
			||||
 | 
				
			||||
    // Status | 
				
			||||
    $status = array(); | 
				
			||||
    $status[GROUP_PERMISSION_OPEN] = get_lang('Open'); | 
				
			||||
    $status[GROUP_PERMISSION_CLOSED] = get_lang('Closed'); | 
				
			||||
 | 
				
			||||
    $result = Database::select( | 
				
			||||
        'tGroupRelGroup.group_id, tGroup.id, tGroup.name', | 
				
			||||
        Database::get_main_table(TABLE_MAIN_GROUP_REL_GROUP). | 
				
			||||
        " AS tGroupRelGroup RIGHT JOIN ".Database::get_main_table(TABLE_MAIN_GROUP). | 
				
			||||
        " AS tGroup ON tGroupRelGroup.subgroup_id = tGroup.id" | 
				
			||||
    ); | 
				
			||||
    $groupRelations = array(); | 
				
			||||
    foreach ($result as $row) { | 
				
			||||
        $groupRelations[$row['id']] = $row; | 
				
			||||
    } | 
				
			||||
    $groups = array(); | 
				
			||||
    while ($group = Database::fetch_row($res)) { | 
				
			||||
        $name = null; | 
				
			||||
        $id = $group[0]; | 
				
			||||
        // Loops while the current group is a subgroup | 
				
			||||
        while (isset($groupRelations[$id]['group_id'])) { | 
				
			||||
            $name = $name ? | 
				
			||||
                $groupRelations[$id]['name'] . " > " . $name : | 
				
			||||
                $groupRelations[$id]['name']; | 
				
			||||
            $id = $groupRelations[$id]['group_id']; | 
				
			||||
        } | 
				
			||||
        // The base group | 
				
			||||
        $name = $name ? | 
				
			||||
            $groupRelations[$id]['name'] . " > " . $name : | 
				
			||||
            $groupRelations[$id]['name']; | 
				
			||||
        $group[3] = $status[$group[3]]; | 
				
			||||
        $group['1'] = '<a href="'.api_get_path(WEB_CODE_PATH).'social/group_view.php?id='.$group['0'].'">'.$name.'</a>'; | 
				
			||||
        $groups[] = $group; | 
				
			||||
    } | 
				
			||||
    return $groups; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
function get_recent_group_data($from = 0, $number_of_items = 5, $column, $direction) { | 
				
			||||
    $group_table = Database :: get_main_table(TABLE_MAIN_GROUP); | 
				
			||||
 | 
				
			||||
    $sql = "SELECT | 
				
			||||
                 g.id			AS col0, | 
				
			||||
                 g.name			AS col1, | 
				
			||||
                 g.description 	AS col2, | 
				
			||||
                 g.visibility 	AS col3, | 
				
			||||
                 g.id			AS col4 | 
				
			||||
             FROM $group_table g "; | 
				
			||||
 | 
				
			||||
    // adding the filter to see the user's only of the current access_url | 
				
			||||
    /* global $_configuration; | 
				
			||||
      if ((api_is_platform_admin() || api_is_session_admin()) && $_configuration['multiple_access_urls'] && api_get_current_access_url_id()!=-1) { | 
				
			||||
      $access_url_rel_user_table= Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); | 
				
			||||
      $sql.= " INNER JOIN $access_url_rel_user_table url_rel_user ON (u.user_id=url_rel_user.user_id)"; | 
				
			||||
      } */ | 
				
			||||
 | 
				
			||||
    if (isset($_GET['keyword'])) { | 
				
			||||
        $keyword = Database::escape_string(trim($_GET['keyword'])); | 
				
			||||
        $sql .= " WHERE (g.name LIKE '%".$keyword."%' OR g.description LIKE '%".$keyword."%'  OR  g.url LIKE '%".$keyword."%' )"; | 
				
			||||
    } | 
				
			||||
    /* | 
				
			||||
      // adding the filter to see the user's only of the current access_url | 
				
			||||
      if ((api_is_platform_admin() || api_is_session_admin()) && $_configuration['multiple_access_urls'] && api_get_current_access_url_id()!=-1) { | 
				
			||||
      $sql.= " AND url_rel_user.access_url_id=".api_get_current_access_url_id(); | 
				
			||||
      } */ | 
				
			||||
 | 
				
			||||
    if (!in_array($direction, array('ASC', 'DESC'))) { | 
				
			||||
        $direction = 'ASC'; | 
				
			||||
    } | 
				
			||||
    $column = intval($column); | 
				
			||||
    $from = intval($from); | 
				
			||||
    $number_of_items = intval($number_of_items); | 
				
			||||
 | 
				
			||||
    $sql .= " ORDER BY col$column $direction "; | 
				
			||||
    $sql .= " LIMIT $from,$number_of_items"; | 
				
			||||
 | 
				
			||||
    $res = Database::query($sql); | 
				
			||||
 | 
				
			||||
    $users = array(); | 
				
			||||
    $t = time(); | 
				
			||||
    while ($group = Database::fetch_row($res)) { | 
				
			||||
        // forget about the expiration date field | 
				
			||||
        $groups[] = $group; | 
				
			||||
    } | 
				
			||||
    return $groups; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Build the modify-column of the table | 
				
			||||
 * @param   int     The user id | 
				
			||||
 * @param   string  URL params to add to table links | 
				
			||||
 * @param   array   Row of elements to alter | 
				
			||||
 * @return string Some HTML-code with modify-buttons | 
				
			||||
 */ | 
				
			||||
function modify_filter($group_id, $url_params, $row) { | 
				
			||||
    global $charset; | 
				
			||||
    $result = null; | 
				
			||||
    if (api_is_platform_admin()) { | 
				
			||||
        $result .= '<a href="'.api_get_path(WEB_CODE_PATH).'admin/add_users_to_group.php?id='.$group_id.'">'.Display::return_icon('subscribe_users_social_network.png', get_lang('AddUsersToGroup'), '', ICON_SIZE_SMALL).'</a>'; | 
				
			||||
        $result .= '<a href="group_edit.php?id='.$group_id.'">'.Display::return_icon('edit.png', get_lang('Edit'), array(), ICON_SIZE_SMALL).'</a>  '; | 
				
			||||
        $result .= '<a href="group_list.php?action=delete_group&group_id='.$group_id.'&'.$url_params.'&sec_token='.$_SESSION['sec_token'].'"  onclick="javascript:if(!confirm('."'".addslashes(api_htmlentities(get_lang("ConfirmYourChoice"), ENT_QUOTES, $charset))."'".')) return false;">'.Display::return_icon('delete.png', get_lang('Delete'), array(), ICON_SIZE_SMALL).'</a>'; | 
				
			||||
    } | 
				
			||||
    return $result; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Build the active-column of the table to lock or unlock a certain user | 
				
			||||
 * lock = the user can no longer use this account | 
				
			||||
 * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University | 
				
			||||
 * @param int $active the current state of the account | 
				
			||||
 * @param int $user_id The user id | 
				
			||||
 * @param string $url_params | 
				
			||||
 * @return string Some HTML-code with the lock/unlock button | 
				
			||||
 */ | 
				
			||||
function active_filter($active, $url_params, $row) | 
				
			||||
{ | 
				
			||||
    $_user = api_get_user_info(); | 
				
			||||
 | 
				
			||||
    if ($active == '1') { | 
				
			||||
        $action = 'lock'; | 
				
			||||
        $image = 'right'; | 
				
			||||
    } elseif ($active == '-1') { | 
				
			||||
        $action = 'edit'; | 
				
			||||
        $image = 'expired'; | 
				
			||||
    } elseif ($active == '0') { | 
				
			||||
        $action = 'unlock'; | 
				
			||||
        $image = 'wrong'; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    if ($action == 'edit') { | 
				
			||||
        $result = Display::return_icon($image.'.gif', get_lang('AccountExpired')); | 
				
			||||
    } elseif ($row['0'] <> $_user['user_id']) { // you cannot lock yourself out otherwise you could disable all the accounts including your own => everybody is locked out and nobody can change it anymore. | 
				
			||||
        $result = '<a href="user_list.php?action='.$action.'&user_id='.$row['0'].'&'.$url_params.'&sec_token='.$_SESSION['sec_token'].'">'.Display::return_icon($image.'.gif', get_lang(ucfirst($action))).'</a>'; | 
				
			||||
    } | 
				
			||||
    return $result; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Lock or unlock a user | 
				
			||||
 * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University | 
				
			||||
 * @param int $status, do we want to lock the user ($status=lock) or unlock it ($status=unlock) | 
				
			||||
 * @param int $user_id The user id | 
				
			||||
 * @return language variable | 
				
			||||
 */ | 
				
			||||
function lock_unlock_user($status, $user_id) { | 
				
			||||
    $user_table = Database :: get_main_table(TABLE_MAIN_USER); | 
				
			||||
    if ($status == 'lock') { | 
				
			||||
        $status_db = '0'; | 
				
			||||
        $return_message = get_lang('UserLocked'); | 
				
			||||
    } | 
				
			||||
    if ($status == 'unlock') { | 
				
			||||
        $status_db = '1'; | 
				
			||||
        $return_message = get_lang('UserUnlocked'); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    if (($status_db == '1' OR $status_db == '0') AND is_numeric($user_id)) { | 
				
			||||
        $sql = "UPDATE $user_table SET active=".intval($status_db)." | 
				
			||||
                WHERE user_id=".intval($user_id).""; | 
				
			||||
        $result = Database::query($sql); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    if ($result) { | 
				
			||||
        return $return_message; | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Instead of displaying the integer of the status, we give a translation for the status | 
				
			||||
 * | 
				
			||||
 * @param integer $status | 
				
			||||
 * @return string translation | 
				
			||||
 * | 
				
			||||
 * @version march 2008 | 
				
			||||
 * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University, Belgium | 
				
			||||
 */ | 
				
			||||
function status_filter($status) { | 
				
			||||
    $statusname = api_get_status_langvars(); | 
				
			||||
    return $statusname[$status]; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
// INIT SECTION | 
				
			||||
$action = isset($_GET["action"]) ? $_GET["action"] : null; | 
				
			||||
 | 
				
			||||
if (isset($_GET['search']) && $_GET['search'] == 'advanced') { | 
				
			||||
    $interbreadcrumb[] = array("url" => 'index.php', "name" => get_lang('PlatformAdmin')); | 
				
			||||
    $interbreadcrumb[] = array("url" => 'group_list.php', "name" => get_lang('GroupList')); | 
				
			||||
    $tool_name = get_lang('SearchAUser'); | 
				
			||||
    Display :: display_header($tool_name); | 
				
			||||
    //api_display_tool_title($tool_name); | 
				
			||||
    $form = new FormValidator('advanced_search', 'get'); | 
				
			||||
    $form->addElement('header', '', $tool_name); | 
				
			||||
    $form->addText('keyword_firstname', get_lang('FirstName'), false); | 
				
			||||
    $form->addText('keyword_lastname', get_lang('LastName'), false); | 
				
			||||
    $form->addText('keyword_username', get_lang('LoginName'), false); | 
				
			||||
    $form->addText('keyword_email', get_lang('Email'), false); | 
				
			||||
    $form->addText('keyword_officialcode', get_lang('OfficialCode'), false); | 
				
			||||
    $status_options = array(); | 
				
			||||
    $status_options['%'] = get_lang('All'); | 
				
			||||
    $status_options[STUDENT] = get_lang('Student'); | 
				
			||||
    $status_options[COURSEMANAGER] = get_lang('Teacher'); | 
				
			||||
    $status_options[SESSIONADMIN] = get_lang('Administrator'); // | 
				
			||||
    $form->addElement('select', 'keyword_status', get_lang('Status'), $status_options); | 
				
			||||
    $active_group = array(); | 
				
			||||
    $active_group[] = $form->createElement('checkbox', 'keyword_active', '', get_lang('Active')); | 
				
			||||
    $active_group[] = $form->createElement('checkbox', 'keyword_inactive', '', get_lang('Inactive')); | 
				
			||||
    $form->addGroup($active_group, '', get_lang('ActiveAccount'), '<br/>', false); | 
				
			||||
    $form->addButtonSearch(get_lang('SearchUsers')); | 
				
			||||
    $defaults['keyword_active'] = 1; | 
				
			||||
    $defaults['keyword_inactive'] = 1; | 
				
			||||
    $form->setDefaults($defaults); | 
				
			||||
    $form->display(); | 
				
			||||
} else { | 
				
			||||
    $interbreadcrumb[] = array("url" => 'index.php', "name" => get_lang('PlatformAdmin')); | 
				
			||||
    $tool_name = get_lang('GroupList'); | 
				
			||||
    Display :: display_header($tool_name, ""); | 
				
			||||
 | 
				
			||||
    //api_display_tool_title($tool_name); | 
				
			||||
    if (isset($_GET['action'])) { | 
				
			||||
        $check = Security::check_token('get'); | 
				
			||||
        if ($check) { | 
				
			||||
            switch ($_GET['action']) { | 
				
			||||
                case 'delete_group': | 
				
			||||
                    if (api_is_platform_admin()) { | 
				
			||||
                        if (GroupPortalManager :: delete($_GET['group_id'])) { | 
				
			||||
                            Display :: display_confirmation_message(get_lang('GroupDeleted')); | 
				
			||||
                        } else { | 
				
			||||
                            Display :: display_error_message(get_lang('CannotDeleteGroup')); | 
				
			||||
                        } | 
				
			||||
                    } | 
				
			||||
                    break; | 
				
			||||
                case 'lock': | 
				
			||||
                    $message = lock_unlock_user('lock', $_GET['user_id']); | 
				
			||||
                    Display :: display_normal_message($message); | 
				
			||||
                    break; | 
				
			||||
                case 'unlock': | 
				
			||||
                    $message = lock_unlock_user('unlock', $_GET['user_id']); | 
				
			||||
                    Display :: display_normal_message($message); | 
				
			||||
                    break; | 
				
			||||
            } | 
				
			||||
            Security::clear_token(); | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
    if (isset($_POST['action'])) { | 
				
			||||
        $check = Security::check_token('get'); | 
				
			||||
        if ($check) { | 
				
			||||
            switch ($_POST['action']) { | 
				
			||||
                case 'delete' : | 
				
			||||
                    if (api_is_platform_admin()) { | 
				
			||||
                        $number_of_selected_groups = count($_POST['id']); | 
				
			||||
                        $number_of_deleted_groups = 0; | 
				
			||||
                        foreach ($_POST['id'] as $index => $group_id) { | 
				
			||||
                            if (GroupPortalManager :: delete($group_id)) { | 
				
			||||
                                $number_of_deleted_groups++; | 
				
			||||
                            } | 
				
			||||
                        } | 
				
			||||
                    } | 
				
			||||
                    if ($number_of_selected_groups == $number_of_deleted_groups) { | 
				
			||||
                        Display :: display_confirmation_message(get_lang('SelectedGroupsDeleted')); | 
				
			||||
                    } else { | 
				
			||||
                        Display :: display_error_message(get_lang('SomeGroupsNotDeleted')); | 
				
			||||
                    } | 
				
			||||
                    break; | 
				
			||||
            } | 
				
			||||
            Security::clear_token(); | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
    // Create a search-box | 
				
			||||
    $form = new FormValidator('search_simple', 'get', '', '', null, false); | 
				
			||||
    $renderer = & $form->defaultRenderer(); | 
				
			||||
    $renderer->setCustomElementTemplate('<span>{element}</span> '); | 
				
			||||
    $form->addElement('text', 'keyword', get_lang('Keyword')); | 
				
			||||
    $form->addButtonSearch(get_lang('Search')); | 
				
			||||
    echo '<div class="actions" style="width:100%;">'; | 
				
			||||
    if (api_is_platform_admin()) { | 
				
			||||
        echo '<span style="float:right;">'. | 
				
			||||
        '<a href="'.api_get_path(WEB_CODE_PATH).'admin/group_add.php">'.Display::return_icon('create_group_social_network.png', get_lang('AddGroups'), '', ICON_SIZE_MEDIUM).'</a>'. | 
				
			||||
        '</span>'; | 
				
			||||
    } | 
				
			||||
    $form->display(); | 
				
			||||
    echo '</div>'; | 
				
			||||
    if (isset($_GET['keyword'])) { | 
				
			||||
        $parameters = array('keyword' => Security::remove_XSS($_GET['keyword'])); | 
				
			||||
    } | 
				
			||||
    // Create a sortable table with user-data | 
				
			||||
    $parameters['sec_token'] = Security::get_token(); | 
				
			||||
 | 
				
			||||
    // get the list of all admins to mark them in the users list | 
				
			||||
    $admin_table = Database::get_main_table(TABLE_MAIN_ADMIN); | 
				
			||||
    $sql_admin = "SELECT user_id FROM $admin_table"; | 
				
			||||
    $res_admin = Database::query($sql_admin); | 
				
			||||
    $_admins_list = array(); | 
				
			||||
    while ($row_admin = Database::fetch_row($res_admin)) { | 
				
			||||
        $_admins_list[] = $row_admin[0]; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    $table = new SortableTable('group_list', 'get_number_of_groups', 'get_group_data', 2); | 
				
			||||
    $table->set_additional_parameters($parameters); | 
				
			||||
    $table->set_header(0, '', false); | 
				
			||||
    $table->set_header(1, get_lang('Name')); | 
				
			||||
    $table->set_header(2, get_lang('Description')); | 
				
			||||
    $table->set_header(3, get_lang('Visibility')); | 
				
			||||
    $table->set_header(4, '', false); | 
				
			||||
    $table->set_column_filter(4, 'modify_filter'); | 
				
			||||
    //$table->set_column_filter(6, 'status_filter'); | 
				
			||||
    //$table->set_column_filter(7, 'active_filter'); | 
				
			||||
    //$table->set_column_filter(8, 'modify_filter'); | 
				
			||||
    if (api_is_platform_admin()) | 
				
			||||
        $table->set_form_actions(array('delete' => get_lang('DeleteFromPlatform'))); | 
				
			||||
    $table->display(); | 
				
			||||
} | 
				
			||||
Display :: display_footer(); | 
				
			||||
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						@ -1,125 +0,0 @@ | 
				
			||||
<?php | 
				
			||||
 | 
				
			||||
namespace Chamilo\CoreBundle\Entity; | 
				
			||||
 | 
				
			||||
use Doctrine\ORM\Mapping as ORM; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * GroupRelGroup | 
				
			||||
 * | 
				
			||||
 * @ORM\Table(name="group_rel_group", indexes={@ORM\Index(name="group_id", columns={"group_id"}), @ORM\Index(name="subgroup_id", columns={"subgroup_id"}), @ORM\Index(name="relation_type", columns={"relation_type"})}) | 
				
			||||
 * @ORM\Entity | 
				
			||||
 */ | 
				
			||||
class GroupRelGroup | 
				
			||||
{ | 
				
			||||
    /** | 
				
			||||
     * @var integer | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="group_id", type="integer", nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $groupId; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var integer | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="subgroup_id", type="integer", nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $subgroupId; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var integer | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="relation_type", type="integer", nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $relationType; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var integer | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="id", type="integer") | 
				
			||||
     * @ORM\Id | 
				
			||||
     * @ORM\GeneratedValue(strategy="IDENTITY") | 
				
			||||
     */ | 
				
			||||
    private $id; | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set groupId | 
				
			||||
     * | 
				
			||||
     * @param integer $groupId | 
				
			||||
     * @return GroupRelGroup | 
				
			||||
     */ | 
				
			||||
    public function setGroupId($groupId) | 
				
			||||
    { | 
				
			||||
        $this->groupId = $groupId; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get groupId | 
				
			||||
     * | 
				
			||||
     * @return integer | 
				
			||||
     */ | 
				
			||||
    public function getGroupId() | 
				
			||||
    { | 
				
			||||
        return $this->groupId; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set subgroupId | 
				
			||||
     * | 
				
			||||
     * @param integer $subgroupId | 
				
			||||
     * @return GroupRelGroup | 
				
			||||
     */ | 
				
			||||
    public function setSubgroupId($subgroupId) | 
				
			||||
    { | 
				
			||||
        $this->subgroupId = $subgroupId; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get subgroupId | 
				
			||||
     * | 
				
			||||
     * @return integer | 
				
			||||
     */ | 
				
			||||
    public function getSubgroupId() | 
				
			||||
    { | 
				
			||||
        return $this->subgroupId; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set relationType | 
				
			||||
     * | 
				
			||||
     * @param integer $relationType | 
				
			||||
     * @return GroupRelGroup | 
				
			||||
     */ | 
				
			||||
    public function setRelationType($relationType) | 
				
			||||
    { | 
				
			||||
        $this->relationType = $relationType; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get relationType | 
				
			||||
     * | 
				
			||||
     * @return integer | 
				
			||||
     */ | 
				
			||||
    public function getRelationType() | 
				
			||||
    { | 
				
			||||
        return $this->relationType; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get id | 
				
			||||
     * | 
				
			||||
     * @return integer | 
				
			||||
     */ | 
				
			||||
    public function getId() | 
				
			||||
    { | 
				
			||||
        return $this->id; | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
@ -1,95 +0,0 @@ | 
				
			||||
<?php | 
				
			||||
 | 
				
			||||
namespace Chamilo\CoreBundle\Entity; | 
				
			||||
 | 
				
			||||
use Doctrine\ORM\Mapping as ORM; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * GroupRelTag | 
				
			||||
 * | 
				
			||||
 * @ORM\Table(name="group_rel_tag", indexes={@ORM\Index(name="group_id", columns={"group_id"}), @ORM\Index(name="tag_id", columns={"tag_id"})}) | 
				
			||||
 * @ORM\Entity | 
				
			||||
 */ | 
				
			||||
class GroupRelTag | 
				
			||||
{ | 
				
			||||
    /** | 
				
			||||
     * @var integer | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="tag_id", type="integer", nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $tagId; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var integer | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="group_id", type="integer", nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $groupId; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var integer | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="id", type="integer") | 
				
			||||
     * @ORM\Id | 
				
			||||
     * @ORM\GeneratedValue(strategy="IDENTITY") | 
				
			||||
     */ | 
				
			||||
    private $id; | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set tagId | 
				
			||||
     * | 
				
			||||
     * @param integer $tagId | 
				
			||||
     * @return GroupRelTag | 
				
			||||
     */ | 
				
			||||
    public function setTagId($tagId) | 
				
			||||
    { | 
				
			||||
        $this->tagId = $tagId; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get tagId | 
				
			||||
     * | 
				
			||||
     * @return integer | 
				
			||||
     */ | 
				
			||||
    public function getTagId() | 
				
			||||
    { | 
				
			||||
        return $this->tagId; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set groupId | 
				
			||||
     * | 
				
			||||
     * @param integer $groupId | 
				
			||||
     * @return GroupRelTag | 
				
			||||
     */ | 
				
			||||
    public function setGroupId($groupId) | 
				
			||||
    { | 
				
			||||
        $this->groupId = $groupId; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get groupId | 
				
			||||
     * | 
				
			||||
     * @return integer | 
				
			||||
     */ | 
				
			||||
    public function getGroupId() | 
				
			||||
    { | 
				
			||||
        return $this->groupId; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get id | 
				
			||||
     * | 
				
			||||
     * @return integer | 
				
			||||
     */ | 
				
			||||
    public function getId() | 
				
			||||
    { | 
				
			||||
        return $this->id; | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
@ -1,125 +0,0 @@ | 
				
			||||
<?php | 
				
			||||
 | 
				
			||||
namespace Chamilo\CoreBundle\Entity; | 
				
			||||
 | 
				
			||||
use Doctrine\ORM\Mapping as ORM; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * GroupRelUser | 
				
			||||
 * | 
				
			||||
 * @ORM\Table(name="group_rel_user", indexes={@ORM\Index(name="group_id", columns={"group_id"}), @ORM\Index(name="user_id", columns={"user_id"}), @ORM\Index(name="relation_type", columns={"relation_type"})}) | 
				
			||||
 * @ORM\Entity | 
				
			||||
 */ | 
				
			||||
class GroupRelUser | 
				
			||||
{ | 
				
			||||
    /** | 
				
			||||
     * @var integer | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="group_id", type="integer", nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $groupId; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var integer | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="user_id", type="integer", nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $userId; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var integer | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="relation_type", type="integer", nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $relationType; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var integer | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="id", type="integer") | 
				
			||||
     * @ORM\Id | 
				
			||||
     * @ORM\GeneratedValue(strategy="IDENTITY") | 
				
			||||
     */ | 
				
			||||
    private $id; | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set groupId | 
				
			||||
     * | 
				
			||||
     * @param integer $groupId | 
				
			||||
     * @return GroupRelUser | 
				
			||||
     */ | 
				
			||||
    public function setGroupId($groupId) | 
				
			||||
    { | 
				
			||||
        $this->groupId = $groupId; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get groupId | 
				
			||||
     * | 
				
			||||
     * @return integer | 
				
			||||
     */ | 
				
			||||
    public function getGroupId() | 
				
			||||
    { | 
				
			||||
        return $this->groupId; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set userId | 
				
			||||
     * | 
				
			||||
     * @param integer $userId | 
				
			||||
     * @return GroupRelUser | 
				
			||||
     */ | 
				
			||||
    public function setUserId($userId) | 
				
			||||
    { | 
				
			||||
        $this->userId = $userId; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get userId | 
				
			||||
     * | 
				
			||||
     * @return integer | 
				
			||||
     */ | 
				
			||||
    public function getUserId() | 
				
			||||
    { | 
				
			||||
        return $this->userId; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set relationType | 
				
			||||
     * | 
				
			||||
     * @param integer $relationType | 
				
			||||
     * @return GroupRelUser | 
				
			||||
     */ | 
				
			||||
    public function setRelationType($relationType) | 
				
			||||
    { | 
				
			||||
        $this->relationType = $relationType; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get relationType | 
				
			||||
     * | 
				
			||||
     * @return integer | 
				
			||||
     */ | 
				
			||||
    public function getRelationType() | 
				
			||||
    { | 
				
			||||
        return $this->relationType; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get id | 
				
			||||
     * | 
				
			||||
     * @return integer | 
				
			||||
     */ | 
				
			||||
    public function getId() | 
				
			||||
    { | 
				
			||||
        return $this->id; | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
@ -1,245 +0,0 @@ | 
				
			||||
<?php | 
				
			||||
 | 
				
			||||
namespace Chamilo\CoreBundle\Entity; | 
				
			||||
 | 
				
			||||
use Doctrine\ORM\Mapping as ORM; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Groups | 
				
			||||
 * | 
				
			||||
 * @ORM\Table(name="groups") | 
				
			||||
 * @ORM\Entity | 
				
			||||
 */ | 
				
			||||
class Groups | 
				
			||||
{ | 
				
			||||
    /** | 
				
			||||
     * @var string | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="name", type="string", length=255, nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $name; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var string | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="description", type="string", length=255, nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $description; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var string | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="picture_uri", type="string", length=255, nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $pictureUri; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var string | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="url", type="string", length=255, nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $url; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var integer | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="visibility", type="integer", nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $visibility; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var string | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="updated_on", type="string", length=255, nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $updatedOn; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var string | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="created_on", type="string", length=255, nullable=false) | 
				
			||||
     */ | 
				
			||||
    private $createdOn; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @var integer | 
				
			||||
     * | 
				
			||||
     * @ORM\Column(name="id", type="integer") | 
				
			||||
     * @ORM\Id | 
				
			||||
     * @ORM\GeneratedValue(strategy="IDENTITY") | 
				
			||||
     */ | 
				
			||||
    private $id; | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set name | 
				
			||||
     * | 
				
			||||
     * @param string $name | 
				
			||||
     * @return Groups | 
				
			||||
     */ | 
				
			||||
    public function setName($name) | 
				
			||||
    { | 
				
			||||
        $this->name = $name; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get name | 
				
			||||
     * | 
				
			||||
     * @return string | 
				
			||||
     */ | 
				
			||||
    public function getName() | 
				
			||||
    { | 
				
			||||
        return $this->name; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set description | 
				
			||||
     * | 
				
			||||
     * @param string $description | 
				
			||||
     * @return Groups | 
				
			||||
     */ | 
				
			||||
    public function setDescription($description) | 
				
			||||
    { | 
				
			||||
        $this->description = $description; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get description | 
				
			||||
     * | 
				
			||||
     * @return string | 
				
			||||
     */ | 
				
			||||
    public function getDescription() | 
				
			||||
    { | 
				
			||||
        return $this->description; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set pictureUri | 
				
			||||
     * | 
				
			||||
     * @param string $pictureUri | 
				
			||||
     * @return Groups | 
				
			||||
     */ | 
				
			||||
    public function setPictureUri($pictureUri) | 
				
			||||
    { | 
				
			||||
        $this->pictureUri = $pictureUri; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get pictureUri | 
				
			||||
     * | 
				
			||||
     * @return string | 
				
			||||
     */ | 
				
			||||
    public function getPictureUri() | 
				
			||||
    { | 
				
			||||
        return $this->pictureUri; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set url | 
				
			||||
     * | 
				
			||||
     * @param string $url | 
				
			||||
     * @return Groups | 
				
			||||
     */ | 
				
			||||
    public function setUrl($url) | 
				
			||||
    { | 
				
			||||
        $this->url = $url; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get url | 
				
			||||
     * | 
				
			||||
     * @return string | 
				
			||||
     */ | 
				
			||||
    public function getUrl() | 
				
			||||
    { | 
				
			||||
        return $this->url; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set visibility | 
				
			||||
     * | 
				
			||||
     * @param integer $visibility | 
				
			||||
     * @return Groups | 
				
			||||
     */ | 
				
			||||
    public function setVisibility($visibility) | 
				
			||||
    { | 
				
			||||
        $this->visibility = $visibility; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get visibility | 
				
			||||
     * | 
				
			||||
     * @return integer | 
				
			||||
     */ | 
				
			||||
    public function getVisibility() | 
				
			||||
    { | 
				
			||||
        return $this->visibility; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set updatedOn | 
				
			||||
     * | 
				
			||||
     * @param string $updatedOn | 
				
			||||
     * @return Groups | 
				
			||||
     */ | 
				
			||||
    public function setUpdatedOn($updatedOn) | 
				
			||||
    { | 
				
			||||
        $this->updatedOn = $updatedOn; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get updatedOn | 
				
			||||
     * | 
				
			||||
     * @return string | 
				
			||||
     */ | 
				
			||||
    public function getUpdatedOn() | 
				
			||||
    { | 
				
			||||
        return $this->updatedOn; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Set createdOn | 
				
			||||
     * | 
				
			||||
     * @param string $createdOn | 
				
			||||
     * @return Groups | 
				
			||||
     */ | 
				
			||||
    public function setCreatedOn($createdOn) | 
				
			||||
    { | 
				
			||||
        $this->createdOn = $createdOn; | 
				
			||||
 | 
				
			||||
        return $this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get createdOn | 
				
			||||
     * | 
				
			||||
     * @return string | 
				
			||||
     */ | 
				
			||||
    public function getCreatedOn() | 
				
			||||
    { | 
				
			||||
        return $this->createdOn; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get id | 
				
			||||
     * | 
				
			||||
     * @return integer | 
				
			||||
     */ | 
				
			||||
    public function getId() | 
				
			||||
    { | 
				
			||||
        return $this->id; | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue