503 ] ); } /** * @param mixed $response * @return mixed */ public function pre_update_backup( $response ) { // Only attempt once per request, and only if GemBackup is present. static $done = false; if ( $done ) { return $response; } $done = true; if ( has_action( 'gembackup/run_backup' ) ) { Logger::log( 'pre_update_backup', 'Triggered a backup via GemBackup before an update.', Logger::SEVERITY_INFO ); // Public hook into GemBackup's own API — not one of ours to prefix. do_action( 'gembackup/run_backup' ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound } /** * Always fire a generic seam so any backup solution can hook in. */ do_action( 'gemsecurity/pre_update_backup' ); return $response; } }