mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-02 01:52:10 +09:00
issue 70 site map developement.
but yet not completed git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8965 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
5cd8e57f0e
commit
ae48547676
7 changed files with 256 additions and 41 deletions
|
|
@ -102,6 +102,13 @@
|
|||
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;
|
||||
else if($source_args->cType == 'SELECT') $source_args->menu_url = $source_args->select_menu_url;
|
||||
|
||||
// upload button
|
||||
$btnOutput = $this->_uploadButton($source_args);
|
||||
|
||||
// Re-order variables (Column's order is different between form and DB)
|
||||
$args->menu_srl = $source_args->menu_srl;
|
||||
$args->menu_item_srl = $source_args->menu_item_srl;
|
||||
|
|
@ -112,22 +119,32 @@
|
|||
$args->url = trim($source_args->menu_url);
|
||||
$args->open_window = $source_args->menu_open_window;
|
||||
$args->expand = $source_args->menu_expand;
|
||||
$args->normal_btn = $source_args->normal_btn;
|
||||
$args->hover_btn = $source_args->hover_btn;
|
||||
$args->active_btn = $source_args->active_btn;
|
||||
if($btnOutput['normal_btn']) $args->normal_btn = $btnOutput['normal_btn'];
|
||||
if($btnOutput['hover_btn']) $args->hover_btn = $btnOutput['hover_btn'];
|
||||
if($btnOutput['active_btn']) $args->active_btn = $btnOutput['active_btn'];
|
||||
$args->group_srls = $source_args->group_srls;
|
||||
// Check if already exists
|
||||
$oMenuModel = &getAdminModel('menu');
|
||||
$item_info = $oMenuModel->getMenuItemInfo($args->menu_item_srl);
|
||||
|
||||
// button is deleted, db delete
|
||||
if($source_args->isNormalDelete == 'Y') $args->normal_btn = '';
|
||||
if($source_args->isHoverDelete == 'Y') $args->hover_btn = '';
|
||||
if($source_args->isActiveDelete == 'Y') $args->active_btn = '';
|
||||
|
||||
$message = '';
|
||||
// Update if exists
|
||||
if($item_info->menu_item_srl == $args->menu_item_srl) {
|
||||
if(!empty($args->menu_item_srl) && $item_info->menu_item_srl == $args->menu_item_srl) {
|
||||
$output = executeQuery('menu.updateMenuItem', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
$message = 'success_updated';
|
||||
// Insert if not exist
|
||||
} else {
|
||||
if(!$args->menu_item_srl) $args->menu_item_srl = getNextSequence();
|
||||
$args->listorder = -1*$args->menu_item_srl;
|
||||
$output = executeQuery('menu.insertMenuItem', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
$message = 'success_registed';
|
||||
}
|
||||
// Get information of the menu
|
||||
$menu_info = $oMenuModel->getMenu($args->menu_srl);
|
||||
|
|
@ -158,7 +175,7 @@
|
|||
$this->add('menu_title', $menu_title);
|
||||
$this->add('parent_srl', $args->parent_srl);
|
||||
|
||||
$this->setMessage('success_updated', 'info');
|
||||
$this->setMessage($message, 'info');
|
||||
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMenuAdminSiteMap', 'menu_srl', $args->menu_srl);
|
||||
$this->setRedirectUrl($returnUrl);
|
||||
|
|
@ -254,7 +271,7 @@
|
|||
else $menuList[$parentSrl][$value] = true;
|
||||
}
|
||||
|
||||
foreach($menuList AS $key=>$value)
|
||||
/*foreach($menuList AS $key=>$value)
|
||||
{
|
||||
if(count($value) > 0)
|
||||
{
|
||||
|
|
@ -265,7 +282,7 @@
|
|||
$sourceSrl = $key2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated', 'info');
|
||||
|
|
@ -775,5 +792,60 @@
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Register a menu image button
|
||||
**/
|
||||
function _uploadButton($args)
|
||||
{
|
||||
// path setting
|
||||
$path = sprintf('./files/attach/menu_button/%d/', $args->menu_srl);
|
||||
if($args->menu_normal_btn || $args->menu_hover_btn || $args->menu_active_btn)
|
||||
if(!is_dir($path)) FileHandler::makeDir($path);
|
||||
|
||||
if($args->isNormalDelete == 'Y' || $args->isHoverDelete == 'Y' || $args->isActiveDelete == 'Y')
|
||||
{
|
||||
$oMenuModel = &getAdminModel('menu');
|
||||
$itemInfo = $oMenuModel->getMenuItemInfo($args->menu_item_srl);
|
||||
|
||||
if($args->isNormalDelete == 'Y' && $itemInfo->normal_btn) FileHandler::removeFile($itemInfo->normal_btn);
|
||||
if($args->isHoverDelete == 'Y' && $itemInfo->hover_btn) FileHandler::removeFile($itemInfo->hover_btn);
|
||||
if($args->isActiveDelete == 'Y' && $itemInfo->active_btn) FileHandler::removeFile($itemInfo->active_btn);
|
||||
}
|
||||
|
||||
$returnArray = array();
|
||||
// normal button
|
||||
if($args->menu_normal_btn)
|
||||
{
|
||||
$tmp_arr = explode('.',$args->menu_normal_btn['name']);
|
||||
$ext = $tmp_arr[count($tmp_arr)-1];
|
||||
|
||||
$filename = sprintf('%s%d.%s.%s', $path, $args->menu_item_srl, 'menu_normal_btn', $ext);
|
||||
move_uploaded_file($args->menu_normal_btn['tmp_name'], $filename);
|
||||
$returnArray['normal_btn'] = $filename;
|
||||
}
|
||||
|
||||
// hover button
|
||||
if($args->menu_hover_btn)
|
||||
{
|
||||
$tmp_arr = explode('.',$args->menu_hover_btn['name']);
|
||||
$ext = $tmp_arr[count($tmp_arr)-1];
|
||||
|
||||
$filename = sprintf('%s%d.%s.%s', $path, $args->menu_item_srl, 'menu_hover_btn', $ext);
|
||||
move_uploaded_file($args->menu_hover_btn['tmp_name'], $filename);
|
||||
$returnArray['hover_btn'] = $filename;
|
||||
}
|
||||
|
||||
// active button
|
||||
if($args->menu_active_btn)
|
||||
{
|
||||
$tmp_arr = explode('.',$args->menu_active_btn['name']);
|
||||
$ext = $tmp_arr[count($tmp_arr)-1];
|
||||
|
||||
$filename = sprintf('%s%d.%s.%s', $path, $args->menu_item_srl, 'menu_active_btn', $ext);
|
||||
move_uploaded_file($args->menu_active_btn['tmp_name'], $filename);
|
||||
$returnArray['active_btn'] = $filename;
|
||||
}
|
||||
return $returnArray;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -115,6 +115,27 @@
|
|||
$menuItemSrl = Context::get('menu_item_srl');
|
||||
$menuItem = $this->getMenuItemInfo($menuItemSrl);
|
||||
|
||||
if(!$menuItem->url)
|
||||
{
|
||||
$menuItem->moduleType = null;
|
||||
}
|
||||
else if(!preg_match('/^http/i',$menuItem->url))
|
||||
{
|
||||
$oModuleModel = &getModel('module');
|
||||
$moduleInfo = $oModuleModel->getModuleInfoByMid($menuItem->url);
|
||||
if($moduleInfo->mid == $menuItem->url) {
|
||||
$menuItem->moduleType = $moduleInfo->module;
|
||||
//$menuItem->module_id = $moduleInfo->mid;
|
||||
//$menuItem->browser_title = $moduleInfo->browser_title;
|
||||
//unset($menuItem->url);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$menuItem->moduleType = 'url';
|
||||
/*$menuItem->url = preg_replace('/^(http|https):\/\//i','',$menuItem->url);*/
|
||||
}
|
||||
|
||||
// get groups
|
||||
$oMemberModel = &getModel('member');
|
||||
$output = $oMemberModel->getGroups();
|
||||
|
|
|
|||
|
|
@ -118,6 +118,35 @@
|
|||
}
|
||||
Context::set('menu_list', $output);
|
||||
|
||||
// get installed module list
|
||||
$oModuleModel = &getModel('module');
|
||||
$output = $oModuleModel->getModuleList();
|
||||
if(is_array($output))
|
||||
{
|
||||
$installedModuleList = array();
|
||||
foreach($output AS $key=>$value)
|
||||
{
|
||||
array_push($installedModuleList, $value->module);
|
||||
}
|
||||
$useModuleList = array('board', 'forum', 'wiki', 'page');
|
||||
}
|
||||
$resultModuleList = array_intersect($installedModuleList, $useModuleList);
|
||||
Context::set('module_list', $resultModuleList);
|
||||
|
||||
// get default group list
|
||||
$oMemberModel = &getModel('member');
|
||||
$output = $oMemberModel->getGroups();
|
||||
if(is_array($output))
|
||||
{
|
||||
$groupList = array();
|
||||
foreach($output AS $key=>$value)
|
||||
{
|
||||
$groupList[$value->group_srl]->group_srl = $value->group_srl;
|
||||
$groupList[$value->group_srl]->title = $value->title;
|
||||
}
|
||||
}
|
||||
Context::set('group_list', $groupList);
|
||||
|
||||
$this->setTemplateFile('sitemap');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@
|
|||
<column name="url" var="url" />
|
||||
<column name="open_window" var="open_window" />
|
||||
<column name="expand" var="expand" />
|
||||
<column name="normal_btn" var="normal_btn" default="" />
|
||||
<column name="hover_btn" var="hover_btn" default="" />
|
||||
<column name="active_btn" var="active_btn" default="" />
|
||||
<column name="normal_btn" var="normal_btn" />
|
||||
<column name="hover_btn" var="hover_btn" />
|
||||
<column name="active_btn" var="active_btn" />
|
||||
<column name="group_srls" var="group_srls" />
|
||||
</columns>
|
||||
<conditions>
|
||||
|
|
|
|||
|
|
@ -207,6 +207,7 @@ $('.tgMap').click(function(){
|
|||
var editForm = $('#editForm');
|
||||
var menuSrl = null;
|
||||
var menuForm = null;
|
||||
var menuUrl = null;
|
||||
|
||||
$('a._edit').click(function(){
|
||||
var parentKey = $(this).parent().prevAll('._parent_key').val();
|
||||
|
|
@ -233,17 +234,39 @@ $('.tgMap').click(function(){
|
|||
function completeGetActList(obj)
|
||||
{
|
||||
var menuItem = obj.menu_item;
|
||||
menuUrl = menuItem.url;
|
||||
editForm.find('.h2').html('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]').val(menuItem.name);
|
||||
editForm.find('input=[name=menu_url]').val(menuItem.url);
|
||||
|
||||
var moduleType = menuItem.moduleType;
|
||||
var inputCType = editForm.find('input[name=cType]');
|
||||
|
||||
if(moduleType == 'url')
|
||||
{
|
||||
inputCType[2].checked = true;
|
||||
editForm.find('input[name=menu_url]').val(menuItem.url);
|
||||
}
|
||||
else
|
||||
{
|
||||
inputCType[1].checked = true;
|
||||
editForm.find('input[name=select_menu_url]').val(menuItem.url);
|
||||
}
|
||||
typeCheck();
|
||||
getModuleList();
|
||||
|
||||
var openWindow = menuItem.open_window;
|
||||
var openWindowForm = editForm.find('input=[name=menu_open_window]');
|
||||
if(openWindow == 'Y') openWindowForm[1].checked = true;
|
||||
else openWindowForm[0].checked = true;
|
||||
|
||||
// button image
|
||||
if(menuItem.normal_btn) $('#normal_btn_preview').html('<img src="'+menuItem.normal_btn+'" /><input type="checkbox" name="isNormalDelete" value="Y"> Delete');
|
||||
if(menuItem.hover_btn) $('#hover_btn_preview').html('<img src="'+menuItem.hover_btn+'" /><input type="checkbox" name="isHoverDelete" value="Y"> Delete');
|
||||
if(menuItem.active_btn) $('#active_btn_preview').html('<img src="'+menuItem.active_btn+'" /><input type="checkbox" name="isActiveDelete" value="Y"> Delete');
|
||||
|
||||
var htmlBuffer = '';
|
||||
for(x in menuItem.groupList.item)
|
||||
{
|
||||
|
|
@ -267,15 +290,18 @@ $('.tgMap').click(function(){
|
|||
|
||||
$('a._add').click(function()
|
||||
{
|
||||
var menuItem = obj.menu_item;
|
||||
editForm.find('input[name=menu_srl]').val('');
|
||||
editForm.find('input[name=menu_item_srl]').val('');
|
||||
editForm.find('input[name=parent_srl]').val('');
|
||||
editForm.find('.h2').html('Add Menu');
|
||||
editForm.find('input[name=menu_srl]').val($(this).parents().prevAll('input[name=menu_srl]').val());
|
||||
editForm.find('input[name=parent_srl]').val(0);
|
||||
editForm.find('input[name=menu_name]').val('');
|
||||
editForm.find('input[name=cType]').attr('checked', false);
|
||||
editForm.find('input=[name=create_menu_url]').val('');
|
||||
editForm.find('input=[name=select_menu_url]').val('');
|
||||
editForm.find('input=[name=menu_url]').val('');
|
||||
editForm.find('input=[name=menu_open_window]')[0].checked = true;
|
||||
editForm.find('input=[name=menu_open_window]').attr('checked', false);
|
||||
editForm.find('input=[name=group_srls\\[\\]]').attr('checked', false);
|
||||
|
||||
var htmlBuffer = '';
|
||||
/*var htmlBuffer = '';
|
||||
for(x in menuItem.groupList.item)
|
||||
{
|
||||
var groupObj = menuItem.groupList.item[x];
|
||||
|
|
@ -284,6 +310,78 @@ $('.tgMap').click(function(){
|
|||
if(groupObj.isChecked) htmlBuffer += ' checked="checked" ';
|
||||
htmlBuffer += '/> <label for="group_srls_'+groupObj.group_srl+'">'+groupObj.title+'</label>'
|
||||
}
|
||||
$('#groupList').html(htmlBuffer);
|
||||
$('#groupList').html(htmlBuffer);*/
|
||||
});
|
||||
|
||||
var kindModuleLayer = $('#kindModule');
|
||||
var createModuleLayer = $('#createModule');
|
||||
var selectModuleLayer = $('#selectModule');
|
||||
var insertUrlLayer = $('#insertUrl');
|
||||
kindModuleLayer.hide();
|
||||
createModuleLayer.hide();
|
||||
selectModuleLayer.hide();
|
||||
insertUrlLayer.hide();
|
||||
|
||||
$('input._typeCheck').click(typeCheck);
|
||||
|
||||
function typeCheck()
|
||||
{
|
||||
var inputTypeCheck = $('input._typeCheck');
|
||||
var checkedValue = null;
|
||||
for(var i=0; i<3; i++)
|
||||
{
|
||||
if(inputTypeCheck[i].checked)
|
||||
{
|
||||
checkedValue = inputTypeCheck[i].value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(checkedValue == 'CREATE')
|
||||
{
|
||||
kindModuleLayer.show();
|
||||
createModuleLayer.show()
|
||||
selectModuleLayer.hide()
|
||||
insertUrlLayer.hide()
|
||||
}
|
||||
else if(checkedValue == 'SELECT')
|
||||
{
|
||||
kindModuleLayer.show();
|
||||
createModuleLayer.hide()
|
||||
selectModuleLayer.show()
|
||||
insertUrlLayer.hide()
|
||||
}
|
||||
// type is URL
|
||||
else
|
||||
{
|
||||
kindModuleLayer.hide();
|
||||
createModuleLayer.hide()
|
||||
selectModuleLayer.hide()
|
||||
insertUrlLayer.show()
|
||||
}
|
||||
}
|
||||
|
||||
$('#kModule').change(getModuleList);
|
||||
function getModuleList()
|
||||
{
|
||||
var params = new Array();
|
||||
var response_tags = ['error', 'message', 'module_list'];
|
||||
|
||||
exec_xml('module','procModuleAdminGetList',params, completeGetModuleList, response_tags);
|
||||
}
|
||||
|
||||
function completeGetModuleList(ret_obj)
|
||||
{
|
||||
var midList = ret_obj.module_list[$('#kModule').val()].list;
|
||||
|
||||
var htmlBuffer = "";
|
||||
for(x in midList)
|
||||
{
|
||||
var midObject = midList[x];
|
||||
htmlBuffer += '<option value="'+midObject.mid+'"';
|
||||
if(menuUrl == midObject.mid) htmlBuffer += ' selected ';
|
||||
htmlBuffer += '>'+midObject.browser_title+'</option>';
|
||||
}
|
||||
selectModuleLayer.find('select').html(htmlBuffer);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
<input type="hidden" name="child_key[]" value="{$key3}" class="_child_key" />
|
||||
{$value3->name} <a href="#" class="wPreview" target="_blank">Preview</a> <span class="side"><a href="#editMenu" class="modalAnchor _edit">Edit...</a> | <a href="#delete" class="_delete">Delete</a></span>
|
||||
</li>
|
||||
</ul cond="$value2['subMenu']>0">
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="btnArea"><span class="btn small"><a href="#editMenu" class="modalAnchor _add">Add Menu...</a></span> <span class="btn small"><button value="procMenuAdminArrangeItem" name="act" type="submit">{$lang->cmd_save}</button></span></p>
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
<input type="hidden" name="menu_srl" value="" />
|
||||
<input type="hidden" name="menu_item_srl" value="{$menu_info->menu_srl}" />
|
||||
<input type="hidden" name="parent_srl" value="{$menu_info->menu_srl}" />
|
||||
<h2 class="h2">Add Menu | Edit Menu</h2>
|
||||
<h2 class="h2"></h2>
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q"><label for="name">Name</label></p>
|
||||
|
|
@ -90,40 +90,34 @@
|
|||
<li>
|
||||
<p class="q">Module or URL?</p>
|
||||
<p class="a">
|
||||
<input type="radio" name="cType" id="cModule" /> <label for="cModule">Create Module</label>
|
||||
<input type="radio" name="cType" id="sModule" /> <label for="sModule">Select Module</label>
|
||||
<input type="radio" name="cType" id="url" /> <label for="url">URL</label>
|
||||
<input type="radio" name="cType" id="cModule" class="_typeCheck" value="CREATE" /> <label for="cModule">Create Module</label>
|
||||
<input type="radio" name="cType" id="sModule" class="_typeCheck" value="SELECT" /> <label for="sModule">Select Module</label>
|
||||
<input type="radio" name="cType" id="url" class="_typeCheck" value="URL" /> <label for="url">URL</label>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<li id="kindModule">
|
||||
<p class="q"><label for="kModule">What kind of module?</label></p>
|
||||
<p class="a">
|
||||
<select style="width:290px" id="kModule">
|
||||
<option>board</option>
|
||||
<option>forum</option>
|
||||
<option>page</option>
|
||||
<option>wiki</option>
|
||||
<option loop="$module_list=>$key,$value" value="{$value}">{$value}</option>
|
||||
</select>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<li id="createModule">
|
||||
<p class="q"><label for="cModule_id">Create module ID.</label></p>
|
||||
<div class="a">
|
||||
<input type="text" id="cModule_id" name="menu_url" />
|
||||
<input type="text" id="cModule_id" name="create_menu_url" />
|
||||
<span class="desc"><button type="button" class="text">Validation Check</button></span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<li id="selectModule">
|
||||
<p class="q"><label for="sModule_id">Select module ID.</label></p>
|
||||
<p class="a">
|
||||
<select style="width:290px" id="sModule_id">
|
||||
<option>freeBoard</option>
|
||||
<option>userForum</option>
|
||||
<option>devForum</option>
|
||||
<select style="width:290px" id="sModule_id" name="select_menu_url">
|
||||
</select>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<li id="insertUrl">
|
||||
<p class="q"><label for="link_url">Insert URL.</label></p>
|
||||
<div class="a">
|
||||
<input type="text" id="link_url" name="menu_url" value="http://" />
|
||||
|
|
@ -139,23 +133,23 @@
|
|||
<li>
|
||||
<p class="q">Display image.</p>
|
||||
<p class="a">
|
||||
<input type="radio" name="imgUse" id="imgNo" checked="checked" /> <label for="imgNo">No</label>
|
||||
<input type="radio" name="imgUse" id="imgYes" /> <label for="imgYes">Yes</label>
|
||||
</p>
|
||||
<p class="a">
|
||||
<span id="normal_btn_preview"></span>
|
||||
<input type="file" name="menu_normal_btn" id="menu_normal_btn" /> <label for="menu_normal_btn">Normal Image</label><br />
|
||||
<span id="hover_btn_preview"></span>
|
||||
<input type="file" name="menu_hover_btn" id="menu_hover_btn" /> <label for="menu_hover_btn">Hover Image</label><br />
|
||||
<span id="active_btn_preview"></span>
|
||||
<input type="file" name="menu_active_btn" id="menu_active_btn" /> <label for="menu_active_btn">Active Image</label>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">Authority for access.</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>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="Save" /></span>
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_save}" /></span>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -514,6 +514,7 @@
|
|||
$obj = null;
|
||||
$obj->module_srl = $val->module_srl;
|
||||
$obj->browser_title = $val->browser_title;
|
||||
$obj->mid = $val->mid;
|
||||
$mid_list[$module]->list[$val->mid] = $obj;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue