diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php
index 6d71e3256..232517636 100755
--- a/gulliver/system/class.rbac.php
+++ b/gulliver/system/class.rbac.php
@@ -46,6 +46,7 @@
class RBAC
{
+ const SETUPERMISSIONUID= '00000000000000000000000000000002';
/**
*
* @access private
@@ -159,27 +160,75 @@ class RBAC
* @access public
* @return $this->permissionsAdmin[ $permissionsAdmin ]
*/
- public function loadPermissionAdmin ()
+ public function loadPermissionAdmin()
{
- $permissionsAdmin = array (array ("PER_UID" => "00000000000000000000000000000001","PER_CODE" => "PM_LOGIN"
- ),array ("PER_UID" => "00000000000000000000000000000002","PER_CODE" => "PM_SETUP"
- ),array ("PER_UID" => "00000000000000000000000000000003","PER_CODE" => "PM_USERS"
- ),array ("PER_UID" => "00000000000000000000000000000004","PER_CODE" => "PM_FACTORY"
- ),array ("PER_UID" => "00000000000000000000000000000005","PER_CODE" => "PM_CASES"
- ),array ("PER_UID" => "00000000000000000000000000000006","PER_CODE" => "PM_ALLCASES"
- ),array ("PER_UID" => "00000000000000000000000000000007","PER_CODE" => "PM_REASSIGNCASE"
- ),array ("PER_UID" => "00000000000000000000000000000008","PER_CODE" => "PM_REPORTS"
- ),array ("PER_UID" => "00000000000000000000000000000009","PER_CODE" => "PM_SUPERVISOR"
- ),array ("PER_UID" => "00000000000000000000000000000010","PER_CODE" => "PM_SETUP_ADVANCE"
- ),array ("PER_UID" => "00000000000000000000000000000011","PER_CODE" => "PM_DASHBOARD"
- ),array ("PER_UID" => "00000000000000000000000000000012","PER_CODE" => "PM_WEBDAV"
- ),array ("PER_UID" => "00000000000000000000000000000013","PER_CODE" => "PM_DELETECASE"
- ),array ("PER_UID" => "00000000000000000000000000000014","PER_CODE" => "PM_EDITPERSONALINFO"
- ),array ("PER_UID" => "00000000000000000000000000000015","PER_CODE" => "PM_FOLDERS_VIEW"
- ),array ("PER_UID" => "00000000000000000000000000000016","PER_CODE" => "PM_FOLDERS_ADD_FOLDER"
- ),array ("PER_UID" => "00000000000000000000000000000017","PER_CODE" => "PM_FOLDERS_ADD_FILE"
- ),array ("PER_UID" => "00000000000000000000000000000018","PER_CODE" => "PM_CANCELCASE"
- ),array ("PER_UID" => "00000000000000000000000000000019","PER_CODE" => "PM_FOLDER_DELETE"
+ $permissionsAdmin = array(array("PER_UID" => "00000000000000000000000000000001", "PER_CODE" => "PM_LOGIN",
+ "PER_NAME" => "Login"
+ ), array("PER_UID" => "00000000000000000000000000000002", "PER_CODE" => "PM_SETUP", "PER_NAME" => "Setup"
+ ), array("PER_UID" => "00000000000000000000000000000003", "PER_CODE" => "PM_USERS", "PER_NAME" => "Users"
+ ), array("PER_UID" => "00000000000000000000000000000004", "PER_CODE" => "PM_FACTORY", "PER_NAME" => "Design
+ Process"
+ ), array("PER_UID" => "00000000000000000000000000000005", "PER_CODE" => "PM_CASES", "PER_NAME" => "Create Users"
+ ), array("PER_UID" => "00000000000000000000000000000006", "PER_CODE" => "PM_ALLCASES", "PER_NAME" => "All Cases"
+ ), array("PER_UID" => "00000000000000000000000000000007", "PER_CODE" => "PM_REASSIGNCASE", "PER_NAME" =>
+ "Reassign case"
+ ), array("PER_UID" => "00000000000000000000000000000008", "PER_CODE" => "PM_REPORTS", "PER_NAME" => "PM reports"
+ ), array("PER_UID" => "00000000000000000000000000000009", "PER_CODE" => "PM_SUPERVISOR", "PER_NAME" =>
+ "Supervisor"
+ ), array("PER_UID" => "00000000000000000000000000000010", "PER_CODE" => "PM_SETUP_ADVANCE", "PER_NAME" =>
+ "Setup Advanced"
+ ), array("PER_UID" => "00000000000000000000000000000011", "PER_CODE" => "PM_DASHBOARD", "PER_NAME" => "Dashboard"
+ ), array("PER_UID" => "00000000000000000000000000000012", "PER_CODE" => "PM_WEBDAV", "PER_NAME" => "WebDav"
+ ), array("PER_UID" => "00000000000000000000000000000013", "PER_CODE" => "PM_DELETECASE", "PER_NAME" => "Cancel
+ cases"
+ ), array("PER_UID" => "00000000000000000000000000000014", "PER_CODE" => "PM_EDITPERSONALINFO", "PER_NAME" =>
+ "Edit Personal Info"
+ ), array("PER_UID" => "00000000000000000000000000000015", "PER_CODE" => "PM_FOLDERS_VIEW", "PER_NAME" => "View
+ Folders"
+ ), array("PER_UID" => "00000000000000000000000000000016", "PER_CODE" => "PM_FOLDERS_ADD_FOLDER", "PER_NAME" =>
+ "Delete folders"
+ ), array("PER_UID" => "00000000000000000000000000000017", "PER_CODE" => "PM_FOLDERS_ADD_FILE", "PER_NAME" =>
+ "Delete folders"
+ ), array("PER_UID" => "00000000000000000000000000000018", "PER_CODE" => "PM_CANCELCASE", "PER_NAME" => "Cancel
+ cases"
+ ), array("PER_UID" => "00000000000000000000000000000019", "PER_CODE" => "PM_FOLDER_DELETE", "PER_NAME" =>
+ "Cancel cases"
+ ), array("PER_UID" => "00000000000000000000000000000020", "PER_CODE" => "PM_SETUP_LOGO", "PER_NAME" => "Setup
+ Logo"
+ ), array("PER_UID" => "00000000000000000000000000000021", "PER_CODE" => "PM_SETUP_EMAIL", "PER_NAME" => "Setup
+ Email"
+ ), array("PER_UID" => "00000000000000000000000000000022", "PER_CODE" => "PM_SETUP_CALENDAR", "PER_NAME" =>
+ "Setup Calendar"
+ ), array("PER_UID" => "00000000000000000000000000000023", "PER_CODE" => "PM_SETUP_PROCESS_CATEGORIES",
+ "PER_NAME" => "Setup Process Categories"
+ ), array("PER_UID" => "00000000000000000000000000000024", "PER_CODE" => "PM_SETUP_CLEAR_CACHE", "PER_NAME" =>
+ "Setup Clear Cache"
+ ), array("PER_UID" => "00000000000000000000000000000025", "PER_CODE" => "PM_SETUP_HEART_BEAT", "PER_NAME" =>
+ "Setup Heart Beat"
+ ), array("PER_UID" => "00000000000000000000000000000026", "PER_CODE" => "PM_SETUP_ENVIRONMENT", "PER_NAME" =>
+ "Setup Environment"
+ ), array("PER_UID" => "00000000000000000000000000000027", "PER_CODE" => "PM_SETUP_PM_TABLES", "PER_NAME" =>
+ "Setup PM Tables"
+ ), array("PER_UID" => "00000000000000000000000000000028", "PER_CODE" => "PM_SETUP_LOGIN", "PER_NAME" => "Setup
+ Login"
+ ), array("PER_UID" => "00000000000000000000000000000029", "PER_CODE" => "PM_SETUP_DASHBOARDS", "PER_NAME" =>
+ "Setup Dashboards"
+ ), array("PER_UID" => "00000000000000000000000000000030", "PER_CODE" => "PM_SETUP_LANGUAGE", "PER_NAME" =>
+ "Setup Language"
+ ), array("PER_UID" => "00000000000000000000000000000031", "PER_CODE" => "PM_SETUP_SKIN", "PER_NAME" => "Setup
+ Skin"
+ ), array("PER_UID" => "00000000000000000000000000000032", "PER_CODE" => "PM_SETUP_CASES_LIST_CACHE_BUILDER",
+ "PER_NAME" => "Setup Case List Cache Builder"
+ ), array("PER_UID" => "00000000000000000000000000000033", "PER_CODE" => "PM_SETUP_PLUGINS", "PER_NAME" =>
+ "Setup Plugins"
+ ), array("PER_UID" => "00000000000000000000000000000034", "PER_CODE" =>
+ "PM_SETUP_USERS_AUTHENTICATION_SOURCES", "PER_NAME" => "Setup User Authentication Sources"
+ ), array("PER_UID" => "00000000000000000000000000000035", "PER_CODE" => "PM_SETUP_LOGS", "PER_NAME" => "Setup
+ Logs"
+ ), array("PER_UID" => "00000000000000000000000000000036", "PER_CODE" => "DELETE_PROCESS_CASES", "PER_NAME" =>
+ "Delete process cases"
+ ), array("PER_UID" => "00000000000000000000000000000037", "PER_CODE" => "PM_EDITPERSONALINFO_CALENDAR",
+ "PER_NAME" => "Edit personal info Calendar"
)
);
return $permissionsAdmin;
@@ -400,7 +449,7 @@ class RBAC
* @param string $uid id of user
* @param string $system Code of System
* @param string $perm id of Permissions
- * @return 1: If it is ok
+ * @return int 1: If it is ok
* -1: System doesn't exists
* -2: The User has not a Role
* -3: The User has not this Permission.
@@ -827,6 +876,20 @@ class RBAC
return $this->rolesObj->assignUserToRole( $aData );
}
+ /**
+ * this function gets role permission
+ *
+ *
+ * @access public
+ *
+ * @param string $ROL_UID
+ * @return $this->rolesObj->getRolePermissionsByRoleUid
+ */
+ public function getRolePermissionsByRoleUid ($ROL_UID)
+ {
+ return $this->rolesObj->getRolePermissionsByRoleUid( $ROL_UID );
+ }
+
/**
* this function gets role permission
*
@@ -1134,6 +1197,9 @@ class RBAC
return true;
} else {
switch ($access) {
+ case - 3:
+ G::pr(G::LoadTranslation("ID_GRID_PAGE_NO_PERMISSIONS_MESSAGE"));
+ break;
case - 2:
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
G::header( 'location: ../login/login' );
@@ -1224,6 +1290,8 @@ class RBAC
$aRow = $dataset->getRow();
}
foreach($listPermissions as $key => $item) {
+ //Adding new permissions
+ $data = array();
$data['PER_UID'] = $item['PER_UID'];
$data['PER_CODE'] = $item['PER_CODE'];
$data['PER_CREATE_DATE'] = date('Y-m-d H:i:s');
@@ -1233,6 +1301,33 @@ class RBAC
$permission->fromArray($data, BasePeer::TYPE_FIELDNAME);
$permission->save();
$message[] = 'Add permission missing ' . $item['PER_CODE'];
+
+ //Adding new labels for new permissions
+ $o = new RolesPermissions();
+ $o->setPerUid($item['PER_UID']);
+ $o->setPermissionName($item['PER_NAME']);
+
+ //Assigning new permissions
+ $rolesWithPermissionSetup = $this->getRolePermissionsByRoleUid(self::SETUPERMISSIONUID);
+ $rolesWithPermissionSetup->next();
+ while ($aRow = $rolesWithPermissionSetup->getRow()) {
+ $userRolePermission = $this->getRolePermissions($aRow['ROL_UID']);
+ $userRolePermission->next();
+ $valueNewPermissions = false;
+ while ($aRowPermission = $userRolePermission->getRow()) {
+ if ($item['PER_CODE'] === $aRowPermission['PER_CODE']) {
+ $valueNewPermissions = true;
+ }
+ $userRolePermission->next();
+ }
+ $dataPermissions = array();
+ if (!$valueNewPermissions) {
+ $dataPermissions['ROL_UID'] = $aRow['ROL_UID'];
+ $dataPermissions['PER_UID'] = $item['PER_UID'];
+ $this->assignPermissionRole($dataPermissions);
+ }
+ $rolesWithPermissionSetup->next();
+ }
}
return $message;
}
diff --git a/rbac/engine/classes/model/Roles.php b/rbac/engine/classes/model/Roles.php
index 2561aeff2..d789b82cd 100755
--- a/rbac/engine/classes/model/Roles.php
+++ b/rbac/engine/classes/model/Roles.php
@@ -545,6 +545,22 @@ class Roles extends BaseRoles {
G::auditLog("DeleteUserToRole", "Delete user ".$user['USR_USERNAME']." (".$USR_UID.") to Role ".$rol['ROL_NAME']." (".$ROL_UID.") ");
}
+ function getRolePermissionsByPerUid($roleUid){
+ try {
+ $criteria = new Criteria();
+ $criteria->addSelectColumn(RolesPermissionsPeer::ROL_UID);
+ $criteria->addSelectColumn(RolesPermissionsPeer::PER_UID);
+ $criteria->add(RolesPermissionsPeer::PER_UID, $roleUid);
+
+ $oDataset = RolesPeer::doSelectRS($criteria);
+ $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+
+ return $oDataset;
+
+ } catch( exception $e ) {
+ throw $e;
+ }
+ }
function getRolePermissions($ROL_UID, $filter='', $status=null) {
try {
$criteria = new Criteria();
diff --git a/rbac/engine/config/schema.xml b/rbac/engine/config/schema.xml
index 2b82770e3..74a992a53 100755
--- a/rbac/engine/config/schema.xml
+++ b/rbac/engine/config/schema.xml
@@ -23,7 +23,7 @@
-
+
diff --git a/rbac/engine/data/mssql/schema.sql b/rbac/engine/data/mssql/schema.sql
index e004b83f4..918be57b2 100755
--- a/rbac/engine/data/mssql/schema.sql
+++ b/rbac/engine/data/mssql/schema.sql
@@ -33,7 +33,7 @@ END
CREATE TABLE [RBAC_PERMISSIONS]
(
[PER_UID] VARCHAR(32) default '' NOT NULL,
- [PER_CODE] VARCHAR(32) default '' NOT NULL,
+ [PER_CODE] VARCHAR(64) default '' NOT NULL,
[PER_CREATE_DATE] CHAR(19) default '0000-00-00 00:00:00' NOT NULL,
[PER_UPDATE_DATE] CHAR(19) default '0000-00-00 00:00:00' NOT NULL,
[PER_STATUS] INT default 1 NOT NULL,
diff --git a/rbac/engine/data/mysql/insert.sql b/rbac/engine/data/mysql/insert.sql
index 0c56ae23a..9bbed0f05 100755
--- a/rbac/engine/data/mysql/insert.sql
+++ b/rbac/engine/data/mysql/insert.sql
@@ -17,7 +17,23 @@ INSERT INTO `RBAC_PERMISSIONS` VALUES
('00000000000000000000000000000016','PM_FOLDERS_ADD_FOLDER','2009-10-12 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
('00000000000000000000000000000017','PM_FOLDERS_ADD_FILE','2009-10-12 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
('00000000000000000000000000000018','PM_CANCELCASE','2011-12-11 00:00:00','2011-12-11 00:00:00',1,'00000000000000000000000000000002'),
-('00000000000000000000000000000019','PM_FOLDER_DELETE','2011-12-11 00:00:00','2011-12-11 00:00:00',1,'00000000000000000000000000000002');
+('00000000000000000000000000000019','PM_FOLDER_DELETE','2011-12-11 00:00:00','2011-12-11 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000020','PM_SETUP_LOGO','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000021','PM_SETUP_EMAIL','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'000000000000000000000000000000022'),
+('00000000000000000000000000000022','PM_SETUP_CALENDAR','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000023','PM_SETUP_PROCESS_CATEGORIES','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000024','PM_SETUP_CLEAR_CACHE','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000025','PM_SETUP_HEART_BEAT','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000026','PM_SETUP_ENVIRONMENT','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000027','PM_SETUP_PM_TABLES','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000028','PM_SETUP_LOGIN','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000029','PM_SETUP_DASHBOARDS','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000030','PM_SETUP_LANGUAGE','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000031','PM_SETUP_SKIN','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000032','PM_SETUP_CASES_LIST_CACHE_BUILDER','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000033','PM_SETUP_PLUGINS','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000034','PM_SETUP_USERS_AUTHENTICATION_SOURCES','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002'),
+('00000000000000000000000000000035','PM_SETUP_LOGS','2016-03-01 00:00:00','0000-00-00 00:00:00',1,'00000000000000000000000000000002');
INSERT INTO `RBAC_ROLES` VALUES
('00000000000000000000000000000001','','00000000000000000000000000000001','RBAC_ADMIN','2007-07-31 19:10:22','2007-08-03 12:24:36',1),
@@ -46,23 +62,59 @@ INSERT INTO `RBAC_ROLES_PERMISSIONS` VALUES
('00000000000000000000000000000002','00000000000000000000000000000017'),
('00000000000000000000000000000002','00000000000000000000000000000018'),
('00000000000000000000000000000002','00000000000000000000000000000019'),
+('00000000000000000000000000000002','00000000000000000000000000000020'),
+('00000000000000000000000000000002','00000000000000000000000000000021'),
+('00000000000000000000000000000002','00000000000000000000000000000022'),
+('00000000000000000000000000000002','00000000000000000000000000000023'),
+('00000000000000000000000000000002','00000000000000000000000000000024'),
+('00000000000000000000000000000002','00000000000000000000000000000025'),
+('00000000000000000000000000000002','00000000000000000000000000000026'),
+('00000000000000000000000000000002','00000000000000000000000000000027'),
+('00000000000000000000000000000002','00000000000000000000000000000028'),
+('00000000000000000000000000000002','00000000000000000000000000000029'),
+('00000000000000000000000000000002','00000000000000000000000000000030'),
+('00000000000000000000000000000002','00000000000000000000000000000031'),
+('00000000000000000000000000000002','00000000000000000000000000000032'),
+('00000000000000000000000000000002','00000000000000000000000000000033'),
+('00000000000000000000000000000002','00000000000000000000000000000034'),
+('00000000000000000000000000000002','00000000000000000000000000000035'),
+('00000000000000000000000000000002','00000000000000000000000000000036'),
+('00000000000000000000000000000002','00000000000000000000000000000037'),
('00000000000000000000000000000003','00000000000000000000000000000001'),
('00000000000000000000000000000003','00000000000000000000000000000005'),
-('00000000000000000000000000000004', '00000000000000000000000000000001'),
-('00000000000000000000000000000004', '00000000000000000000000000000003'),
-('00000000000000000000000000000004', '00000000000000000000000000000005'),
-('00000000000000000000000000000004', '00000000000000000000000000000006'),
-('00000000000000000000000000000004', '00000000000000000000000000000007'),
-('00000000000000000000000000000004', '00000000000000000000000000000008'),
-('00000000000000000000000000000004', '00000000000000000000000000000009'),
-('00000000000000000000000000000004', '00000000000000000000000000000011'),
-('00000000000000000000000000000004', '00000000000000000000000000000013'),
-('00000000000000000000000000000004', '00000000000000000000000000000014'),
-('00000000000000000000000000000004', '00000000000000000000000000000015'),
-('00000000000000000000000000000004', '00000000000000000000000000000016'),
-('00000000000000000000000000000004', '00000000000000000000000000000017'),
-('00000000000000000000000000000004', '00000000000000000000000000000018'),
-('00000000000000000000000000000004', '00000000000000000000000000000019');
+('00000000000000000000000000000004','00000000000000000000000000000001'),
+('00000000000000000000000000000004','00000000000000000000000000000003'),
+('00000000000000000000000000000004','00000000000000000000000000000005'),
+('00000000000000000000000000000004','00000000000000000000000000000006'),
+('00000000000000000000000000000004','00000000000000000000000000000007'),
+('00000000000000000000000000000004','00000000000000000000000000000008'),
+('00000000000000000000000000000004','00000000000000000000000000000009'),
+('00000000000000000000000000000004','00000000000000000000000000000011'),
+('00000000000000000000000000000004','00000000000000000000000000000013'),
+('00000000000000000000000000000004','00000000000000000000000000000014'),
+('00000000000000000000000000000004','00000000000000000000000000000015'),
+('00000000000000000000000000000004','00000000000000000000000000000016'),
+('00000000000000000000000000000004','00000000000000000000000000000017'),
+('00000000000000000000000000000004','00000000000000000000000000000018'),
+('00000000000000000000000000000004','00000000000000000000000000000019'),
+('00000000000000000000000000000004','00000000000000000000000000000020'),
+('00000000000000000000000000000004','00000000000000000000000000000021'),
+('00000000000000000000000000000004','00000000000000000000000000000022'),
+('00000000000000000000000000000004','00000000000000000000000000000023'),
+('00000000000000000000000000000004','00000000000000000000000000000024'),
+('00000000000000000000000000000004','00000000000000000000000000000025'),
+('00000000000000000000000000000004','00000000000000000000000000000026'),
+('00000000000000000000000000000004','00000000000000000000000000000027'),
+('00000000000000000000000000000004','00000000000000000000000000000028'),
+('00000000000000000000000000000004','00000000000000000000000000000029'),
+('00000000000000000000000000000004','00000000000000000000000000000030'),
+('00000000000000000000000000000004','00000000000000000000000000000031'),
+('00000000000000000000000000000004','00000000000000000000000000000032'),
+('00000000000000000000000000000004','00000000000000000000000000000033'),
+('00000000000000000000000000000004','00000000000000000000000000000034'),
+('00000000000000000000000000000004','00000000000000000000000000000035'),
+('00000000000000000000000000000004','00000000000000000000000000000036'),
+('00000000000000000000000000000004','00000000000000000000000000000037');
INSERT INTO `RBAC_SYSTEMS` VALUES ('00000000000000000000000000000001','RBAC','2007-07-31 19:10:22','2007-08-03 12:24:36',1),('00000000000000000000000000000002','PROCESSMAKER','2007-07-31 19:10:22','2007-08-03 12:24:36',1);
INSERT INTO `RBAC_USERS` VALUES ('00000000000000000000000000000001','admin','21232f297a57a5a743894a0e4a801fc3','Administrator','','admin@processmaker.com','2020-01-01','2007-08-03 12:24:36','2008-02-13 07:24:07',1,'MYSQL','00000000000000000000000000000000','','');
diff --git a/rbac/engine/data/mysql/schema.sql b/rbac/engine/data/mysql/schema.sql
index 40de34f8c..a4078ddac 100755
--- a/rbac/engine/data/mysql/schema.sql
+++ b/rbac/engine/data/mysql/schema.sql
@@ -13,7 +13,7 @@ DROP TABLE IF EXISTS `RBAC_PERMISSIONS`;
CREATE TABLE `RBAC_PERMISSIONS`
(
`PER_UID` VARCHAR(32) default '' NOT NULL,
- `PER_CODE` VARCHAR(32) default '' NOT NULL,
+ `PER_CODE` VARCHAR(64) default '' NOT NULL,
`PER_CREATE_DATE` DATETIME,
`PER_UPDATE_DATE` DATETIME,
`PER_STATUS` INTEGER default 1 NOT NULL,
diff --git a/rbac/engine/data/oracle/schema.sql b/rbac/engine/data/oracle/schema.sql
index dc61283d7..913713729 100755
--- a/rbac/engine/data/oracle/schema.sql
+++ b/rbac/engine/data/oracle/schema.sql
@@ -10,7 +10,7 @@ DROP TABLE "RBAC_PERMISSIONS" CASCADE CONSTRAINTS;
CREATE TABLE "RBAC_PERMISSIONS"
(
"PER_UID" VARCHAR2(32) default '' NOT NULL,
- "PER_CODE" VARCHAR2(32) default '' NOT NULL,
+ "PER_CODE" VARCHAR2(64) default '' NOT NULL,
"PER_CREATE_DATE" DATE default '0000-00-00 00:00:00' NOT NULL,
"PER_UPDATE_DATE" DATE default '0000-00-00 00:00:00' NOT NULL,
"PER_STATUS" NUMBER default 1 NOT NULL
diff --git a/workflow/engine/classes/class.wsTools.php b/workflow/engine/classes/class.wsTools.php
index c6bf7aa1a..c714d880e 100755
--- a/workflow/engine/classes/class.wsTools.php
+++ b/workflow/engine/classes/class.wsTools.php
@@ -185,13 +185,13 @@ class workspaceTools
$key = isset($matches['key']) ? $matches['key'] : $matches[2];
$value = isset($matches['value']) ? $matches['value'] : $matches[3];
- if($this->onedb){
- $dbInfo = $this->getDBInfo();
+ if ($this->onedb) {
+ $dbInfo = $this->getDBInfo();
$dbPrefix = array('DB_NAME' => 'wf_', 'DB_USER' => 'wf_', 'DB_RBAC_NAME' => 'wf_', 'DB_RBAC_USER' => 'wf_', 'DB_REPORT_NAME' => 'wf_', 'DB_REPORT_USER' => 'wf_');
- if (array_search($key, array('DB_PASS', 'DB_RBAC_PASS', 'DB_REPORT_PASS'))) {
- $value = $dbInfo['DB_PASS'];
- }
- } else{
+ if (array_search($key, array('DB_PASS', 'DB_RBAC_PASS', 'DB_REPORT_PASS'))) {
+ $value = $dbInfo['DB_PASS'];
+ }
+ } else {
$dbPrefix = array('DB_NAME' => 'wf_', 'DB_USER' => 'wf_', 'DB_RBAC_NAME' => 'rb_', 'DB_RBAC_USER' => 'rb_', 'DB_REPORT_NAME' => 'rp_', 'DB_REPORT_USER' => 'rp_');
}
@@ -203,16 +203,16 @@ class workspaceTools
/* Change the database name to the new workspace, following the standard
* of prefix (either wf_, rp_, rb_) and the workspace name.
*/
- if($this->unify){
- $nameDb = explode("_", $value);
- if(!isset($nameDb[1])){
- $dbName = $value;
- } else {
- $dbName = $dbPrefix[$key] . $nameDb[1];
- }
- }else {
- $dbName = $dbPrefix[$key] . $this->name;
- }
+ if ($this->unify) {
+ $nameDb = explode("_", $value);
+ if (!isset($nameDb[1])) {
+ $dbName = $value;
+ } else {
+ $dbName = $dbPrefix[$key] . $nameDb[1];
+ }
+ } else {
+ $dbName = $dbPrefix[$key] . $this->name;
+ }
} else {
$dbName = $value;
}
@@ -301,10 +301,10 @@ class workspaceTools
$rpDetails = $this->getDBCredentials("rp");
$config = array('datasources' => array('workflow' => array('connection' => $wfDetails["dsn"], 'adapter' => $wfDetails["adapter"]
- ), 'rbac' => array('connection' => $rbDetails["dsn"], 'adapter' => $rbDetails["adapter"]
- ), 'rp' => array('connection' => $rpDetails["dsn"], 'adapter' => $rpDetails["adapter"]
- )
- )
+ ), 'rbac' => array('connection' => $rbDetails["dsn"], 'adapter' => $rbDetails["adapter"]
+ ), 'rp' => array('connection' => $rpDetails["dsn"], 'adapter' => $rpDetails["adapter"]
+ )
+ )
);
if ($root) {
@@ -327,8 +327,8 @@ class workspaceTools
$this->initPropel = true;
- require_once ("propel/Propel.php");
- require_once ("creole/Creole.php");
+ require_once("propel/Propel.php");
+ require_once("creole/Creole.php");
Propel::initConfiguration($config);
}
@@ -397,10 +397,10 @@ class workspaceTools
}
G::LoadSystem('database_' . strtolower($this->dbAdapter));
- if ($rbac == true){
+ if ($rbac == true) {
$this->db = new database($this->dbAdapter, $this->dbRbacHost, $this->dbRbacUser, $this->dbRbacPass, $this->dbRbacName);
} else {
- $this->db = new database($this->dbAdapter, $this->dbHost, $this->dbUser, $this->dbPass, $this->dbName);
+ $this->db = new database($this->dbAdapter, $this->dbHost, $this->dbUser, $this->dbPass, $this->dbName);
}
if (!$this->db->isConnected()) {
$this->db->logQuery('No available connection to database!');
@@ -437,7 +437,7 @@ class workspaceTools
*/
public function getSchema($rbac = false)
{
- $oDataBase = $this->getDatabase($rbac);
+ $oDataBase = $this->getDatabase($rbac);
$aOldSchema = array();
@@ -491,8 +491,8 @@ class workspaceTools
/**
* Upgrade triggers of tables (Database)
*
- * @param bool $flagRecreate Recreate
- * @param string $language Language
+ * @param bool $flagRecreate Recreate
+ * @param string $language Language
*
* return void
*/
@@ -557,19 +557,7 @@ class workspaceTools
//Update APP_DELEGATION.DEL_LAST_INDEX data
$res = $appCache->updateAppDelegationDelLastIndex($lang, $flagRecreate);
- CLI::logging("-> Verifying roles permissions in RBAC \n");
- //Update table RBAC permissions
- Bootstrap::LoadSystem( 'rbac' );
- $RBAC = & RBAC::getSingleton();
- $RBAC->initRBAC();
- $result = $RBAC->verifyPermissions();
- if (count($result) > 1) {
- foreach ($result as $item) {
- CLI::logging(" $item... \n");
- }
- } else {
- CLI::logging(" All roles permissions already updated \n");
- }
+
CLI::logging("-> Creating triggers\n");
@@ -595,25 +583,25 @@ class workspaceTools
//close connection
if (substr(PHP_OS, 0, 3) != 'WIN') {
- $connection = Propel::getConnection( 'workflow' );
+ $connection = Propel::getConnection('workflow');
$sql_sleep = "SELECT * FROM information_schema.processlist WHERE command = 'Sleep' and user = SUBSTRING_INDEX(USER(),'@',1) and db = DATABASE() ORDER BY id;";
$stmt_sleep = $connection->createStatement();
- $rs_sleep = $stmt_sleep->executeQuery( $sql_sleep, ResultSet::FETCHMODE_ASSOC );
+ $rs_sleep = $stmt_sleep->executeQuery($sql_sleep, ResultSet::FETCHMODE_ASSOC);
while ($rs_sleep->next()) {
$row_sleep = $rs_sleep->getRow();
- $oStatement_sleep = $connection->prepareStatement( "kill ". $row_sleep['ID'] );
+ $oStatement_sleep = $connection->prepareStatement("kill " . $row_sleep['ID']);
$oStatement_sleep->executeQuery();
}
$sql_query = "SELECT * FROM information_schema.processlist WHERE user = SUBSTRING_INDEX(USER(),'@',1) and db = DATABASE() and time > 0 ORDER BY id;";
$stmt_query = $connection->createStatement();
- $rs_query = $stmt_query->executeQuery( $sql_query, ResultSet::FETCHMODE_ASSOC );
+ $rs_query = $stmt_query->executeQuery($sql_query, ResultSet::FETCHMODE_ASSOC);
while ($rs_query->next()) {
$row_query = $rs_query->getRow();
- $oStatement_query = $connection->prepareStatement( "kill ". $row_query['ID'] );
+ $oStatement_query = $connection->prepareStatement("kill " . $row_query['ID']);
$oStatement_query->executeQuery();
}
}
@@ -623,9 +611,9 @@ class workspaceTools
* fix the 32K issue, by migrating /files directory structure to an uid tree structure based.
* @param $workspace got the site(s) the manager wants to upgrade
*/
- public function upgradeCasesDirectoryStructure ($workspace)
+ public function upgradeCasesDirectoryStructure($workspace)
{
- define('PATH_DOCUMENT', PATH_DATA . 'sites/' . $workspace . '/' . 'files/');
+ define('PATH_DOCUMENT', PATH_DATA . 'sites/' . $workspace . '/' . 'files/');
$doclevel = explode('/', PATH_DOCUMENT);
$length = sizeof(PATH_DOCUMENT);
$filesDir = $doclevel[$length - 1];
@@ -640,7 +628,7 @@ class workspaceTools
$directory = glob(PATH_DOCUMENT . "*", GLOB_ONLYDIR);
$dirslength = sizeof($directory);
- if (! @chdir(PATH_DOCUMENT)) {
+ if (!@chdir(PATH_DOCUMENT)) {
CLI::logging(CLI::error("Cannot use Document directory. The upgrade must be done as root.\n"));
return;
}
@@ -704,13 +692,13 @@ class workspaceTools
G::LoadClass("configuration");
$conf = new Configurations();
if (!$conf->exists("ENVIRONMENT_SETTINGS")) {
- $conf->aConfig = array ("format" => '@userName (@firstName @lastName)',
- "dateFormat" => 'd/m/Y',
- "startCaseHideProcessInf" => false,
- "casesListDateFormat" => 'Y-m-d H:i:s',
- "casesListRowNumber" => 25,
- "casesListRefreshTime" => 120 );
- $conf->saveConfig( 'ENVIRONMENT_SETTINGS', '' );
+ $conf->aConfig = array("format" => '@userName (@firstName @lastName)',
+ "dateFormat" => 'd/m/Y',
+ "startCaseHideProcessInf" => false,
+ "casesListDateFormat" => 'Y-m-d H:i:s',
+ "casesListRowNumber" => 25,
+ "casesListRefreshTime" => 120);
+ $conf->saveConfig('ENVIRONMENT_SETTINGS', '');
}
$conf->setDirectoryStructureVer(2);
CLI::logging(CLI::info("Version Directory Structure is 2 now.\n"));
@@ -736,18 +724,19 @@ class workspaceTools
* @param bool $checkOnly only check if the upgrade is needed if true
* @return array bool upgradeSchema for more information
*/
- public function upgradeDatabase ($onedb = false, $checkOnly = false)
+ public function upgradeDatabase($onedb = false, $checkOnly = false)
{
G::LoadClass("patch");
- $this->initPropel( true );
+ $this->initPropel(true);
p11835::$dbAdapter = $this->dbAdapter;
p11835::isApplicable();
$systemSchema = System::getSystemSchema($this->dbAdapter);
$systemSchemaRbac = System::getSystemSchemaRbac($this->dbAdapter);// get the Rbac Schema
$this->registerSystemTables(array_merge($systemSchema,$systemSchemaRbac));
- $this->upgradeSchema( $systemSchema );
- $this->upgradeSchema( $systemSchemaRbac, false, true, $onedb ); // perform Upgrade to Rbac
+ $this->upgradeSchema($systemSchema);
+ $this->upgradeSchema($systemSchemaRbac, false, true, $onedb); // perform Upgrade to Rbac
$this->upgradeData();
+ $this->checkRbacPermissions();//check or add new permissions
//There records in table "EMAIL_SERVER"
$criteria = new Criteria("workflow");
@@ -1302,7 +1291,7 @@ class workspaceTools
//check function shell_exec
$disabled_functions = ini_get('disable_functions');
$flag = false;
- if ($disabled_functions!='') {
+ if ($disabled_functions != '') {
$arr = explode(',', $disabled_functions);
sort($arr);
if (in_array("shell_exec", $arr)) {
@@ -1312,39 +1301,39 @@ class workspaceTools
// Check if mysql exist on server
$flagFunction = null;
- if ( !$flag ) {
+ if (!$flag) {
$flagFunction = shell_exec('mysql --version');
}
- $arrayRegExpEngineSearch = array("/\)\s*TYPE\s*=\s*(InnoDB)/i", "/\)\s*TYPE\s*=\s*(MyISAM)/i");
+ $arrayRegExpEngineSearch = array("/\)\s*TYPE\s*=\s*(InnoDB)/i", "/\)\s*TYPE\s*=\s*(MyISAM)/i");
$arrayRegExpEngineReplace = array(") ENGINE=\\1 DEFAULT CHARSET=utf8", ") ENGINE=\\1");
- if ( !$flag && !is_null($flagFunction) ) {
+ if (!$flag && !is_null($flagFunction)) {
//Replace TYPE by ENGINE
$script = preg_replace($arrayRegExpEngineSearch, $arrayRegExpEngineReplace, file_get_contents($filename));
- file_put_contents($filename,$script);
+ file_put_contents($filename, $script);
- $aHost = explode(':',$parameters['dbHost']);
+ $aHost = explode(':', $parameters['dbHost']);
$dbHost = $aHost[0];
- if(isset($aHost[1])){
+ if (isset($aHost[1])) {
$dbPort = $aHost[1];
$command = 'mysql'
- . ' --host=' . $dbHost
- . ' --port=' . $dbPort
- . ' --user=' . $parameters['dbUser']
- . ' --password=' . str_replace('"', '\"', str_replace("'", "\'", quotemeta($parameters['dbPass'])))//no change! supports the type passwords: .\+*?[^]($)'"\"'
- . ' --database=' . mysql_real_escape_string($database)
- . ' --default_character_set utf8'
- . ' --execute="SOURCE '.$filename.'"';
- }else{
+ . ' --host=' . $dbHost
+ . ' --port=' . $dbPort
+ . ' --user=' . $parameters['dbUser']
+ . ' --password=' . str_replace('"', '\"', str_replace("'", "\'", quotemeta($parameters['dbPass'])))//no change! supports the type passwords: .\+*?[^]($)'"\"'
+ . ' --database=' . mysql_real_escape_string($database)
+ . ' --default_character_set utf8'
+ . ' --execute="SOURCE ' . $filename . '"';
+ } else {
$command = 'mysql'
- . ' --host=' . $dbHost
- . ' --user=' . $parameters['dbUser']
- . ' --password=' . str_replace('"', '\"', str_replace("'", "\'", quotemeta($parameters['dbPass'])))//no change! supports the type passwords: .\+*?[^]($)'"\"'
- . ' --database=' . mysql_real_escape_string($database)
- . ' --default_character_set utf8'
- . ' --execute="SOURCE '.$filename.'"';
+ . ' --host=' . $dbHost
+ . ' --user=' . $parameters['dbUser']
+ . ' --password=' . str_replace('"', '\"', str_replace("'", "\'", quotemeta($parameters['dbPass'])))//no change! supports the type passwords: .\+*?[^]($)'"\"'
+ . ' --database=' . mysql_real_escape_string($database)
+ . ' --default_character_set utf8'
+ . ' --execute="SOURCE ' . $filename . '"';
}
shell_exec($command);
} else {
@@ -1431,7 +1420,7 @@ class workspaceTools
$metafiles = array();
foreach ($backup->listContent() as $backupFile) {
$filename = $backupFile["filename"];
- if (strpos($filename, "/") === false && substr_compare($filename, ".meta", - 5, 5, true) === 0) {
+ if (strpos($filename, "/") === false && substr_compare($filename, ".meta", -5, 5, true) === 0) {
if (!$backup->extractList(array($filename), $tempDirectory)) {
throw new Exception("Could not extract backup");
}
@@ -1445,7 +1434,7 @@ class workspaceTools
$data = file_get_contents($metafile);
$workspaceData = G::json_decode($data);
CLI::logging("\n");
- workspaceTools::printInfo((array) $workspaceData);
+ workspaceTools::printInfo((array)$workspaceData);
}
G::rm_dir($tempDirectory);
@@ -1458,7 +1447,7 @@ class workspaceTools
$chmod = @chmod($filename, $perms);
if ($chgrp === false || $chmod === false || $chown === false) {
- if (strtoupper( substr( PHP_OS, 0, 3 ) ) === 'WIN') {
+ if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
exec("icacls \"" . $filename . "\" /grant Administrador:(D,WDAC) /T", $res);
} else {
CLI::logging(CLI::error("Failed to set permissions for $filename") . "\n");
@@ -1524,7 +1513,7 @@ class workspaceTools
}
$version = System::getVersion();
- $pmVersion = (preg_match("/^([\d\.]+).*$/", $version, $arrayMatch))? $arrayMatch[1] : ""; //Otherwise: Branch master
+ $pmVersion = (preg_match("/^([\d\.]+).*$/", $version, $arrayMatch)) ? $arrayMatch[1] : ""; //Otherwise: Branch master
CLI::logging(CLI::warning("
Warning: A workspace from a newer version of ProcessMaker can NOT be restored in an older version of
@@ -1604,10 +1593,10 @@ class workspaceTools
CLI::logging(CLI::error("Could not get the shared folder permissions, not changing workspace permissions") . "\n");
}
list ($dbHost, $dbUser, $dbPass) = @explode(SYSTEM_HASH, G::decrypt(HASH_INSTALLATION, SYSTEM_HASH));
- if($port != ''){
- $dbHost = $dbHost.$port; //127.0.0.1:3306
+ if ($port != '') {
+ $dbHost = $dbHost . $port; //127.0.0.1:3306
}
- $aParameters = array('dbHost'=>$dbHost,'dbUser'=>$dbUser,'dbPass'=>$dbPass);
+ $aParameters = array('dbHost' => $dbHost, 'dbUser' => $dbUser, 'dbPass' => $dbPass);
//Restore
if (!defined("SYS_SYS")) {
@@ -1618,7 +1607,7 @@ class workspaceTools
define("PATH_DATA_SITE", PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP);
}
- $pmVersionWorkspaceToRestore = (preg_match("/^([\d\.]+).*$/", $metadata->PM_VERSION, $arrayMatch))? $arrayMatch[1] : "";
+ $pmVersionWorkspaceToRestore = (preg_match("/^([\d\.]+).*$/", $metadata->PM_VERSION, $arrayMatch)) ? $arrayMatch[1] : "";
CLI::logging("> Connecting to system database in '$dbHost'\n");
$link = mysql_connect($dbHost, $dbUser, $dbPass);
@@ -1638,13 +1627,13 @@ class workspaceTools
$dbName = $newDBNames[$db->name];
if (mysql_select_db($dbName, $link)) {
- if(!$overwrite) {
+ if (!$overwrite) {
throw new Exception("Destination Database already exist (use -o to overwrite)");
}
}
CLI::logging("+> Restoring database {$db->name} to $dbName\n");
- $workspace->executeSQLScript($dbName, "$tempDirectory/{$db->name}.sql",$aParameters);
+ $workspace->executeSQLScript($dbName, "$tempDirectory/{$db->name}.sql", $aParameters);
$workspace->createDBUser($dbName, $db->pass, "localhost", $dbName);
$workspace->createDBUser($dbName, $db->pass, "%", $dbName);
}
@@ -1716,9 +1705,9 @@ class workspaceTools
$arrayPathInfo = pathinfo($file);
- $f = ($arrayPathInfo["dirname"] == ".")? $dirHotfix . PATH_SEP . $file : $file;
+ $f = ($arrayPathInfo["dirname"] == ".") ? $dirHotfix . PATH_SEP . $file : $file;
- $swv = 1;
+ $swv = 1;
$msgv = "";
if (!file_exists($dirHotfix)) {
@@ -1726,13 +1715,13 @@ class workspaceTools
}
if (!file_exists($f)) {
- $swv = 0;
- $msgv = $msgv . (($msgv != "")? "\n": null) . "- The file \"$f\" does not exist";
+ $swv = 0;
+ $msgv = $msgv . (($msgv != "") ? "\n" : null) . "- The file \"$f\" does not exist";
}
if ($arrayPathInfo["extension"] != "tar") {
- $swv = 0;
- $msgv = $msgv . (($msgv != "")? "\n": null) . "- The file extension \"$file\" is not \"tar\"";
+ $swv = 0;
+ $msgv = $msgv . (($msgv != "") ? "\n" : null) . "- The file extension \"$file\" is not \"tar\"";
}
if ($swv == 1) {
@@ -1996,7 +1985,7 @@ class workspaceTools
}
$appCache = new AppCacheView();
- $users = new Users();
+ $users = new Users();
$case = new Cases();
//Select data CANCELLED
@@ -2048,18 +2037,18 @@ class workspaceTools
if($row["DEL_THREAD_STATUS"] == 'OPEN'){
//Update information about the previous_user
$row["DEL_PREVIOUS_USR_UID"] = $row["PREVIOUS_USR_UID"];
- $criteriaUser->add( UsersPeer::USR_UID, $row["PREVIOUS_USR_UID"] );
+ $criteriaUser->add(UsersPeer::USR_UID, $row["PREVIOUS_USR_UID"]);
$datasetU = UsersPeer::doSelectRS($criteriaUser);
$datasetU->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$datasetU->next();
$arrayUsers = $datasetU->getRow();
$row["DEL_PREVIOUS_USR_USERNAME"] = $arrayUsers["USR_USERNAME"];
- $row["DEL_PREVIOUS_USR_FIRSTNAME"]= $arrayUsers["USR_FIRSTNAME"];
+ $row["DEL_PREVIOUS_USR_FIRSTNAME"] = $arrayUsers["USR_FIRSTNAME"];
$row["DEL_PREVIOUS_USR_LASTNAME"] = $arrayUsers["USR_LASTNAME"];
//Update the due date
- $row["DEL_DUE_DATE"] = $row["DEL_TASK_DUE_DATE"];
+ $row["DEL_DUE_DATE"] = $row["DEL_TASK_DUE_DATE"];
$listInbox = new ListInbox();
- $listInbox->remove($row["APP_UID"],$row["DEL_INDEX"]);
+ $listInbox->remove($row["APP_UID"], $row["DEL_INDEX"]);
$listInbox->setDeleted(false);
$listInbox->create($row, $isSelfService);
} else {
@@ -2280,6 +2269,7 @@ class workspaceTools
throw $e;
}
}
+
/**
* Register system tables in a file
*
@@ -2298,4 +2288,23 @@ class workspaceTools
throw (new Exception( G::LoadTranslation('ID_FILE_NOT_WRITEABLE', SYS_LANG, array($sysTablesIniFile) ) ));
}
}
+
+ /**
+ *return void
+ */
+ public function checkRbacPermissions(){
+ CLI::logging("-> Verifying roles permissions in RBAC \n");
+ //Update table RBAC permissions
+ Bootstrap::LoadSystem('rbac');
+ $RBAC = &RBAC::getSingleton();
+ $RBAC->initRBAC();
+ $result = $RBAC->verifyPermissions();
+ if (count($result) > 1) {
+ foreach ($result as $item) {
+ CLI::logging(" $item... \n");
+ }
+ } else {
+ CLI::logging(" All roles permissions already updated \n");
+ }
+ }
}
diff --git a/workflow/engine/controllers/admin.php b/workflow/engine/controllers/admin.php
index cae1cec9d..46ab93382 100644
--- a/workflow/engine/controllers/admin.php
+++ b/workflow/engine/controllers/admin.php
@@ -167,7 +167,7 @@ class Admin extends Controller
public function pmLogo ($httpData)
{
global $RBAC;
- $RBAC->requirePermissions( 'PM_SETUP_ADVANCE' );
+ $RBAC->requirePermissions( 'PM_SETUP_ADVANCE', 'PM_SETUP_LOGO');
G::LoadClass( 'configuration' );
$c = new Configurations();
diff --git a/workflow/engine/controllers/pmTables.php b/workflow/engine/controllers/pmTables.php
index b866c292c..031df068d 100755
--- a/workflow/engine/controllers/pmTables.php
+++ b/workflow/engine/controllers/pmTables.php
@@ -24,7 +24,7 @@ class pmTables extends Controller
public function index ($httpData)
{
global $RBAC;
- $RBAC->requirePermissions( 'PM_SETUP_ADVANCE' );
+ $RBAC->requirePermissions( 'PM_SETUP_ADVANCE', 'PM_SETUP_PM_TABLES' );
G::LoadClass( 'configuration' );
$c = new Configurations();
diff --git a/workflow/engine/data/mssql/insert.sql b/workflow/engine/data/mssql/insert.sql
index c456c426a..04cec9c0f 100755
--- a/workflow/engine/data/mssql/insert.sql
+++ b/workflow/engine/data/mssql/insert.sql
@@ -11,6 +11,24 @@ SELECT 'PER_NAME','','00000000000000000000000000000016','en','Add Folders' UNION
SELECT 'PER_NAME','','00000000000000000000000000000017','en','Add file in folders' UNION ALL
SELECT 'PER_NAME','','00000000000000000000000000000018','en','Cancel cases' UNION ALL
SELECT 'PER_NAME','','00000000000000000000000000000019','en','Delete folders' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000020','en','Setup Logo' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000021','en','Setup Email' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000022','en','Setup Calendar' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000023','en','Setup Process Categories' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000024','en','Setup Clear Cache' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000025','en','Setup Heart Beat' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000026','en','Setup Environment' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000027','en','Setup PM Tables' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000028','en','Setup Login' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000029','en','Setup Dashborads' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000030','en','Setup Language' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000031','en','Setup Skin' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000032','en','Setup Case List Cache Builder' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000033','en','Setup Plugins' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000034','en','Setup User Authentication Sources' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000035','en','Setup Logs' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000036','en','Delete process cases' UNION ALL
+SELECT 'PER_NAME','','00000000000000000000000000000037','en','Edit personal info Calendar' UNION ALL
SELECT 'PER_NAME','','00000000000000000000000000000013','en','Delete cases' UNION ALL
SELECT 'PER_NAME','','00000000000000000000000000000012','en','WebDav' UNION ALL
SELECT 'PER_NAME','','00000000000000000000000000000011','en','Dashboard' UNION ALL
diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql
index 57d07b971..9f0d55ead 100644
--- a/workflow/engine/data/mysql/insert.sql
+++ b/workflow/engine/data/mysql/insert.sql
@@ -11,6 +11,24 @@ INSERT INTO CONTENT (CON_CATEGORY,CON_PARENT,CON_ID,CON_LANG,CON_VALUE) VALUES
('PER_NAME','','00000000000000000000000000000017','en','Add file in folders'),
('PER_NAME','','00000000000000000000000000000018','en','Cancel cases'),
('PER_NAME','','00000000000000000000000000000019','en','Delete folders'),
+('PER_NAME','','00000000000000000000000000000020','en','Setup Logo'),
+('PER_NAME','','00000000000000000000000000000021','en','Setup Email'),
+('PER_NAME','','00000000000000000000000000000022','en','Setup Calendar'),
+('PER_NAME','','00000000000000000000000000000023','en','Setup Process Categories'),
+('PER_NAME','','00000000000000000000000000000024','en','Setup Clear Cache'),
+('PER_NAME','','00000000000000000000000000000025','en','Setup Heart Beat'),
+('PER_NAME','','00000000000000000000000000000026','en','Setup Environment'),
+('PER_NAME','','00000000000000000000000000000027','en','Setup PM Tables'),
+('PER_NAME','','00000000000000000000000000000028','en','Setup Login'),
+('PER_NAME','','00000000000000000000000000000029','en','Setup Dashborads'),
+('PER_NAME','','00000000000000000000000000000030','en','Setup Language'),
+('PER_NAME','','00000000000000000000000000000031','en','Setup Skin'),
+('PER_NAME','','00000000000000000000000000000032','en','Setup Case List Cache Builder'),
+('PER_NAME','','00000000000000000000000000000033','en','Setup Plugins'),
+('PER_NAME','','00000000000000000000000000000034','en','Setup User Authentication Sources'),
+('PER_NAME','','00000000000000000000000000000035','en','Setup Logs'),
+('PER_NAME','','00000000000000000000000000000036','en','Delete process cases'),
+('PER_NAME','','00000000000000000000000000000037','en','Edit personal info Calendar'),
('PER_NAME','','00000000000000000000000000000013','en','Delete cases'),
('PER_NAME','','00000000000000000000000000000012','en','WebDav'),
('PER_NAME','','00000000000000000000000000000011','en','Dashboard'),
diff --git a/workflow/engine/menus/setup.php b/workflow/engine/menus/setup.php
index 0986f919f..32400b875 100755
--- a/workflow/engine/menus/setup.php
+++ b/workflow/engine/menus/setup.php
@@ -27,101 +27,221 @@ global $RBAC;
$partnerFlag = (defined('PARTNER_FLAG')) ? PARTNER_FLAG : false;
/*----------------------------------********---------------------------------*/
-$oServerConf = & serverConf::getSingleton();
-$sAudit = $oServerConf->getAuditLogProperty( 'AL_OPTION', SYS_SYS );
-$licensedFeatures = & PMLicensedFeatures::getSingleton();
+$oServerConf = &serverConf::getSingleton();
+$sAudit = $oServerConf->getAuditLogProperty('AL_OPTION', SYS_SYS);
+$licensedFeatures = &PMLicensedFeatures::getSingleton();
/*----------------------------------********---------------------------------*/
-
-if ($RBAC->userCanAccess('PM_SETUP') == 1 ) {
- //settings options
- // $G_TMP_MENU->AddIdRawOption('LOGO', 'uplogo', G::LoadTranslation('ID_LOGO'), 'icon-pmlogo.png', '', 'settings');
- $G_TMP_MENU->AddIdRawOption('LOGO', '../admin/pmLogo', G::LoadTranslation('ID_LOGO'), 'icon-pmlogo.png','', 'settings');
- $G_TMP_MENU->AddIdRawOption("EMAIL_SERVER", "../emailServer/emailServer", G::LoadTranslation("ID_EMAIL_SERVER_TITLE"), "icon-email-settings1.png", "", "settings");
- $G_TMP_MENU->AddIdRawOption('CALENDAR', 'calendarList', G::LoadTranslation('ID_CALENDAR'), 'icon-calendar.png', '', 'settings' );
- //if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') == 1)
- // $G_TMP_MENU->AddIdRawOption('CASES_LIST_SETUP', '../cases/casesListSetup', G::LoadTranslation('ID_CASES_LIST_SETUP'), "",'', 'settings');
- $G_TMP_MENU->AddIdRawOption('PROCESS_CATEGORY', '../processCategory/processCategoryList', G::LoadTranslation('ID_PROCESS_CATEGORY'), "rules.png",'', 'settings');
+if ($RBAC->userCanAccess('PM_SETUP') === 1) {
+ $pmSetupPermission = true;
+ if ($RBAC->userCanAccess('PM_SETUP_LOGO') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'LOGO', '../admin/pmLogo',
+ G::LoadTranslation('ID_LOGO'),
+ 'icon-pmlogo.png', '','settings'
+ );
+ }
+ if ($RBAC->userCanAccess('PM_SETUP_EMAIL') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ "EMAIL_SERVER", "../emailServer/emailServer",
+ G::LoadTranslation("ID_EMAIL_SERVER_TITLE"),
+ "icon-email-settings1.png", "", "settings"
+ );
+ }
+ if ($RBAC->userCanAccess('PM_SETUP_CALENDAR') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'CALENDAR', 'calendarList',
+ G::LoadTranslation('ID_CALENDAR'),
+ 'icon-calendar.png', '', 'settings'
+ );
+ }
+ if ($RBAC->userCanAccess('PM_SETUP_PROCESS_CATEGORIES') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'PROCESS_CATEGORY', '../processCategory/processCategoryList',
+ G::LoadTranslation('ID_PROCESS_CATEGORY'),
+ "rules.png", '', 'settings'
+ );
+ }
}
-if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') == 1) {
- $G_TMP_MENU->AddIdRawOption('LANGUAGES', 'languages', G::LoadTranslation('ID_LANGUAGES'), 'icon-language.png', '', 'settings');
+if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') === 1) {
+ if ($RBAC->userCanAccess('PM_SETUP_LANGUAGE') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'LANGUAGES', 'languages',
+ G::LoadTranslation('ID_LANGUAGES'),
+ 'icon-language.png','', 'settings'
+ );
+ }
}
-if ($RBAC->userCanAccess('PM_SETUP') == 1 ) {
- $G_TMP_MENU->AddIdRawOption('SKINS', 'skinsList', G::LoadTranslation('ID_SKINS'), 'icon-skins.png', '', 'settings');
+if ($RBAC->userCanAccess('PM_SETUP') === 1) {
+ if ($RBAC->userCanAccess('PM_SETUP_SKIN') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'SKINS', 'skinsList',
+ G::LoadTranslation('ID_SKINS'),
+ 'icon-skins.png', '', 'settings'
+ );
+ }
if (!$partnerFlag) {
- $G_TMP_MENU->AddIdRawOption('HEARTBEAT', 'processHeartBeatConfig', G::LoadTranslation('ID_HEARTBEAT_CONFIG'), "heartBeat.jpg",'', 'settings');
+ if ($RBAC->userCanAccess('PM_SETUP_HEART_BEAT') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'HEARTBEAT', 'processHeartBeatConfig',
+ G::LoadTranslation('ID_HEARTBEAT_CONFIG'),
+ "heartBeat.jpg", '', 'settings'
+ );
+ }
+ }
+ if ($RBAC->userCanAccess('PM_SETUP_ENVIRONMENT') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'ENVIRONMENT_SETTINGS', 'environmentSettings',
+ G::LoadTranslation('ID_ENVIRONMENT_SETTINGS'),
+ "", '', 'settings'
+ );
}
-
- $G_TMP_MENU->AddIdRawOption('ENVIRONMENT_SETTINGS', 'environmentSettings', G::LoadTranslation('ID_ENVIRONMENT_SETTINGS'), "",'', 'settings');
}
-if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') == 1) {
- $G_TMP_MENU->AddIdRawOption('APPCACHEVIEW_SETUP', '../setup/appCacheViewConf', G::LoadTranslation('ID_APPCACHE_SETUP'), "",'', 'settings');
+if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'APPCACHEVIEW_SETUP', '../setup/appCacheViewConf',
+ G::LoadTranslation('ID_APPCACHE_SETUP'),
+ "", '', 'settings'
+ );
}
-if ($RBAC->userCanAccess('PM_SETUP') == 1) {
- $G_TMP_MENU->AddIdRawOption('CLEAR_CACHE', 'clearCompiled', G::LoadTranslation('ID_CLEAR_CACHE'), 'icon-rebuild-clean.png', "", 'settings' );
- //$G_TMP_MENU->AddIdRawOption('ADDITIONAL_TABLES', '../additionalTables/additionalTablesList', G::LoadTranslation('ID_ADDITIONAL_TABLES'), 'icon-tables.png','', 'settings');
- //$G_TMP_MENU->AddIdRawOption('REPORT_TABLES', '../reportTables/main', 'Report Tables', 'icon-tables.png','', 'settings');
-
- $G_TMP_MENU->AddIdRawOption('PM_TABLES', '../pmTables', G::LoadTranslation('ID_ADDITIONAL_TABLES'), 'icon-tables.png','', 'settings');
- $G_TMP_MENU->AddIdRawOption('LOGIN', 'loginSettings', G::LoadTranslation('LOGIN'), "",'', 'settings');
- $G_TMP_MENU->AddIdRawOption('DASHBOARD', '../dashboard/dashletsList', ucfirst(G::LoadTranslation('ID_DASHBOARD')), '', '', 'settings');
- /*----------------------------------********---------------------------------*/
-
- if ($licensedFeatures->verifyfeature('r19Vm5DK1UrT09MenlLYjZxejlhNUZ1b1NhV0JHWjBsZEJ6dnpJa3dTeWVLVT0=')) {
- $G_TMP_MENU->AddIdRawOption('STRATEGIC_DASHBOARD', '../strategicDashboard/dashboardList', ucfirst(G::LoadTranslation('ID_STRATEGIC_DASHBOARD')), '', '', 'settings');
+if ($RBAC->userCanAccess('PM_SETUP') === 1) {
+ if ($RBAC->userCanAccess('PM_SETUP_CLEAR_CACHE') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'CLEAR_CACHE', 'clearCompiled',
+ G::LoadTranslation('ID_CLEAR_CACHE'),
+ 'icon-rebuild-clean.png', "", 'settings'
+ );
}
- if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09') || $licensedFeatures->verifyfeature('AhKNjBEVXZlWUFpWE8wVTREQ0FObmo0aTdhVzhvalFic1M=')) {
- $G_TMP_MENU->AddIdRawOption('PMGMAIL', '../pmGmail/formPMGmail', ucfirst(G::LoadTranslation('ID_GOOGLEINTEGRATION')), '', '', 'settings');
+ if ($RBAC->userCanAccess('PM_SETUP_PM_TABLES') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'PM_TABLES', '../pmTables',
+ G::LoadTranslation('ID_ADDITIONAL_TABLES'),
+ 'icon-tables.png', '', 'settings'
+ );
+ }
+ if ($RBAC->userCanAccess('PM_SETUP_LOGIN') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'LOGIN', 'loginSettings',
+ G::LoadTranslation('LOGIN'),
+ "", '', 'settings'
+ );
+ }
+ if ($RBAC->userCanAccess('PM_SETUP_DASHBOARDS') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'DASHBOARD', '../dashboard/dashletsList',
+ ucfirst(G::LoadTranslation('ID_DASHBOARD')),
+ '', '', 'settings'
+ );
+ /*----------------------------------********---------------------------------*/
+ if ($licensedFeatures->verifyfeature('r19Vm5DK1UrT09MenlLYjZxejlhNUZ1b1NhV0JHWjBsZEJ6dnpJa3dTeWVLVT0=')) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'STRATEGIC_DASHBOARD', '../strategicDashboard/dashboardList',
+ ucfirst(G::LoadTranslation('ID_STRATEGIC_DASHBOARD')),
+ '', '', 'settings'
+ );
+ }
+ if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'PMGMAIL', '../pmGmail/formPMGmail',
+ ucfirst(G::LoadTranslation('ID_PMGMAIL')),
+ '', '', 'settings'
+ );
+ }
+ /*----------------------------------********---------------------------------*/
}
-
- /*----------------------------------********---------------------------------*/
-
}
//tools options
-if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') == 1 ) {
+if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') === 1) {
if (!$partnerFlag) {
- $G_TMP_MENU->AddIdRawOption('PLUGINS', 'pluginsMain', G::LoadTranslation('ID_PLUGINS_MANAGER'), 'icon-plugins.png', '', 'plugins');
+ if ($RBAC->userCanAccess('PM_SETUP_PLUGINS') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'PLUGINS', 'pluginsMain',
+ G::LoadTranslation('ID_PLUGINS_MANAGER'),
+ 'icon-plugins.png', '', 'plugins'
+ );
+ }
}
}
//users options
-if ($RBAC->userCanAccess('PM_USERS') == 1) {
- $G_TMP_MENU->AddIdRawOption('USERS', '../users/users_List', G::LoadTranslation('ID_USERS_LIST'), 'icon-webservices.png', '', 'users');
-
+if ($RBAC->userCanAccess('PM_USERS') === 1) {
+ $G_TMP_MENU->AddIdRawOption('USERS', '../users/users_List', G::LoadTranslation('ID_USERS_LIST'),
+ 'icon-webservices.png', '', 'users');
$G_TMP_MENU->AddIdRawOption('GROUPS', '../groups/groups', G::LoadTranslation('ID_GROUPS'), '', '', 'users');
- $G_TMP_MENU->AddIdRawOption('DEPARTAMENTS', '../departments/departments', G::LoadTranslation('ID_DEPARTMENTS_USERS'), '', '', 'users');
- $G_TMP_MENU->AddIdRawOption('ROLES', '../roles/roles_List', G::LoadTranslation('ID_ROLES'), '', '', 'users');
+ $G_TMP_MENU->AddIdRawOption(
+ 'DEPARTAMENTS', '../departments/departments',
+ G::LoadTranslation('ID_DEPARTMENTS_USERS'),
+ '', '', 'users'
+ );
+ $G_TMP_MENU->AddIdRawOption('ROLES', '../roles/roles_List',
+ G::LoadTranslation('ID_ROLES'),
+ '', '', 'users'
+ );
}
-if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') == 1 && $RBAC->userCanAccess('PM_USERS') == 1) {
- $G_TMP_MENU->AddIdRawOption('AUTHSOURCES', '../authSources/authSources_List', G::LoadTranslation('ID_AUTH_SOURCES'), '', '', 'users');
+if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') === 1 && $RBAC->userCanAccess('PM_USERS') === 1 && $RBAC->userCanAccess
+ ('PM_SETUP_USERS_AUTHENTICATION_SOURCES') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'AUTHSOURCES', '../authSources/authSources_List',
+ G::LoadTranslation('ID_AUTH_SOURCES'),
+ '', '', 'users'
+ );
$G_TMP_MENU->AddIdRawOption('UX', '../admin/uxList', G::LoadTranslation('ID_USER_EXPERIENCE'), '', '', 'users');
$G_TMP_MENU->AddIdRawOption('SYSTEM', '../admin/system', G::LoadTranslation('ID_SYSTEM'), '', '', 'settings');
- $G_TMP_MENU->AddIdRawOption('INFORMATION', '../setup/systemInfo?option=processInfo', G::LoadTranslation('ID_SYSTEM_INFO'), '', '', 'settings');
+ $G_TMP_MENU->AddIdRawOption(
+ 'INFORMATION', '../setup/systemInfo?option=processInfo',
+ G::LoadTranslation('ID_SYSTEM_INFO'),
+ '', '', 'settings'
+ );
}
-if ($RBAC->userCanAccess('PM_SETUP') == 1) {
+if ($RBAC->userCanAccess('PM_SETUP') === 1 && $RBAC->userCanAccess('PM_SETUP_LOGS') === 1) {
$G_TMP_MENU->AddIdRawOption('EVENT', '../events/eventList', G::LoadTranslation('ID_EVENTS'), '', '', 'logs');
- $G_TMP_MENU->AddIdRawOption('LOG_CASE_SCHEDULER', '../cases/cases_Scheduler_Log', G::LoadTranslation('ID_CASE_SCHEDULER'), "icon-logs-list.png",'', 'logs');
- $G_TMP_MENU->AddIdRawOption("CRON", "../setup/cron", G::LoadTranslation("ID_CRON_ACTIONS"), null, null, "logs");
- $G_TMP_MENU->AddIdRawOption('EMAILS', '../mails/emailList', ucfirst (strtolower ( G::LoadTranslation('ID_EMAILS'))), '', '', 'logs');
+ $G_TMP_MENU->AddIdRawOption(
+ 'LOG_CASE_SCHEDULER', '../cases/cases_Scheduler_Log',
+ G::LoadTranslation('ID_CASE_SCHEDULER'),
+ "icon-logs-list.png", '', 'logs'
+ );
+ $G_TMP_MENU->AddIdRawOption("CRON", "../setup/cron", G::LoadTranslation("ID_CRON_ACTIONS"), null, null, 'logs');
+ $G_TMP_MENU->AddIdRawOption(
+ 'EMAILS', '../mails/emailList',
+ ucfirst(strtolower(G::LoadTranslation('ID_EMAILS'))),
+ '', '', 'logs'
+ );
/*----------------------------------********---------------------------------*/
- if (isset($sAudit) && $sAudit != false && $licensedFeatures->verifyfeature('vtSeHNhT0JnSmo1bTluUVlTYUxUbUFSVStEeXVqc1pEUG5EeXc0MGd2Q3ErYz0=')) {
- $G_TMP_MENU->AddIdRawOption('AUDIT_LOG', '../setup/auditLog', ucfirst (G::LoadTranslation('ID_AUDITLOG_DISPLAY')), '', '', 'logs');
+ if (isset($sAudit) && $sAudit !== false && $licensedFeatures->verifyfeature
+ ('vtSeHNhT0JnSmo1bTluUVlTYUxUbUFSVStEeXVqc1pEUG5EeXc0MGd2Q3ErYz0=')
+ ) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'AUDIT_LOG', '../setup/auditLog',
+ ucfirst(G::LoadTranslation('ID_AUDITLOG_DISPLAY')),
+ '', '', 'logs'
+ );
}
/*----------------------------------********---------------------------------*/
}
-if ($RBAC->userCanAccess("PM_SETUP") == 1) {
- $G_TMP_MENU->AddIdRawOption("PM_REQUIREMENTS", "../setup/systemInfo", G::LoadTranslation("ID_PROCESSMAKER_REQUIREMENTS_CHECK"), "", "", "settings");
- $G_TMP_MENU->AddIdRawOption("PHP_INFO", "../setup/systemInfo?option=php", G::LoadTranslation("ID_PHP_INFO"), "", "", "settings");
- //$G_TMP_MENU->AddIdRawOption("PHP_MAINTENANCE", "../admin/maintenance", 'Maintenance', "", "", "settings");
+if ($RBAC->userCanAccess('PM_SETUP') === 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'PM_REQUIREMENTS', '../setup/systemInfo',
+ G::LoadTranslation('ID_PROCESSMAKER_REQUIREMENTS_CHECK'),
+ '', '', 'settings'
+ );
+ $G_TMP_MENU->AddIdRawOption(
+ 'PHP_INFO', '../setup/systemInfo?option=php',
+ G::LoadTranslation('ID_PHP_INFO'),
+ '','', 'settings'
+ );
/*----------------------------------********---------------------------------*/
if ($licensedFeatures->verifyfeature('vtSeHNhT0JnSmo1bTluUVlTYUxUbUFSVStEeXVqc1pEUG5EeXc0MGd2Q3ErYz0=')) {
- $G_TMP_MENU->AddIdRawOption("AUDIT_LOG", "auditLogConfig", G::LoadTranslation("ID_AUDITLOG_DISPLAY"), "", "", "settings");
+ $G_TMP_MENU->AddIdRawOption(
+ "AUDIT_LOG", "auditLogConfig",
+ G::LoadTranslation("ID_AUDITLOG_DISPLAY"),
+ "", "","settings"
+ );
}
/*----------------------------------********---------------------------------*/
}
@@ -151,18 +271,34 @@ if ($licenseStatusInfo["message"] != "") {
$licStatusMsg = " (" . $licenseStatusInfo["message"] . ")";
}
/*----------------------------------********---------------------------------*/
-if ($RBAC->userCanAccess("PM_SETUP") == 1) {
+if ($RBAC->userCanAccess('PM_SETUP') == 1) {
/*----------------------------------********---------------------------------*/
- $G_TMP_MENU->AddIdRawOption("PMENTERPRISE", "../enterprise/addonsStore", G::LoadTranslation('ID_MENU_NAME') . $licStatusMsg, "", "", "plugins");
+ if ($RBAC->userCanAccess('PM_SETUP_CASES_LIST_CACHE_BUILDER') == 1) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'PMENTERPRISE', '../enterprise/addonsStore',
+ G::LoadTranslation('ID_MENU_NAME') .$licStatusMsg,
+ '', '', 'plugins'
+ );
+ $G_TMP_MENU->AddIdRawOption(
+ 'CASES_LIST_SETUP', '../cases/casesListSetup',
+ G::LoadTranslation('ID_CUSTOM_CASES_LISTS'),
+ '', '', 'settings');
+ }
/*----------------------------------********---------------------------------*/
- $G_TMP_MENU->AddIdRawOption("CASES_LIST_SETUP", "../cases/casesListSetup", G::LoadTranslation("ID_CUSTOM_CASES_LISTS"), "", "", "settings");
}
/*----------------------------------********---------------------------------*/
$oPluginRegistry = &PMPluginRegistry::getSingleton();
$oObject = $oPluginRegistry->getPlugin("actionsByEmail");
if (!(get_class($oObject) === "actionsByEmailPlugin") &&
- $licensedFeatures->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) {
- $G_TMP_MENU->AddIdRawOption('PM_ACTIONS_BY_EMAIL_LOGS', '../actionsByEmail/ActionByEmail.php', G::LoadTranslation("ID_ACTIONS_BY_EMAIL_LOG"), '', '', 'logs');
+ $licensedFeatures->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=') &&
+ $RBAC->userCanAccess('PM_SETUP_LOGS') == 1
+) {
+ $G_TMP_MENU->AddIdRawOption(
+ 'PM_ACTIONS_BY_EMAIL_LOGS',
+ '../actionsByEmail/ActionByEmail.php',
+ G::LoadTranslation("ID_ACTIONS_BY_EMAIL_LOG"),
+ '', '', 'logs'
+ );
}
/*----------------------------------********---------------------------------*/
diff --git a/workflow/engine/methods/departments/departments.php b/workflow/engine/methods/departments/departments.php
index aff81e959..f9376ad1e 100755
--- a/workflow/engine/methods/departments/departments.php
+++ b/workflow/engine/methods/departments/departments.php
@@ -25,7 +25,7 @@
G::LoadClass( 'configuration' );
$c = new Configurations();
-$access = $RBAC->userCanAccess( 'PM_USERS' );
+$access = $RBAC->requirePermissions( 'PM_USERS' );
if ($access != 1) {
switch ($access) {
case - 1:
diff --git a/workflow/engine/methods/events/eventList.php b/workflow/engine/methods/events/eventList.php
index dc98cce45..951881eb5 100644
--- a/workflow/engine/methods/events/eventList.php
+++ b/workflow/engine/methods/events/eventList.php
@@ -23,16 +23,17 @@
*/
global $RBAC;
-if ($RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) {
- G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
- G::header( 'location: ../login/login' );
+$resultRbac = $RBAC->requirePermissions('PM_SETUP_ADVANCE', 'PM_SETUP_LOGS');
+if (!$resultRbac) {
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
+ G::header('location: ../login/login');
die();
}
-G::LoadClass( 'configuration' );
+G::LoadClass('configuration');
$c = new Configurations();
-$configPage = $c->getConfiguration( 'eventList', 'pageSize', '', $_SESSION['USER_LOGGED'] );
-$Config['pageSize'] = isset( $configPage['pageSize'] ) ? $configPage['pageSize'] : 20;
+$configPage = $c->getConfiguration('eventList', 'pageSize', '', $_SESSION['USER_LOGGED']);
+$Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20;
$G_MAIN_MENU = 'processmaker';
$G_SUB_MENU = 'logs';
@@ -40,52 +41,51 @@ $G_ID_MENU_SELECTED = 'logs';
$G_ID_SUB_MENU_SELECTED = 'EVENT';
//get values for the comboBoxes
-$userUid = (isset( $_SESSION['USER_LOGGED'] ) && $_SESSION['USER_LOGGED'] != '') ? $_SESSION['USER_LOGGED'] : null;
-$status = array (array ('',G::LoadTranslation( 'ID_ALL' )
-),array ("PENDING",G::LoadTranslation( 'ID_OPEN' )
-),array ("COMPLETED",G::LoadTranslation( 'ID_CLOSE' )
+$userUid = (isset($_SESSION['USER_LOGGED']) && $_SESSION['USER_LOGGED'] != '') ? $_SESSION['USER_LOGGED'] : null;
+$status = array(array('', G::LoadTranslation('ID_ALL')
+), array("PENDING", G::LoadTranslation('ID_OPEN')
+), array("COMPLETED", G::LoadTranslation('ID_CLOSE')
)
);
-$type = array (array ('',G::LoadTranslation( 'ID_ALL' )
-),array ('SEND_MESSAGE',G::LoadTranslation( 'ID_EVENT_MESSAGE' )
-),array ('EXECUTE_TRIGGER',G::LoadTranslation( 'ID_EVENT_TIMER' )
-),array ('EXECUTE_CONDITIONAL_TRIGGER',G::LoadTranslation( 'ID_EVENT_CONDITIONAL' )
+$type = array(array('', G::LoadTranslation('ID_ALL')
+), array('SEND_MESSAGE', G::LoadTranslation('ID_EVENT_MESSAGE')
+), array('EXECUTE_TRIGGER', G::LoadTranslation('ID_EVENT_TIMER')
+), array('EXECUTE_CONDITIONAL_TRIGGER', G::LoadTranslation('ID_EVENT_CONDITIONAL')
)
);
$processes = getProcessArray( $userUid );
$G_PUBLISH = new Publisher();
-$oHeadPublisher = & headPublisher::getSingleton();
-$oHeadPublisher->addExtJsScript( 'events/eventList', false ); //adding a javascript file .js
-$oHeadPublisher->addContent( 'events/eventList' ); //adding a html file .html.
+$oHeadPublisher = &headPublisher::getSingleton();
+$oHeadPublisher->addExtJsScript('events/eventList', false); //adding a javascript file .js
+$oHeadPublisher->addContent('events/eventList'); //adding a html file .html.
//sending the columns to display in grid
-$oHeadPublisher->assign( 'typeValues', $type );
-$oHeadPublisher->assign( 'statusValues', $status );
-$oHeadPublisher->assign( 'processValues', $processes );
+$oHeadPublisher->assign('typeValues', $type);
+$oHeadPublisher->assign('statusValues', $status);
+$oHeadPublisher->assign('processValues', $processes);
-function getProcessArray ($userUid)
-{
+function getProcessArray($userUid) {
global $oAppCache;
- require_once ("classes/model/AppCacheView.php");
+ require_once("classes/model/AppCacheView.php");
- $processes = Array ();
- $processes[] = array ('',G::LoadTranslation( 'ID_ALL_PROCESS' ));
+ $processes = array();
+ $processes[] = array('', G::LoadTranslation('ID_ALL_PROCESS'));
- $cProcess = new Criteria( 'workflow' );
+ $cProcess = new Criteria('workflow');
$cProcess->clearSelectColumns();
- $cProcess->addSelectColumn( AppCacheViewPeer::PRO_UID );
- $cProcess->addSelectColumn( AppCacheViewPeer::APP_PRO_TITLE );
- $cProcess->setDistinct( AppCacheViewPeer::PRO_UID );
+ $cProcess->addSelectColumn(AppCacheViewPeer::PRO_UID);
+ $cProcess->addSelectColumn(AppCacheViewPeer::APP_PRO_TITLE);
+ $cProcess->setDistinct(AppCacheViewPeer::PRO_UID);
- $cProcess->addAscendingOrderByColumn( AppCacheViewPeer::APP_PRO_TITLE );
+ $cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE);
- $oDataset = AppCacheViewPeer::doSelectRS( $cProcess );
- $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
+ $oDataset = AppCacheViewPeer::doSelectRS($cProcess);
+ $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
- $processes[] = array ($aRow['PRO_UID'],$aRow['APP_PRO_TITLE']);
+ $processes[] = array($aRow['PRO_UID'], $aRow['APP_PRO_TITLE']);
$oDataset->next();
}
diff --git a/workflow/engine/methods/groups/groups.php b/workflow/engine/methods/groups/groups.php
index 1347f7328..1a336477b 100755
--- a/workflow/engine/methods/groups/groups.php
+++ b/workflow/engine/methods/groups/groups.php
@@ -21,29 +21,33 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
-
-$access = $RBAC->userCanAccess( 'PM_USERS' );
-if ($access != 1) {
+$resultRbac = $RBAC_Response = $RBAC->requirePermissions("PM_USERS");
+if (!$resultRbac) {
+ return $RBAC_Response;
+}
+global $RBAC;
+$access = $RBAC->userCanAccess('PM_USERS');
+if ($access !== 1) {
switch ($access) {
- case - 1:
- G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
- G::header( 'location: ../login/login' );
+ case -1:
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
+ G::header('location: ../login/login');
die();
break;
- case - 2:
- G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
- G::header( 'location: ../login/login' );
+ case -2:
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
+ G::header('location: ../login/login');
die();
break;
default:
- G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
- G::header( 'location: ../login/login' );
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
+ G::header('location: ../login/login');
die();
break;
}
}
-if (($RBAC_Response = $RBAC->userCanAccess( "PM_USERS" )) != 1) {
+if (($RBAC_Response = $RBAC->userCanAccess("PM_USERS")) != 1) {
return $RBAC_Response;
}
@@ -54,16 +58,16 @@ $G_ID_SUB_MENU_SELECTED = 'GROUPS';
$G_PUBLISH = new Publisher();
-G::LoadClass( 'configuration' );
+G::LoadClass('configuration');
$c = new Configurations();
-$configPage = $c->getConfiguration( 'groupList', 'pageSize', '', $_SESSION['USER_LOGGED'] );
-$configEnv = $c->getConfiguration( 'ENVIRONMENT_SETTINGS', '' );
-$Config['pageSize'] = isset( $configPage['pageSize'] ) ? $configPage['pageSize'] : 20;
+$configPage = $c->getConfiguration('groupList', 'pageSize', '', $_SESSION['USER_LOGGED']);
+$configEnv = $c->getConfiguration('ENVIRONMENT_SETTINGS', '');
+$Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20;
-$oHeadPublisher = & headPublisher::getSingleton();
-$oHeadPublisher->addExtJsScript( 'groups/groupsList', false ); //adding a javascript file .js
-$oHeadPublisher->addContent( 'groups/groupsList' ); //adding a html file .html.
-$oHeadPublisher->assign( 'CONFIG', $Config );
+$oHeadPublisher = &headPublisher::getSingleton();
+$oHeadPublisher->addExtJsScript('groups/groupsList', false); //adding a javascript file .js
+$oHeadPublisher->addContent('groups/groupsList'); //adding a html file .html.
+$oHeadPublisher->assign('CONFIG', $Config);
-G::RenderPage( 'publish', 'extJs' );
+G::RenderPage('publish', 'extJs');
diff --git a/workflow/engine/methods/mails/emailList.php b/workflow/engine/methods/mails/emailList.php
index 1379a514a..b69ef8a8d 100644
--- a/workflow/engine/methods/mails/emailList.php
+++ b/workflow/engine/methods/mails/emailList.php
@@ -23,16 +23,17 @@
*/
global $RBAC;
-if ($RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) {
- G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
- G::header( 'location: ../login/login' );
+$resultRbac = $RBAC->requirePermissions('PM_SETUP_ADVANCE', 'PM_SETUP_LOGS');
+if (!$resultRbac) {
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
+ G::header('location: ../login/login');
die();
}
-G::LoadClass( 'configuration' );
+G::LoadClass('configuration');
$c = new Configurations();
-$configPage = $c->getConfiguration( 'eventList', 'pageSize', '', $_SESSION['USER_LOGGED'] );
-$Config['pageSize'] = isset( $configPage['pageSize'] ) ? $configPage['pageSize'] : 20;
+$configPage = $c->getConfiguration('eventList', 'pageSize', '', $_SESSION['USER_LOGGED']);
+$Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20;
$G_MAIN_MENU = 'processmaker';
$G_SUB_MENU = 'logs';
@@ -40,46 +41,45 @@ $G_ID_MENU_SELECTED = 'logs';
$G_ID_SUB_MENU_SELECTED = 'EMAILS';
//get values for the comboBoxes
-$userUid = (isset( $_SESSION['USER_LOGGED'] ) && $_SESSION['USER_LOGGED'] != '') ? $_SESSION['USER_LOGGED'] : null;
-$status = array (
- array ('',G::LoadTranslation( 'ID_ALL' )),
- array ("sent", G::LoadTranslation( 'ID_SENT' )),
- array ("pending", G::LoadTranslation( 'ID_PENDING' ))
+$userUid = (isset($_SESSION['USER_LOGGED']) && $_SESSION['USER_LOGGED'] != '') ? $_SESSION['USER_LOGGED'] : null;
+$status = array(
+ array('', G::LoadTranslation('ID_ALL')),
+ array("sent", G::LoadTranslation('ID_SENT')),
+ array("pending", G::LoadTranslation('ID_PENDING'))
);
-$processes = getProcessArray( $userUid );
+$processes = getProcessArray($userUid);
$G_PUBLISH = new Publisher();
-$oHeadPublisher = & headPublisher::getSingleton();
-$oHeadPublisher->addExtJsScript( 'mails/emailList', false ); //adding a javascript file .js
-$oHeadPublisher->addContent( 'mails/emailList' ); //adding a html file .html.
+$oHeadPublisher = &headPublisher::getSingleton();
+$oHeadPublisher->addExtJsScript('mails/emailList', false); //adding a javascript file .js
+$oHeadPublisher->addContent('mails/emailList'); //adding a html file .html.
//sending the columns to display in grid
-$oHeadPublisher->assign( 'statusValues', $status );
-$oHeadPublisher->assign( 'processValues', $processes );
+$oHeadPublisher->assign('statusValues', $status);
+$oHeadPublisher->assign('processValues', $processes);
-function getProcessArray ($userUid)
-{
+function getProcessArray($userUid) {
global $oAppCache;
- require_once ("classes/model/AppCacheView.php");
+ require_once("classes/model/AppCacheView.php");
- $processes = Array ();
- $processes[] = array ('',G::LoadTranslation( 'ID_ALL_PROCESS' ));
+ $processes = array();
+ $processes[] = array('', G::LoadTranslation('ID_ALL_PROCESS'));
- $cProcess = new Criteria( 'workflow' );
+ $cProcess = new Criteria('workflow');
$cProcess->clearSelectColumns();
- $cProcess->addSelectColumn( AppCacheViewPeer::PRO_UID );
- $cProcess->addSelectColumn( AppCacheViewPeer::APP_PRO_TITLE );
- $cProcess->setDistinct( AppCacheViewPeer::PRO_UID );
+ $cProcess->addSelectColumn(AppCacheViewPeer::PRO_UID);
+ $cProcess->addSelectColumn(AppCacheViewPeer::APP_PRO_TITLE);
+ $cProcess->setDistinct(AppCacheViewPeer::PRO_UID);
- $cProcess->addAscendingOrderByColumn( AppCacheViewPeer::APP_PRO_TITLE );
+ $cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE);
- $oDataset = AppCacheViewPeer::doSelectRS( $cProcess );
- $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
+ $oDataset = AppCacheViewPeer::doSelectRS($cProcess);
+ $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
- $processes[] = array ($aRow['PRO_UID'],$aRow['APP_PRO_TITLE']);
+ $processes[] = array($aRow['PRO_UID'], $aRow['APP_PRO_TITLE']);
$oDataset->next();
}
diff --git a/workflow/engine/methods/roles/roles_List.php b/workflow/engine/methods/roles/roles_List.php
index e668463c3..f7c63e6cf 100755
--- a/workflow/engine/methods/roles/roles_List.php
+++ b/workflow/engine/methods/roles/roles_List.php
@@ -21,21 +21,26 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
+$RBAC_Response = $RBAC->requirePermissions('PM_USERS');
+if (!$RBAC_Response) {
+ return $RBAC_Response;
+}
global $RBAC;
-switch ($RBAC->userCanAccess( 'PM_USERS' )) {
- case - 2:
- G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
- G::header( 'location: ../login/login' );
+$access = $RBAC->userCanAccess('PM_USERS');
+switch ($access !== 1) {
+ case -2:
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
+ G::header('location: ../login/login');
die();
break;
- case - 1:
- G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
- G::header( 'location: ../login/login' );
+ case -1:
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
+ G::header('location: ../login/login');
die();
break;
- case - 3:
- G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
- G::header( 'location: ../login/login' );
+ case -3:
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
+ G::header('location: ../login/login');
die();
break;
}
@@ -47,17 +52,17 @@ $G_ID_SUB_MENU_SELECTED = 'ROLES';
$G_PUBLISH = new Publisher();
-G::LoadClass( 'configuration' );
+G::LoadClass('configuration');
$c = new Configurations();
-$configPage = $c->getConfiguration( 'rolesList', 'pageSize', '', $_SESSION['USER_LOGGED'] );
-$Config['pageSize'] = isset( $configPage['pageSize'] ) ? $configPage['pageSize'] : 20;
+$configPage = $c->getConfiguration('rolesList', 'pageSize', '', $_SESSION['USER_LOGGED']);
+$Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20;
-$oHeadPublisher = & headPublisher::getSingleton();
+$oHeadPublisher = &headPublisher::getSingleton();
-$oHeadPublisher->addExtJsScript( 'roles/rolesList', false ); //adding a javascript file .js
-$oHeadPublisher->addContent( 'roles/rolesList' ); //adding a html file .html.
-$oHeadPublisher->assign( 'PARTNER_FLAG', (defined('PARTNER_FLAG')) ? PARTNER_FLAG : false);
-$oHeadPublisher->assign( 'FORMATS', $c->getFormats() );
-$oHeadPublisher->assign( 'CONFIG', $Config );
-G::RenderPage( 'publish', 'extJs' );
+$oHeadPublisher->addExtJsScript('roles/rolesList', false); //adding a javascript file .js
+$oHeadPublisher->addContent('roles/rolesList'); //adding a html file .html.
+$oHeadPublisher->assign('PARTNER_FLAG', (defined('PARTNER_FLAG')) ? PARTNER_FLAG : false);
+$oHeadPublisher->assign('FORMATS', $c->getFormats());
+$oHeadPublisher->assign('CONFIG', $Config);
+G::RenderPage('publish', 'extJs');
diff --git a/workflow/engine/methods/setup/languages.php b/workflow/engine/methods/setup/languages.php
index fad45b1a1..2a98db4e2 100755
--- a/workflow/engine/methods/setup/languages.php
+++ b/workflow/engine/methods/setup/languages.php
@@ -21,7 +21,7 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
-$RBAC->requirePermissions( 'PM_SETUP_ADVANCE' );
+$RBAC->requirePermissions( 'PM_SETUP_ADVANCE', 'PM_SETUP_LANGUAGE');
$oHeadPublisher->addExtJsScript( 'setup/languages', false ); //adding a javascript file .js
$oHeadPublisher->addContent( 'setup/languages' ); //adding a html file .html.
diff --git a/workflow/engine/methods/setup/processHeartBeatConfig.php b/workflow/engine/methods/setup/processHeartBeatConfig.php
index 2eacc4eaf..696efe798 100755
--- a/workflow/engine/methods/setup/processHeartBeatConfig.php
+++ b/workflow/engine/methods/setup/processHeartBeatConfig.php
@@ -22,7 +22,7 @@
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
global $RBAC;
-$RBAC->requirePermissions( 'PM_SETUP' );
+$RBAC->requirePermissions( 'PM_SETUP', 'PM_SETUP_HEART_BEAT');
$oHeadPublisher = & headPublisher::getSingleton();
G::LoadClass( 'serverConfiguration' );
diff --git a/workflow/engine/methods/users/users_List.php b/workflow/engine/methods/users/users_List.php
index 3b2ecd488..3deb38aeb 100755
--- a/workflow/engine/methods/users/users_List.php
+++ b/workflow/engine/methods/users/users_List.php
@@ -21,26 +21,27 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
-if (($RBAC_Response = $RBAC->userCanAccess( "PM_LOGIN" )) != 1)
+$RBAC_Response = $RBAC->requirePermissions('PM_USERS');
+if (!$RBAC_Response)
return $RBAC_Response;
global $RBAC;
-$access = $RBAC->userCanAccess( 'PM_USERS' );
+$access = $RBAC->userCanAccess('PM_USERS');
if ($access != 1) {
switch ($access) {
- case - 1:
- G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
- G::header( 'location: ../login/login' );
+ case -1:
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
+ G::header('location: ../login/login');
die();
break;
- case - 2:
- G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
- G::header( 'location: ../login/login' );
+ case -2:
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
+ G::header('location: ../login/login');
die();
break;
default:
- G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
- G::header( 'location: ../login/login' );
+ G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
+ G::header('location: ../login/login');
die();
break;
}
@@ -53,16 +54,16 @@ $G_ID_SUB_MENU_SELECTED = 'USERS';
$G_PUBLISH = new Publisher();
-G::LoadClass( 'configuration' );
+G::LoadClass('configuration');
$c = new Configurations();
-$configPage = $c->getConfiguration( 'usersList', 'pageSize', '', $_SESSION['USER_LOGGED'] );
-$Config['pageSize'] = isset( $configPage['pageSize'] ) ? $configPage['pageSize'] : 20;
+$configPage = $c->getConfiguration('usersList', 'pageSize', '', $_SESSION['USER_LOGGED']);
+$Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20;
-$oHeadPublisher = & headPublisher::getSingleton();
-$oHeadPublisher->addExtJsScript( 'users/usersList', false ); //adding a javascript file .js
-$oHeadPublisher->addContent( 'users/usersList' ); //adding a html file .html.
-$oHeadPublisher->assign( 'CONFIG', $Config );
-$oHeadPublisher->assign( 'FORMATS', $c->getFormats() );
+$oHeadPublisher = &headPublisher::getSingleton();
+$oHeadPublisher->addExtJsScript('users/usersList', false); //adding a javascript file .js
+$oHeadPublisher->addContent('users/usersList'); //adding a html file .html.
+$oHeadPublisher->assign('CONFIG', $Config);
+$oHeadPublisher->assign('FORMATS', $c->getFormats());
G::RenderPage( 'publish', 'extJs' );