diff --git a/classes/db/DBCubrid.class.php b/classes/db/DBCubrid.class.php
index c23cf46a8..054c52652 100644
--- a/classes/db/DBCubrid.class.php
+++ b/classes/db/DBCubrid.class.php
@@ -499,7 +499,8 @@
if(!$page) $page = 1;
// 전체 페이지를 구함
- $total_page = (int)(($total_count-1)/$list_count)+1;
+ if($total_count) $total_page = (int)( ($total_count-1) / $list_count) + 1;
+ else $total_page = 1;
// 페이지 변수를 체크
if($page > $total_page) $page = $total_page;
diff --git a/classes/db/DBMysql.class.php b/classes/db/DBMysql.class.php
index 25fed955d..e8551865b 100644
--- a/classes/db/DBMysql.class.php
+++ b/classes/db/DBMysql.class.php
@@ -452,7 +452,8 @@
if(!$page) $page = 1;
// 전체 페이지를 구함
- $total_page = (int)(($total_count-1)/$list_count)+1;
+ if($total_count) $total_page = (int)( ($total_count-1) / $list_count) + 1;
+ else $total_page = 1;
// 페이지 변수를 체크
if($page > $total_page) $page = $total_page;
diff --git a/classes/db/DBMysql_innodb.class.php b/classes/db/DBMysql_innodb.class.php
index 3b307d665..400189102 100644
--- a/classes/db/DBMysql_innodb.class.php
+++ b/classes/db/DBMysql_innodb.class.php
@@ -461,7 +461,8 @@
if(!$page) $page = 1;
// 전체 페이지를 구함
- $total_page = (int)(($total_count-1)/$list_count) +1;
+ if($total_count) $total_page = (int)( ($total_count-1) / $list_count) + 1;
+ else $total_page = 1;
// 페이지 변수를 체크
if($page > $total_page) $page = $total_page;
diff --git a/classes/db/DBSqlite2.class.php b/classes/db/DBSqlite2.class.php
index 1a7a82ea1..295c3f1be 100644
--- a/classes/db/DBSqlite2.class.php
+++ b/classes/db/DBSqlite2.class.php
@@ -456,7 +456,8 @@
if(!$page) $page = 1;
// 전체 페이지를 구함
- $total_page = (int)(($total_count-1)/$list_count) +1;
+ if($total_count) $total_page = (int)( ($total_count-1) / $list_count) + 1;
+ else $total_page = 1;
// 페이지 변수를 체크
if($page > $total_page) $page = $total_page;
diff --git a/classes/db/DBSqlite3_pdo.class.php b/classes/db/DBSqlite3_pdo.class.php
index 63ba246e6..02282a777 100644
--- a/classes/db/DBSqlite3_pdo.class.php
+++ b/classes/db/DBSqlite3_pdo.class.php
@@ -499,7 +499,8 @@
if(!$page) $page = 1;
// 전체 페이지를 구함
- $total_page = (int)(($total_count-1)/$list_count) +1;
+ if($total_count) $total_page = (int)( ($total_count-1) / $list_count) + 1;
+ else $total_page = 1;
// 페이지 변수를 체크
if($page > $total_page) $page = $total_page;
diff --git a/common/js/tree_menu.js b/common/js/tree_menu.js
index 292fb8099..42c6ff147 100644
--- a/common/js/tree_menu.js
+++ b/common/js/tree_menu.js
@@ -41,7 +41,7 @@ var node_callback_func = new Array();
var node_move_callback_func = new Array();
// 트리메뉴의 정보를 담고 있는 xml파일을 읽고 drawTreeMenu()를 호출하는 함수
-function loadTreeMenu(url, menu_id, zone_id, title, callback_func, manual_select_node_srl, callback_move_func) {
+function loadTreeMenu(url, menu_id, zone_id, title, index_url , callback_func, manual_select_node_srl, callback_move_func) {
// 일단 그릴 곳을 찾아서 사전 작업을 함 (그릴 곳이 없다면 아예 시도를 안함)
var zone = xGetElementById(zone_id);
if(typeof(zone)=="undefined") return;
@@ -77,8 +77,10 @@ function loadTreeMenu(url, menu_id, zone_id, title, callback_func, manual_select
oXml.reset();
oXml.xml_path = url;
+ if(!index_url) index_url= "#";
+
// menu_id, zone_id는 계속 달고 다녀야함
- var param = {menu_id:menu_id, zone_id:zone_id, title:title, manual_select_node_srl:manual_select_node_srl}
+ var param = {"menu_id":menu_id, "zone_id":zone_id, "title":title, "index_url":index_url, "manual_select_node_srl":manual_select_node_srl}
// 요청후 drawTreeMenu()함수를 호출 (xml_handler.js에서 request method를 직접 이용)
oXml.request(drawTreeMenu, oXml, null, null, null, param);
@@ -91,11 +93,12 @@ function drawTreeMenu(oXml, callback_func, resopnse_tags, null_func, param) {
var menu_id = param.menu_id;
var zone_id = param.zone_id;
var title = param.title;
+ var index_url = param.index_url;
if(param.manual_select_node_srl) manual_select_node_srl = param.manual_select_node_srl;
var zone = xGetElementById(zone_id);
var html = "";
- if(title) html = '
'+title+'
';
+ if(title) html = ''+title+'
';
var xmlDoc = oXml.getResponseXml();
if(!xmlDoc) {
@@ -395,7 +398,7 @@ function moveTreeMenu(menu_id, node) {
// url이 있으면 url을 분석한다 (제로보드 특화된 부분. url이 http나 ftp등으로 시작하면 그냥 해당 url 열기)
if(url) {
// http, ftp등의 연결이 아닌 경우 제로보드용으로 처리
- if(url.indexOf('://')==-1) {
+ if(url.indexOf('://')==-1 && url.indexOf('.')==-1) {
url = "./?"+url;
}
diff --git a/modules/blog/blog.controller.php b/modules/blog/blog.controller.php
index 6acb2f606..8c5dafa72 100644
--- a/modules/blog/blog.controller.php
+++ b/modules/blog/blog.controller.php
@@ -514,18 +514,19 @@
function makeXmlFile($module_srl) {
// xml파일 생성시 필요한 정보가 없으면 그냥 return
if(!$module_srl) return;
-
- // DB에서 module_srl 에 해당하는 메뉴 아이템 목록을 listorder순으로 구해옴
- $args->module_srl = $module_srl;
- $args->sort_index = 'listorder';
- $output = executeQuery('blog.getBlogCategories', $args);
- if(!$output->toBool()) return;
// 캐시 파일의 이름을 지정
$xml_file = sprintf("./files/cache/blog_category/%s.xml.php", $module_srl);
+ // 모듈정보를 구해옴
+ $oModuleModel = &getModel('module');
+ $this->module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
+
+ // DB에서 module_srl 에 해당하는 메뉴 아이템 목록을 listorder순으로 구해옴
+ $oBlogModel = &getModel('blog');
+ $list = $oBlogModel->getCategoryList($module_srl);
+
// 구해온 데이터가 없다면 노드데이터가 없는 xml 파일만 생성
- $list = $output->data;
if(!$list) {
$xml_buff = "";
FileHandler::writeFile($xml_file, $xml_buff);
@@ -576,10 +577,11 @@
else $group_check_code = "true";
$attribute = sprintf(
- 'node_srl="%s" text=\'=(%s?"%s":"")?>\' expand="%s" ',
+ 'node_srl="%s" text="=(%s?"%s":"")?>" url="%s" expand="%s" ',
$category_srl,
$group_check_code,
$name,
+ sprintf('./?mid=%s&category=%d', $this->module_info->mid, $category_srl),
$expand
);
diff --git a/modules/blog/blog.model.php b/modules/blog/blog.model.php
index 76f45ce9c..97ee7b6b1 100644
--- a/modules/blog/blog.model.php
+++ b/modules/blog/blog.model.php
@@ -24,6 +24,17 @@
return $category_info;
}
+ /**
+ * @brief 특정 모듈의 전체 카테고리를 구함
+ **/
+ function getCategoryList($module_srl) {
+ $args->module_srl = $module_srl;
+ $args->sort_index = 'listorder';
+ $output = executeQuery('blog.getBlogCategories', $args);
+ if(!$output->toBool()) return;
+ return $output->data;
+ }
+
/**
* @brief 특정 카테고리의 정보를 return
* 이 정보중에 group_srls의 경우는 , 로 연결되어 들어가며 사용시에는 explode를 통해 array로 변환 시킴
diff --git a/modules/blog/blog.view.php b/modules/blog/blog.view.php
index 1eb713e1d..51678d53f 100644
--- a/modules/blog/blog.view.php
+++ b/modules/blog/blog.view.php
@@ -87,6 +87,15 @@
// rss url
if($this->grant->list) Context::set('rss_url', getUrl('','mid',$this->mid,'act','dispBlogRss'));
+ // 카테고리 목록을 가져오고 선택된 카테고리의 값을 설정
+ $oBlogModel = &getModel('blog');
+ $category_list = $oBlogModel->getCategoryList($this->module_info->module_srl);
+ if(count($category_list)) {
+ foreach($category_list as $key => $val) {
+ $this->category_list[$val->category_srl] = $val;
+ }
+ }
+
Context::set('module_info',$this->module_info);
}
@@ -146,6 +155,9 @@
$args->search_target = Context::get('search_target'); ///< 검색 대상 (title, contents...)
$args->search_keyword = Context::get('search_keyword'); ///< 검색어
+ $category_srl = Context::get('category');
+ if($this->category_list[$category_srl]) $args->category_srl = $category_srl;
+
$args->sort_index = 'list_order'; ///< 소팅 값
// 목록 구함, document->getDocumentList 에서 걍 알아서 다 해버리는 구조이다... (아.. 이거 나쁜 버릇인데.. ㅡ.ㅜ 어쩔수 없다)
@@ -165,11 +177,6 @@
}
Context::set('search_option', $search_option);
- // 관리자일 경우 체크한 문서들의 목록을 세팅
- if($this->grant->is_admin) {
- Context::set('check_list',$_SESSION['document_management'][$this->module_srl]);
- }
-
$this->setTemplateFile('list');
}
diff --git a/modules/blog/skins/default/css/layout.css b/modules/blog/skins/default/css/layout.css
index 7d43400e4..a7b6f5314 100644
--- a/modules/blog/skins/default/css/layout.css
+++ b/modules/blog/skins/default/css/layout.css
@@ -95,7 +95,7 @@ body {
.layout_profile .profile{
color:#555555;
text-align:left;
- padding:0px 10px 0px 10px;
+ padding:0px 10px 10px 10px;
}
/* rss 버튼 */
@@ -126,10 +126,10 @@ body {
/* 좌측 관리자 메뉴 */
.layout_admin {
- border:3px solid #EEEEEE;
- padding:5px;
+ border-top:1px solid #EEEEEE;
text-align:center;
- margin-bottom:10px;
+ padding-top:10px;
+ margin:10px 5px 0px 10px;
}
.layout_admin A {
diff --git a/modules/blog/skins/default/layout.html b/modules/blog/skins/default/layout.html
index cc6a0a1d4..62a3cab71 100644
--- a/modules/blog/skins/default/layout.html
+++ b/modules/blog/skins/default/layout.html
@@ -3,7 +3,7 @@
@@ -57,6 +57,13 @@
{$module_info->profile}
+
+
+
+
+
@@ -84,13 +91,6 @@
-
-
-
-
-
diff --git a/modules/blog/tpl/category_list.html b/modules/blog/tpl/category_list.html
index 31d4f659e..47d501d53 100644
--- a/modules/blog/tpl/category_list.html
+++ b/modules/blog/tpl/category_list.html
@@ -43,6 +43,6 @@
diff --git a/modules/blog/tpl/js/blog_admin.js b/modules/blog/tpl/js/blog_admin.js
index a180f0405..b9dc55524 100644
--- a/modules/blog/tpl/js/blog_admin.js
+++ b/modules/blog/tpl/js/blog_admin.js
@@ -169,7 +169,7 @@ function completeInsertCategory(ret_obj) {
if(!xml_file) return;
- loadTreeMenu(xml_file, 'category', 'zone_category', category_title, doGetCategoryInfo, category_srl, doMoveTree);
+ loadTreeMenu(xml_file, 'category', 'zone_category', category_title, '',doGetCategoryInfo, category_srl, doMoveTree);
if(!category_srl) xInnerHtml("category_info", "");
else {
@@ -200,7 +200,7 @@ function completeMoveCategory(ret_obj) {
var source_category_srl = ret_obj['source_category_srl'];
var xml_file = ret_obj['xml_file'];
- loadTreeMenu(xml_file, 'category', "zone_category", category_title, doGetCategoryInfo, source_category_srl, doMoveTree);
+ loadTreeMenu(xml_file, 'category', "zone_category", category_title, '', doGetCategoryInfo, source_category_srl, doMoveTree);
}
/* 카테고리 목록 갱신 */
@@ -228,7 +228,7 @@ function completeDeleteCategory(ret_obj) {
var xml_file = ret_obj['xml_file'];
alert(ret_obj['message']);
- loadTreeMenu(xml_file, 'category', 'zone_category', category_title, doGetCategoryInfo, category_srl, doMoveTree);
+ loadTreeMenu(xml_file, 'category', 'zone_category', category_title, '', doGetCategoryInfo, category_srl, doMoveTree);
xInnerHtml("category_info", "");
}
diff --git a/modules/menu/menu.controller.php b/modules/menu/menu.controller.php
index 6af82c6f6..6b026df81 100644
--- a/modules/menu/menu.controller.php
+++ b/modules/menu/menu.controller.php
@@ -318,7 +318,7 @@
if($group_srls) $group_check_code = sprintf('($_SESSION["is_admin"]==true||(is_array($_SESSION["group_srls"])&&count(array_intersect($_SESSION["group_srls"], array(%s)))))',$group_srls);
else $group_check_code = "true";
$attribute = sprintf(
- 'node_srl="%s" text=\'=(%s?"%s":"")?>\' url=\'=(%s?"%s":"")?>\' open_window="%s" expand="%s" normal_btn="%s" hover_btn="%s" active_btn="%s" ',
+ 'node_srl="%s" text="=(%s?"%s":"")?>" url="=(%s?"%s":"")?>" open_window="%s" expand="%s" normal_btn="%s" hover_btn="%s" active_btn="%s" ',
$menu_item_srl,
$group_check_code,
$name,
diff --git a/modules/menu/tpl/js/menu_admin.js b/modules/menu/tpl/js/menu_admin.js
index 2614f5d4b..2dcde6456 100644
--- a/modules/menu/tpl/js/menu_admin.js
+++ b/modules/menu/tpl/js/menu_admin.js
@@ -72,7 +72,7 @@ function completeInsertMenuItem(ret_obj) {
if(!xml_file) return;
- loadTreeMenu(xml_file, 'menu', 'menu_zone_menu', menu_title, doGetMenuItemInfo, menu_item_srl, doMoveTree);
+ loadTreeMenu(xml_file, 'menu', 'menu_zone_menu', menu_title, '', doGetMenuItemInfo, menu_item_srl, doMoveTree);
if(!menu_srl) xInnerHtml("menu_zone_info", "");
else {
@@ -106,7 +106,7 @@ function completeMoveMenuItem(ret_obj) {
if(!fo_menu) return;
var title = fo_menu.title.value;
- loadTreeMenu(xml_file, 'menu', "menu_zone_menu", title, doGetMenuItemInfo, source_item_srl, doMoveTree);
+ loadTreeMenu(xml_file, 'menu', "menu_zone_menu", title, '', doGetMenuItemInfo, source_item_srl, doMoveTree);
}
/* 메뉴 목록 갱신 */
@@ -135,7 +135,7 @@ function completeDeleteMenuItem(ret_obj) {
var xml_file = ret_obj['xml_file'];
alert(ret_obj['message']);
- loadTreeMenu(xml_file, 'menu', 'menu_zone_menu', menu_title, doGetMenuItemInfo, menu_item_srl, doMoveTree);
+ loadTreeMenu(xml_file, 'menu', 'menu_zone_menu', menu_title, '', doGetMenuItemInfo, menu_item_srl, doMoveTree);
xInnerHtml("menu_zone_info", "");
}
diff --git a/modules/menu/tpl/menu_management.html b/modules/menu/tpl/menu_management.html
index f171376d8..a019f6d40 100644
--- a/modules/menu/tpl/menu_management.html
+++ b/modules/menu/tpl/menu_management.html
@@ -75,6 +75,6 @@