PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.0.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.0.1
5.13.0 5.12.1 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 / Updates.php
matomo / app / core Last commit date
API 2 years ago Access 2 years ago Application 2 years ago Archive 2 years ago ArchiveProcessor 2 years ago Archiver 2 years ago AssetManager 2 years ago Auth 2 years ago Category 2 years ago Changes 2 years ago CliMulti 2 years ago Columns 2 years ago Concurrency 2 years ago Config 2 years ago Container 2 years ago CronArchive 2 years ago DataAccess 2 years ago DataFiles 2 years ago DataTable 2 years ago Db 2 years ago DeviceDetector 2 years ago Email 2 years ago Exception 2 years ago Http 2 years ago Intl 2 years ago Log 2 years ago Mail 2 years ago Measurable 2 years ago Menu 2 years ago Metrics 2 years ago Notification 2 years ago Period 2 years ago Plugin 2 years ago ProfessionalServices 2 years ago Report 2 years ago ReportRenderer 2 years ago Scheduler 2 years ago Segment 2 years ago Session 2 years ago Settings 2 years ago Tracker 2 years ago Translation 2 years ago Twig 2 years ago UpdateCheck 2 years ago Updater 2 years ago Updates 2 years ago Validators 2 years ago View 2 years ago ViewDataTable 2 years ago Visualization 2 years ago Widget 2 years ago .htaccess 2 years ago Access.php 2 years ago Archive.php 2 years ago ArchiveProcessor.php 2 years ago AssetManager.php 2 years ago Auth.php 2 years ago AuthResult.php 2 years ago BaseFactory.php 2 years ago Cache.php 2 years ago CacheId.php 2 years ago CliMulti.php 2 years ago Common.php 2 years ago Config.php 2 years ago Console.php 2 years ago Context.php 2 years ago Cookie.php 2 years ago CronArchive.php 2 years ago DI.php 2 years ago DataArray.php 2 years ago DataTable.php 2 years ago Date.php 2 years ago Db.php 2 years ago DbHelper.php 2 years ago Development.php 2 years ago ErrorHandler.php 2 years ago EventDispatcher.php 2 years ago ExceptionHandler.php 2 years ago FileIntegrity.php 2 years ago Filechecks.php 2 years ago Filesystem.php 2 years ago FrontController.php 2 years ago Http.php 2 years ago IP.php 2 years ago Log.php 2 years ago LogDeleter.php 2 years ago Mail.php 2 years ago Metrics.php 2 years ago NoAccessException.php 2 years ago Nonce.php 2 years ago Notification.php 2 years ago NumberFormatter.php 2 years ago Option.php 2 years ago Period.php 2 years ago Piwik.php 2 years ago Plugin.php 2 years ago Profiler.php 2 years ago ProxyHeaders.php 2 years ago ProxyHttp.php 2 years ago QuickForm2.php 2 years ago RankingQuery.php 2 years ago ReportRenderer.php 2 years ago Request.php 2 years ago Segment.php 2 years ago Sequence.php 2 years ago Session.php 2 years ago SettingsPiwik.php 2 years ago SettingsServer.php 2 years ago Singleton.php 2 years ago Site.php 2 years ago SiteContentDetector.php 2 years ago SupportedBrowser.php 2 years ago TCPDF.php 2 years ago Theme.php 2 years ago Timer.php 2 years ago Tracker.php 2 years ago Twig.php 2 years ago Unzip.php 2 years ago UpdateCheck.php 2 years ago Updater.php 2 years ago UpdaterErrorException.php 2 years ago Updates.php 2 years ago Url.php 2 years ago UrlHelper.php 2 years ago Version.php 2 years ago View.php 2 years ago bootstrap.php 2 years ago dispatch.php 2 years ago testMinimumPhpVersion.php 2 years ago
Updates.php
117 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;
11
12 use Piwik\Updater\Migration;
13 /**
14 * Base class for update scripts.
15 *
16 * Update scripts perform version updates for Piwik core or individual plugins. They can run
17 * SQL queries and/or PHP code to update an environment to a newer version.
18 *
19 * To create a new update script, create a class that extends `Updates`. Name the class and file
20 * after the version, eg, `class Updates_3_0_0` and `3.0.0.php`. Override the {@link getMigrationQueries()}
21 * method if you need to run SQL queries. Override the {@link doUpdate()} method to do other types
22 * of updating, eg, to activate/deactivate plugins or create files.
23 *
24 * @example core/Updates/0.4.2.php
25 */
26 abstract class Updates
27 {
28 /**
29 * Return migrations to be executed in this update.
30 *
31 * Migrations should be defined here, instead of in `doUpdate()`, since this method is used to display a preview
32 * of which migrations and database queries an update will run. If you execute migrations directly in `doUpdate()`,
33 * they won't be displayed to the user.
34 *
35 * @param Updater $updater
36 * @return Migration[]
37 * @api
38 */
39 public function getMigrations(\Piwik\Updater $updater)
40 {
41 return array();
42 }
43 /**
44 * Perform the incremental version update.
45 *
46 * This method should perform all updating logic. If you define migrations in an overridden `getMigrations()`
47 * method, you must call {@link Updater::executeMigrations()} here.
48 *
49 * See {@link \Piwik\Plugins\ExamplePlugin\Updates\Updates_0_0_2} for an example.
50 *
51 * @param Updater $updater
52 * @api
53 */
54 public function doUpdate(\Piwik\Updater $updater)
55 {
56 }
57 /**
58 * Tell the updater that this is a major update.
59 * Leads to a more visible notice.
60 *
61 * NOTE to release manager: Remember to mention in the Changelog
62 * that this update contains major DB upgrades and will take some time!
63 *
64 * @return bool
65 */
66 public static function isMajorUpdate()
67 {
68 return false;
69 }
70 /**
71 * Enables maintenance mode. Should be used for updates where Piwik will be unavailable
72 * for a large amount of time.
73 */
74 public static function enableMaintenanceMode()
75 {
76 $config = \Piwik\Config::getInstance();
77 $tracker = $config->Tracker;
78 $tracker['record_statistics'] = 0;
79 $config->Tracker = $tracker;
80 $general = $config->General;
81 $general['maintenance_mode'] = 1;
82 $config->General = $general;
83 $config->forceSave();
84 }
85 /**
86 * Helper method to disable maintenance mode after large updates.
87 */
88 public static function disableMaintenanceMode()
89 {
90 $config = \Piwik\Config::getInstance();
91 $tracker = $config->Tracker;
92 $tracker['record_statistics'] = 1;
93 $config->Tracker = $tracker;
94 $general = $config->General;
95 $general['maintenance_mode'] = 0;
96 $config->General = $general;
97 $config->forceSave();
98 }
99 public static function deletePluginFromConfigFile($pluginToDelete)
100 {
101 $config = \Piwik\Config::getInstance();
102 if (isset($config->Plugins['Plugins'])) {
103 $plugins = $config->Plugins['Plugins'];
104 if (($key = array_search($pluginToDelete, $plugins)) !== false) {
105 unset($plugins[$key]);
106 }
107 $config->Plugins['Plugins'] = $plugins;
108 $pluginsInstalled = $config->PluginsInstalled['PluginsInstalled'];
109 if (($key = array_search($pluginToDelete, $pluginsInstalled)) !== false) {
110 unset($pluginsInstalled[$key]);
111 }
112 $config->PluginsInstalled = array('PluginsInstalled' => $pluginsInstalled);
113 $config->forceSave();
114 }
115 }
116 }
117