![]() Server : Apache/2.4.52 (Ubuntu) System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64 User : www-data ( 33) PHP Version : 8.1.2-1ubuntu2.21 Disable Function : NONE Directory : /var/www/theprintave/wp-content/plugins/dokan-lite/includes/Upgrade/ |
<?php namespace WeDevs\Dokan\Upgrade; use Exception; use WeDevs\Dokan\Exceptions\DokanException; use WeDevs\Dokan\Traits\AjaxResponseError; class AdminNotice { use AjaxResponseError; /** * Show admin notice to upgrade Dokan * * @since 3.0.0 * * @param array $notices * * @return array */ public static function show_notice( $notices ) { if ( ! current_user_can( 'update_plugins' ) || dokan()->upgrades->has_ongoing_process() ) { return $notices; } if ( ! dokan()->upgrades->is_upgrade_required() ) { /** * Fires when upgrade is not required * * @since 3.0.0 */ do_action( 'dokan_upgrade_is_not_required' ); return $notices; } $notices[] = [ 'type' => 'info', 'title' => __( 'Dokan Data Update Required', 'dokan-lite' ), 'description' => __( 'Updating your Dokan data is required to continue functional operations. Kindly backup your database before running upgrade for safety.', 'dokan-lite' ), 'priority' => 1, 'scope' => 'global', 'actions' => [ [ 'type' => 'primary', 'text' => __( 'Update', 'dokan-lite' ), 'loading_text' => __( 'Updating...', 'dokan-lite' ), 'competed_text' => __( 'Updated', 'dokan-lite' ), 'reload' => true, 'confirm_message' => __( 'It is strongly recommended that you backup your database before proceeding. Are you sure you wish to run the updater now?', 'dokan-lite' ), 'ajax_data' => [ 'action' => 'dokan_do_upgrade', '_wpnonce' => wp_create_nonce( 'dokan_admin' ), ], ], ], ]; return $notices; } /** * Ajax handler method to initiate Dokan upgrade process * * @since 3.0.0 * * @return void */ public static function do_upgrade() { check_ajax_referer( 'dokan_admin' ); try { if ( ! current_user_can( 'update_plugins' ) ) { throw new DokanException( 'dokan_ajax_upgrade_error', __( 'You are not authorize to perform this operation.', 'dokan-lite' ), 403 ); } if ( dokan()->upgrades->has_ongoing_process() ) { throw new DokanException( 'dokan_ajax_upgrade_error', __( 'There is an upgrading process going on.', 'dokan-lite' ), 400 ); } if ( ! dokan()->upgrades->is_upgrade_required() ) { throw new DokanException( 'dokan_ajax_upgrade_error', __( 'Update is not required.', 'dokan-lite' ), 400 ); } dokan()->upgrades->do_upgrade(); wp_send_json_success( [ 'success' => true ], 201 ); } catch ( Exception $e ) { self::send_response_error( $e ); } } }