From 920d850915aca781d21570716c02e089d41f90b6 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sat, 27 Feb 2016 08:44:20 +0100 Subject: [PATCH 01/48] set format of date fields --- inc/inc.ClassDownloadMgr.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/inc/inc.ClassDownloadMgr.php b/inc/inc.ClassDownloadMgr.php index cfc2e02e2..7589f3f6b 100644 --- a/inc/inc.ClassDownloadMgr.php +++ b/inc/inc.ClassDownloadMgr.php @@ -107,7 +107,8 @@ class SeedDMS_Download_Mgr { } $tcol = $col; $sheet->setCellValueByColumnAndRow($tcol++, $l, $reqName); - $sheet->setCellValueByColumnAndRow($tcol++, $l, ($r['status']==1 || $r['status']==-1) ? $r['date'] : ""); + $sheet->setCellValueByColumnAndRow($tcol, $l, ($r['status']==1 || $r['status']==-1) ? PHPExcel_Shared_Date::PHPToExcel(makeTsFromLongDate($r['date'])) : ""); + $sheet->getStyleByColumnAndRow($tcol++, $l)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX22); $sheet->setCellValueByColumnAndRow($tcol++, $l, $r['comment']); $sheet->setCellValueByColumnAndRow($tcol++, $l, getReviewStatusText($r["status"])); $l++; @@ -137,7 +138,8 @@ class SeedDMS_Download_Mgr { } $tcol = $col; $sheet->setCellValueByColumnAndRow($tcol++, $k, $reqName); - $sheet->setCellValueByColumnAndRow($tcol++, $k, ($r['status']==1 || $r['status']==-1) ?$r['date'] : ""); + $sheet->setCellValueByColumnAndRow($tcol, $k, ($r['status']==1 || $r['status']==-1) ?PHPExcel_Shared_Date::PHPToExcel(makeTsFromLongDate($r['date'])) : ""); + $sheet->getStyleByColumnAndRow($tcol++, $k)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX22); $sheet->setCellValueByColumnAndRow($tcol++, $k, $r['comment']); $sheet->setCellValueByColumnAndRow($tcol++, $k, getApprovalStatusText($r["status"])); $k++; From a213a6a0cdbde9b637e8a5849a3271ffe436fb02 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 29 Feb 2016 08:31:19 +0100 Subject: [PATCH 02/48] various new methods --- inc/inc.ClassAcl.php | 68 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 61 insertions(+), 7 deletions(-) diff --git a/inc/inc.ClassAcl.php b/inc/inc.ClassAcl.php index 2f7ea5e7c..c3727f97a 100644 --- a/inc/inc.ClassAcl.php +++ b/inc/inc.ClassAcl.php @@ -28,7 +28,7 @@ class SeedDMS_Acl { /** * @var object $dms reference to dms object. - * @access protected + * @access public */ protected $dms; @@ -72,7 +72,7 @@ class SeedDMS_AroAco { /* {{{ */ * @var object $dms reference to dms object. * @access protected */ - protected $dms; + public $dms; /** * @var integer id of access request object @@ -102,10 +102,14 @@ class SeedDMS_AroAco { /* {{{ */ $this->_alias = $alias; } /* }}} */ - public function ѕetDMS($dms) { /* {{{ */ + public function setDMS($dms) { /* {{{ */ $this->dms = $dms; } /* }}} */ + public function getDMS() { /* {{{ */ + return($this->dms); + } /* }}} */ + public function getID() { /* {{{ */ return $this->_id; } /* }}} */ @@ -200,9 +204,9 @@ class SeedDMS_Aco extends SeedDMS_AroAco{ /* {{{ */ * @param object $dms object to access the underlying database * @return object instance of SeedDMS_Aco */ - function __construct($dms, $id, $object, $alias) { /* {{{ */ - parent::__construct($dms, $id, $object, $alias); - } /* }}} */ +// function __construct($dms, $id, $object, $alias) { /* {{{ */ +// parent::__construct($dms, $id, $object, $alias); +// } /* }}} */ public static function getInstance($id, $dms) { /* {{{ */ $db = $dms->getDB(); @@ -241,7 +245,57 @@ class SeedDMS_Aco extends SeedDMS_AroAco{ /* {{{ */ $object = null; } - $aco = new self($dms, $resArr["id"], $object, $resArr['alias']); + $aco = new SeedDMS_Aco($dms, $resArr["id"], $object, $resArr['alias']); + $aco->setDMS($dms); return $aco; } /* }}} */ + + public function getChildren() { /* {{{ */ + $dms = $this->getDMS(); + $db = $dms->getDB(); + $queryStr = "SELECT * FROM tblAcos WHERE parent = " . $this->_id; + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && $resArr == false) + return null; + if (count($resArr) != 1) + return null; + + $acos = array(); + foreach($resArr as $row) { + $aco = new SeedDMS_Aco($this->dms, $row["id"], null, $row['alias']); + $aco->setDMS($dms); + $acos[] = $aco; + } + return $acos; + } /* }}} */ + + public function getPermission($aro) { /* {{{ */ + $dms = $this->getDMS(); + $db = $dms->getDB(); + $queryStr = "SELECT * FROM tblArosAcos WHERE aro=".$aro->getID()." AND aco=".$this->_id; + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && $resArr == false) + return false; + if (count($resArr) != 1) + return 0; + return $resArr[0]['read']; + } /* }}} */ + + public static function getRoot($dms) { /* {{{ */ + $db = $dms->getDB(); + $queryStr = "SELECT * FROM tblAcos WHERE parent IS NULL"; + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && $resArr == false) + return null; + if (count($resArr) != 1) + return null; + + $acos = array(); + foreach($resArr as $row) { + $aco = new SeedDMS_Aco($dms, $row["id"], null, $row['alias']); + $aco->setDMS($dms); + $acos[] = $aco; + } + return $acos; + } /* }}} */ } /* }}} */ From 62095c443b5071fa0350923b307901584e33a77c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 29 Feb 2016 08:36:10 +0100 Subject: [PATCH 03/48] override exiting query parameter 'action' when including js code --- views/bootstrap/class.Bootstrap.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 4be8b176f..e4672a3f3 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -141,8 +141,11 @@ $(document).ready(function () { //]]> "; } - if(method_exists($this, 'js')) - echo ''."\n"; + if(method_exists($this, 'js')) { + parse_str($_SERVER['QUERY_STRING'], $tmp); + $tmp['action'] = 'js'; + echo ''."\n"; + } echo "\n\n"; } /* }}} */ From 677534c8ecb9a18d32dc424a7dd14d148e32a392 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 29 Feb 2016 11:18:55 +0100 Subject: [PATCH 04/48] add files for managing access control lists --- out/out.Acl.php | 49 ++++++++ views/bootstrap/class.Acl.php | 211 ++++++++++++++++++++++++++++++++++ 2 files changed, 260 insertions(+) create mode 100644 out/out.Acl.php create mode 100644 views/bootstrap/class.Acl.php diff --git a/out/out.Acl.php b/out/out.Acl.php new file mode 100644 index 000000000..1075b4bbd --- /dev/null +++ b/out/out.Acl.php @@ -0,0 +1,49 @@ +isAdmin()) { + UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); +} + +$roles = $dms->getAllRoles(); +if (is_bool($roles)) { + UI::exitError(getMLText("admin_tools"),getMLText("internal_error")); +} + +if(isset($_GET['roleid']) && $_GET['roleid']) { + $selrole = $dms->getRole($_GET['roleid']); +} else { + $selrole = null; +} + +$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); +$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'settings'=>$settings, 'selrole'=>$selrole, 'allroles'=>$roles)); +if($view) { + $view($_GET); + exit; +} + diff --git a/views/bootstrap/class.Acl.php b/views/bootstrap/class.Acl.php new file mode 100644 index 000000000..5df491219 --- /dev/null +++ b/views/bootstrap/class.Acl.php @@ -0,0 +1,211 @@ + + * @copyright Copyright (C) 2002-2005 Markus Westphal, + * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, + * 2010-2012 Uwe Steinmann + * @version Release: @package_version@ + */ + +/** + * Include parent class + */ +require_once("class.Bootstrap.php"); + +/** + * Class which outputs the html page for Acl view + * + * @category DMS + * @package SeedDMS + * @author Uwe Steinmann + * @copyright Copyright (C) 2016 Uwe Steinmann + * @version Release: @package_version@ + */ +class SeedDMS_View_Acl extends SeedDMS_Bootstrap_Style { + + function js() { /* {{{ */ + header('Content-Type: application/javascript'); +?> +$('#acostree').tree({ + openedIcon: '', + closedIcon: '', + onCreateLi: function(node, $li) { + switch(node.permission) { + case "-1": + $li.find('.jqtree-element').after(' '); + $li.attr('style', 'background-color:#FDD'); + break; + case "1": + $li.find('.jqtree-element').after(' '); + $li.attr('style', 'background-color:#DFD'); + break; + default: + $li.find('.jqtree-element').after(''); + } + } +}); +$('#acostree').on('click', '.jqtree-toggle-permission', function(event) { + acoid = $(event.target).parent().attr('data-acoid'); + aroid = $(event.target).parent().attr('data-aroid'); + $.ajax('out.Acl.php?action=add_permission&acoid='+acoid+'&aroid='+aroid, { + dataType: 'json', + success: function(data, textStatus) { + if(data.type == 'success') { + timeout = 1500; + $('#acostree').tree('loadDataFromUrl'); + } else { + timeout = 3500; + } + noty({text: data.msg, type: data.type, dismissQueue: true, layout: 'topRight', theme: 'defaultTheme', timeout: timeout}); + }, + }); +}); + +$('#acostree').on('click', '.jqtree-add-permission', function(event) { + acoid = $(event.target).parent().attr('data-acoid'); + aroid = $(event.target).parent().attr('data-aroid'); + $.ajax('out.Acl.php?action=add_permission&acoid='+acoid+'&aroid='+aroid, { + dataType: 'json', + success: function(data, textStatus) { + if(data.type == 'success') { + timeout = 1500; + $('#acostree').tree('loadDataFromUrl'); + } else { + timeout = 3500; + } + noty({text: data.msg, type: data.type, dismissQueue: true, layout: 'topRight', theme: 'defaultTheme', timeout: timeout}); + }, + }); +}); + +$('#acostree').on('click', '.jqtree-remove-permission', function(event) { + acoid = $(event.currentTarget).attr('data-acoid'); + aroid = $(event.currentTarget).attr('data-aroid'); + $.ajax('out.Acl.php?action=remove_permission&acoid='+acoid+'&aroid='+aroid, { + dataType: 'json', + success: function(data, textStatus) { + if(data.type == 'success') { + timeout = 1500; + $('#acostree').tree('loadDataFromUrl'); + } else { + timeout = 3500; + } + noty({text: data.msg, type: data.type, dismissQueue: true, layout: 'topRight', theme: 'defaultTheme', timeout: timeout}); + }, + }); +}); + +$(document).ready( function() { + $( "#selector" ).change(function() { +// window.location='out.Acl.php?action=show&roleid=' + $(this).val(); +// $('#acostree').tree({dataUrl: 'out.Acl.php?action=tree&roleid=' + $(this).val()}); + }); +}); +getChildren(); + if($tchildren) { + foreach($tchildren as $child) { + $node = array(); + if(false === ($perm = $child->getPermission($aro))) + $node['permission'] = 0; + else + $node['permission'] = $perm; + $node['id'] = $child->getID(); + $node['label'] = $child->getAlias(); + $node['acoid'] = $child->getID(); + $node['aroid'] = $aro->getID(); + + $nchildren = $this->_tree($aro, $child); + if($nchildren) { + $node['is_folder'] = true; + $node['children'] = $nchildren; + } + $children[] = $node; + } + } + return $children; + } /* }}} */ + + /** + * List all registered hooks + * + */ + public function tree() { /* {{{ */ + $dms = $this->params['dms']; + $selrole = $this->params['selrole']; + + $result = array(); + if($selrole) { + $aro = SeedDMS_Aro::getInstance($selrole, $dms); + + $acos = SeedDMS_Aco::getRoot($dms); + foreach($acos as $aco) { + if(false === ($perm = $aco->getPermission($aro))) + $tree['permission'] = 0; + else + $tree['permission'] = $perm; + $tree['id'] = $aco->getID(); + $tree['label'] = $aco->getAlias(); + $node['acoid'] = $aco->getID(); + $node['aroid'] = $aro->getID(); + $tree['is_folder'] = true; + $tree['children'] = $this->_tree($aro, $aco); + $result[] = $tree; + } + } + echo json_encode($result); + } /* }}} */ + + public function show() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $roles = $this->params['allroles']; + $selrole = $this->params['selrole']; + + $this->htmlStartPage(getMLText("admin_tools")); + $this->globalNavigation(); + $this->contentStart(); + $this->pageNavigation(getMLText("admin_tools"), "admin_tools"); +?> +
+
+contentHeading("Role"); +?> + +
+ +
+contentHeading("Acl"); +?> +
Berechtigungen werden geladen ...
+
+
+htmlEndPage(); + } /* }}} */ +} + + From b19f306bbff383322d34b762d2a1ee81181f9b06 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 29 Feb 2016 14:07:20 +0100 Subject: [PATCH 05/48] add more methods --- inc/inc.ClassAcl.php | 59 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 53 insertions(+), 6 deletions(-) diff --git a/inc/inc.ClassAcl.php b/inc/inc.ClassAcl.php index c3727f97a..98982fefb 100644 --- a/inc/inc.ClassAcl.php +++ b/inc/inc.ClassAcl.php @@ -25,12 +25,12 @@ * @copyright 2016 Uwe Steinmann * @version Release: @package_version@ */ -class SeedDMS_Acl { +class SeedDMS_Acl { /* {{{ */ /** * @var object $dms reference to dms object. * @access public */ - protected $dms; + public $_dms; /** * Create a new instance of an acl @@ -38,12 +38,12 @@ class SeedDMS_Acl { * @param object $dms object of dms * @return object instance of SeedDMS_Acl */ - function __construct($dms) { /* {{{ */ - $this->dmѕ = $dms; + public function __construct($dms) { /* {{{ */ + $this->_dms = $dms; } /* }}} */ public function check($aro, $aco) { /* {{{ */ - $db = $dms->getDB(); + $db = $this->_dms->getDB(); $queryStr = "SELECT * FROM tblArosAcos WHERE aro=".$aro->getID()." AND aco=".$aco->getID(); $resArr = $db->getResultArray($queryStr); if (is_bool($resArr) && $resArr == false) @@ -52,9 +52,56 @@ class SeedDMS_Acl { return false; $resArr = $resArr[0]; return($resArr['read'] == 1 ? true : false); + } /* }}} */ + + public function toggle($aro, $aco) { /* {{{ */ + $db = $this->_dms->getDB(); + $queryStr = "SELECT * FROM tblArosAcos WHERE aro=".$aro->getID()." AND aco=".$aco->getID(); + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && $resArr == false) + return false; + if (count($resArr) != 1) + return false; + $resArr = $resArr[0]; + + $newperm = $resArr['read'] == 1 ? -1 : 1; + $queryStr = "UPDATE tblArosAcos SET `read`=".$newperm." WHERE aro=".$aro->getID()." AND aco=".$aco->getID(); + if (!$db->getResult($queryStr)) + return false; + return true; } /* }}} */ -} + + public function add($aro, $aco, $perm=-1) { /* {{{ */ + $db = $this->_dms->getDB(); + $queryStr = "SELECT * FROM tblArosAcos WHERE aro=".$aro->getID()." AND aco=".$aco->getID(); + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && $resArr == false) + return false; + if (count($resArr) == 1) { + $resArr = $resArr[0]; + + $newperm = $resArr['read'] == 1 ? -1 : 1; + $queryStr = "UPDATE tblArosAcos SET `read`=".$newperm." WHERE aro=".$aro->getID()." AND aco=".$aco->getID(); + if (!$db->getResult($queryStr)) + return false; + } else { + $queryStr = "INSERT INTO tblArosAcos (`aro`, `aco`, `read`) VALUES (".$aro->getID().", ".$aco->getID().", ".$perm.")"; + if (!$db->getResult($queryStr)) + return false; + } + return true; + + } /* }}} */ + + public function remove($aro, $aco) { /* {{{ */ + $db = $this->_dms->getDB(); + $queryStr = "DELETE FROM tblArosAcos WHERE aro=".$aro->getID()." AND aco=".$aco->getID(); + if (!$db->getResult($queryStr)) + return false; + return true; + } /* }}} */ +} /* }}} */ /** * Class to represent an access request/controll object From a8d615071e9c75a995d87ff82e8e116dc34f2c6f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 29 Feb 2016 14:07:44 +0100 Subject: [PATCH 06/48] minor style changes, set propper url to modify permissions --- views/bootstrap/class.Acl.php | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/views/bootstrap/class.Acl.php b/views/bootstrap/class.Acl.php index 5df491219..cf2b80f09 100644 --- a/views/bootstrap/class.Acl.php +++ b/views/bootstrap/class.Acl.php @@ -30,30 +30,33 @@ require_once("class.Bootstrap.php"); class SeedDMS_View_Acl extends SeedDMS_Bootstrap_Style { function js() { /* {{{ */ + $selrole = $this->params['selrole']; header('Content-Type: application/javascript'); ?> $('#acostree').tree({ + autoOpen: 0, + saveState: 'acostreegetID(); ?>', openedIcon: '', closedIcon: '', onCreateLi: function(node, $li) { switch(node.permission) { case "-1": - $li.find('.jqtree-element').after(' '); + $li.find('.jqtree-element span:last-child').after(' '); $li.attr('style', 'background-color:#FDD'); break; case "1": - $li.find('.jqtree-element').after(' '); + $li.find('.jqtree-element span:last-child').after(' '); $li.attr('style', 'background-color:#DFD'); break; default: - $li.find('.jqtree-element').after(''); + $li.find('.jqtree-element span:last-child').after(''); } } }); $('#acostree').on('click', '.jqtree-toggle-permission', function(event) { acoid = $(event.target).parent().attr('data-acoid'); aroid = $(event.target).parent().attr('data-aroid'); - $.ajax('out.Acl.php?action=add_permission&acoid='+acoid+'&aroid='+aroid, { + $.ajax('../op/op.Acl.php?action=toggle_permission&acoid='+acoid+'&aroid='+aroid, { dataType: 'json', success: function(data, textStatus) { if(data.type == 'success') { @@ -70,7 +73,7 @@ $('#acostree').on('click', '.jqtree-toggle-permission', function(event) { $('#acostree').on('click', '.jqtree-add-permission', function(event) { acoid = $(event.target).parent().attr('data-acoid'); aroid = $(event.target).parent().attr('data-aroid'); - $.ajax('out.Acl.php?action=add_permission&acoid='+acoid+'&aroid='+aroid, { + $.ajax('../op/op.Acl.php?action=add_permission&acoid='+acoid+'&aroid='+aroid, { dataType: 'json', success: function(data, textStatus) { if(data.type == 'success') { @@ -87,7 +90,7 @@ $('#acostree').on('click', '.jqtree-add-permission', function(event) { $('#acostree').on('click', '.jqtree-remove-permission', function(event) { acoid = $(event.currentTarget).attr('data-acoid'); aroid = $(event.currentTarget).attr('data-aroid'); - $.ajax('out.Acl.php?action=remove_permission&acoid='+acoid+'&aroid='+aroid, { + $.ajax('../op/op.Acl.php?action=remove_permission&acoid='+acoid+'&aroid='+aroid, { dataType: 'json', success: function(data, textStatus) { if(data.type == 'success') { @@ -103,7 +106,7 @@ $('#acostree').on('click', '.jqtree-remove-permission', function(event) { $(document).ready( function() { $( "#selector" ).change(function() { -// window.location='out.Acl.php?action=show&roleid=' + $(this).val(); + window.location='out.Acl.php?action=show&roleid=' + $(this).val(); // $('#acostree').tree({dataUrl: 'out.Acl.php?action=tree&roleid=' + $(this).val()}); }); }); @@ -160,8 +163,8 @@ $(document).ready( function() { $tree['permission'] = $perm; $tree['id'] = $aco->getID(); $tree['label'] = $aco->getAlias(); - $node['acoid'] = $aco->getID(); - $node['aroid'] = $aro->getID(); + $tree['acoid'] = $aco->getID(); + $tree['aroid'] = $aro->getID(); $tree['is_folder'] = true; $tree['children'] = $this->_tree($aro, $aco); $result[] = $tree; From 8f7a84e495fd46ecd8d8dbd00dae62e147207412 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 29 Feb 2016 16:24:55 +0100 Subject: [PATCH 07/48] complete acos and aros --- install/create_tables-sqlite3.sql | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/install/create_tables-sqlite3.sql b/install/create_tables-sqlite3.sql index 7e3f04ed5..4241e437c 100644 --- a/install/create_tables-sqlite3.sql +++ b/install/create_tables-sqlite3.sql @@ -532,7 +532,7 @@ CREATE TABLE `tblSessions` ( `theme` varchar(30) NOT NULL default '', `language` varchar(30) NOT NULL default '', `clipboard` text default '', - `su` INTEGER DEFAULT NULL, + `su` INTEGER DEFAULT NULL, `splashmsg` text default '' ) ; @@ -723,7 +723,7 @@ CREATE TABLE tblTransmittals ( CREATE TABLE `tblTransmittalItems` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, - `transmittal` INTEGER NOT NULL DEFAULT '0' REFERENCES `tblTransmittals` (`id`) ON DELETE CASCADE, + `transmittal` INTEGER NOT NULL DEFAULT '0' REFERENCES `tblTransmittals` (`id`) ON DELETE CASCADE, `document` INTEGER default NULL REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, `version` INTEGER unsigned NOT NULL default '0', `date` TEXT NOT NULL default '0000-00-00 00:00:00', @@ -738,8 +738,10 @@ CREATE TABLE `tblTransmittalItems` ( CREATE TABLE `tblAros` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, + `parent` INTEGER, `model` TEXT NOT NULL, - `foreignid` INTEGER NOT NULL DEFAULT '0' + `foreignid` INTEGER NOT NULL DEFAULT '0', + `alias` TEXT ) ; @@ -751,8 +753,10 @@ CREATE TABLE `tblAros` ( CREATE TABLE `tblAcos` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, + `parent` INTEGER, `model` TEXT NOT NULL, - `foreignid` INTEGER NOT NULL DEFAULT '0' + `foreignid` INTEGER NOT NULL DEFAULT '0', + `alias` TEXT ) ; -- -------------------------------------------------------- @@ -763,8 +767,12 @@ CREATE TABLE `tblAcos` ( CREATE TABLE `tblArosAcos` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, - `aro` int(11) NOT NULL DEFAULT '0' REFERENCES `tblAros` (`id`) ON DELETE CASCADE, - `aco` int(11) NOT NULL DEFAULT '0' REFERENCES `tblAcos` (`id`) ON DELETE CASCADE, + `aro` INTEGER NOT NULL DEFAULT '0' REFERENCES `tblAros` (`id`) ON DELETE CASCADE, + `aco` INTEGER NOT NULL DEFAULT '0' REFERENCES `tblAcos` (`id`) ON DELETE CASCADE, + `create` INTEGER NOT NULL DEFAULT '-1', + `read` INTEGER NOT NULL DEFAULT '-1', + `update` INTEGER NOT NULL DEFAULT '-1', + `delete` INTEGER NOT NULL DEFAULT '-1', UNIQUE (aco, aro) ) ; From e6966ae8414dd71eeb6bf23b166f98eab2fe3a0a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 29 Feb 2016 16:32:32 +0100 Subject: [PATCH 08/48] controller for setting permissions --- op/op.Acl.php | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 op/op.Acl.php diff --git a/op/op.Acl.php b/op/op.Acl.php new file mode 100644 index 000000000..5d1c2769e --- /dev/null +++ b/op/op.Acl.php @@ -0,0 +1,97 @@ +isAdmin()) { + $result = array('type'=>'error', 'msg'=>getMLText("access_denied")); + echo json_encode($result); + exit; +} + +if (isset($_GET["action"])) $action=$_GET["action"]; +else $action=NULL; + +if (isset($_GET["aroid"])) { + if(!($aro = SeedDMS_Aro::getInstance((int) $_GET["aroid"], $dms))) { + $result = array('type'=>'error', 'msg'=>'1'.getMLText("access_denied")); + echo json_encode($result); + exit; + } +} else { + $result = array('type'=>'error', 'msg'=>'2'.getMLText("access_denied")); + echo json_encode($result); + exit; +} + +if (isset($_GET["acoid"])) { + if(!($aco = SeedDMS_Aco::getInstance((int) $_GET["acoid"], $dms))) { + $result = array('type'=>'error', 'msg'=>'3'.getMLText("access_denied")); + echo json_encode($result); + exit; + } +} else { + $result = array('type'=>'error', 'msg'=>'4'.getMLText("access_denied")); + echo json_encode($result); + exit; +} + +switch($action) { +case "toggle_permission": + $acl = new SeedDMS_Acl($dms); + if($acl->toggle($aro, $aco)) + $result = array('type'=>'success', 'msg'=>'lasjfl'); + else + $result = array('type'=>'error', 'msg'=>'lasjfl'); + header('Content-Type: application/json'); + echo json_encode($result); + break; +case "add_permission": + $acl = new SeedDMS_Acl($dms); + if($acl->add($aro, $aco)) + $result = array('type'=>'success', 'msg'=>'lasjfl'); + else + $result = array('type'=>'error', 'msg'=>'lasjfl'); + header('Content-Type: application/json'); + $result = array('type'=>'success', 'msg'=>'lasjfl'); + echo json_encode($result); + break; +case "remove_permission": + $acl = new SeedDMS_Acl($dms); + if($acl->remove($aro, $aco)) + $result = array('type'=>'success', 'msg'=>'lasjfl'); + else + $result = array('type'=>'error', 'msg'=>'lasjfl'); + header('Content-Type: application/json'); + $result = array('type'=>'success', 'msg'=>'lasjfl'); + echo json_encode($result); + break; +} + From 839ae0b1dfa808f38103d66b76384c7222309b82 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Mar 2016 07:04:36 +0100 Subject: [PATCH 09/48] many improvements --- inc/inc.ClassAcl.php | 114 +++++++++++++++++++++++++++++-------------- 1 file changed, 78 insertions(+), 36 deletions(-) diff --git a/inc/inc.ClassAcl.php b/inc/inc.ClassAcl.php index 98982fefb..87d6c413b 100644 --- a/inc/inc.ClassAcl.php +++ b/inc/inc.ClassAcl.php @@ -44,21 +44,27 @@ class SeedDMS_Acl { /* {{{ */ public function check($aro, $aco) { /* {{{ */ $db = $this->_dms->getDB(); - $queryStr = "SELECT * FROM tblArosAcos WHERE aro=".$aro->getID()." AND aco=".$aco->getID(); - $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && $resArr == false) - return false; - if (count($resArr) != 1) - return false; - $resArr = $resArr[0]; - return($resArr['read'] == 1 ? true : false); + + while($aco) { + $acoid = $aco->getID(); + $queryStr = "SELECT * FROM tblArosAcos WHERE aro=".$aro->getID()." AND aco=".$acoid; + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && $resArr === false) + return false; + if (count($resArr) == 1) + return($resArr[0]['read'] == 1 ? true : false); + + $aco = $aco->getParent(); + } + + return false; } /* }}} */ public function toggle($aro, $aco) { /* {{{ */ $db = $this->_dms->getDB(); $queryStr = "SELECT * FROM tblArosAcos WHERE aro=".$aro->getID()." AND aco=".$aco->getID(); $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && $resArr == false) + if (is_bool($resArr) && $resArr === false) return false; if (count($resArr) != 1) return false; @@ -76,7 +82,7 @@ class SeedDMS_Acl { /* {{{ */ $db = $this->_dms->getDB(); $queryStr = "SELECT * FROM tblArosAcos WHERE aro=".$aro->getID()." AND aco=".$aco->getID(); $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && $resArr == false) + if (is_bool($resArr) && $resArr === false) return false; if (count($resArr) == 1) { $resArr = $resArr[0]; @@ -126,6 +132,11 @@ class SeedDMS_AroAco { /* {{{ */ */ protected $_id; + /** + * @var integer id of parent of access request object + */ + protected $_parent; + /** * @var string alias of access request object */ @@ -142,9 +153,10 @@ class SeedDMS_AroAco { /* {{{ */ * @param object $dms object of dms * @return object instance of SeedDMS_Aco */ - function __construct($dms, $id, $object, $alias) { /* {{{ */ + function __construct($dms, $id, $parent, $object, $alias) { /* {{{ */ $this->dmѕ = $dms; $this->_id = $id; + $this->_parent = $parent; $this->_object = $object; $this->_alias = $alias; } /* }}} */ @@ -189,8 +201,8 @@ class SeedDMS_Aro extends SeedDMS_AroAco { /* {{{ */ * @param object $dms object to access the underlying database * @return object instance of SeedDMS_Aro */ - function __construct($dms, $id, $object, $alias) { /* {{{ */ - parent::__construct($dms, $id, $object, $alias); + function __construct($dms, $id, $parent, $object, $alias) { /* {{{ */ + parent::__construct($dms, $id, $parent, $object, $alias); } /* }}} */ public static function getInstance($id, $dms) { /* {{{ */ @@ -198,7 +210,7 @@ class SeedDMS_Aro extends SeedDMS_AroAco { /* {{{ */ if(is_int($id)) { $queryStr = "SELECT * FROM tblAros WHERE id = " . (int) $id; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && $resArr == false) + if (is_bool($resArr) && $resArr === false) return null; if (count($resArr) != 1) return null; @@ -208,11 +220,16 @@ class SeedDMS_Aro extends SeedDMS_AroAco { /* {{{ */ $model = 'Role'; $queryStr = "SELECT * FROM tblAros WHERE model=".$db->qstr($model)." AND foreignid=".$id->getID(); $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && $resArr == false) + if (is_bool($resArr) && $resArr === false) return null; - if (count($resArr) != 1) - return null; - $parentid = $resArr[0]['parent']; + if (count($resArr) == 0) { + $queryStr = "INSERT INTO tblAros (parent, model, foreignid) VALUES (0, ".$db->qstr($model).", ".$id->getID().")"; + if (!$db->getResult($queryStr)) + return null; + $id = $db->getInsertID(); + $queryStr = "SELECT * FROM tblAros WHERE id = " . $id; + $resArr = $db->getResultArray($queryStr); + } $resArr = $resArr[0]; } else { return null; @@ -226,7 +243,7 @@ class SeedDMS_Aro extends SeedDMS_AroAco { /* {{{ */ $object = null; } - $aro = new self($dms, $resArr["id"], $object, $resArr['alias']); + $aro = new self($dms, $resArr["id"], $resArr['parent'], $object, $resArr['alias']); return $aro; } /* }}} */ @@ -260,24 +277,31 @@ class SeedDMS_Aco extends SeedDMS_AroAco{ /* {{{ */ if(is_int($id)) { $queryStr = "SELECT * FROM tblAcos WHERE id = " . (int) $id; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && $resArr == false) + if (is_bool($resArr) && $resArr === false) return null; - if (count($resArr) != 1) + if (count($resArr) == 0) { return null; + } $resArr = $resArr[0]; } elseif(is_string($id)) { $tmp = explode('/', $id); $parentid = 0; foreach($tmp as $part) { $queryStr = "SELECT * FROM tblAcos WHERE alias = " . $db->qstr($part); - if($parentid) - $queryStr .= " AND parent=".$parentid; +// if($parentid) + $queryStr .= " AND parent=".$parentid; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && $resArr == false) + if (is_bool($resArr) && $resArr === false) return null; - if (count($resArr) != 1) - return null; - $parentid = $resArr[0]['parent']; + if (count($resArr) == 0) { + $queryStr = "INSERT INTO tblAcos (parent, alias) VALUES (".$parentid.",".$db->qstr($part).")"; + if (!$db->getResult($queryStr)) + return null; + $id = $db->getInsertID(); + $queryStr = "SELECT * FROM tblAcos WHERE id = " . $id; + $resArr = $db->getResultArray($queryStr); + } + $parentid = (int) $resArr[0]['id']; } $resArr = $resArr[0]; } @@ -292,7 +316,7 @@ class SeedDMS_Aco extends SeedDMS_AroAco{ /* {{{ */ $object = null; } - $aco = new SeedDMS_Aco($dms, $resArr["id"], $object, $resArr['alias']); + $aco = new SeedDMS_Aco($dms, $resArr["id"], $resArr['parent'], $object, $resArr['alias']); $aco->setDMS($dms); return $aco; } /* }}} */ @@ -300,16 +324,16 @@ class SeedDMS_Aco extends SeedDMS_AroAco{ /* {{{ */ public function getChildren() { /* {{{ */ $dms = $this->getDMS(); $db = $dms->getDB(); - $queryStr = "SELECT * FROM tblAcos WHERE parent = " . $this->_id; + $queryStr = "SELECT * FROM tblAcos WHERE parent = ".$this->_id; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && $resArr == false) + if (is_bool($resArr) && $resArr === false) return null; - if (count($resArr) != 1) + if (count($resArr) == 0) return null; $acos = array(); foreach($resArr as $row) { - $aco = new SeedDMS_Aco($this->dms, $row["id"], null, $row['alias']); + $aco = new SeedDMS_Aco($dms, $row["id"], $row['parent'], null, $row['alias']); $aco->setDMS($dms); $acos[] = $aco; } @@ -317,11 +341,13 @@ class SeedDMS_Aco extends SeedDMS_AroAco{ /* {{{ */ } /* }}} */ public function getPermission($aro) { /* {{{ */ + if(!$aro) + return 0; $dms = $this->getDMS(); $db = $dms->getDB(); $queryStr = "SELECT * FROM tblArosAcos WHERE aro=".$aro->getID()." AND aco=".$this->_id; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && $resArr == false) + if (is_bool($resArr) && $resArr === false) return false; if (count($resArr) != 1) return 0; @@ -330,19 +356,35 @@ class SeedDMS_Aco extends SeedDMS_AroAco{ /* {{{ */ public static function getRoot($dms) { /* {{{ */ $db = $dms->getDB(); - $queryStr = "SELECT * FROM tblAcos WHERE parent IS NULL"; + $queryStr = "SELECT * FROM tblAcos WHERE parent = 0"; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && $resArr == false) + if (is_bool($resArr) && $resArr === false) return null; if (count($resArr) != 1) return null; $acos = array(); foreach($resArr as $row) { - $aco = new SeedDMS_Aco($dms, $row["id"], null, $row['alias']); + $aco = new SeedDMS_Aco($dms, $row["id"], $row['parent'], null, $row['alias']); $aco->setDMS($dms); $acos[] = $aco; } return $acos; } /* }}} */ + + public function getParent() { /* {{{ */ + $dms = $this->getDMS(); + $db = $dms->getDB(); + $queryStr = "SELECT * FROM tblAcos WHERE id = ".$this->_parent; + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && $resArr === false) + return null; + if (count($resArr) != 1) + return null; + + $row = $resArr[0]; + $aco = new SeedDMS_Aco($dms, $row["id"], $row['parent'], null, $row['alias']); + $aco->setDMS($dms); + return $aco; + } /* }}} */ } /* }}} */ From bae1386c588fd7154452b109024058fbf24c6612 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Mar 2016 07:05:09 +0100 Subject: [PATCH 10/48] add phrases for new access control --- languages/ar_EG/lang.inc | 10 ++++++++++ languages/bg_BG/lang.inc | 10 ++++++++++ languages/ca_ES/lang.inc | 10 ++++++++++ languages/cs_CZ/lang.inc | 10 ++++++++++ languages/de_DE/lang.inc | 12 +++++++++++- languages/en_GB/lang.inc | 12 +++++++++++- languages/es_ES/lang.inc | 26 ++++++++++++++++++-------- languages/fr_FR/lang.inc | 14 ++++++++++++-- languages/hr_HR/lang.inc | 28 +++++++++++++++++++--------- languages/hu_HU/lang.inc | 10 ++++++++++ languages/it_IT/lang.inc | 10 ++++++++++ languages/ko_KR/lang.inc | 10 ++++++++++ languages/nl_NL/lang.inc | 10 ++++++++++ languages/pl_PL/lang.inc | 10 ++++++++++ languages/pt_BR/lang.inc | 10 ++++++++++ languages/ro_RO/lang.inc | 10 ++++++++++ languages/ru_RU/lang.inc | 10 ++++++++++ languages/sk_SK/lang.inc | 10 ++++++++++ languages/sv_SE/lang.inc | 10 ++++++++++ languages/tr_TR/lang.inc | 10 ++++++++++ languages/uk_UA/lang.inc | 10 ++++++++++ languages/zh_CN/lang.inc | 14 ++++++++++++-- languages/zh_TW/lang.inc | 10 ++++++++++ 23 files changed, 253 insertions(+), 23 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 00a6b0214..da2af77fd 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'وافق', +'access_control' => '', 'access_denied' => 'دخول غير مصرح به.', 'access_inheritance' => 'صلاحيات موروثة', 'access_mode' => 'نوع الدخول', @@ -387,9 +388,13 @@ URL: [url]', 'en_GB' => 'الإنكليزية (GB)', 'equal_transition_states' => 'حالة البداية والنهاية متشابهة', 'error' => 'خطأ', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'لم يتم اختيار مستند', 'error_no_folder_selected' => 'لم يتم اختيار مجلد', 'error_occured' => 'حدث خطأ', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'الإسبانية', 'event_details' => 'تفاصيل الحدث', 'exclude_items' => '', @@ -588,6 +593,7 @@ URL: [url]', 'missing_checksum' => 'فحص اخطاء مفقود', 'missing_file' => '', 'missing_filesize' => 'حجم ملف مفقود', +'missing_request_object' => '', 'missing_transition_user_group' => 'مستخدم/مجموعة مفقودة للتحول', 'monday' => 'الاثنين', 'monday_abbr' => 'ن', @@ -1251,6 +1257,10 @@ URL: [url]', 'submit_userinfo' => 'ادخال بيانات', 'substitute_to_user' => '', 'substitute_user' => 'استبدال المستخدم', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'الأحد', 'sunday_abbr' => 'ح', 'sv_SE' => 'السويدية', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index d51eea8cb..252d55ca4 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Приеми', +'access_control' => '', 'access_denied' => 'достъп забранен', 'access_inheritance' => 'Наследване на достъпа', 'access_mode' => 'Режим на достъп', @@ -342,9 +343,13 @@ $text = array( 'en_GB' => '', 'equal_transition_states' => 'Началното и крайно състояние са еднакви', 'error' => 'Грешка', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Няма избрани документи', 'error_no_folder_selected' => 'Няма избрани папки', 'error_occured' => 'Стана грешка', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => '', 'event_details' => 'Детайли за събитието', 'exclude_items' => '', @@ -519,6 +524,7 @@ $text = array( 'missing_checksum' => 'липсва контролна сума', 'missing_file' => '', 'missing_filesize' => 'липсва размер на файла', +'missing_request_object' => '', 'missing_transition_user_group' => 'липсва потребител или група за преход', 'monday' => 'понеделник', 'monday_abbr' => '', @@ -1116,6 +1122,10 @@ $text = array( 'submit_userinfo' => 'Изпрати информация за потребител', 'substitute_to_user' => '', 'substitute_user' => '', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'неделя', 'sunday_abbr' => '', 'sv_SE' => '', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index d048875f0..d31cdb7d4 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Acceptar', +'access_control' => '', 'access_denied' => 'Accés denegat', 'access_inheritance' => 'Accés heretat', 'access_mode' => 'Mode d\'accés', @@ -347,9 +348,13 @@ URL: [url]', 'en_GB' => '', 'equal_transition_states' => '', 'error' => '', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => '', 'error_no_folder_selected' => '', 'error_occured' => 'Ha succeït un error', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => '', 'event_details' => 'Detalls de l\'event', 'exclude_items' => '', @@ -524,6 +529,7 @@ URL: [url]', 'missing_checksum' => '', 'missing_file' => '', 'missing_filesize' => '', +'missing_request_object' => '', 'missing_transition_user_group' => '', 'monday' => 'Dilluns', 'monday_abbr' => '', @@ -1121,6 +1127,10 @@ URL: [url]', 'submit_userinfo' => '', 'substitute_to_user' => '', 'substitute_user' => '', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Diumenge', 'sunday_abbr' => '', 'sv_SE' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 6692aa40a..e07d195a7 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Přijmout', +'access_control' => '', 'access_denied' => 'Přístup zamítnut.', 'access_inheritance' => 'Dědičnost přístupu', 'access_mode' => 'Režim přístupu', @@ -394,9 +395,13 @@ URL: [url]', 'en_GB' => 'Angličtina (GB)', 'equal_transition_states' => 'Počáteční a konečný stav jsou stejné', 'error' => 'Error', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Není vybrán žádný dokument.', 'error_no_folder_selected' => 'Není vybrána žádná složka', 'error_occured' => 'Vyskytla se chyba', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'Španělština', 'event_details' => 'Údaje akce', 'exclude_items' => '', @@ -595,6 +600,7 @@ URL: [url]', 'missing_checksum' => 'Chybějící kontrolní součet', 'missing_file' => '', 'missing_filesize' => 'Chybějící velikost souboru', +'missing_request_object' => '', 'missing_transition_user_group' => 'Chybějící uživatel/skupina pro změnu', 'monday' => 'Pondělí', 'monday_abbr' => 'Po', @@ -1260,6 +1266,10 @@ URL: [url]', 'submit_userinfo' => 'Odeslat info', 'substitute_to_user' => '', 'substitute_user' => 'Zaměnit uživatele', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Neděle', 'sunday_abbr' => 'Ne', 'sv_SE' => 'Švédština', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 1721aac72..b71c559b0 100644 --- a/languages/de_DE/lang.inc +++ b/languages/de_DE/lang.inc @@ -19,10 +19,11 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (2184), dgrutsch (21) +// Translators: Admin (2194), dgrutsch (21) $text = array( 'accept' => 'Übernehmen', +'access_control' => 'Zugriffskontrolle', 'access_denied' => 'Zugriff verweigert', 'access_inheritance' => 'Zugriff vererben', 'access_mode' => 'Berechtigung', @@ -399,9 +400,13 @@ URL: [url]', 'en_GB' => 'Englisch (GB)', 'equal_transition_states' => 'Start- und Endstatus ѕind gleich', 'error' => 'Fehler', +'error_add_aro' => 'Fehler beim Hinzufügen des Zugriffsobjekt', +'error_add_permission' => 'Fehler beim Hinzufügen der Berechtigung', 'error_no_document_selected' => 'Kein Dokument ausgewählt', 'error_no_folder_selected' => 'Kein Ordner ausgewählt', 'error_occured' => 'Ein Fehler ist aufgetreten. Bitte Administrator benachrichtigen.', +'error_remove_permission' => 'Fehler beim Entfernen der Berechtigung', +'error_toogle_permission' => 'Fehler beim Ändern der Berechtigung', 'es_ES' => 'Spanisch', 'event_details' => 'Ereignisdetails', 'exclude_items' => 'Einträge auslassen', @@ -600,6 +605,7 @@ URL: [url]', 'missing_checksum' => 'Fehlende Check-Summe', 'missing_file' => 'Datei fehlt', 'missing_filesize' => 'Fehlende Dateigröße', +'missing_request_object' => 'Fehlendes Zugriffsobjekte', 'missing_transition_user_group' => 'Fehlende/r Benutzer/Gruppe für Transition', 'monday' => 'Montag', 'monday_abbr' => 'Mo', @@ -1297,6 +1303,10 @@ URL: [url]', 'submit_userinfo' => 'Daten setzen', 'substitute_to_user' => 'Wechsel zu \'[username]\'', 'substitute_user' => 'Benutzer wechseln', +'success_add_aro' => 'Zugriffsobjekt hinzugefügt', +'success_add_permission' => 'Berechtigung hinzugefügt', +'success_remove_permission' => 'Berechtigung entfernt', +'success_toogle_permission' => 'Berechtigung geändert', 'sunday' => 'Sonntag', 'sunday_abbr' => 'So', 'sv_SE' => 'Schwedisch', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index e3be58f21..dcc62b593 100644 --- a/languages/en_GB/lang.inc +++ b/languages/en_GB/lang.inc @@ -19,10 +19,11 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1318), dgrutsch (7), netixw (14) +// Translators: Admin (1328), dgrutsch (7), netixw (14) $text = array( 'accept' => 'Accept', +'access_control' => 'Access control', 'access_denied' => 'Access denied.', 'access_inheritance' => 'Access Inheritance', 'access_mode' => 'Access mode', @@ -399,9 +400,13 @@ URL: [url]', 'en_GB' => 'English (GB)', 'equal_transition_states' => 'Start and end state are equal', 'error' => 'Error', +'error_add_aro' => 'Error while adding access request object', +'error_add_permission' => 'Error while add permission', 'error_no_document_selected' => 'No document selected', 'error_no_folder_selected' => 'No folder selected', 'error_occured' => 'An error has occured', +'error_remove_permission' => 'Error while remove permission', +'error_toogle_permission' => 'Error while changing permission', 'es_ES' => 'Spanish', 'event_details' => 'Event details', 'exclude_items' => 'Exclude items', @@ -600,6 +605,7 @@ URL: [url]', 'missing_checksum' => 'Missing checksum', 'missing_file' => 'Missing file', 'missing_filesize' => 'Missing filesize', +'missing_request_object' => 'Missing request object', 'missing_transition_user_group' => 'Missing user/group for transition', 'monday' => 'Monday', 'monday_abbr' => 'Mo', @@ -1297,6 +1303,10 @@ URL: [url]', 'submit_userinfo' => 'Submit info', 'substitute_to_user' => 'Switch to \'[username]\'', 'substitute_user' => 'Substitute User', +'success_add_aro' => 'Access request object added', +'success_add_permission' => 'Added permission', +'success_remove_permission' => 'Removed permission', +'success_toogle_permission' => 'Permission changed', 'sunday' => 'Sunday', 'sunday_abbr' => 'Su', 'sv_SE' => 'Swedish', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 72984715a..2f586e8c7 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -19,10 +19,11 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: acabello (20), Admin (983), angel (123), francisco (2), jaimem (14) +// Translators: acabello (20), Admin (990), angel (123), francisco (2), jaimem (14) $text = array( 'accept' => 'Aceptar', +'access_control' => '', 'access_denied' => 'Acceso denegado', 'access_inheritance' => 'Acceso heredado', 'access_mode' => 'Tipo de acceso', @@ -394,9 +395,13 @@ URL: [url]', 'en_GB' => 'Ingless (GB)', 'equal_transition_states' => 'Estado inicial y final son iguales', 'error' => 'Error', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Ningún documento seleccionado', 'error_no_folder_selected' => 'Ninguna carpeta seleccionada', 'error_occured' => 'Ha ocurrido un error', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'Castellano', 'event_details' => 'Detalles del evento', 'exclude_items' => 'Registros excluidos', @@ -595,6 +600,7 @@ URL: [url]', 'missing_checksum' => 'Falta checksum', 'missing_file' => '', 'missing_filesize' => 'Falta tamaño fichero', +'missing_request_object' => '', 'missing_transition_user_group' => 'Falta usuario/grupo para transición', 'monday' => 'Lunes', 'monday_abbr' => 'L', @@ -939,7 +945,7 @@ URL: [url]', 'settings_cannot_disable' => 'No es posible eliminar el archivo ENABLE_INSTALL_TOOL', 'settings_checkOutDir' => '', 'settings_checkOutDir_desc' => '', -'settings_cmdTimeout' => '', +'settings_cmdTimeout' => 'Tiempo limite para comandos externos', 'settings_cmdTimeout_desc' => '', 'settings_contentDir' => 'Carpeta de contenidos', 'settings_contentDir_desc' => 'Donde se almacenan los archivos subidos (es preferible seleccionar una carpeta que no sea accesible a través del servidor web)', @@ -966,9 +972,9 @@ URL: [url]', 'settings_dbUser' => 'Nombre de usuario', 'settings_dbUser_desc' => 'Nombre de usuario de acceso a su base de datos introducido durante el proceso de instalación. No edite este campo a menos que sea necesario, por ejemplo si la base de datos se transfiere a un nuevo servidor.', 'settings_dbVersion' => 'Esquema de base de datos demasiado antiguo', -'settings_defaultSearchMethod' => '', -'settings_defaultSearchMethod_desc' => '', -'settings_defaultSearchMethod_valdatabase' => '', +'settings_defaultSearchMethod' => 'Método de búsqueda por defecto', +'settings_defaultSearchMethod_desc' => 'Método de búsqueda por defecto, cuando se inicia una búsqueda mediante el formulario en el menú principal', +'settings_defaultSearchMethod_valdatabase' => 'base de datos', 'settings_defaultSearchMethod_valfulltext' => '', 'settings_delete_install_folder' => 'Para utilizar SeedDMS, debe eliminar el archivo ENABLE_INSTALL_TOOL de la carpeta de configuración', 'settings_disableSelfEdit' => 'Deshabilitar autoedición', @@ -998,11 +1004,11 @@ URL: [url]', 'settings_enableFolderTree_desc' => 'Falso para no mostrar el árbol de carpetas', 'settings_enableFullSearch' => 'Habilitar búsqueda de texto completo', 'settings_enableFullSearch_desc' => 'Habilitar búsqueda de texto completo', -'settings_enableGuestAutoLogin' => '', -'settings_enableGuestAutoLogin_desc' => '', +'settings_enableGuestAutoLogin' => 'Activar inicio de sesión automático para invitado', +'settings_enableGuestAutoLogin_desc' => 'Si están activados la sesión de invitado y el inicio de sesión automático, el invitado iniciará sesión automaticamente.', 'settings_enableGuestLogin' => 'Habilitar acceso de invitado', 'settings_enableGuestLogin_desc' => 'Si quiere que cualquiera acceda como invitado, chequee esta opción. Nota: El acceso de invitado debería permitirse solo en entornos de confianza', -'settings_enableHelp' => '', +'settings_enableHelp' => 'Activar la ayuda', 'settings_enableHelp_desc' => '', 'settings_enableLanguageSelector' => 'Habilitar selector de idioma', 'settings_enableLanguageSelector_desc' => 'Mostrar selector de lenguaje para usuario despues de identificarse.', @@ -1266,6 +1272,10 @@ URL: [url]', 'submit_userinfo' => 'Enviar información', 'substitute_to_user' => 'Cambiar a \'[username]\'', 'substitute_user' => 'Cambiar de usuario', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Domingo', 'sunday_abbr' => 'D', 'sv_SE' => 'Sueco', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index b3c2c93b4..7cb985c17 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -19,10 +19,11 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1013), jeromerobert (50), lonnnew (9) +// Translators: Admin (1014), jeromerobert (50), lonnnew (9) $text = array( 'accept' => 'Accepter', +'access_control' => '', 'access_denied' => 'Accès refusé.', 'access_inheritance' => 'Héritage d\'accès', 'access_mode' => 'Droits d\'accès', @@ -394,9 +395,13 @@ URL: [url]', 'en_GB' => 'Anglais (RU)', 'equal_transition_states' => 'Etat de début et fin identique', 'error' => 'Erreur', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Aucun document sélectionné', 'error_no_folder_selected' => 'Aucun dossier sélectionné', 'error_occured' => 'Une erreur s\'est produite', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'Espagnol', 'event_details' => 'Détails de l\'événement', 'exclude_items' => '', @@ -595,6 +600,7 @@ URL: [url]', 'missing_checksum' => 'Checksum manquante', 'missing_file' => '', 'missing_filesize' => 'Taille de fichier manquante', +'missing_request_object' => '', 'missing_transition_user_group' => 'Utilisateur/groupe manquant pour transition', 'monday' => 'Lundi', 'monday_abbr' => 'Lun.', @@ -945,7 +951,7 @@ URL: [url]', 'settings_defaultSearchMethod' => '', 'settings_defaultSearchMethod_desc' => '', 'settings_defaultSearchMethod_valdatabase' => 'base de données', -'settings_defaultSearchMethod_valfulltext' => '', +'settings_defaultSearchMethod_valfulltext' => 'texto completo', 'settings_delete_install_folder' => 'Pour utiliser SeedDMS, vous devez supprimer le fichier ENABLE_INSTALL_TOOL dans le répertoire de configuration', 'settings_disableSelfEdit' => 'Désactiver auto modification', 'settings_disableSelfEdit_desc' => 'Si coché, l\'utilisateur ne peut pas éditer son profil', @@ -1242,6 +1248,10 @@ URL: [url]', 'submit_userinfo' => 'Soumettre info', 'substitute_to_user' => '', 'substitute_user' => 'Utilisateur de substitution', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Dimanche', 'sunday_abbr' => 'Dim.', 'sv_SE' => 'Suédois', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index e5de95f1c..7c9c51784 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -19,10 +19,11 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1177), marbanas (16) +// Translators: Admin (1185), marbanas (16) $text = array( 'accept' => 'Prihvati', +'access_control' => '', 'access_denied' => 'Odbijen pristup.', 'access_inheritance' => 'Nasljedivost razine pristupa', 'access_mode' => 'Način pristupa', @@ -399,9 +400,13 @@ Internet poveznica: [url]', 'en_GB' => 'Engleski (GB)', 'equal_transition_states' => 'Početni i završni status su jednaki', 'error' => 'Greška', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Nije odabran dokument', 'error_no_folder_selected' => 'Nije odabrana mapa', 'error_occured' => 'Dogodila se greška', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'Španjolski', 'event_details' => 'Detalji događaja', 'exclude_items' => 'Isključivanje stavki', @@ -600,6 +605,7 @@ Internet poveznica: [url]', 'missing_checksum' => 'Nedostaje kontrolna suma', 'missing_file' => '', 'missing_filesize' => 'Nedostaje veličina datoteke', +'missing_request_object' => '', 'missing_transition_user_group' => 'Nedostaje korisnik/grupa za promjenu', 'monday' => 'Ponedjeljak', 'monday_abbr' => 'Po', @@ -987,10 +993,10 @@ Internet poveznica: [url]', 'settings_dbUser' => 'Korisničko ime', 'settings_dbUser_desc' => 'Korisničko ime za pristup vašoj bazi podataka unijeto tijekom postupka instalacije. Ne uređujte ovo polje bez prijeke potrebe, npr. prijenos baze podataka na novi Host.', 'settings_dbVersion' => 'Shema baze podataka je prestara', -'settings_defaultSearchMethod' => '', -'settings_defaultSearchMethod_desc' => '', -'settings_defaultSearchMethod_valdatabase' => '', -'settings_defaultSearchMethod_valfulltext' => '', +'settings_defaultSearchMethod' => 'Zadana metoda pretrage', +'settings_defaultSearchMethod_desc' => 'Zadana metoda pretrage, kada se pretraživanje pokreće putem formulara iz glavnog izbornika', +'settings_defaultSearchMethod_valdatabase' => 'baza podataka', +'settings_defaultSearchMethod_valfulltext' => 'puni tekst', 'settings_delete_install_folder' => 'Da bi koristili ProsperaDMS, morate izbrisati datoteku ENABLE_INSTALL_TOOL u mapi konfiguracije', 'settings_disableSelfEdit' => 'Onemogućite samostalno uređivanje', 'settings_disableSelfEdit_desc' => 'Ako je označeno, korisnik ne može uređivati svoj vlastiti profil', @@ -1019,12 +1025,12 @@ Internet poveznica: [url]', 'settings_enableFolderTree_desc' => 'Omogući/onemogući stablo mape na \'Vidi mapu\' stranici', 'settings_enableFullSearch' => 'Omogući pretraživanje cijelog teksta', 'settings_enableFullSearch_desc' => 'Omogući pretraživanje cijelog teksta', -'settings_enableGuestAutoLogin' => '', -'settings_enableGuestAutoLogin_desc' => '', +'settings_enableGuestAutoLogin' => 'Omogući automatsku prijavu za goste', +'settings_enableGuestAutoLogin_desc' => 'Ako je omogućena prijava gostiju i automatska prijava, gost će se automatski prijaviti.', 'settings_enableGuestLogin' => 'Omogući Gost prijavu', 'settings_enableGuestLogin_desc' => 'Ako želite da se bilo tko koristi Gost prijavu, označite ovu opciju. Napomena: gost prijava smije se koristiti samo u pouzdanom okruženju.', -'settings_enableHelp' => '', -'settings_enableHelp_desc' => '', +'settings_enableHelp' => 'Omogući pomoć', +'settings_enableHelp_desc' => 'Omogući/onemogući poveznicu do pomoći u izborniku', 'settings_enableLanguageSelector' => 'Omogući Izbornik jezika', 'settings_enableLanguageSelector_desc' => 'Prikaži izbornik za jezik korisničkog sučelja nakon prijave.', 'settings_enableLargeFileUpload' => 'Omogući učitavanje velikih datoteka', @@ -1287,6 +1293,10 @@ Internet poveznica: [url]', 'submit_userinfo' => 'Pošaljite info', 'substitute_to_user' => 'Prebaci na \'[username]\'', 'substitute_user' => 'Zamjenski korisnik', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Nedjelja', 'sunday_abbr' => 'Ne', 'sv_SE' => 'Švedski', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 493b0366e..f8c21db85 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Elfogad', +'access_control' => '', 'access_denied' => 'Hozzáférés megtagadva.', 'access_inheritance' => 'Hozzáférés öröklés', 'access_mode' => 'Hozzáférési mód', @@ -394,9 +395,13 @@ URL: [url]', 'en_GB' => 'Angol (GB)', 'equal_transition_states' => 'A kezdő- és végállapot megegyezik', 'error' => 'Hiba', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Nincs kijelölt dokumentum', 'error_no_folder_selected' => 'Nincs kijelölt mappa', 'error_occured' => 'Hiba történt', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'Spanyol', 'event_details' => 'Esemény részletek', 'exclude_items' => 'Kizárt elemek', @@ -595,6 +600,7 @@ URL: [url]', 'missing_checksum' => 'Hiányzó ellenőrzőösszeg', 'missing_file' => '', 'missing_filesize' => 'Hiányzó állomány méret', +'missing_request_object' => '', 'missing_transition_user_group' => 'Hiányzó felhasználó/csoport az átvezetéshez', 'monday' => 'Hétfő', 'monday_abbr' => 'Hé', @@ -1265,6 +1271,10 @@ URL: [url]', 'submit_userinfo' => 'Információ küldése', 'substitute_to_user' => '', 'substitute_user' => 'Helyettesítő felhasználó', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Vasárnap', 'sunday_abbr' => 'Va', 'sv_SE' => 'Svéd', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 0bdd75e55..5c2da851f 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Accetta', +'access_control' => '', 'access_denied' => 'Accesso negato', 'access_inheritance' => 'Permessi ereditari', 'access_mode' => 'Permessi', @@ -400,9 +401,13 @@ URL: [url]', 'en_GB' => 'Inglese (GB)', 'equal_transition_states' => 'Lo stato iniziale e quello finale sono identici', 'error' => 'Errore', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Nessun documento selezionato', 'error_no_folder_selected' => 'Nessuna cartella selezionata', 'error_occured' => 'Ooops... Si è verificato un errore', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'Spagnolo', 'event_details' => 'Dettagli evento', 'exclude_items' => '', @@ -601,6 +606,7 @@ URL: [url]', 'missing_checksum' => 'Checksum mancante', 'missing_file' => '', 'missing_filesize' => 'Dimensione mancante', +'missing_request_object' => '', 'missing_transition_user_group' => 'Utente/Gruppo per la transizione mancanti', 'monday' => 'Lunedì', 'monday_abbr' => 'Lun', @@ -1289,6 +1295,10 @@ URL: [url]', 'submit_userinfo' => 'Invio info utente', 'substitute_to_user' => 'Cambia in \'[username]\'', 'substitute_user' => 'Impersona utente', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Domenica', 'sunday_abbr' => 'Dom', 'sv_SE' => 'Svedese', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index 9686708e0..4e23df8f9 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => '동의', +'access_control' => '', 'access_denied' => '접근가 거부되었습니다.', 'access_inheritance' => '접근 상속', 'access_mode' => '접근 모드', @@ -399,9 +400,13 @@ URL: [url]', 'en_GB' => '영어 (GB)', 'equal_transition_states' => '시작 및 종료가 동일한 상태', 'error' => '오류', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => '선택되지 문서는', 'error_no_folder_selected' => '어떤 폴더를 선택하지', 'error_occured' => '오류가 발생했습니다', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => '스페인어', 'event_details' => '이벤트의 자세한 사항', 'exclude_items' => '항목 제외', @@ -600,6 +605,7 @@ URL: [url]', 'missing_checksum' => '검사 누락', 'missing_file' => '누락 된 파일', 'missing_filesize' => '누락 된 파일 크기', +'missing_request_object' => '', 'missing_transition_user_group' => '변화에 대한 사용자 / 그룹을 누락', 'monday' => '월요일', 'monday_abbr' => '월', @@ -1280,6 +1286,10 @@ URL : [url]', 'submit_userinfo' => '정보 제출', 'substitute_to_user' => '\'[username]\'로 전환', 'substitute_user' => '대체 사용자', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => '일요일', 'sunday_abbr' => '일', 'sv_SE' => '스웨덴어', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 8ef680f45..fd38a9405 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Accept', +'access_control' => '', 'access_denied' => 'Geen toegang.', 'access_inheritance' => 'Toegang overerfd', 'access_mode' => 'Toegang modus', @@ -392,9 +393,13 @@ URL: [url]', 'en_GB' => 'Engels (GB)', 'equal_transition_states' => 'Begin en eind status zijn hetzelfde', 'error' => 'Fout', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Geen document geselecteerd', 'error_no_folder_selected' => 'Geen map geselecteerd', 'error_occured' => 'Er is een fout opgetreden', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'Spaans', 'event_details' => 'Activiteit details', 'exclude_items' => '', @@ -593,6 +598,7 @@ URL: [url]', 'missing_checksum' => 'Mis controlesom', 'missing_file' => '', 'missing_filesize' => 'ontbrekende bestandsgrootte', +'missing_request_object' => '', 'missing_transition_user_group' => 'Gebruiker / groep ontbreekt voor de overdracht', 'monday' => 'Maandag', 'monday_abbr' => 'MO', @@ -1262,6 +1268,10 @@ URL: [url]', 'submit_userinfo' => 'Wijzigingen opslaan', 'substitute_to_user' => '', 'substitute_user' => 'Invaller/ vervanger Gebruiker', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Zondag', 'sunday_abbr' => 'Su', 'sv_SE' => 'Zweeds', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 9de36a7c8..85bbc86db 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Akceptuj', +'access_control' => '', 'access_denied' => 'Dostęp zabroniony.', 'access_inheritance' => 'Dziedziczenie dostępu', 'access_mode' => 'Tryb dostępu', @@ -387,9 +388,13 @@ URL: [url]', 'en_GB' => 'Angielski (GB)', 'equal_transition_states' => 'Stan rozpoczęcia i ukończenia jest taki sam', 'error' => 'Błąd', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Brak wybranych dokumentów', 'error_no_folder_selected' => 'Brak wybranych katalogów', 'error_occured' => 'Wystąpił błąd', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'Hiszpański', 'event_details' => 'Szczegóły zdarzenia', 'exclude_items' => '', @@ -588,6 +593,7 @@ URL: [url]', 'missing_checksum' => 'Brak sumy kontrolnej', 'missing_file' => '', 'missing_filesize' => 'Brakujący rozmiar pliku', +'missing_request_object' => '', 'missing_transition_user_group' => 'Brak użytkownika / grupy dla przejścia', 'monday' => 'Poniedziałek', 'monday_abbr' => 'Pn.', @@ -1245,6 +1251,10 @@ URL: [url]', 'submit_userinfo' => 'Zatwierdź dane', 'substitute_to_user' => '', 'substitute_user' => 'Zastępca użytkownika', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Niedziela', 'sunday_abbr' => 'Ni', 'sv_SE' => 'szwedzki', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 05c2f89ae..8227367dd 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Aceitar', +'access_control' => '', 'access_denied' => 'Acesso Negado.', 'access_inheritance' => 'access Inheritance', 'access_mode' => 'Modo de acesso', @@ -393,9 +394,13 @@ URL: [url]', 'en_GB' => 'Inglês (GB)', 'equal_transition_states' => 'Estado de início e fim são iguais', 'error' => 'Erro', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Nenhum documento selecionado', 'error_no_folder_selected' => 'Nenhuma pasta selecionada', 'error_occured' => 'Ocorreu um erro', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'Espanhol', 'event_details' => 'Event details', 'exclude_items' => '', @@ -594,6 +599,7 @@ URL: [url]', 'missing_checksum' => 'Falta de verificação', 'missing_file' => '', 'missing_filesize' => 'Falta tamanho do arquivo', +'missing_request_object' => '', 'missing_transition_user_group' => 'Falta usuário/grupo para transição', 'monday' => 'Monday', 'monday_abbr' => 'Mo', @@ -1263,6 +1269,10 @@ URL: [url]', 'submit_userinfo' => 'Submeter informação', 'substitute_to_user' => '', 'substitute_user' => 'Substituto do usuário', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Sunday', 'sunday_abbr' => 'Su', 'sv_SE' => 'Sueco', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 2224bbad2..0d93d753a 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Accept', +'access_control' => '', 'access_denied' => 'Acces interzis.', 'access_inheritance' => 'Mostenire acces', 'access_mode' => 'Mod de acces', @@ -399,9 +400,13 @@ URL: [url]', 'en_GB' => 'Engleza (GB)', 'equal_transition_states' => 'Starea de start și de stop sunt egale', 'error' => 'Eroare', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Nici un document selectat', 'error_no_folder_selected' => 'Nici un folder selectat', 'error_occured' => 'An error has occured', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'Spaniola', 'event_details' => 'Detalii eveniment', 'exclude_items' => 'Elemente excluse', @@ -600,6 +605,7 @@ URL: [url]', 'missing_checksum' => 'Lipsește suma de control(checksum)', 'missing_file' => '', 'missing_filesize' => 'Lipsește dimensiunea fișierului', +'missing_request_object' => '', 'missing_transition_user_group' => 'Lipsește utilizatorul/grupul pentru tranziție', 'monday' => 'Luni', 'monday_abbr' => 'Lu', @@ -1288,6 +1294,10 @@ URL: [url]', 'submit_userinfo' => 'Trimite informații', 'substitute_to_user' => '', 'substitute_user' => 'Substituie Utilizator', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Duminică', 'sunday_abbr' => 'Du', 'sv_SE' => 'Suedeză', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 6b689c487..56dc40c6e 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Принять', +'access_control' => '', 'access_denied' => 'Доступ запрещён', 'access_inheritance' => 'Наследование доступа', 'access_mode' => 'Режим доступа', @@ -387,9 +388,13 @@ URL: [url]', 'en_GB' => 'English (GB)', 'equal_transition_states' => 'Одинаковые начальный и конечный статусы', 'error' => 'Ошибка', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Нет выбранных документов', 'error_no_folder_selected' => 'Нет выбранных каталогов', 'error_occured' => 'Произошла ошибка', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'Spanish', 'event_details' => 'Информация о событии', 'exclude_items' => '', @@ -588,6 +593,7 @@ URL: [url]', 'missing_checksum' => 'Отсутствует контрольная сумма', 'missing_file' => '', 'missing_filesize' => 'Отсутствует размер файла', +'missing_request_object' => '', 'missing_transition_user_group' => 'Отсутствует пользователь/группа для изменения.', 'monday' => 'Понедельник', 'monday_abbr' => 'Пн', @@ -1256,6 +1262,10 @@ URL: [url]', 'submit_userinfo' => 'Отправить информацию', 'substitute_to_user' => '', 'substitute_user' => 'Переключиться', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Воскресенье', 'sunday_abbr' => 'Вс', 'sv_SE' => 'Swedish', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 974f6e41e..95d27dbbd 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Prijať', +'access_control' => '', 'access_denied' => 'Prístup zamietnutý.', 'access_inheritance' => 'Dedičnosť prístupu', 'access_mode' => 'Režim prístupu', @@ -346,9 +347,13 @@ URL: [url]', 'en_GB' => 'Angličtina (UK)', 'equal_transition_states' => '', 'error' => 'Chyba', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => '', 'error_no_folder_selected' => '', 'error_occured' => 'Vyskytla sa chyba', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'Španielčina', 'event_details' => 'Detail udalosti', 'exclude_items' => '', @@ -523,6 +528,7 @@ URL: [url]', 'missing_checksum' => '', 'missing_file' => '', 'missing_filesize' => '', +'missing_request_object' => '', 'missing_transition_user_group' => '', 'monday' => 'Pondelok', 'monday_abbr' => '', @@ -1120,6 +1126,10 @@ URL: [url]', 'submit_userinfo' => '', 'substitute_to_user' => '', 'substitute_user' => 'Nahradiť používateľa', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Nedeľa', 'sunday_abbr' => '', 'sv_SE' => 'Švédština', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 82eb47468..9146fc140 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Godkänn', +'access_control' => '', 'access_denied' => 'Åtkomst nekas.', 'access_inheritance' => 'Ärv åtkomst', 'access_mode' => 'Åtkomstnivå', @@ -387,9 +388,13 @@ URL: [url]', 'en_GB' => 'engelska (GB)', 'equal_transition_states' => 'Start and slut status är lika', 'error' => 'Fel', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Inget dokument har valts', 'error_no_folder_selected' => 'Ingen katalog har valts', 'error_occured' => 'Ett fel har inträffat.', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'spanska', 'event_details' => 'Händelseinställningar', 'exclude_items' => '', @@ -588,6 +593,7 @@ URL: [url]', 'missing_checksum' => 'Checksumma saknas', 'missing_file' => '', 'missing_filesize' => 'Filstorlek saknas', +'missing_request_object' => '', 'missing_transition_user_group' => 'Användare/grupp saknas för övergång', 'monday' => 'måndag', 'monday_abbr' => 'må', @@ -1251,6 +1257,10 @@ URL: [url]', 'submit_userinfo' => 'Skicka info', 'substitute_to_user' => '', 'substitute_user' => 'Byt användare', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'söndag', 'sunday_abbr' => 'sö', 'sv_SE' => 'svenska', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 1a2568f9d..7f366e160 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Kabul', +'access_control' => '', 'access_denied' => 'Erişim engellendi.', 'access_inheritance' => 'Devredilen Erişim', 'access_mode' => 'Erişim modu', @@ -393,9 +394,13 @@ URL: [url]', 'en_GB' => 'İngilizce', 'equal_transition_states' => 'Başlangıç ve bitiş durumları eşit', 'error' => 'Hata', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Hiçbir doküman seçilmedi', 'error_no_folder_selected' => 'Hiçbir klasör seçilmedi', 'error_occured' => 'Bir hata oluştu', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'İspanyolca', 'event_details' => 'Etkinkil detayları', 'exclude_items' => '', @@ -594,6 +599,7 @@ URL: [url]', 'missing_checksum' => 'Sağlama toplamı eksik', 'missing_file' => '', 'missing_filesize' => 'Dosya boyutu eksik', +'missing_request_object' => '', 'missing_transition_user_group' => 'Geçiş için kullanıcı/grup bilgisi eksik', 'monday' => 'Pazartesi', 'monday_abbr' => 'Pzt', @@ -1267,6 +1273,10 @@ URL: [url]', 'submit_userinfo' => 'Bilgi gönder', 'substitute_to_user' => '', 'substitute_user' => 'Kullanıcının Yerine Geç', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Pazar', 'sunday_abbr' => 'Pa', 'sv_SE' => 'İsveççe', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 7001bf174..6d29e7a1b 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => 'Прийняти', +'access_control' => '', 'access_denied' => 'Доступ заборонений', 'access_inheritance' => 'Наслідування доступу', 'access_mode' => 'Режим доступу', @@ -399,9 +400,13 @@ URL: [url]', 'en_GB' => 'English (GB)', 'equal_transition_states' => 'Однакові початковий і кінцевий статуси', 'error' => 'Помилка', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => 'Немає вибраних документів', 'error_no_folder_selected' => 'Немає вибраних каталогів', 'error_occured' => 'Виникла помилка', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => 'Spanish', 'event_details' => 'Інформація про подію', 'exclude_items' => '', @@ -600,6 +605,7 @@ URL: [url]', 'missing_checksum' => 'Відсутня контрольна сума', 'missing_file' => '', 'missing_filesize' => 'Відсутній розмір файлу', +'missing_request_object' => '', 'missing_transition_user_group' => 'Відсутній користувач/група для зміни.', 'monday' => 'Понеділок', 'monday_abbr' => 'Пн', @@ -1278,6 +1284,10 @@ URL: [url]', 'submit_userinfo' => 'Відправити інформацію', 'substitute_to_user' => 'Перемикнутися на \'[username]\'', 'substitute_user' => 'Перемикнутися', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Неділя', 'sunday_abbr' => 'Нд', 'sv_SE' => 'Swedish', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 5a98ef339..6eea4b7fe 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -19,10 +19,11 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (628), fengjohn (5) +// Translators: Admin (629), fengjohn (5) $text = array( 'accept' => '接受', +'access_control' => '', 'access_denied' => '拒绝访问', 'access_inheritance' => '继承访问权限', 'access_mode' => '访问模式', @@ -187,7 +188,7 @@ URL: [url]', 'chart_docspermonth_title' => '每月创建的新文档', 'chart_docsperstatus_title' => '', 'chart_docsperuser_title' => '', -'chart_selection' => '', +'chart_selection' => '选择报表', 'chart_sizeperuser_title' => '', 'checkedout_file_has_different_version' => '', 'checkedout_file_has_disappeared' => '', @@ -348,9 +349,13 @@ URL: [url]', 'en_GB' => '英语', 'equal_transition_states' => '', 'error' => '错误', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => '请选择文档', 'error_no_folder_selected' => '请选择文件夹', 'error_occured' => '出错', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => '西班牙语', 'event_details' => '错误详情', 'exclude_items' => '', @@ -525,6 +530,7 @@ URL: [url]', 'missing_checksum' => '缺失校验', 'missing_file' => '', 'missing_filesize' => '缺失文件大小', +'missing_request_object' => '', 'missing_transition_user_group' => '', 'monday' => 'Monday', 'monday_abbr' => '', @@ -1122,6 +1128,10 @@ URL: [url]', 'submit_userinfo' => '', 'substitute_to_user' => '', 'substitute_user' => '代理人', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Sunday', 'sunday_abbr' => '', 'sv_SE' => '瑞典语', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 6228eea97..b42f9950a 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -23,6 +23,7 @@ $text = array( 'accept' => '接受', +'access_control' => '', 'access_denied' => '拒絕訪問', 'access_inheritance' => '繼承存取權限', 'access_mode' => '訪問模式', @@ -346,9 +347,13 @@ URL: [url]', 'en_GB' => '英語', 'equal_transition_states' => '', 'error' => '', +'error_add_aro' => '', +'error_add_permission' => '', 'error_no_document_selected' => '請選擇文檔', 'error_no_folder_selected' => '請選擇資料夾', 'error_occured' => '出錯', +'error_remove_permission' => '', +'error_toogle_permission' => '', 'es_ES' => '西班牙語', 'event_details' => '錯誤詳情', 'exclude_items' => '', @@ -523,6 +528,7 @@ URL: [url]', 'missing_checksum' => '', 'missing_file' => '', 'missing_filesize' => '', +'missing_request_object' => '', 'missing_transition_user_group' => '', 'monday' => 'Monday', 'monday_abbr' => '', @@ -1120,6 +1126,10 @@ URL: [url]', 'submit_userinfo' => '', 'substitute_to_user' => '', 'substitute_user' => '代理人', +'success_add_aro' => '', +'success_add_permission' => '', +'success_remove_permission' => '', +'success_toogle_permission' => '', 'sunday' => 'Sunday', 'sunday_abbr' => '', 'sv_SE' => '瑞典語', From c987412482dab5ef7a808c03a0f070ff219218c4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Mar 2016 07:06:10 +0100 Subject: [PATCH 11/48] set propper messages, add missing commands --- op/op.Acl.php | 68 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 45 insertions(+), 23 deletions(-) diff --git a/op/op.Acl.php b/op/op.Acl.php index 5d1c2769e..d34723416 100644 --- a/op/op.Acl.php +++ b/op/op.Acl.php @@ -39,58 +39,80 @@ if (!$user->isAdmin()) { if (isset($_GET["action"])) $action=$_GET["action"]; else $action=NULL; -if (isset($_GET["aroid"])) { - if(!($aro = SeedDMS_Aro::getInstance((int) $_GET["aroid"], $dms))) { - $result = array('type'=>'error', 'msg'=>'1'.getMLText("access_denied")); +if($action == 'add_aro') { + if (isset($_GET["roleid"])) { + if(!($role = SeedDMS_Core_Role::getInstance((int) $_GET["roleid"], $dms))) { + $result = array('type'=>'error', 'msg'=>getMLText("access_denied")); + echo json_encode($result); + exit; + } + } else { + $result = array('type'=>'error', 'msg'=>getMLText("access_denied")); echo json_encode($result); exit; } -} else { - $result = array('type'=>'error', 'msg'=>'2'.getMLText("access_denied")); - echo json_encode($result); - exit; -} -if (isset($_GET["acoid"])) { - if(!($aco = SeedDMS_Aco::getInstance((int) $_GET["acoid"], $dms))) { - $result = array('type'=>'error', 'msg'=>'3'.getMLText("access_denied")); +} else { + if (isset($_GET["aroid"])) { + if(!($aro = SeedDMS_Aro::getInstance((int) $_GET["aroid"], $dms))) { + $result = array('type'=>'error', 'msg'=>getMLText("access_denied")); + echo json_encode($result); + exit; + } + } else { + $result = array('type'=>'error', 'msg'=>getMLText("access_denied")); + echo json_encode($result); + exit; + } + + if (isset($_GET["acoid"])) { + if(!($aco = SeedDMS_Aco::getInstance((int) $_GET["acoid"], $dms))) { + $result = array('type'=>'error', 'msg'=>getMLText("access_denied")); + echo json_encode($result); + exit; + } + } else { + $result = array('type'=>'error', 'msg'=>getMLText("access_denied")); echo json_encode($result); exit; } -} else { - $result = array('type'=>'error', 'msg'=>'4'.getMLText("access_denied")); - echo json_encode($result); - exit; } switch($action) { case "toggle_permission": $acl = new SeedDMS_Acl($dms); if($acl->toggle($aro, $aco)) - $result = array('type'=>'success', 'msg'=>'lasjfl'); + $result = array('type'=>'success', 'msg'=>getMLText('success_toogle_permission')); else - $result = array('type'=>'error', 'msg'=>'lasjfl'); + $result = array('type'=>'error', 'msg'=>getMLText('error_toogle_permission')); header('Content-Type: application/json'); echo json_encode($result); break; case "add_permission": $acl = new SeedDMS_Acl($dms); if($acl->add($aro, $aco)) - $result = array('type'=>'success', 'msg'=>'lasjfl'); + $result = array('type'=>'success', 'msg'=>getMLText('success_add_permission')); else - $result = array('type'=>'error', 'msg'=>'lasjfl'); + $result = array('type'=>'error', 'msg'=>getMLText('error_add_permission')); header('Content-Type: application/json'); - $result = array('type'=>'success', 'msg'=>'lasjfl'); echo json_encode($result); break; case "remove_permission": $acl = new SeedDMS_Acl($dms); if($acl->remove($aro, $aco)) - $result = array('type'=>'success', 'msg'=>'lasjfl'); + $result = array('type'=>'success', 'msg'=>getMLText('success_remove_permission')); else - $result = array('type'=>'error', 'msg'=>'lasjfl'); + $result = array('type'=>'error', 'msg'=>getMLText('error_remove_permission')); + header('Content-Type: application/json'); + echo json_encode($result); + break; +case "add_aro": + if(SeedDMS_Aro::getInstance($role, $dms)) { + $result = array('type'=>'success', 'msg'=>getMLText('success_add_aro')); + } else { + $result = array('type'=>'error', 'msg'=>getMLText('error_add_aro')); + } header('Content-Type: application/json'); - $result = array('type'=>'success', 'msg'=>'lasjfl'); echo json_encode($result); break; } From e089cc898c022708f1e9a733effe088a59d66627 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Mar 2016 07:08:42 +0100 Subject: [PATCH 12/48] add button for adding missing aro --- views/bootstrap/class.Acl.php | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/views/bootstrap/class.Acl.php b/views/bootstrap/class.Acl.php index cf2b80f09..60121a85b 100644 --- a/views/bootstrap/class.Acl.php +++ b/views/bootstrap/class.Acl.php @@ -35,7 +35,7 @@ class SeedDMS_View_Acl extends SeedDMS_Bootstrap_Style { ?> $('#acostree').tree({ autoOpen: 0, - saveState: 'acostreegetID(); ?>', + saveState: 'acostreegetID() : ''); ?>', openedIcon: '', closedIcon: '', onCreateLi: function(node, $li) { @@ -104,6 +104,22 @@ $('#acostree').on('click', '.jqtree-remove-permission', function(event) { }); }); +$('#add_aro').on('click', function(event) { + roleid = $(event.currentTarget).attr('data-roleid'); + $.ajax('../op/op.Acl.php?action=add_aro&roleid='+roleid, { + dataType: 'json', + success: function(data, textStatus) { + if(data.type == 'success') { + timeout = 1500; + window.location='out.Acl.php?action=show&roleid=' + roleid; + } else { + timeout = 3500; + } + noty({text: data.msg, type: data.type, dismissQueue: true, layout: 'topRight', theme: 'defaultTheme', timeout: timeout}); + }, + }); +}); + $(document).ready( function() { $( "#selector" ).change(function() { window.location='out.Acl.php?action=show&roleid=' + $(this).val(); @@ -130,7 +146,7 @@ $(document).ready( function() { $node['id'] = $child->getID(); $node['label'] = $child->getAlias(); $node['acoid'] = $child->getID(); - $node['aroid'] = $aro->getID(); + $node['aroid'] = $aro ? $aro->getID() : 0; $nchildren = $this->_tree($aro, $child); if($nchildren) { @@ -164,7 +180,7 @@ $(document).ready( function() { $tree['id'] = $aco->getID(); $tree['label'] = $aco->getAlias(); $tree['acoid'] = $aco->getID(); - $tree['aroid'] = $aro->getID(); + $tree['aroid'] = $aro ? $aro->getID() : 0; $tree['is_folder'] = true; $tree['children'] = $this->_tree($aro, $aco); $result[] = $tree; @@ -187,7 +203,7 @@ $(document).ready( function() {
contentHeading("Role"); + $this->contentHeading(getMLText("role")); ?> _overrideMimeType) echo "checked" ?> /> + "> + : + _advancedAcl) echo "checked" ?> /> +