EVOLUTION-MANAGER
Edit File: Link.php
<?php namespace DuplicatorPro\Guzzle\Http\Message\Header; defined("ABSPATH") or die(""); use DuplicatorPro\Guzzle\Http\Message\Header; /** * Provides helpful functionality for link headers */ class Link extends Header { /** * Add a link to the header * * @param string $url Link URL * @param string $rel Link rel * @param array $params Other link parameters * * @return self */ public function addLink($url, $rel, array $params = array()) { $values = array("<{$url}>", "rel=\"{$rel}\""); foreach ($params as $k => $v) { $values[] = "{$k}=\"{$v}\""; } return $this->add(implode('; ', $values)); } /** * Check if a specific link exists for a given rel attribute * * @param string $rel rel value * * @return bool */ public function hasLink($rel) { return $this->getLink($rel) !== null; } /** * Get a specific link for a given rel attribute * * @param string $rel Rel value * * @return array|null */ public function getLink($rel) { foreach ($this->getLinks() as $link) { if (isset($link['rel']) && $link['rel'] == $rel) { return $link; } } return null; } /** * Get an associative array of links * * For example: * Link: <http:/.../front.jpeg>; rel=front; type="image/jpeg", <http://.../back.jpeg>; rel=back; type="image/jpeg" * * <code> * var_export($response->getLinks()); * array( * array( * 'url' => 'http:/.../front.jpeg', * 'rel' => 'back', * 'type' => 'image/jpeg', * ) * ) * </code> * * @return array */ public function getLinks() { $links = $this->parseParams(); foreach ($links as &$link) { $key = key($link); unset($link[$key]); $link['url'] = trim($key, '<> '); } return $links; } }