merge from 1.5.3.2 (~r11225)

git-svn-id: http://xe-core.googlecode.com/svn/trunk@11226 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
flyskyko 2012-09-13 06:14:45 +00:00
parent 54e3a72065
commit 77f5aa2671
313 changed files with 8058 additions and 14251 deletions

View file

@ -592,4 +592,9 @@ Menu không phải là người quản lý, nhiệm vụ của nó chỉ là li
<value xml:lang="en"><![CDATA[Select Module ID]]></value>
<value xml:lang="zh-TW"><![CDATA[選擇模組 ID]]></value>
</item>
<item name="exposure_limits">
<value xml:lang="ko"><![CDATA[노출 제한]]></value>
<value xml:lang="en"><![CDATA[Exposure limits]]></value>
<value xml:lang="zh-TW"><![CDATA[Exposure limits]]></value>
</item>
</lang>

View file

@ -138,8 +138,11 @@
unset($source_args->act);
if($source_args->menu_open_window!="Y") $source_args->menu_open_window = "N";
if($source_args->menu_expand !="Y") $source_args->menu_expand = "N";
if($source_args->menu_grant_default == -1) $source_args->group_srls = -1;
if(!is_array($source_args->group_srls)) $source_args->group_srls = str_replace('|@|',',',$source_args->group_srls);
else $source_args->group_srls = implode(',', $source_args->group_srls);
$source_args->parent_srl = (int)$source_args->parent_srl;
if($source_args->cType == 'CREATE') $source_args->menu_url = $source_args->create_menu_url;
@ -160,6 +163,11 @@
else
$args->name = $source_args->menu_name;
if(!strstr($args->name, '$user_lang->'))
{
$args->name = htmlspecialchars($args->name);
}
$args->url = trim($source_args->menu_url);
$args->open_window = $source_args->menu_open_window;
$args->expand = $source_args->menu_expand;
@ -601,12 +609,13 @@
$url = getNotEncodedUrl('', 'module', 'admin', 'act', $info->menu->{$menuName}->index);
if(empty($url)) $url = getNotEncodedUrl('', 'module', 'admin', 'act', $info->admin_index_act);
if(empty($url)) $url = getNotEncodedUrl('', 'module', 'admin');
$dbInfo = Context::getDBInfo();
$args->menu_item_srl = (!$requestArgs->menu_item_srl) ? getNextSequence() : $requestArgs->menu_item_srl;
$args->parent_srl = $requestArgs->parent_srl;
$args->menu_srl = $requestArgs->menu_srl;
$args->name = sprintf('{$lang->menu_gnb_sub[\'%s\']}', $menuName);
$args->url = $url;
$args->url = str_replace($dbInfo->default_url, '', $url);
$args->open_window = 'N';
$args->expand = 'N';
$args->normal_btn = '';
@ -707,7 +716,7 @@
'$group_srls = array_keys($logged_info->group_list); '.
'} else { '.
'$is_admin = false; '.
'$group_srsl = array(); '.
'$group_srls = array(); '.
'}';
// Create the xml cache file (a separate session is needed for xml cache)
$xml_buff = sprintf(
@ -806,7 +815,7 @@
$link = '<?php print $_names[$lang_type]; ?>';
}
// If the value of node->group_srls exists
if($group_srls) $group_check_code = sprintf('($is_admin==true||(is_array($group_srls)&&count(array_intersect($group_srls, array(%s)))))',$group_srls);
if($group_srls)$group_check_code = sprintf('($is_admin==true||(is_array($group_srls)&&count(array_intersect($group_srls, array(%s))))||($is_logged&&%s))',$group_srls,$group_srls == -1?1:0);
else $group_check_code = "true";
$attribute = sprintf(
'node_srl="%s" parent_srl="%s" text="<?php if(%s) { %s }?>" url="<?php print(%s?"%s":"")?>" href="<?php print(%s?"%s":"")?>" open_window="%s" expand="%s" normal_btn="%s" hover_btn="%s" active_btn="%s" link="<?php if(%s) {?>%s<?php }?>"',
@ -865,7 +874,7 @@
if($node->url) $child_output['url_list'][] = $node->url;
$output['url_list'] = array_merge($output['url_list'], $child_output['url_list']);
// If node->group_srls value exists
if($node->group_srls) $group_check_code = sprintf('($is_admin==true||(is_array($group_srls)&&count(array_intersect($group_srls, array(%s)))))',$node->group_srls);
if($node->group_srls)$group_check_code = sprintf('($is_admin==true||(is_array($group_srls)&&count(array_intersect($group_srls, array(%s))))||($is_logged && %s))',$node->group_srls,$node->group_srls == -1?1:0);
else $group_check_code = "true";
// List variables
$href = str_replace(array('&','"','<','>'),array('&amp;','&quot;','&lt;','&gt;'),$node->href);

View file

@ -5,6 +5,11 @@ jQuery(function($){
var $lang = $('#editMenu h2:first span');
xe.lang.add_menu = $lang.eq(0).text();
xe.lang.edit_menu = $lang.eq(1).text();
var $grant_lang = $('#groupList select[name=menu_grant_default] option');
xe.lang.grant_to_all = $grant_lang.eq(0).text();
xe.lang.grant_to_login_user = $grant_lang.eq(1).text();
xe.lang.grant_to_group = $grant_lang.eq(2).text();
$lang.empty();
$('form.siteMap')
@ -51,12 +56,14 @@ $('form.siteMap')
var menuItem = obj.menu_item;
menuUrl = menuItem.url;
var successReturnUrl = editForm.find('input[name=success_return_url]').val() + menuItem.menu_srl;
var menuName = $('<div />').html(menuItem.name).text();
editForm.find('.h2').text(xe.lang.edit_menu);
editForm.find('input[name=menu_srl]').val(menuItem.menu_srl);
editForm.find('input[name=menu_item_srl]').val(menuItem.menu_item_srl);
editForm.find('input[name=parent_srl]').val(menuItem.parent_srl);
editForm.find('input[name=menu_name_key]').val(menuItem.name_key);
editForm.find('input[name=menu_name]').val(menuItem.name);
editForm.find('input[name=menu_name_key]').val(menuName);
editForm.find('input[name=menu_name]').val(menuName);
editForm.find('input[name=success_return_url]').val(successReturnUrl);
var moduleType = menuItem.moduleType;
@ -94,6 +101,15 @@ $('form.siteMap')
if(menuItem.active_btn) $('#active_btn_preview').html('<img src="'+menuItem.active_btn+'" /><input type="checkbox" name="isActiveDelete" value="Y"> Delete');
var htmlBuffer = '';
htmlBuffer+='<select name="menu_grant_default" class="grant_default" onChange="doShowMenuGrantZone()"><option value="0">'+xe.lang.grant_to_all+'</option><option value="-1"';
if(menuItem.group_srls != null && menuItem.group_srls.item == '-1') htmlBuffer += ' selected="selected" ';
htmlBuffer += '>'+xe.lang.grant_to_login_user+'</option> <option value=""';
if(menuItem.group_srls != null &&menuItem.group_srls.item!='-1') htmlBuffer += ' selected="selected" ';
htmlBuffer += '>'+xe.lang.grant_to_group+'</option></select> <div id="zone_menu_grant"';
if(!menuItem.group_srls == null ||menuItem.group_srls.item=='-1') htmlBuffer +='style="display:none"';
htmlBuffer +='>';
for(x in menuItem.groupList.item)
{
var groupObj = menuItem.groupList.item[x];
@ -102,6 +118,7 @@ $('form.siteMap')
if(groupObj.isChecked) htmlBuffer += ' checked="checked" ';
htmlBuffer += '/> <label for="group_srls_'+groupObj.group_srl+'">'+groupObj.title+'</label>'
}
htmlBuffer +='</div>';
$('#groupList').html(htmlBuffer);
// reset label
@ -303,3 +320,13 @@ function confirmDelete()
if(confirm(xe.lang.confirm_delete)) return true;
return false;
}
/* 메뉴 권한 선택용 */
function doShowMenuGrantZone() {
jQuery(".grant_default").each( function() {
var id = "#zone_menu_grant";
if(!jQuery(this).val()) jQuery(id).css("display","block");
else jQuery(id).css("display","none");
} );
}

View file

@ -1,5 +1,6 @@
<script type="text/javascript">
xe.lang.confirm_delete = "{$lang->confirm_delete}";
jQuery( function() { jQuery('.grant_default').change( function(event) { doShowMenuGrantZone(); } ); doShowMenuGrantZone() } );
</script>
<load target="./js/menu_admin.js" usecdn="true" />
<load target="../../admin/tpl/js/sitemap.js" usecdn="true" />
@ -154,9 +155,16 @@ xe.lang.confirm_delete = "{$lang->confirm_delete}";
</p>
</li>
<li>
<p class="q">{$lang->menu_group_srls}</p>
<p class="q">{$lang->exposure_limits}</p>
<p class="a" id="groupList">
<block loop="$group_list=>$key,$value"><input type="checkbox" name="group_srls[]" id="group_srls_{$value->group_srl}" value="{$value->group_srl}" /> <label for="group_srls_{$value->group_srl}">{$value->title}</label></block>
<select name="menu_grant_default" class="grant_default">
<option value="0" selected="selected">{$lang->grant_to_all}</option>
<option value="-1">{$lang->grant_to_login_user}</option>
<option value="">{$lang->grant_to_group}</option>
</select>
<div id="zone_menu_grant" style="display:none">
<block loop="$group_list=>$key,$value"><input type="checkbox" name="group_srls[]" id="group_srls_{$value->group_srl}" value="{$value->group_srl}" /> <label for="group_srls_{$value->group_srl}">{$value->title}</label></block>
</div>
</p>
</li>
<li>