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