]>
git.immae.eu Git - github/shaarli/Shaarli.git/blob - plugins/wallabag/WallabagInstance.php
3 namespace Shaarli\Plugin\Wallabag
;
6 * Class WallabagInstance.
11 * @var array Static reference to differrent WB API versions.
12 * - key: version ID, must match plugin settings.
13 * - value: version name.
15 private static $wallabagVersions = [
21 * @var array Static reference to WB endpoint according to the API version.
22 * - key: version name.
25 private static $wallabagEndpoints = [
26 '1.x' => '?plainurl=',
27 '2.x' => 'bookmarklet?url=',
31 * @var string Wallabag user instance URL.
36 * @var string Wallabag user instance API version.
40 public function __construct($instance, $version)
42 if ($this->isVersionAllowed($version)) {
43 $this->apiVersion
= self
::$wallabagVersions[$version];
45 // Default API version: 1.x.
46 $this->apiVersion
= self
::$wallabagVersions[1];
49 $this->instanceUrl
= add_trailing_slash($instance);
53 * Build the Wallabag URL to reach from instance URL and API version endpoint.
55 * @return string wallabag url.
57 public function getWallabagUrl()
59 return $this->instanceUrl
. self
::$wallabagEndpoints[$this->apiVersion
];
63 * Checks version configuration.
65 * @param mixed $version given version ID.
67 * @return bool true if it's valid, false otherwise.
69 private function isVersionAllowed($version)
71 return isset(self
::$wallabagVersions[$version]);