Source of file PermissionsInfo.php
Size: 1,873 Bytes - Last Modified: 2018-11-03T09:50:48-04:00
G:/AdobeConnectClient/src/Commands/PermissionsInfo.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | <?php namespace AdobeConnectClient\Commands; use AdobeConnectClient\Command; use AdobeConnectClient\ArrayableInterface; use AdobeConnectClient\Converter\Converter; use AdobeConnectClient\Entities\Principal; use AdobeConnectClient\Helpers\StatusValidate; use AdobeConnectClient\Helpers\SetEntityAttributes as FillObject; /** * Get a list of principals who have permissions to act on a SCO, Principal or Account * * More info see {@link https://helpx.adobe.com/adobe-connect/webservices/permissions-info.html} */ class PermissionsInfo extends Command { /** * @var array */ protected $parameters; /** * @param int $aclId SCO ID, Principal ID or Account ID * @param ArrayableInterface|null $filter * @param ArrayableInterface|null $sorter */ public function __construct( $aclId, ArrayableInterface $filter = null, ArrayableInterface $sorter = null ) { $this->parameters = [ 'action' => 'permissions-info', 'acl-id' => (int) $aclId, ]; if ($filter) { $this->parameters += $filter->toArray(); } if ($sorter) { $this->parameters += $sorter->toArray(); } } /** * @inheritdoc * * @return Principal[] */ protected function process() { $response = Converter::convert( $this->client->doGet( $this->parameters + ['session' => $this->client->getSession()] ) ); StatusValidate::validate($response['status']); $principals = []; foreach ($response['permissions'] as $principalAttributes) { $principal = new Principal(); FillObject::setAttributes($principal, $principalAttributes); $principals[] = $principal; } return $principals; } } |