PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.0.7
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.0.7
5.12.0 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 2 years ago
ReleaseChannel.php
76 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 *
9 */
10 namespace Piwik\UpdateCheck;
11
12 /**
13 * Base class to define a custom release channel. Plugins can add their own custom release channels by extending this
14 * class in a `plugin/$plugin/ReleaseChannel` folder. Custom release channels can be useful for example to provide
15 * nightly builds, to manage updates for clients via a central server, to package a special Piwik version for clients
16 * with custom plugins etc.
17 *
18 * This is not a public API and it may change without any announcement.
19 */
20 abstract class ReleaseChannel
21 {
22 /**
23 * Get the ID for this release channel. This string will be eg saved in the config to identify the chosen release
24 * channel
25 * @return string
26 */
27 public abstract function getId();
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 public abstract function getName();
33 /**
34 * Whether only stable versions are wanted or also beta versions.
35 * @return bool
36 */
37 public function doesPreferStable()
38 {
39 return true;
40 }
41 /**
42 * Get the latest available version number for this release channel. Eg '2.15.0-b4' or '2.15.0'. Should be
43 * a semantic version number in format MAJOR.MINOR.PATCH (http://semver.org/). Returning an empty string in case
44 * one cannot connect to the remote server can be acceptable.
45 * @return string
46 */
47 public abstract function getUrlToCheckForLatestAvailableVersion();
48 /**
49 * Get the URL to download a specific Piwik archive for the given version number. The returned URL should not
50 * include a URI scheme, meaning it should start with '://...'.
51 *
52 * @param string $version
53 * @return string
54 */
55 public abstract function getDownloadUrlWithoutScheme($version);
56 /**
57 * Get the description for this release channel. Will be shown directly next to the name of the release in the
58 * Admin UI. For example 'Recommended' or 'Long Term Support version'.
59 * @return string
60 */
61 public function getDescription()
62 {
63 return '';
64 }
65 /**
66 * Get the order for this release channel. The lower the number the more important this release channel is. The
67 * release channel having the lowest order will be shown first and will be used as default release channel in case
68 * no valid release channel is defined.
69 * @return int
70 */
71 public function getOrder()
72 {
73 return 99;
74 }
75 }
76