scheduler = $scheduler; $this->status_manager = $status_manager; } /** * Register admin hooks. * * @return void */ public function register() { add_action( 'admin_post_abct_save_schedule_settings', array( $this, 'handle_save' ) ); add_action( 'wp_ajax_abct_toggle_manual_mode', array( $this, 'ajax_toggle_manual_mode' ) ); } /** * Render schedule page. * * @return void */ public function render_page() { if ( ! $this->can_manage_schedule() ) { return; } $settings = $this->scheduler->get_settings(); $shift_2_min_time = $this->get_next_minute_time( isset( $settings['lunch_close'] ) ? (string) $settings['lunch_close'] : '' ); $manual_mode = $this->status_manager->get_manual_mode(); $state = $this->status_manager->get_state(); $message = sanitize_textarea_field( (string) get_option( ABCT_Store_Status_Manager::CLOSED_MESSAGE_OPTION, '' ) ); $poll_interval_ms = max( 5000, absint( apply_filters( 'abct_store_status_poll_interval_ms', 10000 ) ) ); ?>
get_schedule_validation_error_message( sanitize_key( wp_unslash( $_GET['abct_schedule_error'] ) ) ) ); ?>