164 lines
6.7 KiB
PHP
164 lines
6.7 KiB
PHP
<?php
|
|
$sideLibs = array();
|
|
foreach($lang->doclib->tabList as $libType => $typeName) $sideLibs[$libType] = $this->doc->getLimitLibs($libType);
|
|
$allModules = $this->loadModel('tree')->getDocStructure();
|
|
|
|
$sideSubLibs = array();
|
|
$sideSubLibs['product'] = $this->doc->getSubLibGroups('product', array_keys($sideLibs['product']));
|
|
$sideSubLibs['execution'] = $this->doc->getSubLibGroups('execution', array_keys($sideLibs['execution']));
|
|
if($this->methodName != 'browse')
|
|
{
|
|
$browseType = '';
|
|
$moduleID = '';
|
|
}
|
|
if(empty($type)) $type = 'product';
|
|
$sideWidth = common::checkNotCN() ? '270' : '238';
|
|
?>
|
|
<div class="side-col" style="width:<?php echo $sideWidth;?>px" data-min-width="<?php echo $sideWidth;?>">
|
|
<div class="cell" id="<?php echo $type;?>">
|
|
<div id='title'>
|
|
<li class='menu-title'><?php echo $this->lang->doc->menuTitle;?></li>
|
|
<?php
|
|
$canEditLib = common::hasPriv('doc', 'editLib');
|
|
$canManageBook = common::hasPriv('doc', 'manageBook');
|
|
$canManageMenu = common::hasPriv('tree', 'browse');
|
|
$canEditLib = common::hasPriv('doc', 'editLib');
|
|
$canDeleteLib = common::hasPriv('doc', 'deleteLib');
|
|
if($type != 'book' and ($canManageMenu or $canEditLib or $canDeleteLib))
|
|
{
|
|
echo "<div class='menu-actions'>";
|
|
echo html::a('javascript:;', "<i class='icon icon-ellipsis-v'></i>", '', "data-toggle='dropdown' class='btn btn-link'");
|
|
echo "<ul class='dropdown-menu pull-right'>";
|
|
if($canManageMenu)
|
|
{
|
|
echo '<li>' . html::a($this->createLink('tree', 'browse', "rootID=$libID&view=doc", '', true), '<i class="icon-cog-outline"></i> ' . $this->lang->doc->manageType, '', "class='iframe'") . '</li>';
|
|
echo "<li class='divider'></li>";
|
|
}
|
|
if($canEditLib) echo '<li>' . html::a($this->createLink('doc', 'editLib', "rootID=$libID"), '<i class="icon-edit"></i> ' . $lang->doc->editLib, '', "class='iframe'") . '</li>';
|
|
if($canDeleteLib) echo '<li>' . html::a($this->createLink('doc', 'deleteLib', "rootID=$libID"), '<i class="icon-trash"></i> ' . $lang->doc->deleteLib, 'hiddenwin') . '</li>';
|
|
echo '</ul></div>';
|
|
}
|
|
|
|
if($type == 'book' and ($canEditLib or $canManageBook))
|
|
{
|
|
echo "<div class='menu-actions'>";
|
|
echo html::a('javascript:;', "<i class='icon icon-ellipsis-v'></i>", '', "data-toggle='dropdown' class='btn btn-link'");
|
|
echo "<ul class='dropdown-menu pull-right'>";
|
|
if($canEditLib) echo '<li>' . html::a($this->createLink('doc', 'editLib', "rootID=$libID"), '<i class="icon-edit"></i> ' . $lang->doc->editBook, '', "class='iframe'") . '</li>';
|
|
if($canManageBook) echo '<li>' . html::a($this->createLink('doc', 'manageBook', "bookID=$libID"), '<i class="icon-cog-outline"></i> ' . $lang->doc->manageBook) . '</li>';
|
|
echo '</ul></div>';
|
|
}
|
|
?>
|
|
</div>
|
|
<?php if(!$moduleTree):?>
|
|
<hr class="space">
|
|
<div class="text-center text-muted tips">
|
|
<?php echo $type == 'book' ? $lang->doc->noChapter : $lang->doc->noModule;?>
|
|
</div>
|
|
<hr class="space">
|
|
<?php endif;?>
|
|
<?php if($type == 'book'):?>
|
|
<?php include './bookside.html.php';?>
|
|
<?php else:?>
|
|
<?php echo $moduleTree;?>
|
|
<?php endif;?>
|
|
</div>
|
|
<script>
|
|
$(function()
|
|
{
|
|
if($.cookie('docSideType'))
|
|
{
|
|
var type = $.cookie('docSideType');
|
|
var $tabs = $('#mainRow .side-col .tabs');
|
|
if($tabs.find('.tab-content .tab-pane#' + type).length >0)
|
|
{
|
|
$tabs.find('.nav-tabs li').removeClass('active');
|
|
$tabs.find('.nav-tabs li a[href="#' + type + '"]').parent().addClass('active');
|
|
$tabs.find('.tab-content .tab-pane').removeClass('active');
|
|
$tabs.find('.tab-content .tab-pane#' + type).addClass('active');
|
|
}
|
|
$.cookie('docSideType', '');
|
|
$('#mainRow .side-col .side-footer #orderLib').toggleClass('hidden', (type == 'product' || type == 'execution'));
|
|
}
|
|
|
|
$('#mainRow .side-col .tabs .nav-tabs li a').click(function()
|
|
{
|
|
var href = $(this).attr('href');
|
|
var canOrder = !(href.indexOf('product') > 0 || href.indexOf('execution') > 0);
|
|
if(!canOrder)
|
|
{
|
|
$(this).closest('.side-col').find('.side-footer #orderLib').addClass('hidden');
|
|
$(this).closest('.side-col').find('.side-footer #saveOrder').addClass('hidden');
|
|
}
|
|
|
|
var $orderLib = $(this).closest('.side-col').find('.side-footer #orderLib');
|
|
var $saveOrder = $(this).closest('.side-col').find('.side-footer #saveOrder');
|
|
|
|
var execute = false;
|
|
$(this).on('shown.zui.tab', function()
|
|
{
|
|
if(!execute)
|
|
{
|
|
var $tabPane = $('#mainRow .side-col .tabs .tab-content .tab-pane.active');
|
|
if($tabPane.find('.libs-group.sort').length > 0 && canOrder)
|
|
{
|
|
$orderLib.addClass('hidden');
|
|
$saveOrder.removeClass('hidden');
|
|
execute = true;
|
|
}
|
|
if($tabPane.find('.libs-group.sort').length == 0 && canOrder)
|
|
{
|
|
$orderLib.removeClass('hidden');
|
|
$saveOrder.addClass('hidden');
|
|
execute = true;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
$('#orderLib').click(function()
|
|
{
|
|
var $tabPane = $('#mainRow .side-col .tabs .tab-content .tab-pane.active');
|
|
var type = $tabPane.attr('id');
|
|
$.get(createLink('doc', 'sort', "type=" + type), function(data)
|
|
{
|
|
$tabPane.html(data);
|
|
$tabPane.closest('.side-col').find('.side-footer #orderBox #orderLib').addClass('hidden');
|
|
$tabPane.closest('.side-col').find('.side-footer #orderBox #saveOrder').removeClass('hidden');
|
|
$tabPane.find('.libs-group.sort').sortable(
|
|
{
|
|
trigger: '.lib',
|
|
selector: '.lib',
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
function saveOrder()
|
|
{
|
|
var $tabPane = $('#mainRow .side-col .tabs .tab-content .tab-pane.active');
|
|
var type = $tabPane.attr('id');
|
|
var orders = {};
|
|
var orderNext = 1;
|
|
|
|
$tabPane.find('.libs-group.sort .lib').not('.files').not('.addbtn').each(function()
|
|
{
|
|
orders[$(this).data('id')] = orderNext ++;
|
|
});
|
|
|
|
$.post(createLink('doc', 'sort'), orders, function(data)
|
|
{
|
|
if(data.result == 'success')
|
|
{
|
|
$.cookie('docSideType', type);
|
|
return location.reload();
|
|
}
|
|
else
|
|
{
|
|
bootbox.alert(data.message);
|
|
}
|
|
}, 'json');
|
|
}
|
|
</script>
|
|
</div>
|