Files
old-new-wiaas/backend/app/plugins/wiaas/includes/class-wiaas-db-update.php
2018-10-24 12:13:07 +02:00

54 lines
2.1 KiB
PHP

<?php
defined( 'ABSPATH' ) || exit;
class Wiaas_DB_Update {
private static $db_updates = array(
'20180801222206' => 'wiaas_db_update_setup_gravity',
'20180802222206' => 'wiaas_db_update_add_delivery_process_forms',
'20180811134511' => 'wiaas_db_update_enable_orders_access_management',
'20180813134511' => 'wiaas_db_update_enable_order_numbers',
'20180826153509' => 'wiaas_create_broker_access_group',
'20180911101010' => 'wiaas_db_setup_exclusive_taxonomies',
'20181003164100' => 'wiaas_db_setup_customer_capabilities',
'20181012164450' => 'wiaas_db_update_add_user_organization_ui_fields',
'20181017164550' => 'wiaas_db_update_create_default_roles',
'20181017174550' => 'wiaas_db_import_aam_role_settings',
'20181018014550' => 'wiaas_db_update_update_supplier_capabilities',
'20181018024550' => 'wiaas_db_update_update_admin_capabilities',
'20181018034550' => 'wiaas_admin_create_role_access_groups',
'20181018044450' => 'wiaas_db_setup_create_customer_commercial_lead_table',
'20181018054450' => 'wiaas_db_update_update_commercial_lead_capabilities',
'20181018064450' => 'wiaas_db_update_add_organization_info_ui_fields',
'20191019014550' => 'wiaas_db_update_add_general_ui_fields',
'20191019014650' => 'wiaas_db_update_add_product_properties_ui_fields',
'20181019064450' => 'wiaas_db_update_add_bundle_properties_ui_field',
'20191020014650' => 'wiaas_create_organization_roles_capabilities'
);
public static function execute() {
$pending_db_updates = self::get_pending_db_updates();
foreach ( $pending_db_updates as $update_callback ) {
self::execute_update($update_callback);
}
}
public static function get_pending_db_updates() {
$active_db_version = get_option( 'wiaas_db_version', '0' );
$pending_db_updates = array();
foreach (self::$db_updates as $version => $update_callback) {
if ($active_db_version < $version) {
$pending_db_updates[] = $update_callback;
}
}
return $pending_db_updates;
}
public static function execute_update($update_callback) {
call_user_func($update_callback);
$version = array_search($update_callback, self::$db_updates);
update_option('wiaas_db_version', $version);
}
}