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.
 
 
 
 

156 lines
6.4 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_mermoryonlymyorg' => $setting['explorer_mermoryonlymyorg'],
'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_mermoryonlymyorg',
'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');
}