2023-05-16 10:50:42 +08:00

169 lines
7.3 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* The common header view file of workfloweditor module of ZDOO.
*
* @copyright Copyright 2009-2020 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license 商业软件,非开源软件
* @author Hao Sun <sunhao@cnezsoft.com>
* @package workfloweditor
* @version $Id$
* @link http://www.zdoo.com
*/
?>
<?php if($editorMode == 'quick' && $flow->buildin) die(js::error($this->lang->workflow->tips->buildinFlow) . js::locate('back'));?>
<?php include $app->getModuleRoot() . 'common/view/header.lite.html.php';?>
<style><?php helper::import($this->app->getExtensionRoot() . 'biz/workflow/css/header.css');?></style>
<?php js::set('moduleName', $flow->module);?>
<?php js::set('editorMode', $editorMode); ?>
<?php js::set('unknownError', $lang->workfloweditor->error->unknown); ?>
<?php $currentModule = $this->app->getModuleName(); ?>
<?php $currentMethod = $this->app->getMethodName(); ?>
<div id='editorNav'>
<div id='editorNavLeft'>
<?php $backLink = $this->session->workflowList ? $this->session->workflowList : $this->createLink('workflow', 'browseFlow');?>
<?php echo baseHTML::a($backLink, "<i class='icon-angle-left'></i>" , 'class="btn btn-link"');?>
<strong><?php echo $flow->name; ?></strong>
</div>
<div id='editorNavCenter'>
<strong class='title'><?php echo $editorMode == 'quick' ? $lang->workfloweditor->quickEditor : $lang->workfloweditor->advanceEditor; ?></strong>
</div>
<div id='editorNavRight'>
<?php
if($editorMode == 'quick')
{
echo baseHTML::a('#switchConfirmModal', sprintf($lang->workfloweditor->switchTo, $lang->workfloweditor->advanceEditor), "class='btn btn-primary' data-toggle='modal'");
}
elseif(!$flow->buildin)
{
extCommonModel::printLink('workflow', 'flowchart', "module={$flow->module}", sprintf($lang->workfloweditor->switchTo, $lang->workfloweditor->quickEditor), "class='btn btn-primary'");
}
?>
</div>
</div>
<?php if($editorMode == 'quick'): ?>
<div class='modal fade' id='switchConfirmModal'>
<div class='modal-dialog'>
<div class='modal-content'>
<div class='modal-header'>
<button type='button' class='close' data-dismiss='modal'><span aria-hidden='true'>×</span></button>
</div>
<div class='modal-body text-center'>
<p><?php echo $lang->workfloweditor->switchConfirmMessage; ?></p>
<div>
<?php extCommonModel::printLink('workflowfield', 'browse', "module={$flow->module}", $lang->workfloweditor->confirmSwitch, "class='btn btn-primary not-in-app'");?>
<button type='button' class='btn' data-dismiss='modal'><?php echo $lang->workfloweditor->cancelSwitch; ?></button>
</div>
</div>
</div>
</div>
</div>
<?php endif; ?>
<div id='editorMenu'>
<nav id='editorSteps' class='editor-steps-<?php echo $editorMode; ?>'>
<ul class='nav nav-primary'>
<?php
$stepList = $editorMode == 'quick' ? $lang->workfloweditor->quickSteps : $lang->workfloweditor->advanceSteps;
if($flow->buildin)
{
unset($stepList['subTable']);
unset($stepList['label']);
unset($lang->workfloweditor->moreSettings['setReport']);
unset($lang->workfloweditor->moreSettings['fulltext']);
if(in_array($flow->module, $this->config->workflow->buildin->noApproval)) unset($lang->workfloweditor->moreSettings['approval']);
}
$stepUrls = array();
$currentStep = -1;
$index = 0;
foreach($stepList as $stepItem)
{
$subMenu = array();
if(isset($stepItem['subMenu'])) $subMenu = $stepItem['subMenu'];
if(isset($stepItem['link'])) $stepItem = $stepItem['link'];
list($label, $moduleName, $methodName) = explode('|', $stepItem);
if($methodName == 'more')
{
foreach($lang->workfloweditor->moreSettings as $moreSetting)
{
$moreSetting = explode('|', $moreSetting);
if(commonModel::hasPriv($moreSetting[1], $moreSetting[2]))
{
$moduleName = $moreSetting[1];
$methodName = $moreSetting[2];
$stepParams = $moduleName == 'workflow' && $methodName != 'setapproval' ? sprintf($moreSetting[3], $flow->id) : sprintf($moreSetting[3], $flow->module);
break;
}
}
}
else
{
$stepParams = $flow->type == 'table' ? "module={$flow->parent}" : "module={$flow->module}";
if(isset($currentAction)) $stepParams .= "&action={$currentAction->action}";
}
$stepUrl = $this->createLink($moduleName, $methodName, $stepParams);
$stepUrlHtml = baseHTML::a($stepUrl, $label);
if($currentModule == 'workflowfield' && $currentMethod == 'browse' && $flow->type == 'table')
{
$isCurrentStep = $moduleName == 'workflow' && $methodName == 'browsedb';
}
else
{
$isCurrentStep = (($currentModule == $moduleName && $currentMethod == $methodName) or (isset($subMenu[$currentModule]) && stripos(",{$subMenu[$currentModule]},", ",{$currentMethod},") !== false));
}
echo $isCurrentStep ? "<li class='active'>$stepUrlHtml</li>" : "<li>$stepUrlHtml</li>";
if($isCurrentStep) $currentStep = $index;
$stepUrls[] = $stepUrl;
$index++;
}
?>
</ul>
</nav>
<div id='editorMenuLeft'>
<?php if($currentStep > 0 && isset($stepUrls[$currentStep - 1])) echo baseHTML::a($stepUrls[$currentStep - 1], $lang->workfloweditor->prevStep, "class='btn btn-primary prevStep'"); ?>
</div>
<div id='editorMenuRight'>
<?php
if($editorMode == 'quick') echo "<button type='button' class='btn btn-default' id='saveBtn'>{$lang->save}</button>";
if($currentStep == count($stepList) - 1 and !$flow->buildin)
{
if($editorMode == 'quick')
{
echo baseHTML::a('#confirmReleaseModal', $lang->workflow->release, "class='btn btn-primary' data-toggle='modal'");
}
else
{
echo baseHTML::a($this->createLink('workflow', 'release', "id={$flow->id}"), $lang->workflow->release, "class='btn btn-primary' data-toggle='modal'");
}
}
?>
<?php if(isset($stepUrls[$currentStep + 1])) echo baseHTML::a($stepUrls[$currentStep + 1], $lang->workfloweditor->nextStep, "class='btn btn-primary nextStep'"); ?>
</div>
</div>
<?php if($editorMode == 'quick'): ?>
<div class='modal fade' id='confirmReleaseModal'>
<div class='modal-dialog'>
<div class='modal-content'>
<div class='modal-header'>
<button type='button' class='close' data-dismiss='modal'><span aria-hidden='true'>×</span></button>
</div>
<div class='modal-body text-center'>
<p><?php echo $lang->workfloweditor->confirmReleaseMessage; ?></p>
<div>
<?php extCommonModel::printLink('workflowfield', 'browse', "module={$flow->module}", $lang->workfloweditor->enterToAdvance, "class='btn btn-primary'");?>
<?php extCommonModel::printLink('workflow', 'release', "id={$flow->id}", $lang->workfloweditor->continueRelease, "class='btn btn-secondary release' data-toggle='modal'");?>
</div>
</div>
</div>
</div>
</div>
<?php endif; ?>