PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 4.0.2
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v4.0.2
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 5 years ago
ReleaseChannel.php
80 lines
1 <?php
2 /**
3 * Matomo - 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 abstract class ReleaseChannel
20 {
21 /**
22 * Get the ID for this release channel. This string will be eg saved in the config to identify the chosen release
23 * channel
24 * @return string
25 */
26 abstract public function getId();
27
28 /**
29 * Get a human readable name for this release channel, will be visible in the UI. Should be already translated.
30 * @return string
31 */
32 abstract public function getName();
33
34 /**
35 * Whether only stable versions are wanted or also beta versions.
36 * @return bool
37 */
38 public function doesPreferStable()
39 {
40 return true;
41 }
42
43 /**
44 * Get the latest available version number for this release channel. Eg '2.15.0-b4' or '2.15.0'. Should be
45 * a semantic version number in format MAJOR.MINOR.PATCH (http://semver.org/). Returning an empty string in case
46 * one cannot connect to the remote server can be acceptable.
47 * @return string
48 */
49 abstract public function getUrlToCheckForLatestAvailableVersion();
50
51 /**
52 * Get the URL to download a specific Piwik archive for the given version number. The returned URL should not
53 * include a URI scheme, meaning it should start with '://...'.
54 *
55 * @param string $version
56 * @return string
57 */
58 abstract public function getDownloadUrlWithoutScheme($version);
59
60 /**
61 * Get the description for this release channel. Will be shown directly next to the name of the release in the
62 * Admin UI. For example 'Recommended' or 'Long Term Support version'.
63 * @return string
64 */
65 public function getDescription()
66 {
67 return '';
68 }
69
70 /**
71 * Get the order for this release channel. The lower the number the more important this release channel is. The
72 * release channel having the lowest order will be shown first and will be used as default release channel in case
73 * no valid release channel is defined.
74 * @return int
75 */
76 public function getOrder()
77 {
78 return 99;
79 }
80 }