parent
6ab82c7cfe
commit
8c4de053ba
@ -1,122 +0,0 @@ |
||||
|
||||
function Set_Cookie( name, value, expires, path, domain, secure ) { |
||||
// set time, it's in milliseconds
|
||||
var today = new Date(); |
||||
today.setTime( today.getTime() ); |
||||
// if the expires variable is set, make the correct expires time, the
|
||||
// current script below will set it for x number of days, to make it
|
||||
// for hours, delete * 24, for minutes, delete * 60 * 24
|
||||
if ( expires ) |
||||
{ |
||||
expires = expires * 1000 * 60 * 60 * 24; |
||||
} |
||||
//alert( 'today ' + today.toGMTString() );// this is for testing purpose only
|
||||
var expires_date = new Date( today.getTime() + (expires) ); |
||||
//alert('expires ' + expires_date.toGMTString());// this is for testing purposes only
|
||||
|
||||
document.cookie = name + "=" +escape( value ) + |
||||
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + //expires.toGMTString()
|
||||
( ( path ) ? ";path=" + path : "" ) + |
||||
( ( domain ) ? ";domain=" + domain : "" ) + |
||||
( ( secure ) ? ";secure" : "" ); |
||||
} |
||||
|
||||
function Get_Cookie( name ) { |
||||
var start = document.cookie.indexOf( name + "=" ); |
||||
var len = start + name.length + 1; |
||||
if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) |
||||
{ |
||||
return null; |
||||
} |
||||
if ( start == -1 ) return null; |
||||
var end = document.cookie.indexOf( ";", len ); |
||||
if ( end == -1 ) end = document.cookie.length; |
||||
return unescape( document.cookie.substring( len, end ) ); |
||||
} |
||||
|
||||
var xmlHttp=null; |
||||
var url=null |
||||
function set_url(ref) |
||||
{ |
||||
url=ref; |
||||
} |
||||
function mostrar_aviso() |
||||
{ |
||||
|
||||
document.getElementById("box").style.visibility="visible"; |
||||
|
||||
} |
||||
|
||||
function ocultar_aviso() |
||||
{ |
||||
document.getElementById("box").style.visibility="hidden"; |
||||
|
||||
} |
||||
|
||||
function notificar() |
||||
{ |
||||
vernuevos() |
||||
setTimeout("notificar()",60000) |
||||
} |
||||
|
||||
function vernuevos() |
||||
{ |
||||
|
||||
xmlHttp=GetXmlHttpObject(stateChanged) |
||||
xmlHttp.open("GET", url , true) |
||||
xmlHttp.send(null) |
||||
} |
||||
|
||||
function stateChanged() |
||||
{ |
||||
|
||||
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") |
||||
{ |
||||
document.getElementById("nuevos").innerHTML=xmlHttp.responseText |
||||
if(Get_Cookie("nuevos")==null || xmlHttp.responseText-Get_Cookie("nuevos")>0 ) |
||||
{ |
||||
|
||||
mostrar_aviso() |
||||
setTimeout("ocultar_aviso()",7000); |
||||
} |
||||
Set_Cookie( "nuevos", xmlHttp.responseText, 0, "/",'','') |
||||
} |
||||
} |
||||
|
||||
function GetXmlHttpObject(handler) |
||||
{ |
||||
var objXmlHttp=null |
||||
if (navigator.userAgent.indexOf("Opera")>=0) |
||||
{ |
||||
objXmlHttp=new XMLHttpRequest() |
||||
objXmlHttp.onload=handler |
||||
objXmlHttp.onerror=handler |
||||
return objXmlHttp |
||||
} |
||||
if (navigator.userAgent.indexOf("MSIE")>=0) |
||||
{ |
||||
var strName="Msxml2.XMLHTTP" |
||||
if (navigator.appVersion.indexOf("MSIE 5.5")>=0) |
||||
{ |
||||
strName="Microsoft.XMLHTTP" |
||||
} |
||||
try |
||||
{ |
||||
objXmlHttp=new ActiveXObject(strName) |
||||
objXmlHttp.onreadystatechange=handler |
||||
return objXmlHttp |
||||
} |
||||
catch(e) |
||||
{ |
||||
alert("Error. Scripting for ActiveX might be disabled") |
||||
return |
||||
} |
||||
} |
||||
if (navigator.userAgent.indexOf("Mozilla")>=0) |
||||
{ |
||||
objXmlHttp=new XMLHttpRequest() |
||||
objXmlHttp.onload=handler |
||||
objXmlHttp.onerror=handler |
||||
return objXmlHttp |
||||
} |
||||
} |
@ -0,0 +1,114 @@ |
||||
<?php |
||||
/* For licensing terms, see /chamilo_license.txt */ |
||||
/** |
||||
* @package dokeos.social |
||||
* @author Julio Montoya <gugli100@gmail.com> |
||||
*/ |
||||
|
||||
$language_file = array('userInfo'); |
||||
require '../inc/global.inc.php'; |
||||
require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php'; |
||||
require_once api_get_path(LIBRARY_PATH).'usermanager.lib.php'; |
||||
require_once api_get_path(LIBRARY_PATH).'social.lib.php'; |
||||
|
||||
$this_section = SECTION_SOCIAL; |
||||
|
||||
$interbreadcrumb[]= array ('url' =>'home.php','name' => get_lang('Social')); |
||||
|
||||
api_block_anonymous_users(); |
||||
|
||||
$group_id = intval($_GET['id']); |
||||
|
||||
//todo @this validation could be in a function in group_portal_manager |
||||
if (empty($group_id)) { |
||||
api_not_allowed(); |
||||
} else { |
||||
$group_info = GroupPortalManager::get_group_data($group_id); |
||||
if (empty($group_info)) { |
||||
api_not_allowed(); |
||||
} |
||||
//only admin or moderator can do that |
||||
$user_role = GroupPortalManager::get_user_group_role(api_get_user_id(), $group_id); |
||||
if (!in_array($user_role, array(GROUP_USER_PERMISSION_ADMIN, GROUP_USER_PERMISSION_MODERATOR))) { |
||||
api_not_allowed(); |
||||
} |
||||
} |
||||
|
||||
|
||||
Display :: display_header($tool_name, 'Groups'); |
||||
SocialManager::show_social_menu(); |
||||
echo '<div class="actions-title">'; |
||||
echo get_lang('GroupWaitingList'); |
||||
echo '</div>'; |
||||
|
||||
// Group information |
||||
$admins = GroupPortalManager::get_users_by_group($group_id, true,array(GROUP_USER_PERMISSION_ADMIN)); |
||||
$show_message = ''; |
||||
|
||||
if (isset($_GET['action']) && $_GET['action']=='accept') { |
||||
// we add a user only if is a open group |
||||
$user_join = intval($_GET['u']); |
||||
//if i'm a moderator |
||||
if (GroupPortalManager::is_group_moderator(api_get_user_id())) { |
||||
GroupPortalManager::update_user_role($user_join, $group_id); |
||||
$show_message = get_lang('UserAdded'); |
||||
} |
||||
} |
||||
|
||||
if (isset($_GET['action']) && $_GET['action']=='deny') { |
||||
// we add a user only if is a open group |
||||
$user_join = intval($_GET['u']); |
||||
//if i'm a moderator |
||||
if (GroupPortalManager::is_group_moderator(api_get_user_id())) { |
||||
GroupPortalManager::delete_user_rel_group($user_join, $group_id); |
||||
$show_message = get_lang('UserDeleted'); |
||||
} |
||||
} |
||||
|
||||
|
||||
if (isset($_GET['action']) && $_GET['action']=='set_moderator') { |
||||
// we add a user only if is a open group |
||||
$user_moderator= intval($_GET['u']); |
||||
//if i'm the admin |
||||
if (GroupPortalManager::is_group_admin(api_get_user_id())) { |
||||
GroupPortalManager::update_user_role($user_moderator, $group_id, GROUP_USER_PERMISSION_MODERATOR); |
||||
$show_message = get_lang('UserChangeToModerator'); |
||||
} |
||||
} |
||||
|
||||
|
||||
|
||||
if (! empty($show_message)){ |
||||
Display :: display_normal_message($show_message); |
||||
} |
||||
|
||||
$users = GroupPortalManager::get_users_by_group($group_id, true, array(GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER)); |
||||
$new_member_list = array(); |
||||
|
||||
|
||||
//Shows left column |
||||
echo GroupPortalManager::show_group_column_information($group_id, api_get_user_id()); |
||||
|
||||
//-- Show message groups |
||||
echo '<div id="layout_right" style="margin-left: 282px;">'; |
||||
|
||||
// Display form |
||||
foreach($users as $user) { |
||||
switch ($user['relation_type']) { |
||||
case GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER: |
||||
$user['link'] = '<a href="group_waiting_list.php?id='.$group_id.'&u='.$user['user_id'].'&action=accept">'.Display::return_icon('add_user.gif', get_lang('Accept')).'</a>'; |
||||
$user['link'] .= '<a href="group_waiting_list.php?id='.$group_id.'&u='.$user['user_id'].'&action=set_moderator">'.Display::return_icon('add_teacher_big.gif', get_lang('Moderator')).'</a>'; |
||||
$user['link'] .='<a href="group_waiting_list.php?id='.$group_id.'&u='.$user['user_id'].'&action=deny">'.Display::return_icon('delete.gif', get_lang('Deny')).'</a>'; |
||||
break; |
||||
} |
||||
$new_member_list[] = $user; |
||||
} |
||||
|
||||
if (count($new_member_list) > 0) { |
||||
Display::display_sortable_grid('search_users', array(), $new_member_list, array('hide_navigation'=>true, 'per_page' => 100), $query_vars, false, array(true, false, true,true,false,true,true)); |
||||
} |
||||
|
||||
echo '</div>'; // end layout right |
||||
|
||||
Display :: display_footer(); |
||||
?> |
Loading…
Reference in new issue