From d77165d263ccf35df900ed944a30ff2d767c42ac Mon Sep 17 00:00:00 2001 From: devjin Date: Thu, 26 May 2011 05:07:20 +0000 Subject: [PATCH] merge 1.4.5 git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8396 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .../member_extra_info.lib.php | 2 +- .../point_level_icon/point_level_icon.lib.php | 7 ++- modules/addon/addon.admin.controller.php | 6 +-- modules/member/conf/module.xml | 2 +- modules/member/lang/ko.lang.php | 3 +- modules/member/member.admin.controller.php | 20 +++++--- modules/member/member.admin.view.php | 3 +- modules/member/member.class.php | 14 +++++- modules/member/member.model.php | 50 +++++++++++-------- modules/member/queries/getGroups.xml | 2 +- modules/member/queries/insertGroup.xml | 3 +- .../queries/updateAllMemberGroupListOrder.xml | 8 +++ .../queries/updateMemberGroupListOrder.xml | 11 ++++ modules/member/schemas/member_group.xml | 1 + modules/member/tpl/group_list.html | 17 ++++++- modules/member/tpl/js/member_admin.js | 48 ++++++++++-------- 16 files changed, 131 insertions(+), 66 deletions(-) create mode 100644 modules/member/queries/updateAllMemberGroupListOrder.xml create mode 100644 modules/member/queries/updateMemberGroupListOrder.xml diff --git a/addons/member_extra_info/member_extra_info.lib.php b/addons/member_extra_info/member_extra_info.lib.php index 3cb808e31..fe2edfaf5 100644 --- a/addons/member_extra_info/member_extra_info.lib.php +++ b/addons/member_extra_info/member_extra_info.lib.php @@ -32,7 +32,7 @@ if($image_name_file) $nick_name = sprintf('id: %s', Context::getRequestUri(),$image_name_file, strip_tags($nick_name), strip_tags($nick_name)); if($image_mark_file) $nick_name = sprintf('id: %s%s', Context::getRequestUri(),$image_mark_file, strip_tags($nick_name), strip_tags($nick_name), $nick_name); - if($group_image) $nick_name = sprintf('%s', $group_image->src, $nick_name); + if($group_image) $nick_name = sprintf('%s%s', $group_image->src, $group_image->title, $group_image->description, $nick_name); $orig_text = preg_replace('/'.preg_quote($matches[5],'/').'<\/'.$matches[6].'>$/', '', $matches[0]); diff --git a/addons/point_level_icon/point_level_icon.lib.php b/addons/point_level_icon/point_level_icon.lib.php index 014e31e23..a81829bc4 100644 --- a/addons/point_level_icon/point_level_icon.lib.php +++ b/addons/point_level_icon/point_level_icon.lib.php @@ -6,6 +6,12 @@ $member_srl = $matches[3]; if($member_srl<1) return $matches[0]; + $orig_text = preg_replace('/'.preg_quote($matches[5],'/').'<\/'.$matches[6].'>$/', '', $matches[0]); + + // Check Group Image Mark + $oMemberModel = &getModel('member'); + if($oMemberModel->getGroupImageMark($member_srl)) return $orig_text.$matches[5].''; + if(!isset($GLOBALS['_pointLevelIcon'][$member_srl])) { // Get point configuration if(!$GLOBALS['_pointConfig']) { @@ -40,7 +46,6 @@ } $text = $GLOBALS['_pointLevelIcon'][$member_srl]; - $orig_text = preg_replace('/'.preg_quote($matches[5],'/').'<\/'.$matches[6].'>$/', '', $matches[0]); return $orig_text.$text.$matches[5].''; } ?> diff --git a/modules/addon/addon.admin.controller.php b/modules/addon/addon.admin.controller.php index 0af987029..8d3bad635 100644 --- a/modules/addon/addon.admin.controller.php +++ b/modules/addon/addon.admin.controller.php @@ -4,7 +4,7 @@ * @author NHN (developers@xpressengine.com) * @brief admin controller class of addon modules **/ - include_once('addon.controller.php'); + require_once(_XE_PATH_.'modules/addon/addon.controller.php'); class addonAdminController extends addonController { @@ -94,7 +94,5 @@ $args->site_srl = $site_srl; return executeQuery('addon.updateSiteAddon', $args); } - - } -?> +?> \ No newline at end of file diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml index 288de53c6..bafe3eb3e 100644 --- a/modules/member/conf/module.xml +++ b/modules/member/conf/module.xml @@ -78,6 +78,6 @@ - + diff --git a/modules/member/lang/ko.lang.php b/modules/member/lang/ko.lang.php index 910355c26..0b766d55f 100644 --- a/modules/member/lang/ko.lang.php +++ b/modules/member/lang/ko.lang.php @@ -27,6 +27,8 @@ $lang->group = '소속 그룹'; $lang->group_title = '그룹제목'; $lang->group_srl = '그룹번호'; + $lang->group_order = '그룹 우선순위'; + $lang->group_order_change = '그룹 우선순위 변경'; $lang->signature = '서명'; $lang->profile_image = '프로필 사진'; $lang->profile_image_max_width = '가로 제한 길이'; @@ -40,7 +42,6 @@ $lang->group_image_mark = '그룹 이미지 마크'; $lang->group_image_mark_max_width = '가로 제한 길이'; $lang->group_image_mark_max_height = '세로 제한 길이'; - $lang->group_image_mark_order = '그룹 이미지 마크 순서'; $lang->signature_max_height = '서명 높이 제한'; $lang->enable_openid = 'OpenID 지원'; $lang->enable_join = '회원 가입 허가'; diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index d64981c6c..190b749dd 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -352,6 +352,8 @@ $output = executeQuery('member.updateGroupDefaultClear', $args); if(!$output->toBool()) return $output; } + + if (!$args->group_srl) $args->group_srl = getNextSequence(); return executeQuery('member.insertGroup', $args); } @@ -394,14 +396,16 @@ } - function procMemberAdminGroupImageMarkUpdateOrder() { - $oModuleModel = &getModel('module'); - $oModuleControll = getController('module'); + function procMemberAdminUpdateGroupOrder() { + $vars = Context::getRequestVars(); + + foreach($vars->group_srls as $key => $val){ + $args->group_srl = $val; + $args->list_order = $key + 1; + executeQuery('member.updateMemberGroupListOrder', $args); + } - $config = $oModuleModel->getModuleConfig('member'); - // $config->group_image_mark_order = Context::get('group_image_mark_order'); - - $oModuleControll->insertModuleConfig('member', $config); + header(sprintf('Location:%s', getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminGroupList'))); } /** @@ -511,4 +515,4 @@ return new Object(); } } -?> +?> \ No newline at end of file diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php index 63427b88e..512ceb520 100644 --- a/modules/member/member.admin.view.php +++ b/modules/member/member.admin.view.php @@ -146,7 +146,6 @@ $oModuleModel = &getModel('module'); $config = $oModuleModel->getModuleConfig('member'); - if($config->group_image_mark_order) $config->group_image_mark_order = explode(',', $config->group_image_mark_order); Context::set('config', $config); $group_srl = Context::get('group_srl'); @@ -235,4 +234,4 @@ $this->setTemplateFile('delete_members'); } } -?> +?> \ No newline at end of file diff --git a/modules/member/member.class.php b/modules/member/member.class.php index a67571416..bf24732c5 100644 --- a/modules/member/member.class.php +++ b/modules/member/member.class.php @@ -131,7 +131,11 @@ if(!$oDB->isColumnExists("member_group_member", "site_srl")) return true; if(!$oDB->isColumnExists("member_group", "site_srl")) return true; if($oDB->isIndexExists("member_group","uni_member_group_title")) return true; - // Add a column for image_mark (02/14/2009) + + // Add a column for list_order (05/18/2011) + if(!$oDB->isColumnExists("member_group", "list_order")) return true; + + // image_mark 추가 (2009. 02. 14) if(!$oDB->isColumnExists("member_group", "image_mark")) return true; // Add c column for password expiration date if(!$oDB->isColumnExists("member", "change_password_date")) return true; @@ -173,6 +177,13 @@ if($oDB->isIndexExists("member_group","uni_member_group_title")) { $oDB->dropIndex("member_group","uni_member_group_title",true); } + + // Add a column(list_order) to "member_group" table (05/18/2011) + if (!$oDB->isColumnExists("member_group", "list_order")) { + $oDB->addColumn("member_group", "list_order", "number", 11, '', true); + $oDB->addIndex("member_group","idx_list_order", "list_order",false); + $output = executeQuery('member.updateAllMemberGroupListOrder'); + } // Add a column for image_mark (02/14/2009) if(!$oDB->isColumnExists("member_group", "image_mark")) { $oDB->addColumn("member_group", "image_mark", "text"); @@ -198,7 +209,6 @@ executeQuery('member.updateMemberListOrderAll',$args); executeQuery('member.updateMemberListOrderAll'); } - if(!$oDB->isIndexExists("member","idx_list_order")) { $oDB->addIndex("member","idx_list_order", array("list_order")); } diff --git a/modules/member/member.model.php b/modules/member/member.model.php index f91b48d77..96c87c8f0 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -341,6 +341,8 @@ function getGroups($site_srl = 0) { if(!$GLOBALS['__group_info__'][$site_srl]) { $args->site_srl = $site_srl; + $args->sort_index = 'list_order'; + $args->order_type = 'asc'; $output = executeQuery('member.getGroups', $args); if(!$output->data) return; @@ -580,27 +582,35 @@ * @brief Get the image mark of the group **/ function getGroupImageMark($member_srl,$site_srl=0) { - $oModuleModel = &getModel('module'); - $config = $oModuleModel->getModuleConfig('member'); - if($config->group_image_mark!='Y'){ - return null; - } - $member_group = $this->getMemberGroups($member_srl,$site_srl); + if(!isset($GLOBALS['__member_info__']['group_image_mark'][$member_srl])) { + $oModuleModel = &getModel('module'); + $config = $oModuleModel->getModuleConfig('member'); + if($config->group_image_mark!='Y'){ + return null; + } + $member_group = $this->getMemberGroups($member_srl,$site_srl); + $groups_info = $this->getGroups($site_srl); + $image_mark_info = null; + if(count($member_group) > 0 && is_array($member_group)){ + $group_srl = array_keys($member_group); + } - $groups_info = $this->getGroups($site_srl); - $image_mark = null; - if(count($member_group) > 0 && is_array($member_group)){ - $group_srl = array_keys($member_group); - $image_mark = $groups_info[$group_srl[0]]->image_mark; - } - if($image_mark){ -// list($width, $height, $type, $attrs) = getimagesize($image_mark); -// $info->width = $width; -// $info->height = $height; - $info->src = $image_mark; - return $info; + $i = 0; + while($i < count($group_srl)){ + $target = $groups_info[$group_srl[$i++]]; + if ($target->image_mark) + { + $info->title = $target->title; + $info->description = $target->description; + $info->src = $target->image_mark; + $GLOBALS['__member_info__']['group_image_mark'][$member_srl] = $info; + } + } + if (!$info) $GLOBALS['__member_info__']['group_image_mark'][$member_srl] == 'N'; + } + if ($GLOBALS['__member_info__']['group_image_mark'][$member_srl] == 'N') return null; - }else return false; + return $GLOBALS['__member_info__']['group_image_mark'][$member_srl]; } /** @@ -688,4 +698,4 @@ } } -?> +?> \ No newline at end of file diff --git a/modules/member/queries/getGroups.xml b/modules/member/queries/getGroups.xml index d851fb651..65b1367c1 100644 --- a/modules/member/queries/getGroups.xml +++ b/modules/member/queries/getGroups.xml @@ -3,7 +3,7 @@ - + diff --git a/modules/member/queries/insertGroup.xml b/modules/member/queries/insertGroup.xml index 938dc6e31..40305009e 100644 --- a/modules/member/queries/insertGroup.xml +++ b/modules/member/queries/insertGroup.xml @@ -4,7 +4,8 @@ - + + diff --git a/modules/member/queries/updateAllMemberGroupListOrder.xml b/modules/member/queries/updateAllMemberGroupListOrder.xml new file mode 100644 index 000000000..55cfb243e --- /dev/null +++ b/modules/member/queries/updateAllMemberGroupListOrder.xml @@ -0,0 +1,8 @@ + + +
+ + + + + diff --git a/modules/member/queries/updateMemberGroupListOrder.xml b/modules/member/queries/updateMemberGroupListOrder.xml new file mode 100644 index 000000000..657858012 --- /dev/null +++ b/modules/member/queries/updateMemberGroupListOrder.xml @@ -0,0 +1,11 @@ + + +
+ + + + + + + + diff --git a/modules/member/schemas/member_group.xml b/modules/member/schemas/member_group.xml index bd5d42808..2ae50d762 100644 --- a/modules/member/schemas/member_group.xml +++ b/modules/member/schemas/member_group.xml @@ -1,6 +1,7 @@
+ diff --git a/modules/member/tpl/group_list.html b/modules/member/tpl/group_list.html index 8c81dcde6..48611968c 100644 --- a/modules/member/tpl/group_list.html +++ b/modules/member/tpl/group_list.html @@ -13,13 +13,17 @@ +
+
+ + @@ -29,12 +33,16 @@ +{@$__i=1} + + + + + +
{$lang->group_order}
{$lang->group_title}
{$lang->description}
{$lang->regdate}
{$lang->is_default}
{$lang->group_order_change}
 
