示例#1
0
 /**
  * @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());
 }
示例#2
0
 /**
  *
  * @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()]);
 }
示例#3
0
 /**
  * @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())]);
 }