mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-27 14:22:54 +09:00
issue 87 userlist in vitual site manager view
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8800 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
5d415ec3c3
commit
eeb849c836
10 changed files with 384 additions and 3 deletions
|
|
@ -566,5 +566,89 @@
|
|||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
function _checkGrantSiteAdmin(){
|
||||
$oMemberModel = &getModel('member');
|
||||
$logged_info = $oMemberModel->getLoggedInfo();
|
||||
|
||||
$site_module_info = Context::get('site_module_info');
|
||||
$oModuleModel = &getModel('module');
|
||||
$grant = $oModuleModel->getGrant($site_module_info, $logged_info);
|
||||
if(!$grant->is_site_admin) return $this->stop("msg_is_not_administrator");
|
||||
|
||||
$output->grant = $grant;
|
||||
$output->site_srl = $site_module_info->site_srl;
|
||||
return $output;
|
||||
}
|
||||
/**
|
||||
*
|
||||
**/
|
||||
function procMemberAdminSiteMemberManage(){
|
||||
// check siteadmin grant
|
||||
$check_info = $this->_checkGrantSiteAdmin();
|
||||
|
||||
$oMemberController = &getController('member');
|
||||
|
||||
$var = Context::getRequestVars();
|
||||
$groups = $var->groups;
|
||||
$members = $var->member_srls;
|
||||
|
||||
$oDB = &DB::getInstance();
|
||||
$oDB->begin();
|
||||
|
||||
// site_srl set
|
||||
$args->site_srl = $check_info->site_srl;
|
||||
if ($var->type == 'modify'){
|
||||
if (count($groups) > 1){
|
||||
$args->member_srl = $var->member_srls;
|
||||
// delete origin group
|
||||
$output = executeQuery('member.deleteMembersGroup', $args);
|
||||
if (!$output->toBool()){
|
||||
$oDB->rollback();
|
||||
return $output;
|
||||
}
|
||||
|
||||
foreach($groups as $group_srl){
|
||||
foreach($members as $member_srl){
|
||||
$output = $oMemberController->addMemberToGroup($member_srl, $group_srl, $check_info->site_srl);
|
||||
if (!$output->toBool()){
|
||||
$oDB->rollback();
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
$args->group_srl = $groups[0];
|
||||
$args->member_srl = $var->member_srls;
|
||||
$oMemberController->replaceMemberGroup($args);
|
||||
}
|
||||
}else if ($var->type == 'delete'){
|
||||
$args->member_srl = $members;
|
||||
$output = executeQuery('member.deleteMembersGroup', $args);
|
||||
if(!$output->toBool()){
|
||||
$oDB->rollback();
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
$oDB->commit(true);
|
||||
|
||||
$message = $var->message;
|
||||
// Send a message
|
||||
if($message) {
|
||||
$oCommunicationController = &getController('communication');
|
||||
|
||||
$logged_info = Context::get('logged_info');
|
||||
$title = cut_str($message,10,'...');
|
||||
$sender_member_srl = $logged_info->member_srl;
|
||||
|
||||
foreach($members as $member_srl){
|
||||
$oCommunicationController->sendMessage($sender_member_srl, $member_srl, $title, $message, false);
|
||||
}
|
||||
}
|
||||
|
||||
$this->setRedirectUrl(Context::get('return_url'));
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue