PluginProbe
Activity Logs, User Activity Tracking, Multisite Activity Log from Logtivity / 3.3.10
Activity Logs, User Activity Tracking, Multisite Activity Log from Logtivity v3.3.10
3.3.10 3.3.9 3.3.8 trunk 1.0 1.1.0 1.10.0 1.11.0 1.11.1 1.12.0 1.13.0 1.14.0 1.15.0 1.16.0 1.17.0 1.17.1 1.18.0 1.19.0 1.2.0 1.20.0 1.20.1 1.3.0 1.3.1 1.4.0 1.5.0 All 68 releases
← All changes | Loggers/Core/Logtivity_Plugin.php +24 -8 3.3.9 → 3.3.10 View file →
@@ -70,9 +70,10 @@
70 70 $slug = $plugin;
71 71 $pluginData = get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin, false, false);
72 72
73 73 } elseif ($plugin instanceof Plugin_Upgrader) {
74 - if ($slug = $plugin->plugin_info()) {
74 + $slug = $plugin->plugin_info();
75 + if ($slug) {
75 76 $pluginData = get_plugin_data($plugin->result['local_destination'] . '/' . $slug, false, false);
76 77 }
77 78 }
78 79
@@ -98,9 +99,10 @@
98 99 * @return void
99 100 */
100 101 public function pluginStateChanged(string $state, string $slug, bool $networkWide): void
101 102 {
102 - if ($plugin = $this->getPluginData($slug)) {
103 + $plugin = $this->getPluginData($slug);
104 + if ($plugin) {
103 105 Logtivity::log()
104 106 ->setAction('Plugin ' . $state)
105 107 ->setContext($plugin['Name'])
106 108 ->addMeta('Version', $plugin['Version'])
@@ -105,8 +107,9 @@
105 107 ->setContext($plugin['Name'])
106 108 ->addMeta('Version', $plugin['Version'])
107 109 ->addMeta('Slug', $plugin['Slug'])
108 110 ->addMeta('Network Wide', $networkWide ? 'Yes' : 'No')
111 + ->addInventory()
109 112 ->send();
110 113 }
111 114 }
112 115
@@ -227,9 +230,10 @@
227 230 if (
228 231 isset($this->capturedPluginData[$slug]) == false
229 232 && $this->pluginFileExists($slug)
230 233 ) {
231 - if ($pluginData = $this->getPluginData($slug)) {
234 + $pluginData = $this->getPluginData($slug);
235 + if ($pluginData) {
232 236 $this->capturedPluginData[$slug] = $pluginData;
233 237 }
234 238 }
235 239 }
@@ -289,8 +293,9 @@
289 293 ->setContext($plugin['Name'])
290 294 ->addMeta('Slug', $plugin['Slug'])
291 295 ->addMeta('Version', $plugin['Version'])
292 296 ->addMeta('Deletion Successful', $deleted ? 'Yes' : 'No')
297 + ->addInventory()
293 298 ->send();
294 299 }
295 300 }
296 301
@@ -308,9 +313,10 @@
308 313 * @return bool|WP_Error
309 314 */
310 315 public function savePreUpdateVersion($response, array $hookExtra)
311 316 {
312 - if ($slug = $hookExtra['plugin'] ?? null) {
317 + $slug = $hookExtra['plugin'] ?? null;
318 + if ($slug) {
313 319 $this->capturePluginData($slug);
314 320 } else {
315 321 $this->captureAllPluginData();
316 322 }
@@ -367,9 +373,10 @@
367 373 $bulk = $options['bulk'] ?? false;
368 374 $plugins = $this->getPluginList($upgrader, $options);
369 375
370 376 foreach ($plugins as $plugin) {
371 - if ($pluginData = $this->getPluginData($plugin)) {
377 + $pluginData = $this->getPluginData($plugin);
378 + if ($pluginData) {
372 379 $log = Logtivity::log()
373 380 ->setAction('Plugin ' . $action)
374 381 ->setContext($pluginData['Name'])
375 382 ->addMeta('Slug', $pluginData['Slug'])
@@ -380,8 +387,9 @@
380 387 $log->addMeta('Old Version', $oldVersion);
381 388 }
382 389
383 390 $log->addMeta('Bulk', $bulk ? 'Yes' : 'No')
391 + ->addInventory()
384 392 ->send();
385 393 }
386 394 }
387 395 }
@@ -392,11 +400,19 @@
392 400 * @return array
393 401 */
394 402 public function pluginFileModified(array $defaultTypes): array
395 403 {
396 - $action = sanitize_text_field($_POST['action'] ?? null);
397 - $plugin = sanitize_text_field($_POST['plugin'] ?? null);
398 - $file = sanitize_text_field($_REQUEST['file'] ?? null);
404 + // phpcs:disable WordPress.Security.NonceVerification.Missing -- Passive logger reads core plugin-editor request after WordPress validates it.
405 + $action = isset($_POST['action'])
406 + ? sanitize_text_field(wp_unslash($_POST['action']))
407 + : null;
408 + $plugin = isset($_POST['plugin'])
409 + ? sanitize_text_field(wp_unslash($_POST['plugin']))
410 + : null;
411 + $file = isset($_REQUEST['file'])
412 + ? sanitize_text_field(wp_unslash($_REQUEST['file']))
413 + : null;
414 + // phpcs:enable WordPress.Security.NonceVerification.Missing
399 415
400 416 if ($file && $plugin && $action == 'edit-theme-plugin-file') {
401 417 $pluginData = $this->getPluginData($plugin);
402 418