コード例 #1
0
ファイル: Permission.php プロジェクト: AdiTal/server
 /**
  * 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;
 }