Current Path : /var/www/ooareogundevinitiative/wp-content/plugins/give/src/Onboarding/Wizard/ |
Current File : /var/www/ooareogundevinitiative/wp-content/plugins/give/src/Onboarding/Wizard/FormPreview.php |
<?php namespace Give\Onboarding\Wizard; defined( 'ABSPATH' ) || exit; use Give_Scripts; use Give\Onboarding\Helpers\FormatList; use Give\Onboarding\FormRepository; /** * Form Preview page class * * Responsible for setting up and rendering Form Preview page at wp-admin/?page=give-form-preview * This URL is used as the src for an iframe which appears inside the Onboarding Wizard. * * @since 2.8.0 */ class FormPreview { /** @var string $slug Page slug used for displaying form preview */ protected $slug = 'give-form-preview'; /** @var FormRepository */ protected $formRepository; public function __construct( FormRepository $formRepository ) { $this->formRepository = $formRepository; } /** * Adds Form Preview as dashboard page * * Register Form Preview as an admin page route * * @since 2.8.0 **/ public function add_page() { add_submenu_page( '', '', '', 'manage_options', $this->slug ); } /** * Conditionally renders Form Preview markup * * If the current page query matches the form preview's slug, method renders the form preview. * * @since 2.8.0 **/ public function setup_form_preview() { if ( empty( $_GET['page'] ) || $this->slug !== $_GET['page'] ) { // WPCS: CSRF ok, input var ok. return; } else { $this->render_page(); } } /** * Renders form preview markup * * Uses an object buffer to display the form preview template * * @since 2.8.0 **/ public function render_page() { $this->register_scripts(); ob_start(); include_once plugin_dir_path( __FILE__ ) . 'templates/form-preview.php'; exit; } /** * Registers form preview scripts/styles * * @since 2.8.0 **/ protected function register_scripts() { wp_register_style( 'give-styles', ( new Give_Scripts )->get_frontend_stylesheet_uri(), [], GIVE_VERSION, 'all' ); wp_register_script( 'give', GIVE_PLUGIN_URL . 'assets/dist/js/give.js', [ 'jquery' ], GIVE_VERSION ); } /** * Returns the ID of the form used for the form preview * * @since 2.8.0 **/ protected function get_preview_form_id() { return $this->formRepository->getOrMake(); } }