artabro/wire/modules/System/SystemUpdater/SystemUpdate19.php
2024-08-27 11:35:37 +02:00

28 lines
915 B
PHP

<?php namespace ProcessWire;
/**
* Clear legacy and irrelevant entries from modules table
*
*/
class SystemUpdate19 extends SystemUpdate {
public function execute() {
$this->wire()->addHookAfter('ProcessWire::ready', $this, 'executeAtReady');
return 0; // indicates we will update system version ourselves when ready
}
public function executeAtReady() {
$database = $this->wire()->database;
$modules = $this->wire()->modules;
$query = $database->prepare('DELETE FROM modules WHERE class=:name');
$qty = 0;
foreach(array('ProcessPage', 'InputfieldWrapper', 'FieldtypeNumber') as $name) {
if($modules->isInstalled($name)) continue;
$query->bindValue(':name', $name);
$query->execute();
if($query->rowCount()) $qty++;
}
$query->closeCursor();
if($qty) $this->message("Removed $qty redundant modules table entries", Notice::debug);
$this->updater->saveSystemVersion(19);
}
}