mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-06 07:04:57 +00:00
Merge branch 'seeddms-5.1.x' into seeddms-6.0.x
This commit is contained in:
commit
831dff03db
|
@ -184,6 +184,8 @@
|
|||
- do offer to export users of group if there are no users
|
||||
- config file can be set in env var SEEDDMS_CONFIG_FILE
|
||||
- fix error when search for a boolean attribute value
|
||||
- extension may contain a conf varіable to select a workflow
|
||||
- do not set max_execution_time for scripts run by php-cli
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Changes in version 5.1.20
|
||||
|
|
|
@ -35,8 +35,11 @@ if(isset($settings->_extraPath))
|
|||
/* composer is installed in pear directory */
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
if(isset($settings->_maxExecutionTime))
|
||||
ini_set('max_execution_time', $settings->_maxExecutionTime);
|
||||
if(isset($settings->_maxExecutionTime)) {
|
||||
if (php_sapi_name() !== "cli") {
|
||||
ini_set('max_execution_time', $settings->_maxExecutionTime);
|
||||
}
|
||||
}
|
||||
|
||||
if (get_magic_quotes_gpc()) {
|
||||
$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
|
||||
|
|
|
@ -174,10 +174,10 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadat
|
|||
|
||||
echo $mimetype." - ".$filetype." - ".$path."<br />\n";
|
||||
if($res = $folder->addDocument($docname, $comment, $expires, $owner, $keywords,
|
||||
$metadata[$path]['category'], $filetmp, $name,
|
||||
!empty($metadata[$path]['category']) ? $metadata[$path]['category'] : array(), $filetmp, $name,
|
||||
$filetype, $mimetype, $sequence, $reviewers,
|
||||
$approvers, $reqversion, $version_comment,
|
||||
$metadata[$path]['attributes'])) {
|
||||
!empty($metadata[$path]['attributes']) ? $metadata[$path]['attributes'] : array())) {
|
||||
$doccount++;
|
||||
if($setfiledate) {
|
||||
$newdoc = $res[0];
|
||||
|
|
10
package.json
10
package.json
|
@ -9,13 +9,13 @@
|
|||
"author": "Uwe Steinmann",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@coreui/coreui": "^3.2.2",
|
||||
"@coreui/coreui": "^3.3.0",
|
||||
"@coreui/icons": "^1.0.1",
|
||||
"@popperjs/core": "^2.4.4",
|
||||
"@popperjs/core": "^2.5.3",
|
||||
"bootstrap": "^4.5.2",
|
||||
"bootstrap-datepicker": "^1.9.0",
|
||||
"chartjs": "^0.3.24",
|
||||
"cytoscape": "^3.15.2",
|
||||
"cytoscape": "^3.16.2",
|
||||
"cytoscape-grid-guide": "^2.3.2",
|
||||
"fine-uploader": "^5.16.2",
|
||||
"flag-icon-css": "^3.5.0",
|
||||
|
@ -25,10 +25,10 @@
|
|||
"grunt": "^1.3.0",
|
||||
"grunt-contrib-clean": "^2.0.0",
|
||||
"grunt-contrib-copy": "^1.0.0",
|
||||
"jqtree": "^1.4.12",
|
||||
"jqtree": "^1.5.1",
|
||||
"jquery": "^1.12.4",
|
||||
"jquery-validation": "^1.19.2",
|
||||
"moment": "^2.17.1",
|
||||
"moment": "^2.29.1",
|
||||
"noty": "^2.4.1",
|
||||
"pace-progressbar": "^1.0.9",
|
||||
"perfect-scrollbar": "^1.5.0",
|
||||
|
|
|
@ -285,6 +285,7 @@ ul.jqtree-tree li.jqtree_common > .jqtree-element:hover {
|
|||
|
||||
i.success {color: #00b000;}
|
||||
i.error {color: #b00000;}
|
||||
i.warning {color: #ff9900;}
|
||||
i.initstate {color: #ff9900;}
|
||||
i.released {color: #00b000;}
|
||||
i.rejected {color: #b00000;}
|
||||
|
|
|
@ -1303,7 +1303,7 @@ $(document).ready(function() {
|
|||
<div id="'.$id.'-upload-file" class="upload-file">
|
||||
<div class="input-append">
|
||||
<input type="text" class="form-control" readonly>
|
||||
<span class="btn btn-default btn-file">
|
||||
<span class="btn btn-secondary btn-file">
|
||||
'.getMLText("browse").'… <input id="'.$id.'" type="file" name="'.$varname.'"'.($multiple ? " multiple" : "").($accept ? ' accept="'.$accept.'"' : "").'>
|
||||
</span>
|
||||
</div>
|
||||
|
@ -2128,7 +2128,7 @@ $(function() {
|
|||
onCreateLi: function(node, $li) {
|
||||
// Add 'icon' span before title
|
||||
if(node.is_folder)
|
||||
$li.find('.jqtree-title').before('<i class="fa fa-folder-o table-row-folder droptarget" data-droptarget="folder_' + node.id + '" rel="folder_' + node.id + '"></i> ').attr('rel', 'folder_' + node.id).attr('formtoken', '<?php echo createFormKey(''); ?>').attr('data-uploadformtoken', '<?php echo createFormKey(''); ?>');
|
||||
$li.find('.jqtree-title').before('<i class="fa fa-folder-o table-row-folder droptarget" data-droptarget="folder_' + node.id + '" rel="folder_' + node.id + '"></i> ').attr('data-name', node.name).attr('rel', 'folder_' + node.id).attr('formtoken', '<?php echo createFormKey(''); ?>').attr('data-uploadformtoken', '<?php echo createFormKey(''); ?>').attr('data-droptarget', 'folder_' + node.id).addClass('droptarget');
|
||||
else
|
||||
$li.find('.jqtree-title').before('<i class="fa fa-file"></i> ');
|
||||
}
|
||||
|
|
|
@ -112,7 +112,7 @@ class SeedDMS_View_Calendar extends SeedDMS_Bootstrap_Style {
|
|||
<?php echo createHiddenFieldWithKey('removeevent'); ?>
|
||||
<input type="hidden" name="eventid" value="<?php echo intval($event["id"]); ?>">
|
||||
<p><?php printMLText("confirm_rm_event", array ("name" => htmlspecialchars($event["name"])));?></p>
|
||||
<button class="btn" type="submit"><i class="fa fa-remove"></i> <?php printMLText("delete");?></button>
|
||||
<button class="btn btn-danger" type="submit"><i class="fa fa-remove"></i> <?php printMLText("delete");?></button>
|
||||
</form>
|
||||
<?php
|
||||
$this->contentContainerEnd();
|
||||
|
|
|
@ -720,7 +720,7 @@ foreach($facets as $facetname=>$values) {
|
|||
$extracontent = array();
|
||||
$extracontent['below_title'] = $belowtitle;
|
||||
if($attrstr)
|
||||
$extracontent['bottom_title'] = '<br />'.$this->printPopupBox('<span class="btn btn-mini btn-default">'.getMLText('attributes').'</span>', $attrstr, true);
|
||||
$extracontent['bottom_title'] = '<br />'.$this->printPopupBox('<span class="btn btn-mini btn-secondary">'.getMLText('attributes').'</span>', $attrstr, true);
|
||||
print $this->documentListRow($document, $previewer, false, 0, $extracontent);
|
||||
}
|
||||
} elseif($entry->isType('folder')) {
|
||||
|
@ -745,7 +745,7 @@ foreach($facets as $facetname=>$values) {
|
|||
}
|
||||
$extracontent = array();
|
||||
if($attrstr)
|
||||
$extracontent['bottom_title'] = '<br />'.$this->printPopupBox('<span class="btn btn-mini btn-default">'.getMLText('attributes').'</span>', $attrstr, true);
|
||||
$extracontent['bottom_title'] = '<br />'.$this->printPopupBox('<span class="btn btn-mini btn-secondary">'.getMLText('attributes').'</span>', $attrstr, true);
|
||||
print $this->folderListRow($folder, false, $extracontent);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -620,6 +620,23 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
|
|||
printMLText('no_attribute_definitions');
|
||||
}
|
||||
break;
|
||||
case "workflows":
|
||||
$recs = $dms->getAllWorkflows();
|
||||
if($recs) {
|
||||
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")."\" name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_attribute_value")."\">";
|
||||
if($allowempty)
|
||||
echo "<option value=\"\"></option>";
|
||||
foreach($recs as $rec) {
|
||||
echo "<option value=\"".$rec->getID()."\"";
|
||||
if(in_array($rec->getID(), $selections))
|
||||
echo " selected";
|
||||
echo ">".htmlspecialchars($rec->getName())."</option>";
|
||||
}
|
||||
echo "</select>";
|
||||
} else {
|
||||
printMLText('no_workflows');
|
||||
}
|
||||
break;
|
||||
case "folders":
|
||||
$this->formField(null, $this->getFolderChooserHtml("form".$extname.$confkey, M_READ, -1, $selections ? $dms->getFolder($selections[0]) : 0, 'extensions['.$extname."][".$confkey."]"));
|
||||
break;
|
||||
|
|
|
@ -906,7 +906,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
|||
if($r['file']) {
|
||||
echo "<br />";
|
||||
if($accessobject->check_controller_access('Download', array('action'=>'run'))) {
|
||||
echo "<a href=\"../op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&reviewlogid=".$r['reviewLogID']."\" class=\"btn btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>";
|
||||
echo "<a href=\"../op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&reviewlogid=".$r['reviewLogID']."\" class=\"btn btn-secondary btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>";
|
||||
}
|
||||
}
|
||||
print "</td>\n";
|
||||
|
@ -1010,7 +1010,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
|||
if($a['file']) {
|
||||
echo "<br />";
|
||||
if($accessobject->check_controller_access('Download', array('action'=>'run'))) {
|
||||
echo "<a href=\"../op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&approvelogid=".$a['approveLogID']."\" class=\"btn btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>";
|
||||
echo "<a href=\"../op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&approvelogid=".$a['approveLogID']."\" class=\"btn btn-secondary btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>";
|
||||
}
|
||||
}
|
||||
echo "</td>\n";
|
||||
|
@ -1085,9 +1085,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
|||
$this->contentContainerStart();
|
||||
if($user->isAdmin()) {
|
||||
if(SeedDMS_Core_DMS::checkIfEqual($workflow->getInitState(), $latestContent->getWorkflowState())) {
|
||||
print "<form action=\"../out/out.RemoveWorkflowFromDocument.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><button type=\"submit\" class=\"btn\"><i class=\"fa fa-remove\"></i> ".getMLText('rm_workflow')."</button></form>";
|
||||
print "<form action=\"../out/out.RemoveWorkflowFromDocument.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><button type=\"submit\" class=\"btn btn-danger\"><i class=\"fa fa-remove\"></i> ".getMLText('rm_workflow')."</button></form>";
|
||||
} else {
|
||||
print "<form action=\"../out/out.RewindWorkflow.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><button type=\"submit\" class=\"btn\"><i class=\"fa fa-refresh\"></i> ".getMLText('rewind_workflow')."</button></form>";
|
||||
print "<form action=\"../out/out.RewindWorkflow.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><button type=\"submit\" class=\"btn btn-danger\"><i class=\"fa fa-refresh\"></i> ".getMLText('rewind_workflow')."</button></form>";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1187,7 +1187,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
|||
echo "<td>";
|
||||
if($latestContent->triggerWorkflowTransitionIsAllowed($user, $transition)) {
|
||||
$action = $transition->getAction();
|
||||
print "<form action=\"../out/out.TriggerWorkflow.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><input type=\"hidden\" name=\"transition\" value=\"".$transition->getID()."\" /><input type=\"submit\" class=\"btn\" value=\"".getMLText('action_'.strtolower($action->getName()), array(), htmlspecialchars($action->getName()))."\" /></form>";
|
||||
print "<form action=\"../out/out.TriggerWorkflow.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><input type=\"hidden\" name=\"transition\" value=\"".$transition->getID()."\" /><input type=\"submit\" class=\"btn btn-primary\" value=\"".getMLText('action_'.strtolower($action->getName()), array(), htmlspecialchars($action->getName()))."\" /></form>";
|
||||
$allowedtransitions[] = $transition;
|
||||
}
|
||||
echo "</td>";
|
||||
|
@ -1213,7 +1213,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
|||
}
|
||||
echo "</select>";
|
||||
echo "<label class=\"inline\">";
|
||||
echo "<input type=\"submit\" class=\"btn\" value=\"".getMLText('run_subworkflow')."\" />";
|
||||
echo "<input type=\"submit\" class=\"btn btn-primary\" value=\"".getMLText('run_subworkflow')."\" />";
|
||||
echo "</lable>";
|
||||
echo "</form>";
|
||||
}
|
||||
|
@ -1239,7 +1239,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
|||
if($workflow->getInitState()->getID() == $latestContent->getWorkflowState()->getID()) {
|
||||
echo "Initial state of sub workflow has not been left. Return to parent workflow is possible<br />";
|
||||
echo "<form action=\"../out/out.ReturnFromSubWorkflow.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" />";
|
||||
echo "<input type=\"submit\" class=\"btn\" value=\"".getMLText('return_from_subworkflow')."\" />";
|
||||
echo "<input type=\"submit\" class=\"btn btn-primary\" value=\"".getMLText('return_from_subworkflow')."\" />";
|
||||
echo "</form>";
|
||||
} else {
|
||||
/* Get a transition from the last state in the parent workflow
|
||||
|
@ -1254,7 +1254,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
|||
if($latestContent->triggerWorkflowTransitionIsAllowed($user, $transition)) {
|
||||
echo "Triggering transition is allowed<br />";
|
||||
echo "<form action=\"../out/out.ReturnFromSubWorkflow.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><input type=\"hidden\" name=\"transition\" value=\"".$transition->getID()."\" />";
|
||||
echo "<input type=\"submit\" class=\"btn\" value=\"".getMLText('return_from_subworkflow')."\" />";
|
||||
echo "<input type=\"submit\" class=\"btn btn-primary\" value=\"".getMLText('return_from_subworkflow')."\" />";
|
||||
echo "</form>";
|
||||
|
||||
}
|
||||
|
@ -1780,7 +1780,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
|||
if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL ))
|
||||
print "<br />".getMLText("document_link_public").": ".(($link->isPublic()) ? getMLText("yes") : getMLText("no"));
|
||||
if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL ))
|
||||
print "<form action=\"../op/op.RemoveDocumentLink.php\" method=\"post\">".createHiddenFieldWithKey('removedocumentlink')."<input type=\"hidden\" name=\"documentid\" value=\"".$documentid."\" /><input type=\"hidden\" name=\"linkid\" value=\"".$link->getID()."\" /><button type=\"submit\" class=\"btn btn-mini\"><i class=\"fa fa-remove\"></i> ".getMLText("delete")."</button></form>";
|
||||
print "<form action=\"../op/op.RemoveDocumentLink.php\" method=\"post\">".createHiddenFieldWithKey('removedocumentlink')."<input type=\"hidden\" name=\"documentid\" value=\"".$documentid."\" /><input type=\"hidden\" name=\"linkid\" value=\"".$link->getID()."\" /><button type=\"submit\" class=\"btn btn-danger btn-mini\"><i class=\"fa fa-remove\"></i> ".getMLText("delete")."</button></form>";
|
||||
print "</span></td>";
|
||||
echo $this->documentListRowEnd($targetDoc);
|
||||
}
|
||||
|
@ -1845,7 +1845,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
|||
print getMLText("document_link_by")." ".htmlspecialchars($responsibleUser->getFullName());
|
||||
if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL ))
|
||||
print "<br />".getMLText("document_link_public").": ".(($link->isPublic()) ? getMLText("yes") : getMLText("no"));
|
||||
print "<form action=\"../op/op.RemoveDocumentLink.php\" method=\"post\">".createHiddenFieldWithKey('removedocumentlink')."<input type=\"hidden\" name=\"documentid\" value=\"".$sourceDoc->getId()."\" /><input type=\"hidden\" name=\"linkid\" value=\"".$link->getID()."\" /><button type=\"submit\" class=\"btn btn-mini\"><i class=\"fa fa-remove\"></i> ".getMLText("delete")."</button></form>";
|
||||
print "<form action=\"../op/op.RemoveDocumentLink.php\" method=\"post\">".createHiddenFieldWithKey('removedocumentlink')."<input type=\"hidden\" name=\"documentid\" value=\"".$sourceDoc->getId()."\" /><input type=\"hidden\" name=\"linkid\" value=\"".$link->getID()."\" /><button type=\"submit\" class=\"btn btn-danger btn-mini\"><i class=\"fa fa-remove\"></i> ".getMLText("delete")."</button></form>";
|
||||
print "</span></td>";
|
||||
echo $this->documentListRowEnd($sourceDoc);
|
||||
}
|
||||
|
|
|
@ -356,7 +356,7 @@ $('body').on('click', '.order-btn', function(ev) {
|
|||
else {
|
||||
print "<table id=\"viewfolder-table\" class=\"table table-condensed table-hover\">";
|
||||
print "<thead>\n<tr>\n";
|
||||
print "<th>".($parent ? '<button class="btn btn-mini btn-default" id="goto-parent" data-parentid="'.$parent->getID().'"><i class="fa fa-arrow-up"></i></button>' : '')."</th>\n";
|
||||
print "<th>".($parent ? '<button class="btn btn-mini btn-secondary" id="goto-parent" data-parentid="'.$parent->getID().'"><i class="fa fa-arrow-up"></i></button>' : '')."</th>\n";
|
||||
print "<th>".getMLText("name");
|
||||
print " <a class=\"order-btn\" href=\"../out/out.ViewFolder.php?folderid=". $folderid .($orderby=="n"||$orderby=="na"?"&orderby=nd":"&orderby=n")."\" data-orderby=\"".($orderby=="n"||$orderby=="na"?"nd":"n")."\"title=\"".getMLText("sort_by_name")."\">".($orderby=="n"||$orderby=="na"?' <i class="fa fa-sort-alpha-asc selected"></i>':($orderby=="nd"?' <i class="fa fa-sort-alpha-desc selected"></i>':' <i class="fa fa-sort-alpha-asc"></i>'))."</a>";
|
||||
print " <a class=\"order-btn\" href=\"../out/out.ViewFolder.php?folderid=". $folderid .($orderby=="s"||$orderby=="sa"?"&orderby=sd":"&orderby=s")."\" data-orderby=\"".($orderby=="s"||$orderby=="sa"?"sd":"s")."\" title=\"".getMLText("sort_by_sequence")."\">".($orderby=="s"||$orderby=="sa"?' <i class="fa fa-sort-numeric-asc selected"></i>':($orderby=="sd"?' <i class="fa fa-sort-numeric-desc selected"></i>':' <i class="fa fa-sort-numeric-asc"></i>'))."</a>";
|
||||
|
@ -409,7 +409,7 @@ $('body').on('click', '.order-btn', function(ev) {
|
|||
echo "</tbody>\n</table>\n";
|
||||
|
||||
if($maxItemsPerPage && $i > $maxItemsPerPage)
|
||||
echo "<button id=\"loadmore\" style=\"width: 100%; margin-bottom: 20px;\" class=\"btn btn-default\" data-folder=\"".$folder->getId()."\"data-offset=\"".$maxItemsPerPage."\" data-limit=\"".$incItemsPerPage."\" data-all=\"".($i-$maxItemsPerPage)."\">".getMLText('x_more_objects', array('number'=>($i-$maxItemsPerPage)))."</button>";
|
||||
echo "<button id=\"loadmore\" style=\"width: 100%; margin-bottom: 20px;\" class=\"btn btn-secondary\" data-folder=\"".$folder->getId()."\"data-offset=\"".$maxItemsPerPage."\" data-limit=\"".$incItemsPerPage."\" data-all=\"".($i-$maxItemsPerPage)."\">".getMLText('x_more_objects', array('number'=>($i-$maxItemsPerPage)))."</button>";
|
||||
}
|
||||
else printMLText("empty_folder_list");
|
||||
|
||||
|
|
|
@ -186,7 +186,7 @@ cy.on('free', 'node', function(evt) {
|
|||
|
||||
cy.on('tap', 'node', function(evt) {
|
||||
var node = evt.target;
|
||||
var scratch = node.scratch('_app');
|
||||
var scratch = node.scratch('app');
|
||||
if(typeof scratch !== 'undefined') {
|
||||
noty({
|
||||
text: (scratch.users ? '<p><?= '<i class="fa fa-user"></i> ' ?> ' + scratch.users + '</p>' : '') + (scratch.groups ? '<?= '<i class="fa fa-group"></i> ' ?> ' + scratch.groups + '</p>' : ''),
|
||||
|
@ -256,12 +256,12 @@ $(document).ready(function() {
|
|||
$transusers = $transition->getUsers();
|
||||
$unames = array();
|
||||
foreach($transusers as $transuser) {
|
||||
$unames[] = $transuser->getUser()->getLogin().' - '.$transuser->getUser()->getFullName();
|
||||
$unames[] = htmlspecialchars($transuser->getUser()->getLogin().' - '.$transuser->getUser()->getFullName());
|
||||
}
|
||||
$transgroups = $transition->getGroups();
|
||||
$gnames = array();
|
||||
foreach($transgroups as $transgroup) {
|
||||
$gnames[] = $transgroup->getGroup()->getName();
|
||||
$gnames[] = htmlspecialchars($transgroup->getGroup()->getName());
|
||||
}
|
||||
$nodeid = "A".$transition->getID()."-".$action->getID();
|
||||
echo "cy.add({
|
||||
|
@ -272,7 +272,7 @@ $(document).ready(function() {
|
|||
position: {x: ".$positions[$nodeid]->x.", y: ".$positions[$nodeid]->y."}," : "")."
|
||||
classes: 'action".($iscurtransition ? " current" : ($this->curtransitions ? " light" : ""))."'".(!$this->curtransitions || $iscurtransition && $this->curtransitions ? ",
|
||||
scratch: {
|
||||
_app: {groups: \"".str_replace('"', "\\\"", implode(", ", $gnames))."\", users: \"".str_replace('"', "\\\"", implode(", ", $unames))."\"}
|
||||
app: {groups: \"".str_replace('"', "\\\"", implode(", ", $gnames))."\", users: \"".str_replace('"', "\\\"", implode(", ", $unames))."\"}
|
||||
}" : "")."
|
||||
});\n";
|
||||
}
|
||||
|
@ -387,8 +387,8 @@ div.buttons #zoom {margin: 3px; _float: right;}
|
|||
<i class="fa fa-sign-blank workflow-action"></i> <?php echo printMLText('global_workflow_actions'); ?>
|
||||
</div>
|
||||
<div class="buttons">
|
||||
<div id="zoom"><button class="btn btn-mini btn-default">Zoom</button></div>
|
||||
<button class="btn btn-mini" id="savelayout"><?php printMLText('workflow_save_layout'); ?></button>
|
||||
<div id="zoom"><button class="btn btn-mini btn-secondary">Zoom</button></div>
|
||||
<button class="btn btn-mini btn-secondary" id="savelayout"><?php printMLText('workflow_save_layout'); ?></button>
|
||||
<button class="btn btn-mini" id="setlayout" data-layout="cose"><?php printMLText('redraw'); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue
Block a user