Changeset View
Changeset View
Standalone View
Standalone View
branches/5.2.x/core/units/helpers/permissions_helper.php
Show First 20 Lines • Show All 183 Lines • ▼ Show 20 Line(s) | |||||
// mapping between specific permissions and common permissions | // mapping between specific permissions and common permissions | ||||
static $perm_mapping = Array( | static $perm_mapping = Array( | ||||
'add' => 'ADD', 'add.pending' => 'ADD.PENDING', 'edit' => 'MODIFY', | 'add' => 'ADD', 'add.pending' => 'ADD.PENDING', 'edit' => 'MODIFY', | ||||
'edit.pending' => 'MODIFY.PENDING', 'delete' => 'DELETE', 'view' => 'VIEW', | 'edit.pending' => 'MODIFY.PENDING', 'delete' => 'DELETE', 'view' => 'VIEW', | ||||
'debug' => 'DEBUG', 'admin' => 'ADMIN', | 'debug' => 'DEBUG', 'admin' => 'ADMIN', | ||||
); | ); | ||||
$top_prefix = $event->getEventParam('top_prefix'); | $top_prefix = $event->getEventParam('top_prefix'); | ||||
/** @var kCatDBEventHandler $event_handler */ | |||||
$event_handler = $this->Application->recallObject($event->Prefix . '_EventHandler'); | $event_handler = $this->Application->recallObject($event->Prefix . '_EventHandler'); | ||||
/* @var $event_handler kCatDBEventHandler */ | |||||
$raise_warnings = $event->getEventParam('raise_warnings'); | $raise_warnings = $event->getEventParam('raise_warnings'); | ||||
$event->setEventParam('raise_warnings', 0); | $event->setEventParam('raise_warnings', 0); | ||||
if ( $event->Prefix != $top_prefix ) { | if ( $event->Prefix != $top_prefix ) { | ||||
$top_event = new kEvent($top_prefix . ':' . $event->Name); | $top_event = new kEvent($top_prefix . ':' . $event->Name); | ||||
$id = $event_handler->getPassedID($top_event); | $id = $event_handler->getPassedID($top_event); | ||||
} | } | ||||
else { | else { | ||||
▲ Show 20 Lines • Show All 240 Lines • ▼ Show 20 Line(s) | |||||
} | } | ||||
} | } | ||||
return false; | return false; | ||||
} | } | ||||
elseif ($perm_event) { | elseif ($perm_event) { | ||||
// check permission by event name | // check permission by event name | ||||
list ($prefix, ) = explode(':', $perm_event); | list ($prefix, ) = explode(':', $perm_event); | ||||
/** @var kEventHandler $event_handler */ | |||||
$event_handler = $this->Application->recallObject($prefix . '_EventHandler'); | $event_handler = $this->Application->recallObject($prefix . '_EventHandler'); | ||||
/* @var $event_handler kEventHandler */ | |||||
return $event_handler->CheckPermission( new kEvent($perm_event) ); | return $event_handler->CheckPermission( new kEvent($perm_event) ); | ||||
} | } | ||||
return true; | return true; | ||||
} | } | ||||
/** | /** | ||||
▲ Show 20 Lines • Show All 380 Lines • ▼ Show 20 Line(s) | |||||
} | } | ||||
else if ($this->CheckPermission($perm_prefix.'.ADD.PENDING', ptCATEGORY, $category_id)) { | else if ($this->CheckPermission($perm_prefix.'.ADD.PENDING', ptCATEGORY, $category_id)) { | ||||
return 2; | return 2; | ||||
} | } | ||||
return 0; | return 0; | ||||
} | } | ||||
} | } | ||||
No newline at end of file | No newline at end of file |