public function touchProcessors() { // Make sure settings & info are updated $pplist = PaymentProcessorHandler::getInstalledNameList(); foreach ($pplist as $ppname) { $pp = new PaymentProcessor(); if (!$pp->loadName($ppname)) { continue; } $pp->copyAssets(); $pp->fullInit(); // Infos often change, so we protect the name and description and so on, but replace everything else $original = $pp->processor->info(); $protect = array('name', 'longname', 'statement', 'description'); foreach ($original as $name => $var) { if (!in_array($name, $protect)) { $pp->info[$name] = $var; } } $pp->processor->storeload(); } }