update admin menu
This commit is contained in:
parent
e44492d5fc
commit
0efc73a251
15 changed files with 235 additions and 100 deletions
22
AvocadoEdition_Light/adm/_m.board.menu.php
Normal file
22
AvocadoEdition_Light/adm/_m.board.menu.php
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
$menu["board"] = new MenuCategory("board", "board", "게시판관리", "/board_list.php", true, 2, "", 0);
|
||||
|
||||
$menu["board"]->addChildMenu("member", "게시판관리", G5_ADMIN_URL . "/board_list.php", true, 1, "gear-wide-connected", 0);
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/board_list_update.php");
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/board_form.php");
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/board_form_update.php");
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/board_delete.php");
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/board_copy.php");
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/board_copy_update.php");
|
||||
|
||||
$menu["board"]->addChildMenu("member", "게시판그룹관리", G5_ADMIN_URL . "/boardgroup_list.php", true, 2, "gear-wide-connected", 0);
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/boardgroup_list_update.php");
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/boardgroup_form.php");
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/boardgroup_form_update.php");
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/boardgroupmember_list.php");
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/boardgroupmember_update.php");
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/boardgroupmember_form.php");
|
||||
|
||||
$menu["board"]->addChildMenu("member", "내용관리", G5_ADMIN_URL . "/contentlist.php", true, 2, "gear-wide-connected", 0);
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/contentform.php");
|
||||
$menu["board"]->getLastAddedMenu()->addSubURL("/contentformupdate.php");
|
||||
22
AvocadoEdition_Light/adm/_m.member.menu.php
Normal file
22
AvocadoEdition_Light/adm/_m.member.menu.php
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
$menu["member"] = new MenuCategory("member", "member", "회원관리", "/member_list.php", true, 1, "", 0);
|
||||
|
||||
$menu["member"]->addChildMenu("member", "회원관리", G5_ADMIN_URL . "/member_list.php", true, 1, "gear-wide-connected", 0);
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/member_form.php");
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/member_delete.php");
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/member_list_update.php");
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/member_list_delete.php");
|
||||
|
||||
$menu["member"]->addChildMenu("member", "접속자집계", G5_ADMIN_URL . "/visit_list.php", true, 2, "grid-1x2", 0);
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/visit_domain.php");
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/visit_browser.php");
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/visit_os.php");
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/visit_device.php");
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/visit_hour.php");
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/visit_date.php");
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/visit_week.php");
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/visit_month.php");
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/visit_year.php");
|
||||
|
||||
$menu["member"]->addChildMenu("member", "접속자로그삭제", G5_ADMIN_URL . "/visit_delete.php", true, 3, "palette2", 0);
|
||||
$menu["member"]->getLastAddedMenu()->addSubURL("/visit_delete_update.php");
|
||||
8
AvocadoEdition_Light/adm/_m.other.menu.php
Normal file
8
AvocadoEdition_Light/adm/_m.other.menu.php
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<?php
|
||||
$menu["other"] = new MenuCategory("other", "other", "기타관리", "/config_form.php", true, 99, "", 0);
|
||||
|
||||
$menu["other"]->addChildMenu("other", "홈페이지 상세관리", G5_ADMIN_URL . "/config_form.php", true, 1, "gear-wide-connected", 0);
|
||||
$menu["other"]->getLastAddedMenu()->addSubURL("/config_form_update.php");
|
||||
|
||||
$menu["other"]->addChildMenu("other", "세션파일 일괄삭제", G5_ADMIN_URL . "/session_file_delete.php", true, 1, "gear-wide-connected", 0);
|
||||
$menu["other"]->addChildMenu("other", "캐시파일 일괄삭제", G5_ADMIN_URL . "/cache_file_delete.php", true, 1, "gear-wide-connected", 0);
|
||||
22
AvocadoEdition_Light/adm/_m.site.menu.php
Normal file
22
AvocadoEdition_Light/adm/_m.site.menu.php
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
$menu["config"] = new MenuCategory("config", "config", "사이트 설정", "/site_config_form.php", true, 0, "", 0);
|
||||
|
||||
$menu["config"]->addChildMenu("config", "환경설정", G5_ADMIN_URL . "/site_config_form.php", true, 1, "gear-wide-connected", 0);
|
||||
$menu["config"]->getLastAddedMenu()->addSubURL("/site_config_form_update.php");
|
||||
|
||||
$menu["config"]->addChildMenu("config", "메인 편집", G5_ADMIN_URL . "/viewer_form.php", true, 2, "grid-1x2", 0);
|
||||
$menu["config"]->getLastAddedMenu()->addSubURL("/viewer_form_update.php");
|
||||
|
||||
$menu["config"]->addChildMenu("config", "테마 설정", G5_ADMIN_URL . "/theme.php", true, 3, "palette2", 0);
|
||||
$menu["config"]->getLastAddedMenu()->addSubURL("/theme_config_load.php");
|
||||
$menu["config"]->getLastAddedMenu()->addSubURL("/theme_detail.php");
|
||||
$menu["config"]->getLastAddedMenu()->addSubURL("/theme_update.php");
|
||||
$menu["config"]->getLastAddedMenu()->addSubURL("/theme_preview.php");
|
||||
|
||||
$menu["config"]->addChildMenu("config", "디자인 설정", G5_ADMIN_URL . "/design_form.php", true, 4, "brush", 0);
|
||||
$menu["config"]->getLastAddedMenu()->addSubURL("/design_form_update.php");
|
||||
|
||||
$menu["config"]->addChildMenu("config", "메뉴 설정", G5_ADMIN_URL . "/menu_list.php", true, 5, "list", 0);
|
||||
$menu["config"]->getLastAddedMenu()->addSubURL("/menu_list_update.php");
|
||||
$menu["config"]->getLastAddedMenu()->addSubURL("/menu_form.php");
|
||||
$menu["config"]->getLastAddedMenu()->addSubURL("/menu_form_search.php");
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
<?php
|
||||
if (!defined('_GNUBOARD_'))
|
||||
exit;
|
||||
|
||||
class Menu
|
||||
{
|
||||
public $mid;
|
||||
public $name;
|
||||
public $order;
|
||||
public $target;
|
||||
public $icon;
|
||||
public $gnb_grp_div;
|
||||
|
||||
public function __construct($mid, $name, $target, $order = 0, $icon = "", $gnb_grp_div = 0)
|
||||
{
|
||||
$this->mid = $mid;
|
||||
$this->name = $name;
|
||||
$this->order = $order;
|
||||
$this->target = $target;
|
||||
$this->icon = $icon;
|
||||
$this->gnb_grp_div = $gnb_grp_div;
|
||||
}
|
||||
}
|
||||
|
||||
class MenuCategory extends Menu
|
||||
{
|
||||
public $key;
|
||||
public $childmenu;
|
||||
|
||||
public function __construct($key, $mid, $name, $target, $order = 0, $icon = '', $gnb_grp_div = 0)
|
||||
{
|
||||
$this->key = $key;
|
||||
$this->childmenu = [];
|
||||
parent::__construct($mid, $name, $target, $order, $icon, $gnb_grp_div);
|
||||
}
|
||||
|
||||
public function addChildMenu($mid, $name, $target, $order = 0, $icon = '', $gnb_grp_div = 0)
|
||||
{
|
||||
$this->childmenu[] = new Menu($mid, $name, $target, $order, $icon, $gnb_grp_div);
|
||||
usort($this->childmenu, function($a, $b) {
|
||||
return $a->order - $b->order;
|
||||
});
|
||||
}
|
||||
|
||||
public function buildHtml()
|
||||
{
|
||||
global $g5, $is_admin, $auth, $menu, $auth_menu, $sub_menu;
|
||||
}
|
||||
}
|
||||
|
|
@ -95,20 +95,13 @@ function print_menu2($key, $no)
|
|||
</ul>
|
||||
<?php
|
||||
$gnb_str = "<ul>";
|
||||
foreach ($amenu as $key => $value) {
|
||||
$href1 = $href2 = '';
|
||||
if ($menu['menu' . $key][0][2]) {
|
||||
$href1 = '<a href="' . $menu['menu' . $key][0][2] . '" class="gnb_1da" data-text="' . $menu['menu' . $key][0][1] . '">';
|
||||
$href2 = '</a>';
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
foreach ($menu as $key => $menuitem) {
|
||||
$current_class = "";
|
||||
if (isset($sub_menu) && (substr($sub_menu, 0, 3) == substr($menu['menu' . $key][0][0], 0, 3)))
|
||||
$current_class = " gnb_1dli_air";
|
||||
$gnb_str .= '<li class="gnb_1dli' . $current_class . '">' . PHP_EOL;
|
||||
$gnb_str .= $href1 . $menu['menu' . $key][0][1] . $href2;
|
||||
$gnb_str .= print_menu1('menu' . $key, 1);
|
||||
$gnb_str .= "<li class=\"gnb_1dli{$current_class}\" data-text=\"{$menuitem->name}\">" . PHP_EOL;
|
||||
$gnb_str .= "<a href=\"" . G5_ADMIN_URL . $menuitem->url . "\" class=\"gnb_1da\">";
|
||||
$gnb_str .= $menuitem->name;
|
||||
$gnb_str .= "</a>";
|
||||
$gnb_str .= $menuitem->buildHtml();//print_menu1('menu' . $key, 1);
|
||||
$gnb_str .= "</li>";
|
||||
}
|
||||
$gnb_str .= "</ul>";
|
||||
|
|
|
|||
|
|
@ -444,20 +444,19 @@ if (get_session('ss_mb_key') !== $admin_key) {
|
|||
// 가변 메뉴
|
||||
unset($auth_menu);
|
||||
unset($menu);
|
||||
unset($amenu);
|
||||
$tmp = dir(G5_ADMIN_PATH);
|
||||
|
||||
$menu = [];
|
||||
$amenu = [];
|
||||
|
||||
while ($entry = $tmp->read()) {
|
||||
if (preg_match('/(.*?)\.menu\.php$/', $entry, $m)) {
|
||||
include_once implode(DIRECTORY_SEPARATOR, [G5_ADMIN_PATH, $entry]);
|
||||
$amenu[$m[1]] = $entry;
|
||||
}
|
||||
}
|
||||
|
||||
@ksort($amenu);
|
||||
usort($menu, function($a, $b) {
|
||||
return $a->order - $b->order;
|
||||
});
|
||||
|
||||
$arr_query = [];
|
||||
if (isset($sst))
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
<?php
|
||||
$menu['menu100'] = [
|
||||
['100000', '사이트 설정', G5_ADMIN_URL . '/site_config_form.php', 'config'],
|
||||
['100100', '환경설정', G5_ADMIN_URL . '/site_config_form.php', ''],
|
||||
['100250', '메인 편집', G5_ADMIN_URL . '/viewer_form.php', ''],
|
||||
['100280', '테마 설정', G5_ADMIN_URL . '/theme.php', 'cf_theme', 1],
|
||||
['100300', '디자인 설정', G5_ADMIN_URL . '/design_form.php', ''],
|
||||
['100400', '메뉴 설정', G5_ADMIN_URL . '/menu_list.php', ''],
|
||||
['100990', 'DB관리', G5_DB_URL, '']
|
||||
];
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<?php
|
||||
$menu['menu200'] = [
|
||||
['200000', '회원관리', G5_ADMIN_URL . '/member_list.php', ''],
|
||||
['200100', '회원관리', G5_ADMIN_URL . '/member_list.php', ''],
|
||||
['200800', '접속자집계', G5_ADMIN_URL . '/visit_list.php', ''],
|
||||
['200820', '접속자로그삭제', G5_ADMIN_URL . '/visit_delete.php', ''],
|
||||
];
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<?php
|
||||
$menu['menu300'] = [
|
||||
['300000', '게시판관리', '' . G5_ADMIN_URL . '/board_list.php', 'board'],
|
||||
['300100', '게시판관리', '' . G5_ADMIN_URL . '/board_list.php', 'bbs_board'],
|
||||
['300200', '게시판그룹관리', '' . G5_ADMIN_URL . '/boardgroup_list.php', 'bbs_group'],
|
||||
['300600', '내용관리', G5_ADMIN_URL . '/contentlist.php', 'scf_contents', 1],
|
||||
];
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<?php
|
||||
$menu['menu900'] = [
|
||||
['900000', '기타관리', G5_ADMIN_URL . '/session_file_delete.php', ''],
|
||||
['900100', '홈페이지 상세관리', G5_ADMIN_URL . '/config_form.php', 'cf_thumbnail', 1],
|
||||
['900200', '세션파일 일괄삭제', G5_ADMIN_URL . '/session_file_delete.php', 'cf_session', 1],
|
||||
['900300', '캐시파일 일괄삭제', G5_ADMIN_URL . '/cache_file_delete.php', 'cf_cache', ],
|
||||
];
|
||||
3
AvocadoEdition_Light/adm/board_main.menu.php
Normal file
3
AvocadoEdition_Light/adm/board_main.menu.php
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<?php
|
||||
if (!defined('_GNUBOARD_'))
|
||||
exit;
|
||||
32
AvocadoEdition_Light/classes/menu/menu.class.php
Normal file
32
AvocadoEdition_Light/classes/menu/menu.class.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
if (!defined("__ADVDIR__"))
|
||||
exit();
|
||||
|
||||
class Menu
|
||||
{
|
||||
public $mid;
|
||||
public $name;
|
||||
public $order;
|
||||
public $url;
|
||||
public $suburl;
|
||||
public $icon;
|
||||
public $gnb_grp_div;
|
||||
public $display;
|
||||
|
||||
public function __construct($mid, $name, $url, $display = true, $order = 0, $icon = "", $gnb_grp_div = 0)
|
||||
{
|
||||
$this->display = $display;
|
||||
$this->mid = $mid;
|
||||
$this->name = $name;
|
||||
$this->order = $order;
|
||||
$this->url = $url;
|
||||
$this->icon = $icon;
|
||||
$this->gnb_grp_div = $gnb_grp_div;
|
||||
}
|
||||
|
||||
public function addSubURL($url)
|
||||
{
|
||||
if (!in_array($url, $this->suburl))
|
||||
$this->suburl[] = $url;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
<?php
|
||||
if (!defined("__ADVDIR__"))
|
||||
exit();
|
||||
|
||||
// if not loaded load directly
|
||||
include_once __ADVDIR__ . "/classes/menu/menu.class.php";
|
||||
|
||||
class MenuCategory extends Menu
|
||||
{
|
||||
public $last_menu;
|
||||
|
||||
public $key;
|
||||
public $childmenu;
|
||||
|
||||
public function __construct($key, $mid, $name, $url, $display = true, $order = 0, $icon = '', $gnb_grp_div = 0)
|
||||
{
|
||||
$this->key = $key;
|
||||
$this->childmenu = [];
|
||||
parent::__construct($mid, $name, $url, $display, $order, $icon, $gnb_grp_div);
|
||||
}
|
||||
|
||||
public function addChild($childMenu)
|
||||
{
|
||||
$this->last_menu = $childMenu;
|
||||
$this->childmenu[] = $childMenu;
|
||||
$this->orderMenu();
|
||||
}
|
||||
|
||||
public function addChildMenu($mid, $name, $url, $display = true, $order = 0, $icon = '', $gnb_grp_div = 0)
|
||||
{
|
||||
$menuitem = new Menu($mid, $name, $url, $display, $order, $icon, $gnb_grp_div);
|
||||
$this->last_menu = $menuitem;
|
||||
$this->childmenu[] = $menuitem;
|
||||
$this->orderMenu();
|
||||
}
|
||||
|
||||
public function orderMenu()
|
||||
{
|
||||
usort($this->childmenu, function($a, $b) {
|
||||
return $a->order - $b->order;
|
||||
});
|
||||
}
|
||||
|
||||
public function getLastAddedMenu()
|
||||
{
|
||||
return $this->last_menu;
|
||||
}
|
||||
|
||||
public function buildHtml()
|
||||
{
|
||||
global $g5, $is_admin, $auth, $menu, $auth_menu;
|
||||
$sub_menu = str_replace([G5_ADMIN_URL, "/adm"], ["", ""], $_SERVER["SCRIPT_NAME"]);
|
||||
|
||||
$str = "<ul class=\"gnb_2dul\">";
|
||||
foreach($this->childmenu as $key => $menu) {
|
||||
if ($is_admin != 'super')
|
||||
continue;
|
||||
|
||||
if (!$menu->display) continue;
|
||||
|
||||
if (($menu->gnb_grp_div == 1 && $gnb_grp_style == false) || ($menu->gnb_grp_div != 1 && $gnb_grp_style == true))
|
||||
$gnb_grp_div = 'gnb_grp_div';
|
||||
else
|
||||
$gnb_grp_div = '';
|
||||
|
||||
if ($menu->gnb_grp_div == 1)
|
||||
$gnb_grp_style = 'gnb_grp_style';
|
||||
else
|
||||
$gnb_grp_style = '';
|
||||
|
||||
$check_gnb_grp_style = "";
|
||||
if (str_replace([G5_ADMIN_URL, "/adm"], ["", ""], $menu->url) == $sub_menu || in_array($sub_menu, $menu->suburl)) {
|
||||
$check_gnb_grp_style = "check";
|
||||
}
|
||||
|
||||
$str .= '<li class="gnb_2dli ' . $check_gnb_grp_style . '"><a href="' . $menu->url . '" class="gnb_2da ' . $gnb_grp_style . ' ' . $gnb_grp_div . '" data-text="' . $menu->name . '">' . $menu->name . '</a></li>';
|
||||
}
|
||||
$str .= "</ul>";
|
||||
|
||||
return $str;
|
||||
}
|
||||
}
|
||||
|
|
@ -9,8 +9,11 @@ header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV
|
|||
|
||||
if (!defined('G5_SET_TIME_LIMIT'))
|
||||
define('G5_SET_TIME_LIMIT', 0);
|
||||
|
||||
@set_time_limit(G5_SET_TIME_LIMIT);
|
||||
|
||||
define("__ADVDIR__", __DIR__);
|
||||
|
||||
//==========================================================================================================================
|
||||
// extract($_GET); 명령으로 인해 page.php?_POST[var1]=data1&_POST[var2]=data2 와 같은 코드가 _POST 변수로 사용되는 것을 막음
|
||||
// 081029 : letsgolee 님께서 도움 주셨습니다.
|
||||
|
|
@ -44,6 +47,38 @@ for ($i = 0; $i < $ext_cnt; $i++) {
|
|||
}
|
||||
//==========================================================================================================================
|
||||
|
||||
/**
|
||||
* Summary of load_libs
|
||||
* @param mixed $base_dir
|
||||
* @throws \Exception
|
||||
* @return string[]
|
||||
*/
|
||||
function load_libs($base_dir)
|
||||
{
|
||||
$base_path = realpath($base_dir);
|
||||
if ($base_path === false) {
|
||||
throw new Exception("지정된 기본 디렉토리를 찾을 수 없습니다: $base_dir");
|
||||
}
|
||||
$loaded_files = [];
|
||||
$iterator = new RecursiveIteratorIterator(
|
||||
new RecursiveDirectoryIterator($base_path, RecursiveDirectoryIterator::SKIP_DOTS),
|
||||
RecursiveIteratorIterator::SELF_FIRST
|
||||
);
|
||||
foreach ($iterator as $file) {
|
||||
if ($file->isDir()) {
|
||||
$parent_folder_name = $file->getFilename();
|
||||
$class_file = $file->getPathname() . DIRECTORY_SEPARATOR . $parent_folder_name . '.class.php';
|
||||
if (file_exists($class_file)) {
|
||||
require_once $class_file;
|
||||
$loaded_files[] = $class_file;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $loaded_files;
|
||||
}
|
||||
|
||||
$_system = new stdClass;
|
||||
$_system->classes = load_libs(__DIR__ . "/classes");
|
||||
|
||||
function g5_path()
|
||||
{
|
||||
|
|
@ -704,15 +739,12 @@ $faq_skin_url = get_skin_url('faq', $config['cf_faq_skin']);
|
|||
|
||||
//==============================================================================
|
||||
|
||||
|
||||
// 방문자수의 접속을 남김
|
||||
include_once (G5_BBS_PATH . '/visit_insert.inc.php');
|
||||
|
||||
|
||||
// 일정 기간이 지난 DB 데이터 삭제 및 최적화
|
||||
include_once (G5_BBS_PATH . '/db_table.optimize.php');
|
||||
|
||||
|
||||
// common.php 파일을 수정할 필요가 없도록 확장합니다.
|
||||
$extend_file = array();
|
||||
$tmp = dir(G5_EXTEND_PATH);
|
||||
|
|
|
|||
Loading…
Reference in a new issue