/** * Add a permission item to the current permission * @param int $permissionItemId * @throws kPermissionException::PERMISSION_ITEM_NOT_FOUND */ public function addPermissionItem($permissionItemId, $save = true) { // check if permission item exists $permissionItem = PermissionItemPeer::retrieveByPK($permissionItemId); if (!$permissionItem) { throw new kPermissionException('', kPermissionException::PERMISSION_ITEM_NOT_FOUND); } $itemIds = $this->getPermissionItemIds(); // init $this->permissionItemIds // check if item is already associated with the permission if ($itemIds && in_array($permissionItemId, $itemIds)) { KalturaLog::notice('Permission with name [' . $this->getName() . '] already contains permission item with id [' . $permissionItemId . ']'); return true; } $this->permissionItemIds[$permissionItemId] = $permissionItemId; $this->permissionItemIdsChanged = true; if ($save) { $this->save(); } return true; }
/** * Cleans up the environment after running a test. */ protected function tearDown() { UserRolePeer::clearInstancePool(); PermissionPeer::clearInstancePool(); PermissionItemPeer::clearInstancePool(); kuserPeer::clearInstancePool(); PartnerPeer::clearInstancePool(); $this->client = null; PermissionItemPeer::setUseCriteriaFilter(false); foreach ($this->addedPermissionItemIds as $id) { try { $obj = PermissionItemPeer::retrieveByPK($id); if ($obj) { $obj->delete(); } } catch (PropelException $e) { } } PermissionItemPeer::setUseCriteriaFilter(true); $this->addedPermissionItemIds = array(); parent::tearDown(); }
/** * Deletes an existing permission item object. * This action is available only to Kaltura system administrators. * * @action delete * @param int $permissionItemId The permission item's unique identifier * @return KalturaPermissionItem The deleted permission item object * * @throws KalturaErrors::INVALID_OBJECT_ID */ public function deleteAction($permissionItemId) { $dbPermissionItem = PermissionItemPeer::retrieveByPK($permissionItemId); if (!$dbPermissionItem) { throw new KalturaAPIException(KalturaErrors::INVALID_OBJECT_ID, $permissionItemId); } $dbPermissionItem->delete(); $permissionItem = new KalturaPermissionItem(); $permissionItem->fromObject($dbPermissionItem); return $permissionItem; }