From 5ac6319e3f4f1cd216abed8d94240111c29b5ec1 Mon Sep 17 00:00:00 2001 From: Arcturus Date: Mon, 7 Oct 2024 10:35:20 +0900 Subject: [PATCH] add community version features --- .gitignore | 1 + .../adm/_create_community_db.php | 470 ++++++++++++++++++ .../adm/_gnb.000.site.menu.php | 56 +++ .../adm/_gnb.001.member.menu.php | 54 ++ .../adm/_gnb.002.content.menu.php | 58 +++ .../adm/_gnb.004.community.menu.php | 94 ++++ ...other.menu.php => _gnb.999.other.menu.php} | 15 +- AvocadoEdition_Light/adm/_gnb.board.menu.php | 44 -- .../adm/_gnb.community.menu.php | 30 -- AvocadoEdition_Light/adm/_gnb.member.menu.php | 40 -- AvocadoEdition_Light/adm/_gnb.site.menu.php | 45 -- AvocadoEdition_Light/adm/banner_form.php | 134 +++++ .../adm/banner_form_update.php | 77 +++ AvocadoEdition_Light/adm/banner_list.php | 116 +++++ AvocadoEdition_Light/adm/board_form.php | 2 +- .../adm/board_form_update.php | 4 +- .../adm/board_thumbnail_delete.php | 2 +- .../adm/boardgroupmember_form.php | 7 +- .../adm/boardgroupmember_list.php | 4 +- .../adm/character_article_list.php | 315 ++++++++++++ .../adm/character_article_list_update.php | 111 +++++ .../adm/character_article_update.php | 20 + AvocadoEdition_Light/adm/character_delete.php | 33 ++ AvocadoEdition_Light/adm/character_form.php | 446 +++++++++++++++++ .../adm/character_form_update.php | 203 ++++++++ AvocadoEdition_Light/adm/character_list.php | 296 +++++++++++ .../adm/character_list_update.php | 78 +++ AvocadoEdition_Light/adm/class_list.php | 208 ++++++++ .../adm/class_list_delete.php | 84 ++++ AvocadoEdition_Light/adm/class_update.php | 42 ++ AvocadoEdition_Light/adm/community_form.php | 257 ++++++++++ .../adm/community_form_update.php | 36 ++ AvocadoEdition_Light/adm/config_form.php | 431 +--------------- .../adm/config_form_update.php | 377 +++++++++----- AvocadoEdition_Light/adm/contentlist.php | 2 +- AvocadoEdition_Light/adm/couple_list.php | 219 ++++++++ .../adm/couple_list_delete.php | 23 + AvocadoEdition_Light/adm/couple_update.php | 35 ++ AvocadoEdition_Light/adm/css/admin.css | 95 +++- AvocadoEdition_Light/adm/css/admin.layout.css | 3 +- AvocadoEdition_Light/adm/emoticon_list.php | 14 +- AvocadoEdition_Light/adm/exp_list.php | 246 +++++++++ AvocadoEdition_Light/adm/exp_list_delete.php | 51 ++ AvocadoEdition_Light/adm/exp_update.php | 48 ++ AvocadoEdition_Light/adm/explorer_list.php | 284 +++++++++++ .../adm/explorer_list_update.php | 44 ++ AvocadoEdition_Light/adm/explorer_update.php | 38 ++ AvocadoEdition_Light/adm/head.sub.php | 2 +- AvocadoEdition_Light/adm/inventory_list.php | 243 +++++++++ .../adm/inventory_list_delete.php | 21 + AvocadoEdition_Light/adm/inventory_update.php | 52 ++ AvocadoEdition_Light/adm/item_form.php | 308 ++++++++++++ AvocadoEdition_Light/adm/item_form_update.php | 134 +++++ AvocadoEdition_Light/adm/item_list.php | 258 ++++++++++ AvocadoEdition_Light/adm/item_list_update.php | 62 +++ AvocadoEdition_Light/adm/itemlog_list.php | 125 +++++ .../adm/level_form_update.php | 19 + AvocadoEdition_Light/adm/level_list.php | 182 +++++++ .../adm/level_list_update.php | 55 ++ AvocadoEdition_Light/adm/newwinform.php | 153 ++++++ AvocadoEdition_Light/adm/newwinformupdate.php | 45 ++ AvocadoEdition_Light/adm/newwinlist.php | 121 +++++ AvocadoEdition_Light/adm/order_list.php | 158 ++++++ .../adm/order_list_delete.php | 20 + AvocadoEdition_Light/adm/point_list.php | 245 +++++++++ .../adm/point_list_delete.php | 56 +++ AvocadoEdition_Light/adm/point_update.php | 46 ++ AvocadoEdition_Light/adm/poll_delete.php | 22 + AvocadoEdition_Light/adm/poll_form.php | 117 +++++ AvocadoEdition_Light/adm/poll_form_update.php | 62 +++ AvocadoEdition_Light/adm/poll_list.php | 153 ++++++ AvocadoEdition_Light/adm/popular_list.php | 163 ++++++ AvocadoEdition_Light/adm/popular_rank.php | 107 ++++ AvocadoEdition_Light/adm/recipe_list.php | 299 +++++++++++ .../adm/recipe_list_update.php | 31 ++ AvocadoEdition_Light/adm/recipe_update.php | 66 +++ AvocadoEdition_Light/adm/shop_form.php | 410 +++++++++++++++ AvocadoEdition_Light/adm/shop_form_update.php | 119 +++++ AvocadoEdition_Light/adm/shop_list.php | 310 ++++++++++++ AvocadoEdition_Light/adm/shop_list_update.php | 52 ++ AvocadoEdition_Light/adm/side_list.php | 195 ++++++++ AvocadoEdition_Light/adm/side_list_delete.php | 84 ++++ AvocadoEdition_Light/adm/side_update.php | 41 ++ .../adm/status_form_update.php | 22 + AvocadoEdition_Light/adm/status_list.php | 226 +++++++++ .../adm/status_list_update.php | 59 +++ AvocadoEdition_Light/adm/title_has_list.php | 254 ++++++++++ .../adm/title_has_list_delete.php | 19 + AvocadoEdition_Light/adm/title_has_update.php | 73 +++ AvocadoEdition_Light/adm/title_list.php | 214 ++++++++ .../adm/title_list_update.php | 75 +++ AvocadoEdition_Light/adm/title_update.php | 37 ++ AvocadoEdition_Light/adm/visit.sub.php | 5 +- AvocadoEdition_Light/adm/visit_browser.php | 3 - AvocadoEdition_Light/adm/visit_date.php | 3 - AvocadoEdition_Light/adm/visit_delete.php | 10 - AvocadoEdition_Light/adm/visit_device.php | 3 - AvocadoEdition_Light/adm/visit_domain.php | 4 +- AvocadoEdition_Light/adm/visit_hour.php | 3 - AvocadoEdition_Light/adm/visit_list.php | 4 +- AvocadoEdition_Light/adm/visit_month.php | 7 - AvocadoEdition_Light/adm/visit_os.php | 2 - AvocadoEdition_Light/adm/visit_search.php | 15 +- AvocadoEdition_Light/adm/visit_week.php | 3 - AvocadoEdition_Light/adm/visit_year.php | 4 +- AvocadoEdition_Light/adm/write_count.php | 3 - AvocadoEdition_Light/ajax/_common.php | 2 + .../ajax/_search_character.php | 37 ++ AvocadoEdition_Light/ajax/_search_item.php | 47 ++ AvocadoEdition_Light/ajax/_search_member.php | 38 ++ AvocadoEdition_Light/ajax/_search_title.php | 36 ++ .../bbs/ajax.autosavelist.php | 2 +- .../bbs/ajax.autosaveload.php | 2 +- AvocadoEdition_Light/bbs/content.php | 2 +- AvocadoEdition_Light/bbs/faq.php | 2 +- AvocadoEdition_Light/bbs/qalist.php | 2 +- AvocadoEdition_Light/bbs/qaview.php | 2 +- AvocadoEdition_Light/bbs/qawrite.php | 2 +- AvocadoEdition_Light/bbs/search.php | 2 +- AvocadoEdition_Light/bgm.php | 6 + .../classes/character/character.class.php | 85 +++- .../classes/community/community.class.php | 90 ++++ .../classes/event_handler.php | 6 + .../classes/htmlprocess/htmlprocess.class.php | 7 +- .../classes/item/item.class.php | 157 ++++++ .../classes/menu/menu.class.php | 5 + AvocadoEdition_Light/classes/readme.md | 27 + AvocadoEdition_Light/common.php | 30 ++ AvocadoEdition_Light/config.php | 1 - AvocadoEdition_Light/enter.php | 6 + AvocadoEdition_Light/extend/banner.lib.php | 62 +++ AvocadoEdition_Light/extend/character.lib.php | 8 +- AvocadoEdition_Light/extend/exp.lib.php | 73 +++ AvocadoEdition_Light/extend/item.lib.php | 43 ++ AvocadoEdition_Light/extend/sideclass.lib.php | 55 ++ AvocadoEdition_Light/extend/status.lib.php | 120 +++++ AvocadoEdition_Light/extend/title.lib.php | 31 ++ .../extend/version.extend.php | 3 + AvocadoEdition_Light/extraconfig.php | 4 +- AvocadoEdition_Light/head.php | 6 + AvocadoEdition_Light/head.sub.php | 6 + AvocadoEdition_Light/index.php | 6 + AvocadoEdition_Light/install/install_db.php | 9 +- AvocadoEdition_Light/lib/common.lib.php | 109 ++-- AvocadoEdition_Light/main.php | 6 + AvocadoEdition_Light/menu.php | 6 + .../skin/board/character/view.skin.php | 2 +- AvocadoEdition_Light/tail.php | 6 + AvocadoEdition_Light/tail.sub.php | 6 + 149 files changed, 11174 insertions(+), 859 deletions(-) create mode 100644 AvocadoEdition_Light/adm/_create_community_db.php create mode 100644 AvocadoEdition_Light/adm/_gnb.000.site.menu.php create mode 100644 AvocadoEdition_Light/adm/_gnb.001.member.menu.php create mode 100644 AvocadoEdition_Light/adm/_gnb.002.content.menu.php create mode 100644 AvocadoEdition_Light/adm/_gnb.004.community.menu.php rename AvocadoEdition_Light/adm/{_gnb.other.menu.php => _gnb.999.other.menu.php} (61%) delete mode 100644 AvocadoEdition_Light/adm/_gnb.board.menu.php delete mode 100644 AvocadoEdition_Light/adm/_gnb.community.menu.php delete mode 100644 AvocadoEdition_Light/adm/_gnb.member.menu.php delete mode 100644 AvocadoEdition_Light/adm/_gnb.site.menu.php create mode 100644 AvocadoEdition_Light/adm/banner_form.php create mode 100644 AvocadoEdition_Light/adm/banner_form_update.php create mode 100644 AvocadoEdition_Light/adm/banner_list.php create mode 100644 AvocadoEdition_Light/adm/character_article_list.php create mode 100644 AvocadoEdition_Light/adm/character_article_list_update.php create mode 100644 AvocadoEdition_Light/adm/character_article_update.php create mode 100644 AvocadoEdition_Light/adm/character_delete.php create mode 100644 AvocadoEdition_Light/adm/character_form.php create mode 100644 AvocadoEdition_Light/adm/character_form_update.php create mode 100644 AvocadoEdition_Light/adm/character_list.php create mode 100644 AvocadoEdition_Light/adm/character_list_update.php create mode 100644 AvocadoEdition_Light/adm/class_list.php create mode 100644 AvocadoEdition_Light/adm/class_list_delete.php create mode 100644 AvocadoEdition_Light/adm/class_update.php create mode 100644 AvocadoEdition_Light/adm/community_form.php create mode 100644 AvocadoEdition_Light/adm/community_form_update.php create mode 100644 AvocadoEdition_Light/adm/couple_list.php create mode 100644 AvocadoEdition_Light/adm/couple_list_delete.php create mode 100644 AvocadoEdition_Light/adm/couple_update.php create mode 100644 AvocadoEdition_Light/adm/exp_list.php create mode 100644 AvocadoEdition_Light/adm/exp_list_delete.php create mode 100644 AvocadoEdition_Light/adm/exp_update.php create mode 100644 AvocadoEdition_Light/adm/explorer_list.php create mode 100644 AvocadoEdition_Light/adm/explorer_list_update.php create mode 100644 AvocadoEdition_Light/adm/explorer_update.php create mode 100644 AvocadoEdition_Light/adm/inventory_list.php create mode 100644 AvocadoEdition_Light/adm/inventory_list_delete.php create mode 100644 AvocadoEdition_Light/adm/inventory_update.php create mode 100644 AvocadoEdition_Light/adm/item_form.php create mode 100644 AvocadoEdition_Light/adm/item_form_update.php create mode 100644 AvocadoEdition_Light/adm/item_list.php create mode 100644 AvocadoEdition_Light/adm/item_list_update.php create mode 100644 AvocadoEdition_Light/adm/itemlog_list.php create mode 100644 AvocadoEdition_Light/adm/level_form_update.php create mode 100644 AvocadoEdition_Light/adm/level_list.php create mode 100644 AvocadoEdition_Light/adm/level_list_update.php create mode 100644 AvocadoEdition_Light/adm/newwinform.php create mode 100644 AvocadoEdition_Light/adm/newwinformupdate.php create mode 100644 AvocadoEdition_Light/adm/newwinlist.php create mode 100644 AvocadoEdition_Light/adm/order_list.php create mode 100644 AvocadoEdition_Light/adm/order_list_delete.php create mode 100644 AvocadoEdition_Light/adm/point_list.php create mode 100644 AvocadoEdition_Light/adm/point_list_delete.php create mode 100644 AvocadoEdition_Light/adm/point_update.php create mode 100644 AvocadoEdition_Light/adm/poll_delete.php create mode 100644 AvocadoEdition_Light/adm/poll_form.php create mode 100644 AvocadoEdition_Light/adm/poll_form_update.php create mode 100644 AvocadoEdition_Light/adm/poll_list.php create mode 100644 AvocadoEdition_Light/adm/popular_list.php create mode 100644 AvocadoEdition_Light/adm/popular_rank.php create mode 100644 AvocadoEdition_Light/adm/recipe_list.php create mode 100644 AvocadoEdition_Light/adm/recipe_list_update.php create mode 100644 AvocadoEdition_Light/adm/recipe_update.php create mode 100644 AvocadoEdition_Light/adm/shop_form.php create mode 100644 AvocadoEdition_Light/adm/shop_form_update.php create mode 100644 AvocadoEdition_Light/adm/shop_list.php create mode 100644 AvocadoEdition_Light/adm/shop_list_update.php create mode 100644 AvocadoEdition_Light/adm/side_list.php create mode 100644 AvocadoEdition_Light/adm/side_list_delete.php create mode 100644 AvocadoEdition_Light/adm/side_update.php create mode 100644 AvocadoEdition_Light/adm/status_form_update.php create mode 100644 AvocadoEdition_Light/adm/status_list.php create mode 100644 AvocadoEdition_Light/adm/status_list_update.php create mode 100644 AvocadoEdition_Light/adm/title_has_list.php create mode 100644 AvocadoEdition_Light/adm/title_has_list_delete.php create mode 100644 AvocadoEdition_Light/adm/title_has_update.php create mode 100644 AvocadoEdition_Light/adm/title_list.php create mode 100644 AvocadoEdition_Light/adm/title_list_update.php create mode 100644 AvocadoEdition_Light/adm/title_update.php create mode 100644 AvocadoEdition_Light/ajax/_common.php create mode 100644 AvocadoEdition_Light/ajax/_search_character.php create mode 100644 AvocadoEdition_Light/ajax/_search_item.php create mode 100644 AvocadoEdition_Light/ajax/_search_member.php create mode 100644 AvocadoEdition_Light/ajax/_search_title.php create mode 100644 AvocadoEdition_Light/classes/community/community.class.php create mode 100644 AvocadoEdition_Light/classes/item/item.class.php create mode 100644 AvocadoEdition_Light/classes/readme.md create mode 100644 AvocadoEdition_Light/extend/banner.lib.php create mode 100644 AvocadoEdition_Light/extend/exp.lib.php create mode 100644 AvocadoEdition_Light/extend/item.lib.php create mode 100644 AvocadoEdition_Light/extend/sideclass.lib.php create mode 100644 AvocadoEdition_Light/extend/status.lib.php create mode 100644 AvocadoEdition_Light/extend/title.lib.php diff --git a/.gitignore b/.gitignore index 68bd355..540f8f7 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ [Aa]vocado[Ee]dition_[Ll]ight/data/* error.log access.log +build.log diff --git a/AvocadoEdition_Light/adm/_create_community_db.php b/AvocadoEdition_Light/adm/_create_community_db.php new file mode 100644 index 0000000..7ed72f0 --- /dev/null +++ b/AvocadoEdition_Light/adm/_create_community_db.php @@ -0,0 +1,470 @@ +addChildMenu("config", "커스텀메뉴", G5_ADMIN_URL . "/{your_file_name}.php", true, 1, "{bootstrap icon css code}", 0); +$menu["config"]->getLastAddedMenu()->addSubFile("/{your_subfile_name}.php"); + */ + +if (!isset($menu["config"])) { + $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, 0, "\F3E5", 0); +$menu["config"]->getLastAddedMenu()->addSubFile("/site_config_form_update.php"); + +$menu["config"]->addChildMenu("config", "테마 설정", G5_ADMIN_URL . "/theme.php", true, 200, "\F4B2", 0); +$menu["config"]->getLastAddedMenu()->addSubFile("/theme_config_load.php"); +$menu["config"]->getLastAddedMenu()->addSubFile("/theme_detail.php"); +$menu["config"]->getLastAddedMenu()->addSubFile("/theme_update.php"); +$menu["config"]->getLastAddedMenu()->addSubFile("/theme_preview.php"); + +$menu["config"]->addChildMenu("config", "디자인 설정", G5_ADMIN_URL . "/design_form.php", true, 300, "\F1D8", 0); +$menu["config"]->getLastAddedMenu()->addSubFile("/design_form_update.php"); + +$menu["config"]->addChildMenu("config", "메인 편집", G5_ADMIN_URL . "/viewer_form.php", true, 400, "\F891", 0); +$menu["config"]->getLastAddedMenu()->addSubFile("/viewer_form_update.php"); + +$menu["config"]->addChildMenu("config", "홈페이지 폰트 설정", G5_ADMIN_URL . "/editor_font.php", true, 500, "\F5CB", 0); +$menu["config"]->getLastAddedMenu()->addSubFile("/editor_font_update.php"); + +$menu["config"]->addChildMenu("config", "메뉴 설정", G5_ADMIN_URL . "/menu_list.php", true, 600, "\F478", 0); +$menu["config"]->getLastAddedMenu()->addSubFile("/menu_list_update.php"); +$menu["config"]->getLastAddedMenu()->addSubFile("/menu_form.php"); +$menu["config"]->getLastAddedMenu()->addSubFile("/menu_form_search.php"); + +$menu["config"]->addChildMenu("config", "애드온 설정", G5_ADMIN_URL . "/addon_config.php", true, 700, "\F4CA", 0); + +$menu["config"]->addChildMenu("config", "홈페이지 상세관리", G5_ADMIN_URL . "/config_form.php", true, 1000, "\F3E5", 0); +$menu["config"]->getLastAddedMenu()->addSubFile("/config_form_update.php"); + +if (Community::isInitCommunity()) { + $menu["config"]->addChildMenu("config", "메인슬라이드 관리", G5_ADMIN_URL . "/banner_list.php", true, 700, "\F155", 0); +} diff --git a/AvocadoEdition_Light/adm/_gnb.001.member.menu.php b/AvocadoEdition_Light/adm/_gnb.001.member.menu.php new file mode 100644 index 0000000..5ceb507 --- /dev/null +++ b/AvocadoEdition_Light/adm/_gnb.001.member.menu.php @@ -0,0 +1,54 @@ +addChildMenu("member", "커스텀메뉴", G5_ADMIN_URL . "/{your_file_name}.php", true, 1, "{bootstrap icon css code}", 0); +$menu["member"]->getLastAddedMenu()->addSubFile("/{your_subfile_name}.php"); + */ + +if (!isset($menu["member"])) { + $menu["member"] = new MenuCategory("member", "member", "회원관리", "/member_list.php", true, 100, "", 0); +} + +$menu["member"]->addChildMenu("member", "회원관리", G5_ADMIN_URL . "/member_list.php", true, 100, "\F8A7", 0); +$menu["member"]->getLastAddedMenu()->addSubFile("/member_form.php"); +$menu["member"]->getLastAddedMenu()->addSubFile("/member_delete.php"); +$menu["member"]->getLastAddedMenu()->addSubFile("/member_list_update.php"); +$menu["member"]->getLastAddedMenu()->addSubFile("/member_list_delete.php"); + +$menu["member"]->addChildMenu("member", "접속자집계", G5_ADMIN_URL . "/visit_list.php", true, 200, "\F3F2", 0); +$menu["member"]->getLastAddedMenu()->addSubFile("/visit_domain.php"); +$menu["member"]->getLastAddedMenu()->addSubFile("/visit_browser.php"); +$menu["member"]->getLastAddedMenu()->addSubFile("/visit_os.php"); +$menu["member"]->getLastAddedMenu()->addSubFile("/visit_device.php"); +$menu["member"]->getLastAddedMenu()->addSubFile("/visit_hour.php"); +$menu["member"]->getLastAddedMenu()->addSubFile("/visit_date.php"); +$menu["member"]->getLastAddedMenu()->addSubFile("/visit_week.php"); +$menu["member"]->getLastAddedMenu()->addSubFile("/visit_month.php"); +$menu["member"]->getLastAddedMenu()->addSubFile("/visit_year.php"); + +$menu["member"]->addChildMenu("member", "투표관리", G5_ADMIN_URL . "/poll_list.php", true, 500, "\F5F9", 0); +$menu["member"]->getLastAddedMenu()->addSubFile("/poll_form.php"); + +if (Community::isInitCommunity()) { + $menu["member"]->addChildMenu("member", "접속자검색", G5_ADMIN_URL . "/visit_search.php", true, 300, "\F52A", 0); + + $menu["member"]->addChildMenu("member", $config['cf_money'] . " 관리", G5_ADMIN_URL . "/point_list.php", true, 400, "\F589", 0); + $menu["member"]->getLastAddedMenu()->addSubFile("/point_list_update.php"); + $menu["member"]->getLastAddedMenu()->addSubFile("/point_update.php"); + + $menu["member"]->getLastAddedMenu()->addSubFile("/visit_delete_update.php"); +} diff --git a/AvocadoEdition_Light/adm/_gnb.002.content.menu.php b/AvocadoEdition_Light/adm/_gnb.002.content.menu.php new file mode 100644 index 0000000..bec48ac --- /dev/null +++ b/AvocadoEdition_Light/adm/_gnb.002.content.menu.php @@ -0,0 +1,58 @@ +addChildMenu("content", "커스텀메뉴", G5_ADMIN_URL . "/{your_file_name}.php", true, 1, "{bootstrap icon css code}", 0); +$menu["content"]->getLastAddedMenu()->addSubFile("/{your_subfile_name}.php"); + */ + +if (!isset($menu["content"])) { + $menu["content"] = new MenuCategory("content", "content", "게시판/콘텐츠 관리", "/contentlist.php", true, 200, "", 0); +} + +$menu["content"]->addChildMenu("content", "게시판관리", G5_ADMIN_URL . "/board_list.php", true, 0, "\F463", 0); +$menu["content"]->getLastAddedMenu()->addSubFile("/board_list_update.php"); +$menu["content"]->getLastAddedMenu()->addSubFile("/board_form.php"); +$menu["content"]->getLastAddedMenu()->addSubFile("/board_form_update.php"); +$menu["content"]->getLastAddedMenu()->addSubFile("/board_delete.php"); +$menu["content"]->getLastAddedMenu()->addSubFile("/board_copy.php"); +$menu["content"]->getLastAddedMenu()->addSubFile("/board_copy_update.php"); + +$menu["content"]->addChildMenu("content", "게시판그룹관리", G5_ADMIN_URL . "/boardgroup_list.php", true, 100, "\F2EE", 0); +$menu["content"]->getLastAddedMenu()->addSubFile("/boardgroup_list_update.php"); +$menu["content"]->getLastAddedMenu()->addSubFile("/boardgroup_form.php"); +$menu["content"]->getLastAddedMenu()->addSubFile("/boardgroup_form_update.php"); +$menu["content"]->getLastAddedMenu()->addSubFile("/boardgroupmember_list.php"); +$menu["content"]->getLastAddedMenu()->addSubFile("/boardgroupmember_update.php"); +$menu["content"]->getLastAddedMenu()->addSubFile("/boardgroupmember_form.php"); + +$menu["content"]->addChildMenu("content", "내용관리", G5_ADMIN_URL . "/contentlist.php", true, 300, "\F620", 0); +$menu["content"]->getLastAddedMenu()->addSubFile("/contentform.php"); +$menu["content"]->getLastAddedMenu()->addSubFile("/contentformupdate.php"); + +$menu["content"]->addChildMenu("content", "이모티콘 관리", G5_ADMIN_URL . "/emoticon_list.php", true, 500, "\F329", 0); +$menu["content"]->getLastAddedMenu()->addSubFile("/emoticon_list_update.php"); +$menu["content"]->getLastAddedMenu()->addSubFile("/emoticon_form_update.php"); + +if (Community::isInitCommunity()) { + $menu["content"]->addChildMenu("content", "인기 검색어 관리", G5_ADMIN_URL . "/popular_list.php", true, 110, "\F52A", 0); + $menu["content"]->addChildMenu("content", "인기 검색어 순위", G5_ADMIN_URL . "/popular_rank.php", true, 120, "\F52A", 0); + + $menu["content"]->addChildMenu("content", "글, 댓글 현황", G5_ADMIN_URL . "/write_count.php", true, 130, "\F4A3", 0); + $menu["content"]->addChildMenu("content", "팝업레이어 관리", G5_ADMIN_URL . "/newwinlist.php", true, 200, "\F1C0", 0); + $menu["content"]->getLastAddedMenu()->addSubFile("/newwinform.php"); + $menu["content"]->getLastAddedMenu()->addSubFile("/newwinformupdate.php"); +} diff --git a/AvocadoEdition_Light/adm/_gnb.004.community.menu.php b/AvocadoEdition_Light/adm/_gnb.004.community.menu.php new file mode 100644 index 0000000..b499cb3 --- /dev/null +++ b/AvocadoEdition_Light/adm/_gnb.004.community.menu.php @@ -0,0 +1,94 @@ +addChildMenu("community", "커스텀메뉴", G5_ADMIN_URL . "/{your_file_name}.php", true, 1, "{bootstrap icon css code}", 0); +$menu["community"]->getLastAddedMenu()->addSubFile("/{your_subfile_name}.php"); + */ + +if (!isset($menu["community"])) { + $menu["community"] = new MenuCategory("community", "community", "커뮤니티 설정", "", true, 400, "", 0); + + if (Community::isInitCommunity()) { + $menu["character"] = new MenuCategory("community", "community", "캐릭터 관리", "", true, 401, "", 0); + $menu["item"] = new MenuCategory("community", "community", "아이템 관리", "", true, 402, "", 0); + } +} + +$menu["community"]->addChildMenu("community", "커뮤니티 설정", G5_ADMIN_URL . "/community_form.php", true, 0, "\F3B3", 0); + +if (Community::isInitCommunity()) { + $menu["community"]->addChildMenu("community", "프로필 양식 관리", G5_ADMIN_URL . "/character_article_list.php", true, 100, "\F3B7", 0); + + $menu["item"]->addChildMenu("item", "상점 관리", G5_ADMIN_URL . "/shop_list.php", true, 0, "\F184", 0); + $menu["item"]->getLastAddedMenu()->addSubFile("/shop_form.php"); + $menu["item"]->getLastAddedMenu()->addSubFile("/shop_form_update.php"); + $menu["item"]->getLastAddedMenu()->addSubFile("/shop_list_update.php"); + + $menu["item"]->addChildMenu("item", "아이템 관리", G5_ADMIN_URL . "/item_list.php", true, 0, "\F685", 0); + $menu["item"]->getLastAddedMenu()->addSubFile("/item_form.php"); + $menu["item"]->getLastAddedMenu()->addSubFile("/item_form_update.php"); + $menu["item"]->getLastAddedMenu()->addSubFile("/item_list_update.php"); + + $menu["item"]->addChildMenu("item", "뽑기 관리", G5_ADMIN_URL . "/explorer_list.php", true, 0, "\F567", 0); + $menu["item"]->getLastAddedMenu()->addSubFile("/explorer_list_update.php"); + $menu["item"]->getLastAddedMenu()->addSubFile("/explorer_update.php"); + + $menu["item"]->addChildMenu("item", "아이템 보유현황", G5_ADMIN_URL . "/inventory_list.php", true, 0, "\F8E2", 0); + $menu["item"]->getLastAddedMenu()->addSubFile("/inventory_list_delete.php"); + $menu["item"]->getLastAddedMenu()->addSubFile("/inventory_update.php"); + + $menu["item"]->addChildMenu("item", "레시피 관리", G5_ADMIN_URL . "/recipe_list.php", true, 0, "\F442", 0); + $menu["item"]->addChildMenu("item", "아이템 구매 기록", G5_ADMIN_URL . "/order_list.php", true, 0, "\F50F", 0); + $menu["item"]->addChildMenu("item", "아이템 사용 기록", G5_ADMIN_URL . "/itemlog_list.php", true, 0, "\F50F", 0); + + $menu["character"]->addChildMenu("character", "캐릭터 관리", G5_ADMIN_URL . "/character_list.php", true, 0, "\F379", 0); + $menu["character"]->getLastAddedMenu()->addSubFile("/character_list_update.php"); + $menu["character"]->getLastAddedMenu()->addSubFile("/character_form.php"); + $menu["character"]->getLastAddedMenu()->addSubFile("/character_form_update.php"); + + $menu["character"]->addChildMenu("character", "타이틀 관리", G5_ADMIN_URL . "/title_list.php", true, 100, "\F5B0", 0); + $menu["character"]->getLastAddedMenu()->addSubFile("/title_update.php"); + $menu["character"]->getLastAddedMenu()->addSubFile("/title_list_update.php"); + + $menu["character"]->addChildMenu("character", "보유 타이틀 관리", G5_ADMIN_URL . "/title_has_list.php", true, 200, "\F5B2", 0); + $menu["character"]->getLastAddedMenu()->addSubFile("/title_has_update.php"); + $menu["character"]->getLastAddedMenu()->addSubFile("/title_has_delete.php"); + + $menu["character"]->addChildMenu("character", ($config['cf_rank_name'] ? $config['cf_rank_name'] : "랭크") ." 설정 관리", G5_ADMIN_URL . "/level_list.php", true, 300, "\F452", 0); + $menu["character"]->getLastAddedMenu()->addSubFile("/level_form_update.php"); + $menu["character"]->getLastAddedMenu()->addSubFile("/level_list_update.php"); + + $menu["character"]->addChildMenu("character", ($config['cf_exp_name'] ? $config['cf_exp_name'] : "경험치") ." 설정 관리", G5_ADMIN_URL . "/exp_list.php", true, 400, "\F52B", 0); + $menu["character"]->getLastAddedMenu()->addSubFile("/exp_list_delete.php"); + $menu["character"]->getLastAddedMenu()->addSubFile("/exp_update.php"); + + $menu["character"]->addChildMenu("character", "스탯 관리", G5_ADMIN_URL . "/status_list.php", true, 500, "\F6A0", 0); + + $menu["character"]->addChildMenu("character", "커플 관리", G5_ADMIN_URL . "/couple_list.php", true, 600, "\F4CF", 0); + + if ($config['cf_side_title']) { + $menu["character"]->addChildMenu("character", ($config['cf_side_title'] ? $config['cf_side_title'] : "소속") . " 관리", G5_ADMIN_URL . "/side_list.php", true, 700, "\F8C9", 0); + $menu["character"]->getLastAddedMenu()->addSubFile("/side_list_delete.php"); + $menu["character"]->getLastAddedMenu()->addSubFile("/side_update.php"); + } + + if ($config['cf_class_title'] != "") { + $menu["character"]->addChildMenu("character", ($config['cf_class_title'] ? $config['cf_class_title'] : "클래스") . " 관리", G5_ADMIN_URL . "/class_list.php", true, 800, "\F3EA", 0); + $menu["character"]->getLastAddedMenu()->addSubFile("/class_update.php"); + $menu["character"]->getLastAddedMenu()->addSubFile("/class_list_delete.php"); + } +} diff --git a/AvocadoEdition_Light/adm/_gnb.other.menu.php b/AvocadoEdition_Light/adm/_gnb.999.other.menu.php similarity index 61% rename from AvocadoEdition_Light/adm/_gnb.other.menu.php rename to AvocadoEdition_Light/adm/_gnb.999.other.menu.php index fd08d19..e3cc23a 100644 --- a/AvocadoEdition_Light/adm/_gnb.other.menu.php +++ b/AvocadoEdition_Light/adm/_gnb.999.other.menu.php @@ -4,6 +4,10 @@ if (!defined('_GNUBOARD_')) /** * 메뉴 추가가 필요한 경우 파일을 직접 수정하지 않고 * 파일 추가 후 변수 호출을 통해 사용하세요 + * 파일명은 {구분명}.menu.php 와 같이 작성하고 구분명에는 영문자 등 파일 이름에 가능한 문자열을 모두 허용합니다. + * + * 코드 작성예시: +addChildMenu("other", "커스텀메뉴", G5_ADMIN_URL . "/{your_file_name}.php", true, 1, "{bootstrap icon css code}", 0); -$menu["other"]->getLastAddedMenu()->addSubURL("/{your_subfile_name}.php"); +$menu["other"]->getLastAddedMenu()->addSubFile("/{your_subfile_name}.php"); */ if (!isset($menu["other"])) { - $menu["other"] = new MenuCategory("other", "other", "기타관리", "/config_form.php", true, 99, "", 0); + $menu["other"] = new MenuCategory("other", "other", "기타관리", "/config_form.php", true, 1000, "", 0); } -$menu["other"]->addChildMenu("other", "홈페이지 상세관리", G5_ADMIN_URL . "/config_form.php", true, 100, "\F3E3", 0); -$menu["other"]->getLastAddedMenu()->addSubURL("/config_form_update.php"); - -$menu["other"]->addChildMenu("other", "세션파일 일괄삭제", G5_ADMIN_URL . "/session_file_delete.php", true, 200, "\F8C3", 0); -$menu["other"]->addChildMenu("other", "캐시파일 일괄삭제", G5_ADMIN_URL . "/cache_file_delete.php", true, 300, "\F8C3", 0); +$menu["other"]->addChildMenu("other", "세션파일 일괄삭제", G5_ADMIN_URL . "/session_file_delete.php", true, 0, "\F8C3", 0); +$menu["other"]->addChildMenu("other", "캐시파일 일괄삭제", G5_ADMIN_URL . "/cache_file_delete.php", true, 100, "\F8C3", 0); diff --git a/AvocadoEdition_Light/adm/_gnb.board.menu.php b/AvocadoEdition_Light/adm/_gnb.board.menu.php deleted file mode 100644 index 22f19ac..0000000 --- a/AvocadoEdition_Light/adm/_gnb.board.menu.php +++ /dev/null @@ -1,44 +0,0 @@ -addChildMenu("board", "커스텀메뉴", G5_ADMIN_URL . "/{your_file_name}.php", true, 1, "{bootstrap icon css code}", 0); -$menu["board"]->getLastAddedMenu()->addSubURL("/{your_subfile_name}.php"); - */ - -if (!isset($menu["board"])) { - $menu["board"] = new MenuCategory("board", "board", "게시판관리", "/board_list.php", true, 2, "", 0); -} - -$menu["board"]->addChildMenu("board", "게시판관리", G5_ADMIN_URL . "/board_list.php", true, 100, "\F463", 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("board", "게시판그룹관리", G5_ADMIN_URL . "/boardgroup_list.php", true, 200, "\F2EE", 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("board", "내용관리", G5_ADMIN_URL . "/contentlist.php", true, 300, "\F620", 0); -$menu["board"]->getLastAddedMenu()->addSubURL("/contentform.php"); -$menu["board"]->getLastAddedMenu()->addSubURL("/contentformupdate.php"); - -$menu["board"]->addChildMenu("board", "이모티콘 관리", G5_ADMIN_URL . "/emoticon_list.php", true, 400, "\F329", 0); -$menu["board"]->getLastAddedMenu()->addSubURL("/emoticon_list_update.php"); -$menu["board"]->getLastAddedMenu()->addSubURL("/emoticon_form_update.php"); diff --git a/AvocadoEdition_Light/adm/_gnb.community.menu.php b/AvocadoEdition_Light/adm/_gnb.community.menu.php deleted file mode 100644 index 1a75492..0000000 --- a/AvocadoEdition_Light/adm/_gnb.community.menu.php +++ /dev/null @@ -1,30 +0,0 @@ -addChildMenu("community", "커스텀메뉴", G5_ADMIN_URL . "/{your_file_name}.php", true, 1, "{bootstrap icon css code}", 0); -$menu["community"]->getLastAddedMenu()->addSubURL("/{your_subfile_name}.php"); - */ - -/* -!! TODO - -if (!isset($menu["community"])) { - $menu["community"] = new MenuCategory("community", "community", "커뮤니티 호환기능", "", true, 4, "", 0); -} -$menu["community"]->addChildMenu("config", "커뮤니티 설정", G5_ADMIN_URL . "/community_form.php", true, 100, "\F3B3", 0); - -$menu["community"]->addChildMenu("config", "캐릭터 관리", G5_ADMIN_URL . "/character_list.php", true, 200, "\F379", 0); -$menu["community"]->getLastAddedMenu()->addSubURL("/character_list_update.php"); -$menu["community"]->getLastAddedMenu()->addSubURL("/character_form.php"); -$menu["community"]->getLastAddedMenu()->addSubURL("/character_form_update.php"); -*/ diff --git a/AvocadoEdition_Light/adm/_gnb.member.menu.php b/AvocadoEdition_Light/adm/_gnb.member.menu.php deleted file mode 100644 index da79690..0000000 --- a/AvocadoEdition_Light/adm/_gnb.member.menu.php +++ /dev/null @@ -1,40 +0,0 @@ -addChildMenu("member", "커스텀메뉴", G5_ADMIN_URL . "/{your_file_name}.php", true, 1, "{bootstrap icon css code}", 0); -$menu["member"]->getLastAddedMenu()->addSubURL("/{your_subfile_name}.php"); - */ - -if (!isset($menu["member"])) { - $menu["member"] = new MenuCategory("member", "member", "회원관리", "/member_list.php", true, 1, "", 0); -} - -$menu["member"]->addChildMenu("member", "회원관리", G5_ADMIN_URL . "/member_list.php", true, 100, "\F8A7", 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, 200, "\F3F2", 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, 300, "\F5DE", 0); -$menu["member"]->getLastAddedMenu()->addSubURL("/visit_delete_update.php"); diff --git a/AvocadoEdition_Light/adm/_gnb.site.menu.php b/AvocadoEdition_Light/adm/_gnb.site.menu.php deleted file mode 100644 index e1a8e9b..0000000 --- a/AvocadoEdition_Light/adm/_gnb.site.menu.php +++ /dev/null @@ -1,45 +0,0 @@ -addChildMenu("config", "커스텀메뉴", G5_ADMIN_URL . "/{your_file_name}.php", true, 1, "{bootstrap icon css code}", 0); -$menu["config"]->getLastAddedMenu()->addSubURL("/{your_subfile_name}.php"); - */ - -if (!isset($menu["config"])) { - $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, 100, "\F3E5", 0); -$menu["config"]->getLastAddedMenu()->addSubURL("/site_config_form_update.php"); - -$menu["config"]->addChildMenu("config", "테마 설정", G5_ADMIN_URL . "/theme.php", true, 200, "\F4B2", 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, 300, "\F1D8", 0); -$menu["config"]->getLastAddedMenu()->addSubURL("/design_form_update.php"); - -$menu["config"]->addChildMenu("config", "메인 편집", G5_ADMIN_URL . "/viewer_form.php", true, 400, "\F891", 0); -$menu["config"]->getLastAddedMenu()->addSubURL("/viewer_form_update.php"); - -$menu["config"]->addChildMenu("config", "홈페이지 폰트 설정", G5_ADMIN_URL . "/editor_font.php", true, 500, "\F5CB", 0); -$menu["config"]->getLastAddedMenu()->addSubURL("/editor_font_update.php"); - -$menu["config"]->addChildMenu("config", "메뉴 설정", G5_ADMIN_URL . "/menu_list.php", true, 600, "\F478", 0); -$menu["config"]->getLastAddedMenu()->addSubURL("/menu_list_update.php"); -$menu["config"]->getLastAddedMenu()->addSubURL("/menu_form.php"); -$menu["config"]->getLastAddedMenu()->addSubURL("/menu_form_search.php"); - -$menu["config"]->addChildMenu("config", "애드온 설정", G5_ADMIN_URL . "/addon_config.php", true, 700, "\F4CA", 0); diff --git a/AvocadoEdition_Light/adm/banner_form.php b/AvocadoEdition_Light/adm/banner_form.php new file mode 100644 index 0000000..2e12643 --- /dev/null +++ b/AvocadoEdition_Light/adm/banner_form.php @@ -0,0 +1,134 @@ + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
배너 이미지 + + + + 이미지 없음 + + + 직접등록   +
+ 외부경로   +
배너 모바일 이미지 + + + + 이미지 없음 + + + 직접등록   +
+ 외부경로   +
대체텍스트 + +
링크 + +
새창 + + +
+ + + " + id="bn_begin_chk" + onclick="if (this.checked == true) this.form.bn_begin_time.value=this.form.bn_begin_chk.value; else this.form.bn_begin_time.value = this.form.bn_begin_time.defaultValue;"> + +
+ + + " + id="bn_end_chk" + onclick="if (this.checked == true) this.form.bn_end_time.value=this.form.bn_end_chk.value; else this.form.bn_end_time.value = this.form.bn_end_time.defaultValue;"> + +
+ + +
+
+
+ + 목록 +
+
+ +
+ 등록된 이미지 개 +
+
+ 메인슬라이드 추가 +
+
+ + + + + + + + + + + + + + + + + + + + + + + + "; + $bn_img_obj .= ""; + if ($link_tag) + $bn_img_obj .= ""; + } + + $bn_begin_time = substr($row['bn_begin_time'], 2, 14); + $bn_end_time = substr($row['bn_end_time'], 2, 14); + + $bg = 'bg' . ($i % 2); + ?> + + + + + + + + + + + "; + } + ?> + +
목록
ID이미지대체텍스트시작일시종료일시출력순서관리
+ 수정 + 삭제 +
자료가 없습니다.
+
+ + +
  • 기능 설정
  • 확장 기능 설정
  • 디자인/양식
  • -
  • 포인트 설정
  • +
  • 포인트 설정
  • 여분필드
  • '; diff --git a/AvocadoEdition_Light/adm/board_form_update.php b/AvocadoEdition_Light/adm/board_form_update.php index c14b369..c0fb809 100644 --- a/AvocadoEdition_Light/adm/board_form_update.php +++ b/AvocadoEdition_Light/adm/board_form_update.php @@ -110,8 +110,8 @@ $sql_common = " gr_id = '{$_POST['gr_id']}', bo_use_list_content = '{$_POST['bo_use_list_content']}', bo_use_email = '{$_POST['bo_use_email']}', bo_use_cert = '{$_POST['bo_use_cert']}', - bo_pass = '{$_POST['bo_pass']}', - bo_use_pass = '{$_POST['bo_use_pass']}', + bo_pass = '{$_POST['bo_pass']}', + bo_use_pass = '{$_POST['bo_use_pass']}', bo_use_sns = '{$_POST['bo_use_sns']}', bo_table_width = '{$_POST['bo_table_width']}', bo_subject_len = '{$_POST['bo_subject_len']}', diff --git a/AvocadoEdition_Light/adm/board_thumbnail_delete.php b/AvocadoEdition_Light/adm/board_thumbnail_delete.php index 8395fe9..1264925 100644 --- a/AvocadoEdition_Light/adm/board_thumbnail_delete.php +++ b/AvocadoEdition_Light/adm/board_thumbnail_delete.php @@ -45,7 +45,7 @@ if (is_dir($dir)) { } ?> -
    게시판 수정으로 돌아가기
    -
    @@ -41,7 +40,6 @@ $colspan = 4;
    -
    @@ -52,7 +50,6 @@ $colspan = 4; -
    @@ -99,12 +96,10 @@ $colspan = 4;
    목록
    - -
    +
    - +전체목록'; + +$g5['title'] = $config['cf_class_title'] . ' 관리'; +include_once './admin.head.php'; + +$colspan = 7; + + + +$pg_anchor = ''; + +?> + +
    +

    목록

    + + +
    + + 전체 건 +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + IDX이미지선택권한보기
    + + + + + + ' alt='' style="max-width: 40px;"> + + + + + + + + + + + 멤버목록보기 + +
    자료가 없습니다.
    +
    +
    + + +
    +
    + +
    +
    +

    정보 등록

    + +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    +
    +
    + + + diff --git a/AvocadoEdition_Light/adm/class_list_delete.php b/AvocadoEdition_Light/adm/class_list_delete.php new file mode 100644 index 0000000..fb85fce --- /dev/null +++ b/AvocadoEdition_Light/adm/class_list_delete.php @@ -0,0 +1,84 @@ + +
  • DB확인
  • +
  • 기본설정
  • +
  • 기능설정
  • +
  • 기타항목설정
  • +'; + +$frm_submit = '
    + +
    '; + +$is_community_init = Community::isInitCommunity(); + +if (!$is_community_init) { + $pg_anchor = ''; + + $frm_submit = ''; +} else { + $pg_anchor = ''; +} +?> +
    + + +
    +

    커뮤니티 DB 확인

    + +
    +

    커뮤니티용 기능에 필요한 데이터베이스를 확인합니다.

    +

    데이터베이스가 생성되어 있지 않으면 정상적으로 동작하지 않을 수 있습니다.

    +

    커뮤니티 기능을 사용할 것이 아니라면 DB를 생성하지 않아도 됩니다.

    +

    커뮤니티 기능 활성화 시 커뮤니티 메뉴가 표시됩니다.

    +
    +
    + + + + + + + + $item) { + $vicon = " 생성되지 않음"; + ?> + +
    홈페이지 기본환경 설정
    + +
    +
    + +
    +

    커뮤니티 기본환경 설정

    + +
    +

    커뮤니티용 기능에 필요한 설정입니다.

    +
    +
    + + + + + + + + + + + + + + + + +
    홈페이지 기본환경 설정
    공개설정 + > + +    + > + +
    기능설정 + > + +    + > + +    + > + +
    +
    +
    + +
    +

    기능 설정

    + +
    + + + + + + + + + + + + + + + + + + + +
    캐릭터 최대 생성 갯수 + +
    최초 스탯 포인트 + + +
    하루 탐색 횟수 + +
    +
    +
    + +
    +

    기타 항목명 설정

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    설정명칭 + +
    단위 + +
    설정명칭 + +
    단위 + +
    설정명칭 + +
    (선택A)설정명칭 + + +
    (선택B)설정명칭 + + +
    상점 카테고리- + + +
    아이템 기능- + + +
    +
    +
    + + +
    + +
  • 레이아웃 추가설정
  • '; -$frm_submit = '
    +$frm_submit = '
    '; @@ -224,15 +224,12 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) { $userinfo = get_icode_userinfo($config['cf_icode_id'], $config['cf_icode_pw']); } ?> -
    -

    홈페이지 기본환경 설정

    -
    @@ -247,7 +244,6 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) { - -
    홈페이지 기본환경 설정
    관리자 아이콘 @@ -259,7 +255,6 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
    @@ -479,16 +474,13 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
    - -

    게시판 기본 설정

    각 게시판 관리에서 개별적으로 설정 가능합니다.

    -
    @@ -570,16 +562,13 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
    게시판 기본 설정
    - -

    회원가입 설정

    회원가입 시 사용할 스킨과 입력 받을 정보 등을 설정할 수 있습니다.

    -
    @@ -707,249 +696,10 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
    회원가입 설정
    - - - - - - - - - - - - - - - - - -

    투표 기타의견 작성 시 메일 설정

    -
    @@ -969,78 +719,13 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
    투표 기타의견 작성 시 메일 설정
    - - - - - -

    레이아웃 추가설정

    기본 설정된 파일 경로 및 script, css 를 추가하거나 변경할 수 있습니다.

    -
    @@ -1061,102 +746,8 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
    레이아웃 추가설정
    - - - - - - -
    - + + + diff --git a/AvocadoEdition_Light/adm/couple_list_delete.php b/AvocadoEdition_Light/adm/couple_list_delete.php new file mode 100644 index 0000000..6cf5ae2 --- /dev/null +++ b/AvocadoEdition_Light/adm/couple_list_delete.php @@ -0,0 +1,23 @@ +img { @@ -1040,3 +1047,89 @@ table { .footer-copyright a { color: #A0A0A0; } + +table span.dbchk { + display: flex; + align-items: center; + gap: 8px; +} + +table i.dbchk.bi { + font-size: 16px; +} + +table i.dbchk.bi.bi-x-circle { + color: #800000; +} + +.grid_1 { + width: 50px +} + +.grid_2 { + width: 100px +} + +.grid_3 { + width: 150px +} + +.grid_4 { + width: 200px +} + +.grid_5 { + width: 250px +} + +.grid_6 { + width: 300px +} + +.grid_7 { + width: 350px +} + +.grid_8 { + width: 400px +} + +.grid_9 { + width: 450px +} + +.grid_10 { + width: 500px +} + +.grid_11 { + width: 550px +} + +.grid_12 { + width: 600px +} + +.grid_13 { + width: 650px +} + +.grid_14 { + width: 700px +} + +.grid_15 { + width: 750px +} + +.grid_16 { + width: 800px +} + +.grid_17 { + width: 850px +} + +.grid_18 { + width: 900px +} diff --git a/AvocadoEdition_Light/adm/css/admin.layout.css b/AvocadoEdition_Light/adm/css/admin.layout.css index 9d9ce63..9f4d1b5 100644 --- a/AvocadoEdition_Light/adm/css/admin.layout.css +++ b/AvocadoEdition_Light/adm/css/admin.layout.css @@ -187,6 +187,7 @@ body { display: flex; justify-content: end; padding: 16px; + gap: 8px; } .list_confirm>* { @@ -341,7 +342,7 @@ body { margin: 0; } -#fsearch .btn_submit { +form .btn_submit { border: none; background: var(--theme-color-c); color: #fff; diff --git a/AvocadoEdition_Light/adm/emoticon_list.php b/AvocadoEdition_Light/adm/emoticon_list.php index 1fc1e28..b30e066 100644 --- a/AvocadoEdition_Light/adm/emoticon_list.php +++ b/AvocadoEdition_Light/adm/emoticon_list.php @@ -16,9 +16,9 @@ if (!$sst) { $sql_order = " order by {$sst} {$sod} "; $sql = " select count(*) as cnt - {$sql_common} - {$sql_search} - {$sql_order} "; + {$sql_common} + {$sql_search} + {$sql_order} "; $row = sql_fetch($sql); $total_count = $row['cnt']; @@ -29,10 +29,10 @@ if ($page < 1) $from_record = ($page - 1) * $rows; // 시작 열을 구함 $sql = " select * - {$sql_common} - {$sql_search} - {$sql_order} - limit {$from_record}, {$rows} "; + {$sql_common} + {$sql_search} + {$sql_order} + limit {$from_record}, {$rows} "; $result = sql_query($sql); $listall = '전체목록'; diff --git a/AvocadoEdition_Light/adm/exp_list.php b/AvocadoEdition_Light/adm/exp_list.php new file mode 100644 index 0000000..6d2f1da --- /dev/null +++ b/AvocadoEdition_Light/adm/exp_list.php @@ -0,0 +1,246 @@ +전체목록'; + +$mb = array(); +if ($sfl == 'mb_id' && $stx) + $mb = get_member($stx); + +$g5['title'] = $config['cf_exp_name'] . ' 관리'; +include_once './admin.head.php'; + +$colspan = 7; + + +$pg_anchor = ''; + +$frm_submit = '
    + +
    '; +?> +
    + + + + + + +
    +

    지급/회수

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    지급유형 + + +    + + +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +

    내역

    + +
    + + 전체 건 + +
    +
    + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + 오너명캐릭터 이름지급 내용일시 합계
    + + + + +
    자료가 없습니다.
    +
    +
    + +
    +
    + +
    + + '{$_POST['ex_id'][$k]}' "; + sql_query($sql); + + // 포인트 UPDATE + $sum_point = get_exp_sum($ch_id); + $sql = " update {$g5['character_table']} set ch_exp = '$sum_point' where ch_id = '{$ch_id}' "; + sql_query($sql); + + $rank_info = get_rank_exp($sum_point, $ch_id); + // 기존 랭크에서 변동이 있을 경우에만 실행 + if ($ch['ch_rank'] != $rank_info['rank']) { + $state_point = $ch['ch_point'] + $rank_info['add_point']; + // 스탯 포인트 변동 사항 및 랭크 변동사항 저장 + $rank_up_sql = " update {$g5['character_table']} set ch_rank = '{$rank_info['rank']}', ch_point = '{$state_point}' where ch_id = '$ch_id' "; + sql_query($rank_up_sql); + } +} + +goto_url('./exp_list.php?' . $qstr); diff --git a/AvocadoEdition_Light/adm/exp_update.php b/AvocadoEdition_Light/adm/exp_update.php new file mode 100644 index 0000000..dc1baa6 --- /dev/null +++ b/AvocadoEdition_Light/adm/exp_update.php @@ -0,0 +1,48 @@ + $ch['ch_exp'])) + continue; + + insert_exp($ch['ch_id'], $ex_point, $ex_content, $action); + } + +} else { + // 개별지급 + if (!$ch_id && $ch_name) { + $ch = sql_fetch("select ch_id, ch_name, ch_exp from {$g5['character_table']} where ch_name = '{$ch_name}'"); + $ch_id = $ch['ch_id']; + } else { + $ch = sql_fetch("select ch_id, ch_name, ch_exp from {$g5['character_table']} where ch_id = '{$ch_id}'"); + } + + if (!$ch['ch_id']) + alert('존재하는 캐릭터가 아닙니다.'); + + if (($ex_point < 0) && ($ex_point * (-1) > $ch['ch_exp'])) + alert('경험치를 차감하는 경우 현재 경험치보다 작으면 안됩니다.'); + + insert_exp($ch['ch_id'], $ex_point, $ex_content, $action); +} + +goto_url('./exp_list.php?' . $qstr); diff --git a/AvocadoEdition_Light/adm/explorer_list.php b/AvocadoEdition_Light/adm/explorer_list.php new file mode 100644 index 0000000..c258b41 --- /dev/null +++ b/AvocadoEdition_Light/adm/explorer_list.php @@ -0,0 +1,284 @@ +전체목록'; + +$g5['title'] = '아이템 뽑기 관리'; +include_once './admin.head.php'; + + +$pg_anchor = ''; + +$frm_submit = '
    + +
    '; + +$colspan = 5; + +if ($sch_it_id) { + $sch_it = get_item($sch_it_id); + $sch_it_name = $sch_it['it_name']; + $sch_it_img = $sch_it['it_img']; +} + +?> + +
    + +

    뽑기 설정 목록

    + + +
    + + 등록된 뽑기 설정 수 개 +
    + + +
    + + [ ] 뽑기 설정 +
    + + +
    + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + 뽑기아이템획득아이템획득구간
    + + + + + + + 이미지 없음 + + + + + + + + 이미지 없음 + + + + + + ~ + 구간 획득 +
    자료가 없습니다.
    +
    + +
    + + +
    +
    + + + + +
    + + +
    +
    + + + + + + + + +

    뽑기 등록

    + + +
    + + + + + + + + + + + + + + + + + + + +
    뽑기 아이템 + + + + + + + + + +
    +
    +
    + +
    획득 아이템 + + +
    +
    +
    +
    획득구간 + ※ 다수의 구간이 겹칠 시,랜덤으로 획득 됩니다.") ?> + + ~ + 구간 획득 +
    +
    + +
    + +
    + +
    + +
    + + + + diff --git a/AvocadoEdition_Light/adm/explorer_list_update.php b/AvocadoEdition_Light/adm/explorer_list_update.php new file mode 100644 index 0000000..0e829e4 --- /dev/null +++ b/AvocadoEdition_Light/adm/explorer_list_update.php @@ -0,0 +1,44 @@ +전체목록'; + +$ch = array(); +if ($sfl == 'ch_id' && $stx) + $ch = get_member($stx); + +$g5['title'] = '아이템 보유현황 관리'; +include_once './admin.head.php'; + +$colspan = 8; + +if (strstr($sfl, "ch_id")) + $ch_id = $stx; +else + $ch_id = ""; + + +$pg_anchor = ''; + +$frm_submit = '
    + +
    '; + +?> +
    + + + + + + + +
    +

    캐릭터 아이템 지급

    + +
    + + + + + + + + + + + + + + + + + + + +
    지급유형 + + +    + + +
    캐릭터 이름 + + + +
    +
    +
    +
    아이템 이름 + + + 개 +
    +
    +
    +
    +
    +
    + +
    +
    +

    아이템 보유 현황

    + +
    + + 전체 건 +
    +
    + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + 소유자아이템 이름보낸사람메모
    + + + + + + + + 이미지 없음 + + + +
    자료가 없습니다.
    +
    +
    + +
    +
    + +
    + +필수'; + $item['it_use'] = 'Y'; + + +} else if ($w == 'u') { + + $html_title .= ' 수정'; + $item = sql_fetch("select * from {$g5['item_table']} where it_id = '{$it_id}'"); + if (!$item['it_id']) + alert('존재하지 않는 아이템 입니다.'); + $readonly = 'readonly'; +} + +$g5['title'] = $html_title; +include_once './admin.head.php'; + +$pg_anchor = ''; + + +$frm_submit = '
    + + 목록' . PHP_EOL; +$frm_submit .= '
    '; + +?> + +
    + + + + + + + + +
    +

    아이템 기본 설정

    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    아이템 기본 설정
    사용여부 + /> +
    아이템 분류 + +
    아이템 기능 + 기능종류 + + + +    + 뽑기 아이템 설정하러 가기 + +
    + 적용값 + + + ;"> + 스탯 : + + + + + + +
    아이템 이름 + +
    아이템 이미지 + + + + 이미지 없음 + + + 직접등록   +
    + 외부경로   +
    상세이미지 + + + + 이미지 없음 + + + 직접등록   +
    + 외부경로   +
    아이템 설명 + +
    아이템 효과 + +
    되팔기 설정사용여부 + /> + +
    가격 + +
    아이템 속성 + /> + + + /> + + + /> + + + /> + + + /> + + + + + +
    +
    +
    + + +
    +

    탐색설정

    + +
    + + + + + + + + + + + + + + + + + + +
    아이템 기본 설정
    탐색획득 + 탐색사용여부 + + /> + +
    + 회득 구간 설정 + + ※ 다수의 구간이 겹칠 시,랜덤으로 획득 됩니다.") ?> + + ~ + 구간 획득 +
    +
    +
    + + +
    + +전체목록'; + +$g5['title'] = '아이템 관리'; +include_once './admin.head.php'; + +$colspan = 15; +?> +
    + + 추가된 아이템 수 개 +
    +
    + + + + + + + +
    + + + +
    + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 수정'; + $bg = 'bg' . ($i % 2); + ?> + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + 분류기능아이템귀속영구인벤자비레시피되팔기사용관리
    + + + + + + + + + + + + + + 이미지없음 + + + + + > + + > + + > + + > + + > + + > + + + + > + + + +
    자료가 없습니다.
    +
    +
    + + + + +
    +
    + + +전체목록'; + +$ch = []; +if ($sfl == 'ch_id' && $stx) + $ch = get_member($stx); + +$g5['title'] = '아이템 기록'; + +include_once './admin.head.php'; + +$colspan = 4; ?> +
    + + 전체 건 +
    +
    + + + + + +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    캐릭터명아이템구분일시
    + + +
    자료가 없습니다.
    +
    +전체목록'; + +$g5['title'] = ($config['cf_rank_name'] ? $config['cf_rank_name'] : "랭크") . '설정 관리'; +include_once './admin.head.php'; + +$colspan = 5; + +$pg_anchor = ''; + +?> +
    +

    설정 목록

    + +
    + + 전체 건 +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + 요구추가 스탯 포인트 
    + + + + + + exp + + +  
    자료가 없습니다.
    +
    +
    + + +
    +
    + +
    +
    +

    설정 등록

    + +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    +
    +
    + + +
    + + + +
    +

    초기화면 접속 시 자동으로 뜰 팝업레이어를 설정합니다.

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + + 시간 +
    + + " + id="nw_begin_chk" + onclick="if (this.checked == true) this.form.nw_begin_time.value=this.form.nw_begin_chk.value; else this.form.nw_begin_time.value = this.form.nw_begin_time.defaultValue;"> + +
    + + " id="nw_end_chk" + onclick="if (this.checked == true) this.form.nw_end_time.value=this.form.nw_end_chk.value; else this.form.nw_end_time.value = this.form.nw_end_time.defaultValue;"> + +
    + px +
    + px +
    + px +
    + px +
    + +
    +
    +
    + + 목록 +
    +
    + + diff --git a/AvocadoEdition_Light/adm/newwinformupdate.php b/AvocadoEdition_Light/adm/newwinformupdate.php new file mode 100644 index 0000000..60a68ed --- /dev/null +++ b/AvocadoEdition_Light/adm/newwinformupdate.php @@ -0,0 +1,45 @@ + diff --git a/AvocadoEdition_Light/adm/newwinlist.php b/AvocadoEdition_Light/adm/newwinlist.php new file mode 100644 index 0000000..2ee4e5e --- /dev/null +++ b/AvocadoEdition_Light/adm/newwinlist.php @@ -0,0 +1,121 @@ +/data/dbconfig.php 파일에 $g5[\'new_win_table\'] = G5_TABLE_PREFIX.\'new_win\'; 를 추가해 주세요.'); +} +//내용(컨텐츠)정보 테이블이 있는지 검사한다. +if (!sql_query(" DESCRIBE {$g5['new_win_table']} ", false)) { + if (sql_query(" DESCRIBE {$g5['g5_shop_new_win_table']} ", false)) { + sql_query(" ALTER TABLE {$g5['g5_shop_new_win_table']} RENAME TO `{$g5['new_win_table']}` ;", false); + } else { + $query_cp = sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['new_win_table']}` ( + `nw_id` int(11) NOT NULL AUTO_INCREMENT, + `nw_device` varchar(10) NOT NULL DEFAULT 'both', + `nw_begin_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `nw_end_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `nw_disable_hours` int(11) NOT NULL DEFAULT '0', + `nw_left` int(11) NOT NULL DEFAULT '0', + `nw_top` int(11) NOT NULL DEFAULT '0', + `nw_height` int(11) NOT NULL DEFAULT '0', + `nw_width` int(11) NOT NULL DEFAULT '0', + `nw_subject` text NOT NULL, + `nw_content` text NOT NULL, + `nw_content_html` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`nw_id`) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true); + } +} + +$g5['title'] = '팝업레이어 관리'; +include_once G5_ADMIN_PATH . "/admin.head.php"; + +$sql_common = " from {$g5['new_win_table']} "; + +// 테이블의 전체 레코드수만 얻음 +$sql = " select count(*) as cnt " . $sql_common; +$row = sql_fetch($sql); +$total_count = $row['cnt']; + +$sql = "select * {$sql_common} order by nw_id desc "; +$result = sql_query($sql); +?> + +
    전체
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + } + ?> + +
    목록
    번호제목접속기기시작일시종료일시시간LeftTopWidthHeight관리
    시간pxpxpxpx + 수정 + + 삭제 +
    자료가 한건도 없습니다.
    +
    + + + diff --git a/AvocadoEdition_Light/adm/order_list.php b/AvocadoEdition_Light/adm/order_list.php new file mode 100644 index 0000000..7dd7511 --- /dev/null +++ b/AvocadoEdition_Light/adm/order_list.php @@ -0,0 +1,158 @@ +전체목록'; + +$ch = []; +if ($sfl == 'ch_id' && $stx) + $ch = get_member($stx); + +$g5['title'] = '아이템 구매 기록'; +include_once "./admin.head.php"; + +$colspan = 5; + +?> +
    + + 전체 건 +
    +
    + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + 구매캐릭터구매회원아이템구매일
    + + + + + +
    자료가 없습니다.
    +
    +
    + +
    +
    + + +전체목록'; + +$mb = []; +if ($sfl == 'mb_id' && $stx) + $mb = get_member($stx); + +$g5['title'] = ($config['cf_money'] ? $config['cf_money'] : "포인트") . ' 관리'; +include_once "./admin.head.php"; + +$colspan = 8; + +$po_expire_term = ''; +if ($config['cf_point_term'] > 0) { + $po_expire_term = $config['cf_point_term']; +} + +?> +
    + + 전체 건 + +
    +
    + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + '; + $link2 = ''; + } + + $expr = ''; + if ($row['po_expired'] == 1) + $expr = ' txt_expired'; + + $bg = 'bg' . ($i % 2); + ?> + + + + + + + + + + + '; + ?> + +
    목록
    + + + 회원아이디이름닉네임내용일시
    + + + + + +
    +
    자료가 없습니다.
    +
    +
    + +
    +
    + +
    +

    개별회원 증감 설정

    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    지급유형 + + +    + + +
    멤버 닉네임 + + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + + diff --git a/AvocadoEdition_Light/adm/point_list_delete.php b/AvocadoEdition_Light/adm/point_list_delete.php new file mode 100644 index 0000000..2e86b8c --- /dev/null +++ b/AvocadoEdition_Light/adm/point_list_delete.php @@ -0,0 +1,56 @@ + 0) { + insert_use_point($row['mb_id'], $row['po_use_point'], $row['po_id']); + } + } + + // 소지금 내역삭제 + $sql = " delete from {$g5['point_table']} where po_id = '{$_POST['po_id'][$k]}' "; + sql_query($sql); + + // po_mb_point에 반영 + $sql = " update {$g5['point_table']} + set po_mb_point = po_mb_point - '{$row['po_point']}' + where mb_id = '{$_POST['mb_id'][$k]}' + and po_id > '{$_POST['po_id'][$k]}' "; + sql_query($sql); + + // 소지금 UPDATE + $sum_point = get_point_sum($_POST['mb_id'][$k]); + $sql = " update {$g5['member_table']} set mb_point = '{$sum_point}' where mb_id = '{$_POST['mb_id'][$k]}' "; + sql_query($sql); +} + +goto_url('./point_list.php?' . $qstr); diff --git a/AvocadoEdition_Light/adm/point_update.php b/AvocadoEdition_Light/adm/point_update.php new file mode 100644 index 0000000..df3a0a6 --- /dev/null +++ b/AvocadoEdition_Light/adm/point_update.php @@ -0,0 +1,46 @@ + 1 "; + $sql = " select * {$sql_common} {$sql_search} "; + $result = sql_query($sql); + + for ($i = 0; $mb = sql_fetch_array($result); $i++) { + if (($po_point < 0) && ($po_point * (-1) > $mb['mb_point'])) + alert('소지금를 깎는 경우 현재 소지금보다 작으면 안됩니다.', './point_list.php?' . $qstr); + + insert_point($mb['mb_id'], $po_point, $po_content, '@passive', $mb['mb_id'], $member['mb_id'] . '-' . uniqid(''), $expire); + } +} else { + // 개별지급 + if (!$mb_id && $mb_name) { + $mb = sql_fetch("select * from {$g5['member_table']} where mb_name = '{$mb_name}'"); + $mb_id = $mb['mb_id']; + } else { + $mb = get_member($mb_id); + } + + if (!$mb['mb_id']) + alert('존재하는 회원이 아닙니다.'); + + if (($po_point < 0) && ($po_point * (-1) > $mb['mb_point'])) + alert('소지금를 깎는 경우 현재 소지금보다 작으면 안됩니다.', './point_list.php?' . $qstr); + + insert_point($mb['mb_id'], $po_point, $po_content, '@passive', $mb['mb_id'], $member['mb_id'] . '-' . uniqid(''), $expire); +} + +goto_url('./point_list.php?' . $qstr); diff --git a/AvocadoEdition_Light/adm/poll_delete.php b/AvocadoEdition_Light/adm/poll_delete.php new file mode 100644 index 0000000..4c6f502 --- /dev/null +++ b/AvocadoEdition_Light/adm/poll_delete.php @@ -0,0 +1,22 @@ + +
    + + + + + + + + +
    + + + + + + + + + + + + + + 필수'; + } + + $po_poll = get_text($po['po_poll' . $i]); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + class="frm_input " + maxlength="125"> + + + + +
    + + +
    + + 이상 투표할 수 있음 +
    + + 점 +
    투표등록일
    +
    +
    + + 목록 +
    +
    +전체목록'; + +$g5['title'] = '투표관리'; +include_once "./admin.head.php"; + +$colspan = 7; +?> +
    + + 투표수 개 +
    +
    +
    + + + + + +
    +
    + +
    + + + + + + +
    + + + + + + + + + + + + + + + 수정'; + + $bg = 'bg' . ($i % 2); + ?> + + + + + + + + + + '; + ?> + +
    목록
    + + + 번호제목투표권한투표수기타의견관리
    + + + + 보기 + +
    생성된 투표가 없습니다.
    +
    +
    + +
    +
    + + +전체목록'; + +$g5['title'] = '인기검색어관리'; +include_once './admin.head.php'; + +$colspan = 4; +?> + +
    + + 건수 : 개 +
    +
    +
    + + + + + +
    +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + 검색어등록일등록IP
    + + + +
    자료가 없습니다.
    +
    + +
    + +
    + +
    + + + diff --git a/AvocadoEdition_Light/adm/popular_rank.php b/AvocadoEdition_Light/adm/popular_rank.php new file mode 100644 index 0000000..3fb3e1f --- /dev/null +++ b/AvocadoEdition_Light/adm/popular_rank.php @@ -0,0 +1,107 @@ + '' and pp_date between '{$fr_date}' and '{$to_date}' "; +$sql_group = " group by pp_word "; +$sql_order = " order by cnt desc "; + +$sql = " select pp_word {$sql_common} {$sql_search} {$sql_group} "; +$result = sql_query($sql); +$total_count = sql_num_rows($result); + +$rows = $config['cf_page_rows']; +$total_page = ceil($total_count / $rows); // 전체 페이지 계산 +if ($page < 1) { + $page = 1; +} // 페이지가 없으면 첫 페이지 (1 페이지) +$from_record = ($page - 1) * $rows; // 시작 열을 구함 + +$sql = " select pp_word, count(*) as cnt {$sql_common} {$sql_search} {$sql_group} {$sql_order} limit {$from_record}, {$rows} "; +$result = sql_query($sql); + +$listall = '전체목록'; + +$g5['title'] = '인기검색어순위'; +include_once './admin.head.php'; +include_once G5_PLUGIN_PATH . '/jquery-ui/datepicker.php'; + +$colspan = 3; +?> + +
    + + 건수 개 +
    +
    +
    + 기간별검색 + + + ~ + + + +
    +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    순위검색어검색회수
    자료가 없습니다.
    +
    +
    +전체목록'; + + +$g5['title'] = '레시피 관리'; +include_once "./admin.head.php"; + +$colspan = 11; + + +$pg_anchor = ''; + + +$frm_submit = '
    + +
    '; + +?> + + +
    + + + + + + + +
    +

    레시피 목록

    + + +
    + + 전체 건 +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + 재료01재료02재료03조합결과사용
    + + + + "; + } + ?> + + + + "; + } + ?> + + + + "; + } + ?> + + + + "; + } + ?> + + + + > +
    자료가 없습니다.
    +
    + +
    + + +
    + + + +
    +
    +
    + + + + + + + +
    +

    레시피 정보 입력

    + + +
    +

    재료 선택 시, [ 아이템 속성 > 레시피 재료 ] 설정이 되어 있는 아이템만 검색됩니다.

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    재료 01 + + +
    +
    +
    +
    재료 02 + + +
    +
    +
    +
    재료 03 + + +
    +
    +
    +
    결과 + + +
    +
    +
    +
    +
    +
    + + +
    + + + + 0) + alert('이미 등록된 레시피 조합 입니다.', './recipe_list.php?' . $qstr); + +sql_query("insert into {$g5['recepi_table']} + set re_item_order ='{$re_item_order}', + it_id = '{$it_id}', + re_use = '{$re_use}' + "); + +goto_url('./recipe_list.php?' . $qstr); diff --git a/AvocadoEdition_Light/adm/shop_form.php b/AvocadoEdition_Light/adm/shop_form.php new file mode 100644 index 0000000..d099b8b --- /dev/null +++ b/AvocadoEdition_Light/adm/shop_form.php @@ -0,0 +1,410 @@ +필수'; + $shop['sh_use'] = '1'; + $shop['sh_use_money'] = '1'; + + +} else if ($w == 'u') { + + $html_title .= ' 수정'; + $shop = sql_fetch("select * from {$g5['shop_table']} where sh_id = '{$sh_id}'"); + if (!$shop['sh_id']) + alert('존재하지 않는 진열정보 입니다.'); + $readonly = 'readonly'; +} + +$g5['title'] = $html_title; +include_once './admin.head.php'; + +$pg_anchor = ''; + + +$frm_submit = '
    + + 목록' . PHP_EOL; +$frm_submit .= '
    '; + + +/** 세력 정보 **/ +if ($config['cf_side_title']) { + $ch_si = array(); + $side_result = sql_query("select si_id, si_name from {$g5['side_table']} where si_auth <= '{$member['mb_level']}' order by si_id asc"); + for ($i = 0; $row = sql_fetch_array($side_result); $i++) { + $ch_si[$i]['name'] = $row['si_name']; + $ch_si[$i]['id'] = $row['si_id']; + } +} + +/** 종족 정보 **/ +if ($config['cf_class_title']) { + $ch_cl = array(); + $class_result = sql_query("select cl_id, cl_name from {$g5['class_table']} where cl_auth <= '{$member['mb_level']}' order by cl_id asc"); + for ($i = 0; $row = sql_fetch_array($class_result); $i++) { + $ch_cl[$i]['name'] = $row['cl_name']; + $ch_cl[$i]['id'] = $row['cl_id']; + } + +} + +?> + + + +
    + + + + + + + + +
    +

    진열 기본 설정

    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    아이템 기본 설정
    판매여부 + /> +
    상점 분류 +
    진열 아이템 + + +
    +
    +
    +
    아이템 설명 + +
    진열기간날짜 + + + ~ + +
    시간 + + 시 + ~ + 시 +
    요일 + + + + > + + + +
    진열순서 + +
    +
    +
    + + +
    +

    가격 설정

    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    아이템 기본 설정
    설정 + 필요 + + + +
    소모여부 + /> + +
    설정 + 필요 + + +
    소모여부 + /> + +
    교환아이템 설정 + 필요 아이템 + + + + 개 +
    +
    +
    +
    소모여부 + /> + +
    교환타이틀 설정 + 필요 타이틀 + + + +
    +
    +
    +
    소모여부 + /> + +
    +
    +
    + + +
    +

    구매제한 설정

    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    아이템 기본 설정
    구매갯수 + + +
    재고설정 + + +
    제한 설정 + 구매가능 + + + + > + + + +
    사용여부 + /> + +
    제한 설정 + 구매가능 + + + + > + + + +
    사용여부 + /> + +
    랭킹 제한 설정 + 구매가능 + + + + > + + + +
    사용여부 + /> + +
    +
    +
    + + + +
    + + + 0) { + $sh_week = implode("||", $sh_week); + $sh_week = "||" . $sh_week . "||"; +} + +// 소속 제한 설정 저장 +if (count($sh_side) > 0) { + $sh_side = implode("||", $sh_side); + $sh_side = "||" . $sh_side . "||"; +} +// 종족 제한 설정 저장 +if (count($sh_class) > 0) { + $sh_class = implode("||", $sh_class); + $sh_class = "||" . $sh_class . "||"; +} +// 랭킹 제한 설정 저장 +if (count($sh_rank) > 0) { + $sh_rank = implode("||", $sh_rank); + $sh_rank = "||" . $sh_rank . "||"; +} + +// 진열 아이템 유효성 여부 체크 +if (!$it_id && $it_name) { + $it = sql_fetch("select it_id from {$g5['item_table']} where it_name = '{$it_name}'"); + $it_id = $it['it_id']; + if (!$it['it_id']) { + alert("진열 아이템으로 등록되는 아이템의 정보가 없습니다."); + } +} + +// 교환 아이템 유효성 여부 체크 +if (!$sh_has_item && $sh_has_item_name) { + $has_item = sql_fetch("select it_id from {$g5['item_table']} where it_name = '{$sh_has_item_name}'"); + $sh_has_item = $has_item['it_id']; + if (!$has_item['it_id']) { + alert("교환 아이템으로 등록되는 아이템의 정보가 없습니다."); + } +} +if (!$sh_has_item_name) { + $sh_has_item = 0; +} + + +// 교환 타이틀 유효성 여부 체크 +if (!$sh_has_title && $sh_has_title_name) { + $has_title = sql_fetch("select ti_id from {$g5['item_table']} where ti_title = '{$sh_has_title_name}'"); + $sh_has_title = $has_title['ti_id']; + if (!$has_title['ti_id']) { + alert("교환 타이틀로 등록되는 타이틀의 정보가 없습니다."); + } +} +if (!$sh_has_title_name) { + $sh_has_title = 0; +} + +$sql_common = " + it_id = '{$it_id}', + ca_name = '{$ca_name}', + sh_limit = '{$sh_limit}', + sh_qty = '{$sh_qty}', + sh_money = '{$sh_money}', + sh_use_money = '{$sh_use_money}', + sh_exp = '{$sh_exp}', + sh_use_exp = '{$sh_use_exp}', + sh_content = '{$sh_content}', + sh_side = '{$sh_side}', + sh_use_side = '{$sh_use_side}', + sh_class = '{$sh_class}', + sh_use_class = '{$sh_use_class}', + sh_rank = '{$sh_rank}', + sh_use_rank = '{$sh_use_rank}', + sh_has_item = '{$sh_has_item}', + sh_use_has_item = '{$sh_use_has_item}', + sh_has_item_count = '{$sh_has_item_count}', + sh_has_title = '{$sh_has_title}', + sh_use_has_title = '{$sh_use_has_title}', + sh_use = '{$sh_use}', + sh_date_s = '{$sh_date_s}', + sh_date_e = '{$sh_date_e}', + sh_time_s = '{$sh_time_s}', + sh_time_e = '{$sh_time_e}', + sh_week = '{$sh_week}', + sh_order = '{$sh_order}' +"; + + +if ($w == '') { + $sql = " insert into {$g5['shop_table']} + set {$sql_common}"; + sql_query($sql); +} else { + $sh = sql_fetch("select sh_id from {$g5['shop_table']} where sh_id = '{$sh_id}'"); + + if (!$sh['sh_id']) { + alert("상품 진열 정보가 존재하지 않습니다."); + } + + $sql = " update {$g5['shop_table']} + set {$sql_common} + where sh_id = '{$sh_id}'"; + sql_query($sql); +} + +goto_url('./shop_list.php?' . $qstr, false); +?> diff --git a/AvocadoEdition_Light/adm/shop_list.php b/AvocadoEdition_Light/adm/shop_list.php new file mode 100644 index 0000000..5a15d7b --- /dev/null +++ b/AvocadoEdition_Light/adm/shop_list.php @@ -0,0 +1,310 @@ +전체목록'; + +$g5['title'] = '상점 관리'; +include_once './admin.head.php'; + +/******************************* + 구매 아이템 갯수 설정 +*******************************/ +if (!sql_query(" SELECT sh_has_item_count from {$g5['shop_table']} limit 1 ", false)) { + sql_query(" ALTER TABLE {$g5['shop_table']} ADD `sh_has_item_count` int(11) NOT NULL DEFAULT '0' AFTER `sh_has_item`"); +} + +$colspan = 19; +?> + +
    + + 진열된 아이템 수 개 +
    + +
    + + + + + + + + + + +
    + + + + + +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + 수정'; + $bg = 'bg' . ($i % 2); + + $is_order_limit = false; + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + 분류아이템진열기간구매금액구매교환아이템교환타이틀구매갯수재고갯수순서관리
    + + + + + + + + + + + + +

    ~

    + + +

    시 ~

    + + "; + $str_week = explode("||", $shop['sh_week']); + $add_str = ""; + for ($k = 0; $k < count($str_week); $k++) { + if ($str_week[$k] == '') + continue; + ?> + + "; + } + + if (!$is_order_limit) { + echo "상시판매"; + } + ?> +
    + > + + + + > + + + + > + + + + + + + + 개 + + > + + + + + - + + + + + + + + + + +
    자료가 없습니다.
    +
    + +
    + + + + +
    + +
    + + + + + + diff --git a/AvocadoEdition_Light/adm/shop_list_update.php b/AvocadoEdition_Light/adm/shop_list_update.php new file mode 100644 index 0000000..bad8685 --- /dev/null +++ b/AvocadoEdition_Light/adm/shop_list_update.php @@ -0,0 +1,52 @@ +전체목록'; + +$g5['title'] = $config['cf_side_title'] . ' 관리'; +include_once './admin.head.php'; + +$colspan = 7; + +$pg_anchor = ''; +?> +
    +

    목록

    + +
    + + 전체 건 +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + IDX이미지선택권한보기
    + + + + + + ' alt=''> + + + + + + + + + + + 멤버목록보기 + +
    자료가 없습니다.
    +
    +
    + + +
    +
    + +
    +
    +

    정보 등록

    + +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    +
    +
    + + diff --git a/AvocadoEdition_Light/adm/status_list.php b/AvocadoEdition_Light/adm/status_list.php new file mode 100644 index 0000000..bc73264 --- /dev/null +++ b/AvocadoEdition_Light/adm/status_list.php @@ -0,0 +1,226 @@ +전체목록'; + +$g5['title'] = '스탯설정 관리'; +include_once './admin.head.php'; + +$colspan = 7; + +$pg_anchor = ''; + +?> + +
    +

    캐릭터 생성 시 지급되는 전체 스탯포인트 설정은 [ 환경설정 > 커뮤니티 설정 ] 에서 설정해 주시길 바랍니다.

    +
    + +
    +

    스탯 설정 목록

    + + +
    + + 전체 건 +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + 스탯명최대값최소값순서도움말기준
    + + + + + + + + + + + + + + /> + +
    자료가 없습니다.
    +
    +
    + + +
    +
    + +
    +
    +

    스탯 설정 등록

    + +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    +
    +
    + +
    +
    +
    + + diff --git a/AvocadoEdition_Light/adm/status_list_update.php b/AvocadoEdition_Light/adm/status_list_update.php new file mode 100644 index 0000000..17aa67b --- /dev/null +++ b/AvocadoEdition_Light/adm/status_list_update.php @@ -0,0 +1,59 @@ + diff --git a/AvocadoEdition_Light/adm/title_has_list.php b/AvocadoEdition_Light/adm/title_has_list.php new file mode 100644 index 0000000..33d8022 --- /dev/null +++ b/AvocadoEdition_Light/adm/title_has_list.php @@ -0,0 +1,254 @@ +전체목록'; + + +$g5['title'] = '타이틀 보유현황 관리'; +include_once "./admin.head.php"; + +$colspan = 6; + +if (strstr($sfl, "ch_id")) + $ch_id = $stx; +else + $ch_id = ""; + + + +$pg_anchor = ''; + +$frm_submit = '
    + +
    '; + + +?> + +
    + + + + + + + +
    +

    타이틀 지급

    + +
    + + + + + + + + + + + + + + + + + + + +
    지급유형 + + +    + + +
    캐릭터 이름 + + + +
    +
    +
    +
    타이틀 이름 + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +

    타이틀 보유 현황

    + +
    + + 전체 건 +
    +
    + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + +  소유자타이틀 이름상태사용여부
    + + + + + + + + + + 미착용" ?> + + +
    자료가 없습니다.
    +
    +
    + +
    +
    + +
    + + + diff --git a/AvocadoEdition_Light/adm/title_has_list_delete.php b/AvocadoEdition_Light/adm/title_has_list_delete.php new file mode 100644 index 0000000..5a1d80c --- /dev/null +++ b/AvocadoEdition_Light/adm/title_has_list_delete.php @@ -0,0 +1,19 @@ +전체목록'; + +$g5['title'] = '타이틀 관리'; +include_once "./admin.head.php"; + + +$pg_anchor = ''; + +$frm_submit = '
    + +
    '; + +$colspan = 5; +?> +
    +

    타이틀 목록

    + +
    + + 타이틀 수 개 +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + 이미지이미지 수정타이틀명사용유무
    + + + + + + + + + + + + + +
    자료가 없습니다.
    +
    +
    + + +
    +
    + + +
    +
    +
    + + + + + + + + +

    타이틀 신규 등록

    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    +
    +
    + +
    +
    +
    + diff --git a/AvocadoEdition_Light/adm/title_list_update.php b/AvocadoEdition_Light/adm/title_list_update.php new file mode 100644 index 0000000..c299b45 --- /dev/null +++ b/AvocadoEdition_Light/adm/title_list_update.php @@ -0,0 +1,75 @@ + - - -
    기간별검색   @@ -32,7 +29,7 @@ $query_string = $qstr ? '?' . $qstr : '';
    -
    +
    • >접속자 diff --git a/AvocadoEdition_Light/adm/visit_browser.php b/AvocadoEdition_Light/adm/visit_browser.php index 907fc98..de76ea4 100644 --- a/AvocadoEdition_Light/adm/visit_browser.php +++ b/AvocadoEdition_Light/adm/visit_browser.php @@ -27,7 +27,6 @@ while ($row = sql_fetch_array($result)) { $sum_count++; } ?> -
      @@ -92,7 +91,5 @@ while ($row = sql_fetch_array($result)) {
      목록
      - diff --git a/AvocadoEdition_Light/adm/visit_date.php b/AvocadoEdition_Light/adm/visit_date.php index 3b46f73..26ba121 100644 --- a/AvocadoEdition_Light/adm/visit_date.php +++ b/AvocadoEdition_Light/adm/visit_date.php @@ -29,7 +29,6 @@ for ($i = 0; $row = sql_fetch_array($result); $i++) { $sum_count += $row['cnt']; } ?> -
      @@ -87,7 +86,5 @@ for ($i = 0; $row = sql_fetch_array($result); $i++) {
      목록
      - diff --git a/AvocadoEdition_Light/adm/visit_delete.php b/AvocadoEdition_Light/adm/visit_delete.php index 742d491..4297fa0 100644 --- a/AvocadoEdition_Light/adm/visit_delete.php +++ b/AvocadoEdition_Light/adm/visit_delete.php @@ -14,14 +14,11 @@ $row = sql_fetch($sql); $min_year = (int) substr($row['min_date'], 0, 4); $now_year = (int) substr(G5_TIME_YMD, 0, 4); ?> -
      접속자 로그를 삭제할 년도와 방법을 선택해주십시오.
      -
      -
      @@ -54,8 +51,6 @@ $now_year = (int) substr(G5_TIME_YMD, 0, 4); } ?> 월 - - @@ -76,16 +71,13 @@ $now_year = (int) substr(G5_TIME_YMD, 0, 4);
      -
      save
      -
      - - diff --git a/AvocadoEdition_Light/adm/visit_device.php b/AvocadoEdition_Light/adm/visit_device.php index ce4847a..5757431 100644 --- a/AvocadoEdition_Light/adm/visit_device.php +++ b/AvocadoEdition_Light/adm/visit_device.php @@ -27,7 +27,6 @@ while ($row = sql_fetch_array($result)) { $sum_count++; } ?> -
      @@ -96,7 +95,5 @@ while ($row = sql_fetch_array($result)) {
      목록
      - diff --git a/AvocadoEdition_Light/adm/visit_domain.php b/AvocadoEdition_Light/adm/visit_domain.php index 89c40d0..20f1696 100644 --- a/AvocadoEdition_Light/adm/visit_domain.php +++ b/AvocadoEdition_Light/adm/visit_domain.php @@ -27,7 +27,6 @@ while ($row = sql_fetch_array($result)) { $sum_count++; } ?> -
      @@ -99,7 +98,6 @@ while ($row = sql_fetch_array($result)) {
      목록
      - + diff --git a/AvocadoEdition_Light/adm/visit_hour.php b/AvocadoEdition_Light/adm/visit_hour.php index 43522f3..04d3913 100644 --- a/AvocadoEdition_Light/adm/visit_hour.php +++ b/AvocadoEdition_Light/adm/visit_hour.php @@ -26,7 +26,6 @@ for ($i = 0; $row = sql_fetch_array($result); $i++) { $sum_count += $row['cnt']; } ?> -
      @@ -77,7 +76,5 @@ for ($i = 0; $row = sql_fetch_array($result); $i++) {
      목록
      - diff --git a/AvocadoEdition_Light/adm/visit_list.php b/AvocadoEdition_Light/adm/visit_list.php index 7bfae51..b8b4f33 100644 --- a/AvocadoEdition_Light/adm/visit_list.php +++ b/AvocadoEdition_Light/adm/visit_list.php @@ -34,7 +34,6 @@ $sql = " select * limit {$from_record}, {$rows} "; $result = sql_query($sql); ?> -
      @@ -111,7 +110,6 @@ $result = sql_query($sql);
      목록
      - + diff --git a/AvocadoEdition_Light/adm/visit_month.php b/AvocadoEdition_Light/adm/visit_month.php index 997592a..86daac7 100644 --- a/AvocadoEdition_Light/adm/visit_month.php +++ b/AvocadoEdition_Light/adm/visit_month.php @@ -30,7 +30,6 @@ for ($i = 0; $row = sql_fetch_array($result); $i++) { $sum_count += $row['cnt']; } ?> -
      @@ -64,7 +63,6 @@ for ($i = 0; $row = sql_fetch_array($result); $i++) { $bg = 'bg' . ($i % 2); ?> - '; } ?> -
      목록
      @@ -81,17 +79,12 @@ for ($i = 0; $row = sql_fetch_array($result); $i++) { 자료가 없습니다.
      - diff --git a/AvocadoEdition_Light/adm/visit_os.php b/AvocadoEdition_Light/adm/visit_os.php index 77945e6..a004810 100644 --- a/AvocadoEdition_Light/adm/visit_os.php +++ b/AvocadoEdition_Light/adm/visit_os.php @@ -96,7 +96,5 @@ while ($row = sql_fetch_array($result)) {
    - diff --git a/AvocadoEdition_Light/adm/visit_search.php b/AvocadoEdition_Light/adm/visit_search.php index 6981cb7..162791f 100644 --- a/AvocadoEdition_Light/adm/visit_search.php +++ b/AvocadoEdition_Light/adm/visit_search.php @@ -12,9 +12,8 @@ include_once G5_PLUGIN_PATH . "/jquery-ui/datepicker.php"; $colspan = 6; $listall = '처음'; //페이지 처음으로 (초기화용도) ?> - -
    -
    + +
    - -
    - +
    + +
    @@ -121,14 +120,12 @@ $listall = '처음'; //페이지
    - - - diff --git a/AvocadoEdition_Light/adm/visit_week.php b/AvocadoEdition_Light/adm/visit_week.php index c10cf29..639af9d 100644 --- a/AvocadoEdition_Light/adm/visit_week.php +++ b/AvocadoEdition_Light/adm/visit_week.php @@ -23,7 +23,6 @@ for ($i = 0; $row = sql_fetch_array($result); $i++) { $sum_count += $row['cnt']; } ?> -
    @@ -75,7 +74,5 @@ for ($i = 0; $row = sql_fetch_array($result); $i++) {
    목록
    - diff --git a/AvocadoEdition_Light/adm/visit_year.php b/AvocadoEdition_Light/adm/visit_year.php index cea0283..7686e6e 100644 --- a/AvocadoEdition_Light/adm/visit_year.php +++ b/AvocadoEdition_Light/adm/visit_year.php @@ -30,7 +30,6 @@ for ($i = 0; $row = sql_fetch_array($result); $i++) { $sum_count += $row['cnt']; } ?> -
    @@ -87,7 +86,6 @@ for ($i = 0; $row = sql_fetch_array($result); $i++) {
    목록
    - + diff --git a/AvocadoEdition_Light/adm/write_count.php b/AvocadoEdition_Light/adm/write_count.php index 146d54a..9b7b1a1 100644 --- a/AvocadoEdition_Light/adm/write_count.php +++ b/AvocadoEdition_Light/adm/write_count.php @@ -141,7 +141,6 @@ switch ($day) { } ?> - - -
      diff --git a/AvocadoEdition_Light/ajax/_common.php b/AvocadoEdition_Light/ajax/_common.php new file mode 100644 index 0000000..942f324 --- /dev/null +++ b/AvocadoEdition_Light/ajax/_common.php @@ -0,0 +1,2 @@ +
    • 회원만 검색 가능합니다.
    "; +} else { + if ($keyword == "") { + echo "
    • 키워드를 입력해 주시길 바랍니다.
    "; + } else { + echo "
      "; + + if ($option == 'user') { + $sql = " select ch_thumb, ch_name, ch_id, mb_id from {$g5['character_table']} where ch_name like '%{$keyword}%' and ch_state = '승인' and mb_id != '{$config['cf_admin']}' and ch_type = 'main' order by ch_name asc"; + } else { + $sql = " select ch_thumb, ch_name, ch_id, mb_id from {$g5['character_table']} where ch_name like '%{$keyword}%' and ch_state = '승인' order by ch_name asc"; + } + + $result = sql_query($sql); + for ($i = 0; $row = sql_fetch_array($result); $i++) { + ?> +
    • + + [] + +
    • + [ {$keyword} ]에 대한 검색결과가 존재하지 않습니다."; + } + echo "
    "; + } +} diff --git a/AvocadoEdition_Light/ajax/_search_item.php b/AvocadoEdition_Light/ajax/_search_item.php new file mode 100644 index 0000000..0df7b81 --- /dev/null +++ b/AvocadoEdition_Light/ajax/_search_item.php @@ -0,0 +1,47 @@ +
  • 회원만 검색 가능합니다.
  • "; +} else { + if ($keyword == "") { + echo "
    • 키워드를 입력해 주시길 바랍니다.
    "; + } else { + echo "
      "; + $sql = " select it_img, it_name, it_id, it_content from {$g5['item_table']} where it_name like '%{$keyword}%'"; + + if ($option) { + if ($option == '뽑기') { + $sql .= " and it_type = '{$option}'"; + } else if ($option == '레시피') { + $sql .= " and it_use_recepi = '1'"; + } + } + $sql .= "order by it_name asc"; + $result = sql_query($sql); + for ($i = 0; $row = sql_fetch_array($result); $i++) { + ?> +
    • + +
      + +
      +
      +

      아이템:

      +

      설명:

      +
      +
      +
    • + [ {$keyword} ]에 대한 검색결과가 존재하지 않습니다."; + } + echo "
    "; + } +} +?> diff --git a/AvocadoEdition_Light/ajax/_search_member.php b/AvocadoEdition_Light/ajax/_search_member.php new file mode 100644 index 0000000..ae17a91 --- /dev/null +++ b/AvocadoEdition_Light/ajax/_search_member.php @@ -0,0 +1,38 @@ +
  • 회원만 검색 가능합니다.
  • "; +} else { + if ($keyword == "") { + echo "
    • 키워드를 입력해 주시길 바랍니다.
    "; + } else { + echo "
      "; + $sql = " select mb_nick, mb_name, mb_id, ch_id from {$g5['member_table']} where mb_name like '%{$keyword}%' and mb_level > 1 order by mb_nick asc"; + $result = sql_query($sql); + for ($i = 0; $row = sql_fetch_array($result); $i++) { + $ch = sql_fetch("select ch_thumb, ch_name from {$g5['character_table']} where ch_id = '{$row['ch_id']}'"); + ?> +
    • + +
      + +
      +
      +

      대표캐릭명:

      +

      오너명:

      +
      +
      +
    • + [ {$keyword} ]에 대한 검색결과가 존재하지 않습니다."; + } + echo "
    "; + } +} diff --git a/AvocadoEdition_Light/ajax/_search_title.php b/AvocadoEdition_Light/ajax/_search_title.php new file mode 100644 index 0000000..f310240 --- /dev/null +++ b/AvocadoEdition_Light/ajax/_search_title.php @@ -0,0 +1,36 @@ +
  • 회원만 검색 가능합니다.
  • "; +} else { + if ($keyword == "") { + echo "
    • 키워드를 입력해 주시길 바랍니다.
    "; + } else { + echo "
      "; + $sql = " select ti_id, ti_title, ti_img from {$g5['title_table']} where ti_title like '%{$keyword}%' order by ti_title asc"; + $result = sql_query($sql); + for ($i = 0; $row = sql_fetch_array($result); $i++) { + ?> +
    • + +
      + +
      +
      +

      타이틀명:

      +
      +
      +
    • + [ {$keyword} ]에 대한 검색결과가 존재하지 않습니다."; + } + echo "
    "; + } +} diff --git a/AvocadoEdition_Light/bbs/ajax.autosavelist.php b/AvocadoEdition_Light/bbs/ajax.autosavelist.php index 8c83564..35befa4 100644 --- a/AvocadoEdition_Light/bbs/ajax.autosavelist.php +++ b/AvocadoEdition_Light/bbs/ajax.autosavelist.php @@ -6,7 +6,7 @@ if (!$is_member) $sql = "SELECT as_id, as_uid, as_subject, as_datetime FROM {$g5['autosave_table']} where mb_id = '{$member['mb_id']}' ORDER BY as_id DESC "; $result = sql_query($sql); -echo "\n"; +echo "\n"; echo "\n"; for ($i = 0; $row = sql_fetch_array($result); $i++) { $subject = htmlspecialchars(utf8_strcut($row['as_subject'], 25), ENT_QUOTES); diff --git a/AvocadoEdition_Light/bbs/ajax.autosaveload.php b/AvocadoEdition_Light/bbs/ajax.autosaveload.php index 695bb41..e950d47 100644 --- a/AvocadoEdition_Light/bbs/ajax.autosaveload.php +++ b/AvocadoEdition_Light/bbs/ajax.autosaveload.php @@ -11,7 +11,7 @@ $row = sql_fetch($sql); $subject = $row['as_subject']; $content = $row['as_content']; -echo "\n"; +echo "\n"; echo "\n"; echo "\n"; echo "\n"; diff --git a/AvocadoEdition_Light/bbs/content.php b/AvocadoEdition_Light/bbs/content.php index cf624d6..8f0053d 100644 --- a/AvocadoEdition_Light/bbs/content.php +++ b/AvocadoEdition_Light/bbs/content.php @@ -83,6 +83,6 @@ if (is_file($skin_file)) { } if (is_include_path_check($co['co_include_tail'])) - @include_once($co['co_include_tail']); + @include_once $co['co_include_tail']; else include_once "./_tail.php"; diff --git a/AvocadoEdition_Light/bbs/faq.php b/AvocadoEdition_Light/bbs/faq.php index 9997af5..fa8cd96 100644 --- a/AvocadoEdition_Light/bbs/faq.php +++ b/AvocadoEdition_Light/bbs/faq.php @@ -91,7 +91,7 @@ if (is_file($skin_file)) { $faq_list[$i]['fa_content'] = search_font($stx, conv_content($faq_list[$i]['fa_content'], 1)); } } - include_once($skin_file); + include_once $skin_file; } else { echo '

    ' . str_replace(G5_PATH . '/', '', $skin_file) . '이 존재하지 않습니다.

    '; } diff --git a/AvocadoEdition_Light/bbs/qalist.php b/AvocadoEdition_Light/bbs/qalist.php index 09e4cc9..ac4c60c 100644 --- a/AvocadoEdition_Light/bbs/qalist.php +++ b/AvocadoEdition_Light/bbs/qalist.php @@ -116,7 +116,7 @@ if (is_file($skin_file)) { $list_pages = preg_replace('/(\.php)(&|&)/i', '$1?', get_paging($qaconfig['qa_page_rows'], $page, $total_page, './qalist.php' . $qstr . '&page=')); $stx = get_text(stripslashes($stx)); - include_once($skin_file); + include_once $skin_file; } else { echo '
    ' . str_replace(G5_PATH . '/', '', $skin_file) . '이 존재하지 않습니다.
    '; } diff --git a/AvocadoEdition_Light/bbs/qaview.php b/AvocadoEdition_Light/bbs/qaview.php index 8178077..03f2de3 100644 --- a/AvocadoEdition_Light/bbs/qaview.php +++ b/AvocadoEdition_Light/bbs/qaview.php @@ -166,7 +166,7 @@ if (is_file($skin_file)) { } } - include_once($skin_file); + include_once $skin_file; } else { echo '
    ' . str_replace(G5_PATH . '/', '', $skin_file) . '이 존재하지 않습니다.
    '; } diff --git a/AvocadoEdition_Light/bbs/qawrite.php b/AvocadoEdition_Light/bbs/qawrite.php index 9a3f807..de8b50d 100644 --- a/AvocadoEdition_Light/bbs/qawrite.php +++ b/AvocadoEdition_Light/bbs/qawrite.php @@ -130,7 +130,7 @@ if (is_file($skin_file)) { $action_url = https_url(G5_BBS_DIR) . '/qawrite_update.php'; - include_once($skin_file); + include_once $skin_file; } else { echo '
    ' . str_replace(G5_PATH . '/', '', $skin_file) . '이 존재하지 않습니다.
    '; } diff --git a/AvocadoEdition_Light/bbs/search.php b/AvocadoEdition_Light/bbs/search.php index 5958cce..4cc36d1 100644 --- a/AvocadoEdition_Light/bbs/search.php +++ b/AvocadoEdition_Light/bbs/search.php @@ -113,7 +113,7 @@ if ($stx) { $str_board_list = ""; $board_count = 0; - $time1 = get_microtime(); + $time1 = microtime(true); $total_count = 0; for ($i = 0; $i < count($g5_search['tables']); $i++) { diff --git a/AvocadoEdition_Light/bgm.php b/AvocadoEdition_Light/bgm.php index dc79f5e..6ee51c3 100644 --- a/AvocadoEdition_Light/bgm.php +++ b/AvocadoEdition_Light/bgm.php @@ -1,4 +1,10 @@ getError() === 0) { - return $character; + return $character->getLegacy(); } } @@ -230,6 +289,21 @@ class Character Extends Module return self::getHead($character_id); } + public static function getMemberID($character_id) + { + global $g5; + if (isset($g5["connect_db"]) && isset($g5["character_table"])) { + $data = sql_fetch("SELECT ch.mb_id FROM {$g5['character_table']} ch WHERE ch.ch_id = '{$character_id}'"); + if (!empty($data)) { + return $data["mb_id"]; + } else { + return ""; + } + } + + return ""; + } + /** * get member name * @param mixed $member_id @@ -296,8 +370,8 @@ class Character Extends Module parent::__construct(); if (isset($g5["connect_db"]) && isset($g5["character_table"])) { - $this->_rawdata = sql_fetch("SELECT ch.ch_name FROM {$g5['character_table']} ch WHERE ch.ch_id = '{$character_id}'"); - if (!empty($this->rawdata)) { + $this->_rawdata = sql_fetch("SELECT * FROM {$g5['character_table']} ch WHERE ch.ch_id = '{$character_id}'"); + if (!empty($this->_rawdata)) { parent::init($this->_rawdata); } else { $this->setError(2); @@ -306,4 +380,9 @@ class Character Extends Module $this->setError(1); } } + + public function getLegacy() + { + return $this->_rawdata; + } } diff --git a/AvocadoEdition_Light/classes/community/community.class.php b/AvocadoEdition_Light/classes/community/community.class.php new file mode 100644 index 0000000..f9d46ec --- /dev/null +++ b/AvocadoEdition_Light/classes/community/community.class.php @@ -0,0 +1,90 @@ + $g5['intro_table'], + "호출" => $g5['call_table'], + "캐릭터" => $g5['character_table'], + "캐릭터: 추가 필드 설정" => $g5["article_table"], + "캐릭터: 추가 필드 기본값" => $g5["article_default_table"], + "캐릭터: 추가 필드 값" => $g5["value_table"], + "캐릭터: 관계 설정" => $g5['relation_table'], + "캐릭터: 클래스" => $g5['class_table'], + "캐릭터: 소속" => $g5['side_table'], + "캐릭터: 타이틀" => $g5['title_table'], + "캐릭터: 보유 타이틀" => $g5['title_has_table'], + "캐릭터: 커플" => $g5['couple_table'], + "캐릭터: 경험치" => $g5['exp_table'], + "캐릭터: 인벤토리" => $g5['inventory_table'], + "캐릭터: 옷장" => $g5['closthes_table'], + "캐릭터: 레벨" => $g5['level_table'], + "캐릭터: 상태" => $g5['status_config_table'], + "캐릭터: 보유 상태" => $g5['status_table'], + "캐릭터: 퀘스트" => $g5['quest_table'], + "아이템" => $g5['item_table'], + "아이템: 사용 기록" => $g5['item_modify_table'], + "아이템: 획득 기록" => $g5['explorer_table'], + "아이템: 구매 기록" => $g5['order_table'], + "아이템: 레시피" => $g5['recepi_table'], + "아이템: 상점" => $g5['shop_table'] + ]; + } + + public static function isInitCommunity() + { + global $g5; + + if (!isset($g5)) { + return false; + } + + if (isset(self::$is_init)) { + return self::$is_init; + } + + $items = self::getCommunityDatabases(); + + foreach($items as $item) { + if (!sql_table_exists($item)) { + self::$is_init = false; + return false; + } + } + + self::$is_init = true; + return true; + } + + public static function checkDatabase() + { + global $g5; + + if (!isset($g5)) { + return []; + } + + $items = self::getCommunityDatabases(); + $not_installed = []; + foreach($items as $key => $item) { + if (!sql_table_exists($item)) { + $not_installed[$key] = $item; + } + } + + return $not_installed; + } +} diff --git a/AvocadoEdition_Light/classes/event_handler.php b/AvocadoEdition_Light/classes/event_handler.php index 96291f5..31ae99b 100644 --- a/AvocadoEdition_Light/classes/event_handler.php +++ b/AvocadoEdition_Light/classes/event_handler.php @@ -15,6 +15,12 @@ class EventHandler * @var string[] */ protected static $gnuboardCompatibleList = [ + // classes/htmlprocess/htmlprocess.class.php + "amber.renderhtml_before_print" => "", + // adm/community_form_update.php + "amber.admin.community_form_update" => "", + // adm/community_form.php + "amber.admin.community_form_after" => "", // adm/editor_font.php "amber.admin.editor_font_form_before" => "", "amber.admin.editor_font_form_after" => "", diff --git a/AvocadoEdition_Light/classes/htmlprocess/htmlprocess.class.php b/AvocadoEdition_Light/classes/htmlprocess/htmlprocess.class.php index 33f627d..4c25edb 100644 --- a/AvocadoEdition_Light/classes/htmlprocess/htmlprocess.class.php +++ b/AvocadoEdition_Light/classes/htmlprocess/htmlprocess.class.php @@ -50,7 +50,7 @@ class html_process $tmp_sql = "INSERT INTO {$g5['login_table']} ( lo_ip, mb_id, lo_datetime, lo_location, lo_url ) values ( '{$_SERVER['REMOTE_ADDR']}', '{$member['mb_id']}', '" . G5_TIME_YMDHIS . "', '{$g5['lo_location']}', '{$g5['lo_url']}' ) "; sql_query($tmp_sql, FALSE); - sql_query(" delete from {$g5['login_table']} where lo_datetime < '" . date("Y-m-d H:i:s", G5_SERVER_TIME - (60 * $config['cf_login_minutes'])) . "' "); + sql_query("DELETE FROM {$g5['login_table']} WHERE lo_datetime < '" . date("Y-m-d H:i:s", G5_SERVER_TIME - (60 * $config['cf_login_minutes'])) . "' "); // 부담(overhead)이 있다면 테이블 최적화 //$row = sql_fetch(" SHOW TABLE STATUS FROM `$mysql_db` LIKE '$g5['login_table']' "); @@ -112,6 +112,11 @@ class html_process if ($javascript) $nl = "\n"; $buffer = preg_replace('#([^<]*]*>)#', "$javascript{$nl}$1", $buffer); + + if (class_exists("EventHandler")) { + EventHandler::triggerEvent("amber.renderhtml_before_print", $buffer); + } + return $buffer; } } diff --git a/AvocadoEdition_Light/classes/item/item.class.php b/AvocadoEdition_Light/classes/item/item.class.php new file mode 100644 index 0000000..ee4e0b1 --- /dev/null +++ b/AvocadoEdition_Light/classes/item/item.class.php @@ -0,0 +1,157 @@ +addSubFile($url); // migrate + } + + public function addSubFile($url) { if (!in_array($url, $this->suburl)) $this->suburl[] = $url; diff --git a/AvocadoEdition_Light/classes/readme.md b/AvocadoEdition_Light/classes/readme.md new file mode 100644 index 0000000..aa72dbe --- /dev/null +++ b/AvocadoEdition_Light/classes/readme.md @@ -0,0 +1,27 @@ +## classes + +`classes` 폴더 하위 폴더는 자동으로 `include_once` 됩니다. +반드시 `class` 구현체일 필요는 없으며 GNUBoard5 의 로드가 시작되기 전 로드되므로 +GNUBoard5의 코어 기능을 사용하려면 `EventHandler::addEventHandler("amber.load_config_after", function() { ... });` +함수 내부에 구현하여 사용하세요. + +예시 +```php + 0) { + $filetime = filemtime($cache_file); + if ($filetime && $filetime < (G5_SERVER_TIME - 3600 * $cache_time)) { + @unlink($cache_file); + $cache_fwrite = true; + } + } + + if (!$cache_fwrite) + include($cache_file); + } + } + + if (!G5_USE_CACHE || $cache_fwrite) { + $banner = []; + $sql = " select * from {$g5['banner_table']} where '" . G5_TIME_YMDHIS . "' between bn_begin_time and bn_end_time order by bn_order, bn_id desc "; + $result = sql_query($sql); + for ($i = 0; $row = sql_fetch_array($result); $i++) { + $banner[$i] = $row; + } + + if ($cache_fwrite) { + $handle = fopen($cache_file, 'w'); + $cache_content = ""; + fwrite($handle, $cache_content); + fclose($handle); + } + } + + + ob_start(); + include $banner_skin_path . '/banner.skin.php'; + $content = ob_get_contents(); + ob_end_clean(); + + return $content; +} diff --git a/AvocadoEdition_Light/extend/character.lib.php b/AvocadoEdition_Light/extend/character.lib.php index 1127b2b..6999cc8 100644 --- a/AvocadoEdition_Light/extend/character.lib.php +++ b/AvocadoEdition_Light/extend/character.lib.php @@ -8,7 +8,7 @@ Character::fixMemberCharacter(); Character::resetSearchCount(); if ($is_admin) { - if (sql_table_exists($g5["article_table"])) { + if (!sql_table_exists($g5["article_table"])) { sql_query("CREATE TABLE IF NOT EXISTS `avo_article` ( `ar_id` INT(11) NOT NULL AUTO_INCREMENT, `ar_theme` VARCHAR(255) NOT NULL DEFAULT '', @@ -25,7 +25,7 @@ if ($is_admin) { ) ENGINE = MyISAM DEFAULT CHARSET=utf8;"); } - if (sql_table_exists($g5["article_default_table"])) { + if (!sql_table_exists($g5["article_default_table"])) { sql_query("CREATE TABLE IF NOT EXISTS `avo_article_default` ( `ad_id` INT(11) NOT NULL AUTO_INCREMENT , `ad_use_thumb` INT(11) NOT NULL DEFAULT '0', @@ -55,7 +55,7 @@ if ($is_admin) { ) ENGINE = MyISAM DEFAULT CHARSET=utf8;"); } - if (sql_table_exists($g5["value_table"])) { + if (!sql_table_exists($g5["value_table"])) { sql_query("CREATE TABLE IF NOT EXISTS `avo_article_value` ( `av_id` INT(11) NOT NULL AUTO_INCREMENT , `ch_id` INT(11) NOT NULL DEFAULT '0', @@ -73,8 +73,6 @@ if ($is_admin) { } } - - function get_character_name($ch_id) { return Character::getName($ch_id); diff --git a/AvocadoEdition_Light/extend/exp.lib.php b/AvocadoEdition_Light/extend/exp.lib.php new file mode 100644 index 0000000..2be8fad --- /dev/null +++ b/AvocadoEdition_Light/extend/exp.lib.php @@ -0,0 +1,73 @@ +"; + } + + return $str; +} + +function get_class_icon($cl_id) +{ + global $g5; + $str = ""; + $class_url = G5_DATA_URL . "/class"; + + $result = sql_fetch("select cl_img, cl_name from {$g5['class_table']} where cl_id = '{$cl_id}'"); + if ($result['cl_img']) { + $str = "" . $result["; + } + return $str; +} + diff --git a/AvocadoEdition_Light/extend/status.lib.php b/AvocadoEdition_Light/extend/status.lib.php new file mode 100644 index 0000000..030dba0 --- /dev/null +++ b/AvocadoEdition_Light/extend/status.lib.php @@ -0,0 +1,120 @@ += $sc['sc_max']) { + $message = $msg; + $sc['sc_value'] = $sc['sc_max']; + } else if ($sc['sc_value'] < 0) { + $sc['sc_value'] = 0; + } + sql_query(" update {$g5['status_table']} set sc_value = '{$sc['sc_value']}' where sc_id = '{$sc['sc_id']}'"); + + return $message; + +} +function set_status_by_name($ch_id, $st_name, $hunt, $msg = '') +{ + global $g5; + + $result = array(); + + $sl = sql_fetch("select st_id from {$g5['status_config_table']} where st_name = '{$st_name}'"); + $sc = sql_fetch("select sc_id, sc_value, sc_max from {$g5['status_table']} where ch_id = '{$ch_id}' and st_id = '{$sl['st_id']}'"); + + $sc['sc_value'] = $sc['sc_value'] + $hunt; + + $message = ""; + + if ($sc['sc_value'] >= $sc['sc_max']) { + $message = $msg; + $sc['sc_value'] = $sc['sc_max']; + } else if ($sc['sc_value'] < 0) { + $sc['sc_value'] = 0; + } + sql_query(" update {$g5['status_table']} set sc_value = '{$sc['sc_value']}' where sc_id = '{$sc['sc_id']}'"); + + return $message; +} diff --git a/AvocadoEdition_Light/extend/title.lib.php b/AvocadoEdition_Light/extend/title.lib.php new file mode 100644 index 0000000..09eda41 --- /dev/null +++ b/AvocadoEdition_Light/extend/title.lib.php @@ -0,0 +1,31 @@ +"; + + return $result; +} diff --git a/AvocadoEdition_Light/extend/version.extend.php b/AvocadoEdition_Light/extend/version.extend.php index b22efca..6071147 100644 --- a/AvocadoEdition_Light/extend/version.extend.php +++ b/AvocadoEdition_Light/extend/version.extend.php @@ -2,5 +2,8 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 +/** + * cache burster + */ define('G5_JS_VER', '240930'); define('G5_CSS_VER', '240930'); diff --git a/AvocadoEdition_Light/extraconfig.php b/AvocadoEdition_Light/extraconfig.php index 2751140..8a742e4 100644 --- a/AvocadoEdition_Light/extraconfig.php +++ b/AvocadoEdition_Light/extraconfig.php @@ -8,6 +8,7 @@ $g5["article_default_table"] = G5_TABLE_PREFIX . "article_default"; $g5["emoticon_table"] = G5_TABLE_PREFIX . "emoticon"; $g5["font_table"] = G5_TABLE_PREFIX . "editor_fonts"; $g5["value_table"] = G5_TABLE_PREFIX . "article_value"; +$g5['backup_table'] = G5_TABLE_PREFIX . "backup"; /* community version compatible tables */ $g5['intro_table'] = G5_TABLE_PREFIX . "intro"; @@ -22,6 +23,7 @@ $g5['inventory_table'] = G5_TABLE_PREFIX . "inventory"; $g5['item_table'] = G5_TABLE_PREFIX . "item"; $g5['recepi_table'] = G5_TABLE_PREFIX . "item_recepi"; // why "recepi" $g5['explorer_table'] = G5_TABLE_PREFIX . "item_explorer"; +$g5['item_modify_table'] = G5_TABLE_PREFIX . 'item_modifylog'; $g5['relation_table'] = G5_TABLE_PREFIX . "relation_character"; $g5['order_table'] = G5_TABLE_PREFIX . "order"; $g5['closthes_table'] = G5_TABLE_PREFIX . "character_closthes"; @@ -30,6 +32,4 @@ $g5['level_table'] = G5_TABLE_PREFIX . "level_setting"; $g5['shop_table'] = G5_TABLE_PREFIX . "shop"; $g5['status_config_table'] = G5_TABLE_PREFIX . "status"; $g5['status_table'] = G5_TABLE_PREFIX . "status_character"; -$g5['backup_table'] = G5_TABLE_PREFIX . "backup"; $g5['quest_table'] = G5_TABLE_PREFIX . "quest"; - diff --git a/AvocadoEdition_Light/head.php b/AvocadoEdition_Light/head.php index d3e5dce..ec10732 100644 --- a/AvocadoEdition_Light/head.php +++ b/AvocadoEdition_Light/head.php @@ -1,4 +1,10 @@ "); fclose($f); @chmod($file, G5_FILE_PERMISSION); diff --git a/AvocadoEdition_Light/lib/common.lib.php b/AvocadoEdition_Light/lib/common.lib.php index 5d8e0d2..454714a 100644 --- a/AvocadoEdition_Light/lib/common.lib.php +++ b/AvocadoEdition_Light/lib/common.lib.php @@ -14,7 +14,6 @@ include_once __DIR__ . '/Hook/hook.extends.class.php'; *************************************************************************/ /** - * 마이크로타임을 반환 * @return float * @deprecated use `microtime(true)` */ @@ -23,7 +22,6 @@ function get_microtime() return microtime(true); } - // 한페이지에 보여줄 행, 현재페이지, 총페이지수, URL function get_paging($write_pages, $cur_page, $total_page, $url, $add = "") { @@ -130,9 +128,6 @@ function goto_url($url) // 세션변수 생성 function set_session($session_name, $value) { - if (PHP_VERSION < '5.3.0') - session_register($session_name); - // PHP 버전별 차이를 없애기 위한 방법 $$session_name = $_SESSION[$session_name] = $value; } @@ -369,7 +364,7 @@ function get_list($write_row, $board, $skin_url, $subject_len = 40) global $g5, $config; global $qstr, $page; - //$t = get_microtime(); + //$t = microtime(true); // 배열전체를 복사 $list = $write_row; @@ -1503,7 +1498,7 @@ function sql_connect($host, $user, $pass, $db = G5_MYSQL_DB) { global $g5; - if (function_exists('mysqli_connect') && G5_MYSQLI_USE) { + if (function_exists('mysqli_connect')) { mysqli_report(MYSQLI_REPORT_OFF); $link = @mysqli_connect($host, $user, $pass, $db) or die('MySQL Host, User, Password, DB 정보에 오류가 있습니다.'); @@ -1512,7 +1507,7 @@ function sql_connect($host, $user, $pass, $db = G5_MYSQL_DB) die('Connect Error: ' . mysqli_connect_error()); } } else { - $link = mysql_connect($host, $user, $pass); + $link = null; } return $link; @@ -1524,10 +1519,9 @@ function sql_select_db($db, $connect) { global $g5; - if (function_exists('mysqli_select_db') && G5_MYSQLI_USE) + if (function_exists('mysqli_select_db')) { return @mysqli_select_db($connect, $db); - else - return @mysql_select_db($db, $connect); + } } @@ -1538,10 +1532,9 @@ function sql_set_charset($charset, $link = null) if (!$link) $link = $g5['connect_db']; - if (function_exists('mysqli_set_charset') && G5_MYSQLI_USE) + if (function_exists('mysqli_set_charset')) { mysqli_set_charset($link, $charset); - else - mysql_query(" set names {$charset} ", $link); + } } function sql_data_seek($result, $offset = 0) @@ -1549,10 +1542,9 @@ function sql_data_seek($result, $offset = 0) if (!$result) return; - if (function_exists('mysqli_set_charset') && G5_MYSQLI_USE) + if (function_exists('mysqli_set_charset')) { mysqli_data_seek($result, $offset); - else - mysql_data_seek($result, $offset); + } } function _callback_sql_show_tables($m) @@ -1566,7 +1558,7 @@ function _callback_sql_show_tables($m) */ function sql_table_exists($table_name) { - return !sql_fetch_array(sql_query("SHOW TABLES LIKE '{$table_name}'")); + return sql_fetch_array(sql_query("SHOW TABLES LIKE '{$table_name}'")); } // mysqli_query 와 mysqli_error 를 한꺼번에 처리 @@ -1590,7 +1582,7 @@ function sql_query($sql, $error = G5_DISPLAY_SQL_ERROR, $link = null) $sql = preg_replace_callback("#^desc(?:ribe)?\s+(.*)#i", '_callback_sql_show_tables', trim($sql)); } - if (function_exists('mysqli_query') && G5_MYSQLI_USE) { + if (function_exists('mysqli_query')) { if ($error) { $result = @mysqli_query($link, $sql) or die("

    $sql

    " . mysqli_errno($link) . " : " . mysqli_error($link) . "

    error file : {$_SERVER['SCRIPT_NAME']}"); } else { @@ -1601,11 +1593,7 @@ function sql_query($sql, $error = G5_DISPLAY_SQL_ERROR, $link = null) } } } else { - if ($error) { - $result = @mysql_query($sql, $link) or die("

    $sql

    " . mysql_errno() . " : " . mysql_error() . "

    error file : {$_SERVER['SCRIPT_NAME']}"); - } else { - $result = @mysql_query($sql, $link); - } + return null; } EventHandler::triggerEvent("gnuboard.sql_query_after", $result, $sql, $error); @@ -1635,13 +1623,14 @@ function sql_fetch_array($result) if (!$result) return []; - if (function_exists('mysqli_fetch_assoc') && G5_MYSQLI_USE) + if (function_exists('mysqli_fetch_assoc')) try { $row = @mysqli_fetch_assoc($result); } catch (Exception $e) { $row = null; - } else - $row = @mysql_fetch_assoc($result); + } else { + return null; + } return $row; } @@ -1652,13 +1641,15 @@ function sql_fetch_array($result) // 단, 결과 값은 스크립트(script) 실행부가 종료되면서 메모리에서 자동적으로 지워진다. function sql_free_result($result) { - if (!is_resource($result)) + if (!($result instanceof mysqli_result)) { return; + } - if (function_exists('mysqli_free_result') && G5_MYSQLI_USE) + if (function_exists('mysqli_free_result')) { return mysqli_free_result($result); - else - return mysql_free_result($result); + } else { + return null; + } } /** @@ -1680,7 +1671,6 @@ function sql_password($value) return $row['pass']; } - function sql_insert_id($link = null) { global $g5; @@ -1688,19 +1678,20 @@ function sql_insert_id($link = null) if (!$link) $link = $g5['connect_db']; - if (function_exists('mysqli_insert_id') && G5_MYSQLI_USE) + if (function_exists('mysqli_insert_id')) { return mysqli_insert_id($link); - else - return mysql_insert_id($link); + } else { + return null; + } } - function sql_num_rows($result) { - if (function_exists('mysqli_num_rows') && G5_MYSQLI_USE) + if (function_exists('mysqli_num_rows')) { return mysqli_num_rows($result); - else - return mysql_num_rows($result); + } else { + return null; + } } @@ -1716,18 +1707,12 @@ function sql_field_names($table, $link = null) $sql = "SELECT * FROM `$table` limit 1 "; $result = sql_query($sql, $link); - if (function_exists('mysqli_fetch_field') && G5_MYSQLI_USE) { + if (function_exists('mysqli_fetch_field')) { while ($field = mysqli_fetch_field($result)) { $columns[] = $field->name; } } else { - $i = 0; - $cnt = mysql_num_fields($result); - while ($i < $cnt) { - $field = mysql_fetch_field($result, $i); - $columns[] = $field->name; - $i++; - } + return null; } return $columns; @@ -1741,10 +1726,10 @@ function sql_error_info($link = null) if (!$link) $link = $g5['connect_db']; - if (function_exists('mysqli_error') && G5_MYSQLI_USE) { + if (function_exists('mysqli_error')) { return mysqli_errno($link) . ' : ' . mysqli_error($link); } else { - return mysql_errno($link) . ' : ' . mysql_error($link); + return null; } } @@ -1779,8 +1764,8 @@ function get_table_define($table, $crlf = "\n") $result = sql_query($sql); while ($row = sql_fetch_array($result)) { $kname = $row['Key_name']; - $comment = (isset($row['Comment'])) ? $row['Comment'] : ''; - $sub_part = (isset($row['Sub_part'])) ? $row['Sub_part'] : ''; + $comment = isset($row['Comment']) ? $row['Comment'] : ''; + $sub_part = isset($row['Sub_part']) ? $row['Sub_part'] : ''; if ($kname != 'PRIMARY' && $row['Non_unique'] == 0) { $kname = "UNIQUE|$kname"; @@ -1789,7 +1774,7 @@ function get_table_define($table, $crlf = "\n") $kname = 'FULLTEXT|$kname'; } if (!isset($index[$kname])) { - $index[$kname] = array(); + $index[$kname] = []; } if ($sub_part > 1) { $index[$kname][] = $row['Column_name'] . '(' . $sub_part . ')'; @@ -3067,7 +3052,7 @@ function replace_filename($name) { @session_start(); $ss_id = session_id(); - $usec = get_microtime(); + $usec = microtime(true); $arr = explode('.', $name); $ext = array_pop($arr); @@ -3170,7 +3155,7 @@ function check_url_host($url, $msg = '', $return_url = G5_URL, $is_redirect = fa // remove consecutive slashes $patterns = ['/\/{2,}/', '/\\@/']; $replacements = ['//', '']; - + while (($replace_url = preg_replace($patterns, $replacements, urldecode($url))) != $url) { $url = $replace_url; } @@ -3539,12 +3524,20 @@ function is_include_path_check($path = '', $is_input = '') function get_random_token_string($length = 6) { - if (function_exists('random_bytes')) { - return bin2hex(random_bytes($length)); + if (function_exists('openssl_random_pseudo_bytes')) { + $bytes = openssl_random_pseudo_bytes($length); + if ($bytes === false) { + throw new Exception('Unable to generate random bytes'); + } + return bin2hex($bytes); } $characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; - $output = substr(str_shuffle($characters), 0, $length); + $charactersLength = strlen($characters); + $randomString = ''; + for ($i = 0; $i < $length; $i++) { + $randomString .= $characters[mt_rand(0, $charactersLength - 1)]; + } - return bin2hex($output); + return bin2hex($randomString); } diff --git a/AvocadoEdition_Light/main.php b/AvocadoEdition_Light/main.php index dddea23..b54fb02 100644 --- a/AvocadoEdition_Light/main.php +++ b/AvocadoEdition_Light/main.php @@ -1,4 +1,10 @@