/** * Copy current role to the given partner. * @param int $partnerId */ public function copyToPartner($partnerId) { $newRole = new UserRole(); $newRole->setName($this->getName()); $newRole->setDescription($this->getDescription()); $newRole->setStatus($this->getStatus()); $newRole->setPermissionNames(parent::getPermissionNames()); $newRole->setCustomData($this->getCustomData()); $newRole->setPartnerId($partnerId); // set new partner id $newRole->setTags($this->getTags()); return $newRole; }
$role->setPartnerId(99); $userRoles[] = $role; $role = new UserRole(); $role->setName('Content Moderator'); $role->setDescription('Access to publisher content moderation panel'); $moderatorPermissions = 'KMC_ACCESS,KMC_READ_ONLY,CONTENT_MODERATE_APPROVE_REJECT,CONTENT_MODERATE_BASE,CONTENT_MODERATE_METADATA,CONTENT_MODERATE_CUSTOM_DATA'; $role->setPermissionNames($moderatorPermissions); $role->setStatus(UserRoleStatus::ACTIVE); $role->setTags('kmc'); $role->setPartnerId(99); $userRoles[] = $role; $role = new UserRole(); $role->setName('Player Designer'); $role->setDescription('Access to publisher studio'); $designerPermissions = 'KMC_ACCESS,KMC_READ_ONLY,STUDIO_BASE,STUDIO_ADD_UICONF,STUDIO_UPDATE_UICONF,STUDIO_DELETE_UICONF,STUDIO_BRAND_UICONF'; $role->setPermissionNames($designerPermissions); $role->setStatus(UserRoleStatus::ACTIVE); $role->setTags('kmc'); $role->setPartnerId(99); $userRoles[] = $role; //------------------------------------------------------ foreach ($userRoles as $newRole) { if ($dryRun) { KalturaLog::log('DRY RUN - Adding new role - ' . print_r($newRole, true)); } else { KalturaLog::log('Adding new role - ' . print_r($newRole, true)); $newRole->save(); } } $msg = 'Done - ' . ($dryRun ? 'DRY RUN!' : 'REAL RUN!'); KalturaLog::log($msg);
<?php /** * @package deployment * * Create playback-only user role * * No need to re-run after server code deploy */ chdir(__DIR__); require_once __DIR__ . '/../../bootstrap.php'; $realRun = isset($argv[1]) && $argv[1] == 'realrun'; KalturaStatement::setDryRun(!$realRun); $userRole = new UserRole(); $userRole->setStrId('PLAYBACK_BASE_ROLE'); $userRole->setName('PLAYBACK BASE ROLE'); $userRole->setSystemName('PLAYBACK_BASE_ROLE'); $userRole->setDescription('Only playback'); $userRole->setPartnerId(0); $userRole->setStatus(UserRoleStatus::ACTIVE); $userRole->setPermissionNames('PLAYBACK_BASE_PERMISSION'); $userRole->save();
$role->setStatus(UserRoleStatus::ACTIVE); $role->setTags('admin_console'); $userRoles['ps'] = $role; $role = new UserRole(); $role->setName('Publishers Administrator'); $role->setDescription('Publishers Administrator'); $permissions = 'SYSTEM_ADMIN_BASE,SYSTEM_ADMIN_PUBLISHER_BASE,SYSTEM_ADMIN_PUBLISHER_KMC_ACCESS,SYSTEM_ADMIN_PUBLISHER_CONFIG,SYSTEM_ADMIN_PUBLISHER_BLOCK,SYSTEM_ADMIN_PUBLISHER_ADD,SYSTEM_ADMIN_PUBLISHER_USAGE,SYSTEM_ADMIN_DEVELOPERS_TAB'; $role->setPermissionNames($permissions); $role->setStatus(UserRoleStatus::ACTIVE); $role->setTags('admin_console'); $userRoles[] = $role; $role = new UserRole(); $role->setName('Guest'); $role->setDescription('Guest'); $permissions = 'SYSTEM_ADMIN_BASE'; $role->setPermissionNames($permissions); $role->setStatus(UserRoleStatus::ACTIVE); $role->setTags('admin_console'); $userRoles['guest'] = $role; //------------------------------------------------------ foreach ($userRoles as $key => $newRole) { $newRole->setPartnerId(-2); // set admin console partner id (-2) if ($dryRun) { KalturaLog::log('DRY RUN - Adding new role - ' . print_r($newRole, true)); } else { KalturaLog::log('Adding new role - ' . print_r($newRole, true)); $newRole->save(); if ($key === 'admin') { $partner = PartnerPeer::retrieveByPk(-2); $partner->setAdminSessionRoleId($newRole->getId());
function getOrCreateUserSessionRole($partnerId) { PartnerPeer::clearInstancePool(); $partner = PartnerPeer::retrieveByPK($partnerId); $role = null; $id = $partner->getUserSessionRoleId(); if ($id) { $role = UserRolePeer::retrieveByPK($id); } if (!$role) { $role = new UserRole(); $role->setPartnerId($partnerId); $role->setStatus(UserRoleStatus::ACTIVE); $role->setName('Partner ' . $partnerId . ' user session permission'); $role->setDescription('Partner ' . $partnerId . ' user session permission'); $role->setPermissionNames(PermissionName::USER_SESSION_PERMISSION); $role->save(); } return $role; }