HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/bs.kntsleep.com/system/admin/home/shortcut.class.php
<?php
/*
 * Copyright (c) Huyin Information Technology Co., Ltd. All Rights Reserved.
 * BOSSCMS Content Management System (https://www.bosscms.net/)
 */
defined('IS_OK') or exit('Access Forbidden');

into::basic_class('admin');
into::basic_json('navadm');

class shortcut extends admin
{
	public function init()
	{
		global $G;
		$data = json::decode($G['config']['shortcut']);
        $n = count($data);
        foreach($data as $k=>$v){
            $data[$k]['sort'] = $n-$k;
            $data[$k]['name'] = $v['name'];
        }
		echo $this->theme('home/shortcut',$data);
	}
	
	public function modify()
	{
		global $G;
		if(isset($G['post']['id'])){
            $shortcut = json::decode($G['config']['shortcut']);
            $n = count($shortcut);
            $data = array();
            foreach($shortcut as $k=>$v){
                if(in_array($k,$G['post']['id'])){
                    $data[$G['post']['sort'.$k].'.'.$k] = $v;
                }else{
                    $data[$n-$k] = $v;
                }
            }
            krsort($data);
			mysql::select_set(array('name'=>'shortcut','value'=>json::enfilter(array_values($data)),'parent'=>'0','type'=>'1','lang'=>'0'),'config',array('value'));
            alert('修改成功', url::mpf('home','shortcut','init'));
		}else{
			alert('没有提交信息');
		}
	}
	
	public function edit()
	{
		global $G;
		$shortcut = json::decode($G['config']['shortcut']);
        if(isset($G['get']['id'])){
            $data = $shortcut[$G['get']['id']];
        }
        $data['navadm'] = $this->navadm(true);
		echo $this->theme('home/edit',$data);
	}
	
	public function add()
	{
		global $G;
        if($G['post']){
            $data = json::decode($G['config']['shortcut']);
            $arr = array(
                'name' => delFilter($G['post']['name']),
                'link' => delFilter($G['post']['link']),
                'icon' => delFilter($G['post']['icon'])
            );
            if(isset($G['get']['id'])){
                $data[$G['get']['id']] = $arr;
            }else{
                $data[] = $arr;
            }
			mysql::select_set(array('name'=>'shortcut','value'=>json::enfilter($data),'parent'=>'0','type'=>'1','lang'=>'0'),'config',array('value'));
            alert('保存成功', url::mpf('home','shortcut','edit',array('id'=>$id,'success'=>'ok')));
        }
        alert('没有提交信息');
	}
	
	public function delete()
	{
		global $G;
		if(isset($G['post']['url']) && isset($G['get']['id'])){
            $data = json::decode($G['config']['shortcut']);
			$arr = explode(',',$G['get']['id']);
			foreach($arr as $id){
                unset($data[$id]);
			}
			mysql::select_set(array('name'=>'shortcut','value'=>json::enfilter(array_values($data)),'parent'=>'0','type'=>'1','lang'=>'0'),'config',array('value'));
            alert('删除成功',url::mpf('home','shortcut','init',array('id'=>null)));
		}
		alert('没有提交信息');
	}
	
	public function navadm($font=false)
	{
		global $G;
        $data = array();
        foreach($G['navadm'] as $key=>$val){
            foreach($val['child'] as $ke=>$va){
                $data[$key.P.$ke] = $va['name'];
                if(strstr($val['icon'],'plugin')){
                    $res = page::plugin_list();
                    foreach($res as $v){
                        $va['child'][] = array(
                            'mold' => $v['name'],
                            'part' => $v['name'],
                            'name' => arrExist(load::plugin($v['name']),'title')
                        );
                    }
                }
                foreach($va['child'] as $k=>$v){
                    $mp = $v['mold'].($v['part']?'&'.$v['part']:'');
                    if($G['manager']['level']==1 || strstr($G['manager']['permit'],"\"{$mp}\"")){
                        $data[$mp] = ($font?'<font>&nbsp;&nbsp;&#10551;&nbsp;</font>':'').$v['name'];
                    }
                }
            }
        }
        return $data;
    }
}
?>