PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 1.3.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v1.3.1
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / UpdateCheck / ReleaseChannel.php
matomo / app / core / UpdateCheck Last commit date
ReleaseChannel.php 6 years ago
ReleaseChannel.php
82 lines
1 <?php
2 /**
3 * Piwik - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 *
8 */
9 namespace Piwik\UpdateCheck;
10
11 /**
12 * Base class to define a custom release channel. Plugins can add their own custom release channels by extending this
13 * class in a `plugin/$plugin/ReleaseChannel` folder. Custom release channels can be useful for example to provide
14 * nightly builds, to manage updates for clients via a central server, to package a special Piwik version for clients
15 * with custom plugins etc.
16 *
17 * This is not a public API and it may change without any announcement.
18 *
19 * @package Piwik\UpdateCheck
20 */
21 abstract class ReleaseChannel
22 {
23 /**
24 * Get the ID for this release channel. This string will be eg saved in the config to identify the chosen release
25 * channel
26 * @return string
27 */
28 abstract public function getId();
29
30 /**
31 * Get a human readable name for this release channel, will be visible in the UI. Should be already translated.
32 * @return string
33 */
34 abstract public function getName();
35
36 /**
37 * Whether only stable versions are wanted or also beta versions.
38 * @return bool
39 */
40 public function doesPreferStable()
41 {
42 return true;
43 }
44
45 /**
46 * Get the latest available version number for this release channel. Eg '2.15.0-b4' or '2.15.0'. Should be
47 * a semantic version number in format MAJOR.MINOR.PATCH (http://semver.org/). Returning an empty string in case
48 * one cannot connect to the remote server can be acceptable.
49 * @return string
50 */
51 abstract public function getUrlToCheckForLatestAvailableVersion();
52
53 /**
54 * Get the URL to download a specific Piwik archive for the given version number. The returned URL should not
55 * include a URI scheme, meaning it should start with '://...'.
56 *
57 * @param string $version
58 * @return string
59 */
60 abstract public function getDownloadUrlWithoutScheme($version);
61
62 /**
63 * Get the description for this release channel. Will be shown directly next to the name of the release in the
64 * Admin UI. For example 'Recommended' or 'Long Term Support version'.
65 * @return string
66 */
67 public function getDescription()
68 {
69 return '';
70 }
71
72 /**
73 * Get the order for this release channel. The lower the number the more important this release channel is. The
74 * release channel having the lowest order will be shown first and will be used as default release channel in case
75 * no valid release channel is defined.
76 * @return int
77 */
78 public function getOrder()
79 {
80 return 99;
81 }
82 }