Files
Pichome/dzz/pichome/admin/basic.php
2024-01-31 01:00:33 +08:00

182 lines
7.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
if (!defined('IN_OAOOA')) {//所有的php文件必须加上此句防止被外部调用
exit('Access Denied');
}
$operation = isset($_GET['operation']) ? trim($_GET['operation']) : 'basic';
$themeid = isset($_G['setting']['pichometheme']) ? intval($_G['setting']['pichometheme']):1;
include libfile('function/cache');
global $_G;
$navtitle = '基本设置';
if (isset($_G['setting'])) $setting = $_G['setting'];
else $setting = C::t('setting')->fetch_all();
$themedata = getthemedata($themeid);
$lefsetdata = $themedata['singlepage'];
if ($operation == 'basic') {
if (submitcheck('settingsubmit')) {
$settingnew = $_GET['settingnew'];
updatesetting($setting, $settingnew);
dexit(json_encode(array('success' => true)));
} else {
$type = isset($_GET['type']) ? trim($_GET['type']) : '';
if($type=='getdata'){
exit(json_encode(array('data' => $setting)));
}else{
$waterfilepath = $_G['setting']['attachurl'] . 'sitelogo/sitelogo.png';
if (!file_exists($waterfilepath)) {
$waterfilepath = '';
}
include template('admin/pc/page/basic');
}
}
}
elseif ($operation == 'authorize') {//授权信息
include_once libfile( 'function/cache' );
$operation = isset($_GET['operation']) ? trim($_GET['operation']) : '';
if ($operation) {
if(isset($_FILES['file'])){
$files = $_FILES['file'];
$licdata = file_get_contents($files['tmp_name']);
if(!$licdata) exit(json_encode(array('error'=>true)));
C::t('setting')->update('sitelicensedata',$licdata);
updatecache( 'setting' );
dexit(json_encode(array('success' => true)));
}else{
dexit(json_encode(array('error'=>true)));
}
} else {
$version = defined('LICENSE_VERSION') ? lang(LICENSE_VERSION) : lang('Home');
$limitusernum = defined('LICENSE_LIMIT') ? LICENSE_LIMIT : 1;
if (defined('NOLIMITUSER')) $limitusernum = '无限';
$authdate = defined('LICENSE_CTIME') ? dgmdate(LICENSE_CTIME, 'Y-m-d H:i:s') : '';
include template('admin/pc/page/site/authorize');
}
}
elseif($operation == 'updateauth'){
include_once libfile( 'function/cache' );
$username = isset($_GET['username']) ? trim($_GET['username']):'';
$password = isset($_GET['password']) ? trim($_GET['password']):'';
$mcode = getglobal('setting/machinecode');
$datastr = $username."\t".$password."\t".$mcode;
$data = dzzencode($datastr,$mcode);
$authurl = APP_CHECK_URL.'authlicense/getauth/'.$mcode.'/'.$data.'/'. TIMESTAMP;
$response = json_decode(dfsockopen($authurl,0, '', '', FALSE, '',3),true);
if(isset($response['authcode'])){
C::t('setting')->update('sitelicensedata',$response['authcode']);
updatecache( 'setting' );
}
if(isset($response['error']))exit(json_encode(array('error'=>$response['error'])));
else exit(json_encode(array('success'=>true)));
}
elseif ($operation == 'uploadlogo') {//上传logo
global $_G;
$files = $_FILES['file'];
if ($files["type"] != 'image/png' || $files['size'] >= 1024 * 1024 * 2) {
exit(json_encode(array('error' => 'file is not invalite')));
}
$waterfilepath = $_G['setting']['attachurl'] . 'sitelogo/sitelogo.png';
$return = move_uploaded_file($files["tmp_name"], $waterfilepath);
exit(json_encode(array('success' => true)));
}
elseif ($operation == 'pagesetting') {//界面设置
if (submitcheck('settingsubmit')) {
$settingnew = $_GET['settingnew'];
updatesetting($setting, $settingnew);
exit(json_encode(array('success' => true)));
} else {
$waterfilepath = $_G['setting']['attachurl'] . 'sitelogo/sitelogo.png';
include template('admin/pc/page/site/page');
}
}
elseif($operation == 'importsetting'){
if (submitcheck('settingsubmit')) {
$settingnew = $_GET['settingnew'];
updatesetting($setting, $settingnew);
exit(json_encode(array('success' => true)));
} else {
$Defaultnotallowdir = json_encode($Defaultnotallowdir);
include template('admin/pc/page/site/import');
}
}elseif ($operation == 'loginpage') {//登录页设置
}
elseif ($operation == 'fileterset') {//筛选项设置
$applist = DB::fetch_all("select appid,appname from %t where isdelete < 1",array('pichome_vapp'));
$appid = isset($_GET['appid']) ? trim($_GET['appid']):'';
if (submitcheck('settingsubmit')) {
$settingnew = $_GET['settingnew'] ? $_GET['settingnew'] : array();
if($appid!='all'){
$setarr = ['filter' => isset($settingnew['pichomefilterfileds']) ? serialize($settingnew['pichomefilterfileds']):''];
C::t('pichome_vapp')->update($appid, $setarr);
}else{
$settingnew['pichomefilterfileds'] = isset($settingnew['pichomefilterfileds']) ? serialize($settingnew['pichomefilterfileds']):'';
updatesetting($setting, $settingnew);
}
exit(json_encode(array('success' => true)));
} else {
if($appid){
if($appid == 'all'){
$catdata = array();
$data = isset($setting['pichomefilterfileds']) ? $setting['pichomefilterfileds']:[];
}else{
$appdata = C::t('pichome_vapp')->fetch($appid);
$catdata = C::t('pichome_taggroup')->fetch_by_appid($appid);
array_push($catdata,['cid'=>-1,'catname'=>'未分组']);
$data = $appdata['filter'] ? unserialize($appdata['filter']):[];
}
exit(json_encode(array('data'=>$data,'catdata'=>$catdata)));
}else{
include template('admin/pc/page/site/fileterset');
}
}
}elseif ($operation == 'onlyofficesetting') {//onlyoffice
if (submitcheck('settingsubmit')) {
$settingnew = $_GET['settingnew'];
updatesetting($setting, $settingnew);
exit(json_encode(array('success' => true)));
} else {
$settingnew['onlyofficeurl'] = isset($setting['onlyofficeurl']) ? $setting['onlyofficeurl']:'';
$settingnew['onlyofficethumbext'] = isset($setting['onlyofficethumbext']) ? $setting['onlyofficethumbext']:'pdf,doc,docx,rtf,odt,htm,html,mht,txt,ppt,pptx,pps,ppsx,odp,xls,xlsx,ods,csv';
$settingnew = json_encode($settingnew);
include template('pc/page/adminOnlyOffice');
}
}
function updatesetting($setting, $settingnew){
$updatecache = false;
$settings = array();
$updatethumb = false;
$updateroute = false;
foreach ($settingnew as $key => $val) {
if ($setting[$key] != $val) {
$updatecache = TRUE;
if (in_array($key, array('timeoffset', 'regstatus', 'oltimespan', 'seccodestatus'))) {
$val = (float)$val;
}elseif($key == 'pathinfo'){
$updateroute = true;
}
$settings[$key] = $val;
}
}
if ($settings) {
C::t('setting')->update_batch($settings);
}
if ($updatecache) {
updatecache('setting');
}
if($updateroute){
C::t('pichome_route')->update_route();
}
return true;
}
exit();