]>
git.immae.eu Git - github/shaarli/Shaarli.git/blob - plugins/wallabag/WallabagInstance.php
2 namespace Shaarli\Plugin\Wallabag
;
5 * Class WallabagInstance.
10 * @var array Static reference to differrent WB API versions.
11 * - key: version ID, must match plugin settings.
12 * - value: version name.
14 private static $wallabagVersions = array(
20 * @var array Static reference to WB endpoint according to the API version.
21 * - key: version name.
24 private static $wallabagEndpoints = array(
25 '1.x' => '?plainurl=',
26 '2.x' => 'bookmarklet?url=',
30 * @var string Wallabag user instance URL.
35 * @var string Wallabag user instance API version.
39 public function __construct($instance, $version)
41 if ($this->isVersionAllowed($version)) {
42 $this->apiVersion
= self
::$wallabagVersions[$version];
44 // Default API version: 1.x.
45 $this->apiVersion
= self
::$wallabagVersions[1];
48 $this->instanceUrl
= add_trailing_slash($instance);
52 * Build the Wallabag URL to reach from instance URL and API version endpoint.
54 * @return string wallabag url.
56 public function getWallabagUrl()
58 return $this->instanceUrl
. self
::$wallabagEndpoints[$this->apiVersion
];
62 * Checks version configuration.
64 * @param mixed $version given version ID.
66 * @return bool true if it's valid, false otherwise.
68 private function isVersionAllowed($version)
70 return isset(self
::$wallabagVersions[$version]);