protected function processKs($ksStr, $requiredPermission = null) { try { kCurrentContext::initKsPartnerUser($ksStr); } catch (Exception $ex) { KalturaLog::err($ex); return false; } if (kCurrentContext::$ks_object->type != ks::SESSION_TYPE_ADMIN) { KalturaLog::err('Ks is not admin'); return false; } try { kPermissionManager::init(kConf::get('enable_cache')); } catch (Exception $ex) { if (strpos($ex->getCode(), 'INVALID_ACTIONS_LIMIT') === false) { KalturaLog::err($ex); return false; } } if ($requiredPermission) { if (!kPermissionManager::isPermitted(PermissionName::ADMIN_PUBLISHER_MANAGE)) { KalturaLog::err('Ks is missing "ADMIN_PUBLISHER_MANAGE" permission'); return false; } } return true; }
/** * Delete an existing UIConf with no partner limitation * * @action delete * @param int $id * * @throws APIErrors::INVALID_UI_CONF_ID */ function deleteAction($id) { $dbUiConf = uiConfPeer::retrieveByPK($id); if (!$dbUiConf) { throw new KalturaAPIException(APIErrors::INVALID_UI_CONF_ID, $id); } if ($dbUiConf->getPartnerId() == PartnerPeer::GLOBAL_PARTNER && !kPermissionManager::isPermitted(self::PERMISSION_GLOBAL_PARTNER_UI_CONF_UPDTAE)) { throw new KalturaAPIException(APIErrors::INVALID_UI_CONF_ID, $id); } $dbUiConf->setStatus(uiConf::UI_CONF_STATUS_DELETED); $dbUiConf->save(); }