public function execute() { $tp = SJB_System::getTemplateProcessor(); $this->pageID = SJB_PageManager::getPageParentURI(SJB_Navigator::getURI(), SJB_System::getSystemSettings('SYSTEM_ACCESS_TYPE'), false); if (empty($this->pageID) || $this->pageID == '/') { $this->pageID = $GLOBALS['uri']; } if (SJB_SubAdmin::getSubAdminSID()) { $tp->assign('left_admin_menu', $this->mark_active_itemsPermissionWith($GLOBALS['LEFT_ADMIN_MENU'], SJB_SubAdminAcl::getInstance(), SJB_SubAdmin::getSubAdminSID())); $tp->assign('subadmin', SJB_SubAdmin::getSubAdminInfo()); } else { $tp->assign('left_admin_menu', $this->mark_active_items($GLOBALS['LEFT_ADMIN_MENU'])); } $tp->display('admin_left_menu.tpl'); }
public function isAccessible() { $listingTypeID = SJB_Array::get($this->params, 'listing_type_id'); if ($listingTypeID) { $permissionLabel = 'view_' . strtolower($listingTypeID) . '_details'; $this->setPermissionLabel($permissionLabel); $allow = parent::isAccessible() && SJB_System::isUserAccessThisPage(); $listingID = SJB_Request::getVar('listing_id', false); $passedParametersViaUri = SJB_Request::getVar('passed_parameters_via_uri', false); if (!$listingID && $passedParametersViaUri) { $passedParametersViaUri = SJB_UrlParamProvider::getParams(); if (isset($passedParametersViaUri[0])) { $listingID = $passedParametersViaUri[0]; } } if (SJB_UserManager::isUserLoggedIn()) { $currentUser = SJB_UserManager::getCurrentUser(); if (!$allow && $listingID) { $pageID = SJB_PageManager::getPageParentURI(SJB_Navigator::getURI(), SJB_System::getSystemSettings('SYSTEM_ACCESS_TYPE'), false); $pageHasBeenVisited = SJB_ContractManager::isPageViewed($currentUser->getSID(), $pageID, $listingID); if ($pageHasBeenVisited || strpos($pageID, 'print') !== false) { $allow = true; } } if (!$allow && 'Resume' == $listingTypeID && $listingID) { // if view resume not allowed by ACL, check applications table // for current resume ID, applied for one of current user jobs // if present in applications - allow current user to view resume // check for all jobs of current user $cuJobs = SJB_ListingManager::getListingsByUserSID($currentUser->getSID()); $listingSids = array(); foreach ($cuJobs as $job) { $listingSids[] = $job->getSID(); } if (!empty($listingSids)) { $result = SJB_DB::query('SELECT * FROM `applications` WHERE `resume` = ?n AND `listing_id` IN (?l) LIMIT 1', $listingID, $listingSids); if (!empty($result)) { $allow = true; } } } } return $allow; } return parent::isAccessible() && SJB_System::isUserAccessThisPage(); }
public static function doesParentPageExist($uri, $access_type) { $parentUri = SJB_PageManager::getPageParentURI($uri, $access_type); return !empty($parentUri) && $parentUri != '/'; }
public static function getUserPageParentURI($uri) { return SJB_PageManager::getPageParentURI($uri, SJB_System::getSystemSettings('SYSTEM_ACCESS_TYPE')); }