You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

154 lines
5.6 KiB

<?php
if (!defined('IN_DZZ')) {
exit('Access Denied');
}
include libfile('function/organization');
Hook::listen('check_login');//检查是否登录,未登录跳转到登录界面
global $_G;
$uid = $_G['uid'];
if($_G['adminid'] != 1){
showmessage(lang('no_privilage'));
}
$do = isset($_GET['do']) ? trim($_GET['do']):'';
if($do == 'updatesetting'){//更新设置
include_once libfile('function/cache');
$setting = $_GET['setting'];
$setarr=array(
'explorer_usermemoryOn' => (isset($setting['explorer_usermemoryOn']) && $setting['explorer_usermemoryOn'] == 'on' )?1:0,
'explorer_mermoryusersetting' => $setting['explorer_mermoryusersetting'],
'explorer_memoryorgusers' => $setting['explorer_memoryorgusers'],
'explorer_organizationOn' => (isset($setting['explorer_organizationOn']) && $setting['explorer_organizationOn'] == 'on' )?1:0,//isset($setting['organizationOn'])?$setting['organizationOn']:'',
'explorer_groupOn' => (isset($setting['explorer_groupOn']) && $setting['explorer_groupOn'] == 'on' )?1:0,//isset($setting['groupOn'])?$setting['groupOn']:'',
'explorer_groupcreate'=>(isset($setting['explorer_groupcreate']) && $setting['explorer_groupcreate'] == 'on' )?1:0,
'explorer_mermorygroupsetting' => $setting['explorer_mermorygroupsetting'],
'explorer_memorygroupusers' => $setting['explorer_memorygroupusers'],
'explorer_catcreate'=>(isset($setting['explorer_catcreate']) && $setting['explorer_catcreate'] == 'on' )?1:0,
'explorer_finallydelete'=>(isset($setting['explorer_finallydelete']))?$setting['explorer_finallydelete']:-1
);
if(C::t('setting')->update_batch($setarr)){
updatecache('setting');
exit(json_encode(array('success'=>true,'msg'=>lang('update_setting_success'))));
}else{
exit(json_encode(array('error'=>true,'msg'=>lang('update_setting_failed'))));
}
}else{
//查询所有设置
$setting = C::t('setting') -> fetch_all(
array(
'explorer_usermemoryOn',
'explorer_mermoryusersetting',
'explorer_memoryorgusers',
'explorer_memorySpace',
'explorer_organizationOn',
'explorer_groupOn',
'explorer_groupcreate',
'explorer_mermorygroupsetting',
'explorer_memorygroupusers',
'explorer_catcreate',
'explorer_finallydelete'
));
//处理指定空间人员
if($setting['explorer_memoryorgusers']){
$muids=explode(',',$setting['explorer_memoryorgusers']);
}
$orgids=$uids=$sel_org=$sel_user=array();
foreach($muids as $value){
if(strpos($value,'uid_')!==false){
$uids[]=str_replace('uid_','',$value);
}else{
$orgids[]=$value;
}
}
$open=array();
if($orgids){
$sel_org=C::t('organization')->fetch_all($orgids);
foreach($sel_org as $key=> $value){
$orgpath=getPathByOrgid($value['orgid']);
$sel_org[$key]['orgpath']=implode('-',($orgpath));
$arr=(array_keys($orgpath));
//print_r($arr);
array_pop($arr);
if($count=count($arr)){
if($open[$arr[$count-1]]){
if(count($open[$arr[$count-1]])>$count) $open[$arr[count($arr)-1]]=$arr;
}else{
$open[$arr[$count-1]]=$arr;
}
}
}
if(in_array('other',$orgids)){
$sel_org[]=array('orgname'=>lang('no_org_user'),'orgid'=>'other','forgid'=>1);
}
}
if($uids){
$sel_user=C::t('user')->fetch_user_avatar_by_uids($uids);
if($aorgids=C::t('organization_user')->fetch_orgids_by_uid($uids)){
foreach($aorgids as $orgid){
$arr= C::t('organization')->fetch_parent_by_orgid($orgid,true);
if($count=count($arr)){
if($open[$arr[$count-1]]){
if(count($open[$arr[$count-1]])>$count) $open[$arr[count($arr)-1]]=$arr;
}else{
$open[$arr[$count-1]]=$arr;
}
}
}
}
}
if($setting['explorer_memorygroupusers']){
$muids=explode(',',$setting['explorer_memorygroupusers']);
}
$orgids1=$uids1=$sel_org1=$sel_user1=array();
foreach($muids as $value){
if(strpos($value,'uid_')!==false){
$uids1[]=str_replace('uid_','',$value);
}else{
$orgids1[]=$value;
}
}
//新建群组用户
$open1=array();
if($orgids1){
$sel_org1=C::t('organization')->fetch_all($orgids1);
foreach($sel_org1 as $key=> $value){
$orgpath=getPathByOrgid($value['orgid']);
$sel_org1[$key]['orgpath']=implode('-',($orgpath));
$arr=(array_keys($orgpath));
//print_r($arr);
array_pop($arr);
if($count=count($arr)){
if($open1[$arr[$count-1]]){
if(count($open1[$arr[$count-1]])>$count) $open1[$arr[count($arr)-1]]=$arr;
}else{
$open1[$arr[$count-1]]=$arr;
}
}
}
if(in_array('other',$orgids1)){
$sel_org1[]=array('orgname'=>lang('no_org_user'),'orgid'=>'other','forgid'=>1);
}
}
if($uids1){
$sel_user1=C::t('user')->fetch_user_avatar_by_uids($uids1);
if($aorgids=C::t('organization_user')->fetch_orgids_by_uid($uids1)){
foreach($aorgids as $orgid){
$arr= C::t('organization')->fetch_parent_by_orgid($orgid,true);
if($count=count($arr)){
if($open1[$arr[$count-1]]){
if(count($open[$arr[$count-1]])>$count) $open1[$arr[count($arr)-1]]=$arr;
}else{
$open1[$arr[$count-1]]=$arr;
}
}
}
}
}
$openarr=json_encode(array('orgids'=>$open,'orgids1'=>$open1));
require template('app_manage');
}