pages = get_pages(); } /** * Add options page */ public function fieldday__plugin_page() { add_menu_page( 'fieldday Options', 'Field Day', 'manage_options', 'fieldday_options', [$this, 'fieldday_options_page'], fieldday_URL . '/assets/img/icon.png' ); } /** * Options page callback */ public function fieldday_options_page() { // Set class property $this->options = get_option('fieldday_options'); if (!is_array($this->options)) { $this->options = []; } echo '
'; echo wp_sprintf('

%s

', __('fieldday Settings', 'fieldday')); echo '
'; // This prints out all hidden setting fields settings_fields('fieldday_option_group'); do_settings_sections('fieldday_options'); submit_button(); echo '
'; echo '
'; } /** * Register and add settings */ public function page_init() { register_setting( 'fieldday_option_group', // Option group 'fieldday_options', // Option name [$this, 'sanitize'] // Sanitize ); add_settings_section( 'fieldday_general', // ID 'General Setting', // Title [$this, 'general_setting'], // Callback 'fieldday_options' // Page ); add_settings_field( 'fieldday_session_filters', __('Session Filters', 'fieldday'), [$this, 'fieldday_session_filters'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_api_authorization', __('Redirect Page after Login', 'fieldday'), [$this, 'fieldday_login_redirect_render'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_myAccount_page', __('Select My Account Page', 'fieldday'), [$this, 'fieldday_myaccount_redirect_render'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_purchase_page', __('Select Purchase Page', 'fieldday'), [$this, 'fieldday_purchase_redirect_render'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_user_menu', __('User Information Menu', 'fieldday'), [$this, 'fieldday_user_menu'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_cart_menu', __('Cart Icon', 'fieldday'), [$this, 'fieldday_cart_menu'], 'fieldday_options', 'fieldday_general' ); /* add_settings_field( 'fieldday_siblingpop_menu', __('Sibling Popup', 'fieldday'), [$this, 'fieldday_siblingpop_menu'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_siblingpopup_template', __('Global Sibling Template', 'fieldday'), [$this, 'fieldday_siblingpopup_display'], 'fieldday_options', 'fieldday_general' ); */ add_settings_field( 'fieldday_globalpop_menu', __('Popup', 'fieldday'), [$this, 'fieldday_globalpop_menu'], 'fieldday_options', 'fieldday_general' ); global $fielddaySetting; $isPopupEnable = fieldday()->engine->getValue('fieldday_global_popup', $fielddaySetting, false); if ($isPopupEnable == 'enabled') { add_settings_field( 'fieldday_globalpopup_template', __('Popup Template', 'fieldday'), [$this, 'fieldday_globalpopup_display'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_globalpopup_page', __('Page', 'fieldday'), [$this, 'fieldday_globalpopup_page'], 'fieldday_options', 'fieldday_general' ); } add_settings_field( 'global_popup_key', __('Global Popup Key', 'fieldday'), [$this, 'fieldday_global_popup_key'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_debug_mode', __('Debug Mode', 'fieldday'), [$this, 'fieldday_debug_mode'], 'fieldday_options', 'fieldday_general' ); /* add_settings_field( 'fieldday_purchase_layout_mode', __('Purchase Session Layout', 'fieldday'), [$this, 'fieldday_purchase_layout_mode'], 'fieldday_options', 'fieldday_general' ); */ add_settings_field( 'fieldday_facebook_redirect', __('Facebook Redirect Url', 'fieldday'), [$this, 'fieldday_facebook_redirect'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_google_redirect', __('Google Login Url', 'fieldday'), [$this, 'fieldday_google_redirect'], 'fieldday_options', 'fieldday_general' ); add_settings_section( 'fieldday_api_detail', // ID 'fieldday Api Detail', // Title [$this, 'print_api_info'], // Callback 'fieldday_options' // Page ); add_settings_field( 'fieldday_api_authorization', __('Authorization Key', 'fieldday'), [$this, 'fieldday_api_authorization_render'], 'fieldday_options', 'fieldday_api_detail' ); add_settings_field( 'fieldday_provider_id', __('Provider ID', 'fieldday'), [$this, 'fieldday_provider_id_render'], 'fieldday_options', 'fieldday_api_detail' ); add_settings_field( 'fieldday_api_url', __('API URL', 'fieldday'), [$this, 'fieldday_api_url_render'], 'fieldday_options', 'fieldday_api_detail' ); add_settings_section( 'fieldday_recaptcha_detail', // ID 'reCaptcha Settings', // Title [$this, 'print_recaptcha_info'], // Callback 'fieldday_options' // Page ); add_settings_field( 'fieldday_google_recaptcha_id', __('reCaptcha Site Key', 'fieldday'), [$this, 'fieldday_google_recaptcha_id_render'], 'fieldday_options', 'fieldday_recaptcha_detail' ); add_settings_field( 'fieldday_google_recaptcha_secret', __('reCaptcha Secret', 'fieldday'), [$this, 'fieldday_google_recaptcha_secret_render'], 'fieldday_options', 'fieldday_recaptcha_detail' ); add_settings_section( 'fieldday_payment_mode', // ID 'Payment Mode', // Title [$this, 'print_payment_mode'], // Callback 'fieldday_options' // Page ); add_settings_field( 'fieldday_payment_mode_select', __('Select Payment Mode', 'fieldday'), [$this, 'fieldday_payment_mode_select_render'], 'fieldday_options', 'fieldday_payment_mode' ); add_settings_section( 'fieldday_head_foot_scripts', // ID 'Header & Footer Script', // Title function () { return __('Header & Footer Script', 'fieldday'); }, // Callback 'fieldday_options' // Page ); add_settings_field( 'fieldday_head_script_input', __('Header Script', 'fieldday'), [$this, 'fieldday_header_script'], 'fieldday_options', 'fieldday_head_foot_scripts' ); add_settings_field( 'fieldday_foot_script_input', __('Footer Script', 'fieldday'), [$this, 'fieldday_footer_script'], 'fieldday_options', 'fieldday_head_foot_scripts' ); add_settings_field( 'fieldday_theme_mode', __('Theme', 'fieldday'), [$this, 'fieldday_theme_mode'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_filters_mode', __('Filters', 'fieldday'), [$this, 'fieldday_filters_mode'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_colors', __('Theme Colors', 'fieldday'), [$this, 'fieldday_colors'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_highlightcolor', __('Highlight Color', 'fieldday'), [$this, 'fieldday_highlightcolor'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_bullets', __('Bullets', 'fieldday'), [$this, 'fieldday_bullets'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_googlemapapi_mode', __('Google Map Api Key', 'fieldday'), [$this, 'fieldday_googlemapapi_mode'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_sticky_widget', __('Enable Sticky Widget', 'fieldday'), [$this, 'fieldday_sticky_widget'], 'fieldday_options', 'fieldday_general' ); add_settings_field( 'fieldday_sticky_option', __('Select Option', 'fieldday'), [$this, 'fieldday_sticky_option'], 'fieldday_options', 'fieldday_general' ); } /** * Sanitize each setting field as needed * * @param array $input Contains all settings fields as array keys */ public function sanitize($input) { if (array_key_exists('fieldday_debug_mode', $input) && $input['fieldday_debug_mode'] == 'enabled') { $blogname = get_bloginfo('name'); $blogurl = get_bloginfo('url'); $message = 'Hey There,'; $message .= '

'; $message .= wp_sprintf('you have turned on the debug mode of fieldday at %s. Do not forget to turn it off to minimize the disc usage.', $blogname, $blogurl); $message .= '

'; add_filter('wp_mail_content_type', create_function('', 'return "text/html";')); $adminEmail = get_bloginfo('admin_email'); wp_mail($adminEmail, 'Important Alert.', $message); } return $input; } /** * Print the fieldday api information */ public function general_setting() { print sprintf(''); } /** * Print the fieldday api information */ public function print_api_info() { print sprintf(__('Enter your Field Day API key details below. You can get it from %s', 'fieldday'), ' Here'); } /** * Print the fieldday Payment mode */ public function print_payment_mode() { print sprintf(__('Select payment mode. live OR Sandbox.', 'fieldday')); } /** * Print recaptcha information */ public function print_recaptcha_info() { print sprintf(__('Enter google reCaptcha details below. You can get it from %s', 'fieldday'), ' Here'); } /** * display value from array * @param String $key * @param bolean $return * * @return String value from options */ private function displayValue($key, $return = false) { if (array_key_exists($key, $this->options)) { if ($return) { return $this->options[$key]; } print $this->options[$key]; } } /** * display dropdown of menus to display logged in user info in menu */ public function fieldday_user_menu() { $menus = wp_get_nav_menus(array('orderby' => 'name')); echo ''; } /** * display dropdown of menus to display cart in menu */ public function fieldday_cart_menu() { //$menus = wp_get_nav_menus(array('orderby' => 'name')); ?> "; \Elementor\Plugin::instance()->templates_manager->get_templates(); echo""; } } public function fieldday_siblingpopup_template($template) { if(!empty($template)){ ?> "; \Elementor\Plugin::instance()->templates_manager->get_templates(); echo""; } public function fieldday_globalpopup_template($template) { if (!empty($template) && $_REQUEST['page'] == 'fieldday_options') { ?> '> displayValue('session_filters', true); if (!$session_filters) { $session_filters = []; } ?> '>
'> '> (Color used to Highlight the main/important text on website) displayValue('fieldday_bullets', true); ?> name="fieldday_options[fieldday_bullets]" value="\2731"> name="fieldday_options[fieldday_bullets]" value="\27A3"> name="fieldday_options[fieldday_bullets]" value="\2013"> name="fieldday_options[fieldday_bullets]" value="\2022"> pages; ?> '> '> '> '> '> '> '> displayValue('fieldday_theme_mode', true))) { $defualtoption = 'list_view'; } else { $defualtoption = $this->displayValue('fieldday_theme_mode', true); } $themelist = scandir($dir); foreach ($themelist as $themename) { if ($themename != '.' && $themename != '..') { $themedisplayname = preg_replace('/[^A-Za-z0-9\-]/', " ", ucfirst($themename)); ?> value="">
'> displayValue('fieldday_sticky_widget', true) == 'enable' ? 'checked' : ''; ?> name='fieldday_options[fieldday_sticky_widget]'> (Selects what shows in sticky Widget)