/** * @covers media_subdef::get_url */ public function testGet_url() { $this->assertInstanceOf('Guzzle\\Http\\Url', self::$objectNotPresent->get_url()); $this->assertInstanceOf('Guzzle\\Http\\Url', self::$objectPresent->get_url()); $this->assertEquals('/skins/icons/substitution/image_jpeg.png', (string) self::$objectNotPresent->get_url()); $this->assertRegExp('#\\/datafiles\\/' . self::$objectPresent->get_sbas_id() . '\\/' . self::$objectPresent->get_record_id() . '\\/preview\\/\\?etag=[0-9a-f]{32}#', (string) self::$objectPresent->get_url()); }
/** * * @return string */ public function get_page() { return $this->app->url('permalinks_permaview', ['sbas_id' => $this->media_subdef->get_sbas_id(), 'record_id' => $this->media_subdef->get_record_id(), 'subdef' => $this->media_subdef->get_name(), 'token' => $this->get_token()]); }
/** * @param User $issuer * @param \media_subdef $subdef * @param int $url_ttl * @return string */ private function generateSubDefinitionUrl(User $issuer, \media_subdef $subdef, $url_ttl) { $payload = ['iat' => time(), 'iss' => $issuer->getId(), 'sdef' => [$subdef->get_sbas_id(), $subdef->get_record_id(), $subdef->get_name()]]; if ($url_ttl >= 0) { $payload['exp'] = $payload['iat'] + $url_ttl; } /** @var SecretProvider $provider */ $provider = $this->app['provider.secrets']; $secret = $provider->getSecretForUser($issuer); return $this->app->url('media_accessor', ['token' => JWT::encode($payload, $secret->getToken(), 'HS256', $secret->getId())]); }