{$lang->msg_group_is_null}
{$__i++} {$group_info->title} {nl2br($group_info->description)}  {zdate($group_info->regdate,"Y-m-d H:i:s")} Y 위로 아래로 {$lang->cmd_modify} @@ -45,9 +53,14 @@
+ +
- +
@@ -84,4 +97,4 @@ -
\ No newline at end of file + diff --git a/modules/member/tpl/js/member_admin.js b/modules/member/tpl/js/member_admin.js index 4a2c01bcd..dbfdeb8a5 100644 --- a/modules/member/tpl/js/member_admin.js +++ b/modules/member/tpl/js/member_admin.js @@ -339,27 +339,31 @@ function completeDeleteMembers(ret_obj) { window.close(); } - -function doGorupImageMarkUpdateOrder(id) { - var sort = jQuery('#'+id).sortable('toArray'); - var params = { group_image_mark_order : [] }; - - jQuery.each(sort, function(i, val) { - params['group_image_mark_order'].push(val.replace('group_srl_', '')); - }); - - var response_tags = ['error','message']; - exec_xml('member', 'procMemberAdminGroupImageMarkUpdateOrder', params, completeGroupImageMarkUpdateOrder, response_tags); -} - -function completeGroupImageMarkUpdateOrder(ret_obj) { - alert(ret_obj['message']); -} - jQuery(function($) { - $("#group_image_mark_order") - .sortable({ - cursor: 'move', - cancel: '.inactive' - }); + $("#fo_group_order > table") + .find("a._up") + .click(function(e){ + var $tr = $(this).parent().parent(); + var $prev = $tr.prev("tr"); + if($prev.length) + { + $prev.before($tr); + $tr.parent().find("tr").removeClass("bg1").filter(":odd").addClass("bg1"); + } + e.preventDefault(); + }) + .end() + .find("a._down") + .click(function(){ + var $tr = $(this).parent().parent(); + var $next = $tr.next("tr"); + if($next.length) + { + $next.after($tr); + $tr.parent().find("tr").removeClass("bg1").filter(":odd").addClass("bg1"); + } + e.preventDefault(); + }) + .end() + });