public static function install($existingAddOn, $addOnData, $xml) { if ($existingAddOn) { $currentVersion = $existingAddOn['version_id']; } $installClassInstance = new self(); $installClassInstance->runBeforeInstallMethodCall(); $upgrades = $installClassInstance->installMethods; ksort($upgrades, SORT_NUMERIC); if (isset($currentVersion)) { foreach ($upgrades as $key => $upgrade) { if ($key <= $currentVersion) { unset($upgrades[$key]); } } } foreach ($upgrades as $method) { $installClassInstance->{$method}(); } }