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 '';
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_colors', __('Theme Colors', 'fieldday'), [$this, 'fieldday_colors'], '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'
);
}
/**
* 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 '';
echo '-select menu- ';
if ($menus)
{
foreach ($menus as $menu)
{
$selected = $this->displayValue('user_menu', true) == $menu->term_id ? 'selected' : '';
echo wp_sprintf('%s ', $selected, $menu->term_id, $menu->name);
}
}
echo ' ';
}
/**
* display dropdown of menus to display cart in menu
*/
public function fieldday_cart_menu()
{
$menus = wp_get_nav_menus(array('orderby' => 'name'));
echo '';
echo '-select menu- ';
if ($menus)
{
foreach ($menus as $menu)
{
$selected = $this->displayValue('cart_menu', true) == $menu->term_id ? 'selected' : '';
echo wp_sprintf('%s ', $selected, $menu->term_id, $menu->name);
}
}
echo ' ';
}
/**
* enable/disable sibling popup
public function fieldday_siblingpop_menu() {
?>
displayValue('fieldday_sibling_popup', true) == 'enabled' ? 'selected' : ''; ?> value="enabled">Enable
displayValue('fieldday_sibling_popup', true) == 'disabled' ? 'selected' : ''; ?> value="disabled">Disable
";
\Elementor\Plugin::instance()->templates_manager->get_templates();
echo"";
}
}
public function fieldday_siblingpopup_template($template) {
if(!empty($template)){
?>
displayValue('fieldday_siblingpopup_template', true)) ? "selected" : ''; ?>
value="= $template['template_id'];?>">
= ucfirst($template['title']);?>
";
\Elementor\Plugin::instance()->templates_manager->get_templates();
echo"";
}
public function fieldday_globalpopup_template($template)
{
if (!empty($template) && $_REQUEST['page'] == 'fieldday_options')
{
?>
displayValue('fieldday_globalpopup_template', true)) ? "selected" : ''; ?>
value="">
All
$page): ?>
displayValue('fieldday_globalpopup_page', true) == $page->ID ? 'selected' : ''; ?> value="ID; ?>">post_title); ?>
'>
displayValue('fieldday_debug_mode', true) == 'disabled' ? 'selected' : ''; ?> value="disabled">Disable
displayValue('fieldday_debug_mode', true) == 'enabled' ? 'selected' : ''; ?> value="enabled">Enable
displayValue('fieldday_purchase_layout_mode', true) == 'one' ? 'selected' : ''; ?> value="one">One Cloumn
displayValue('fieldday_purchase_layout_mode', true) == 'two' ? 'selected' : ''; ?> value="two">Two Cloumn
displayValue('session_filters', true);
if (!$session_filters)
{
$session_filters = [];
}
?>
engine->fielddayFilters() as $key => $filter): ?>
value="">
'>
'>
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">•
$page): ?>
displayValue('login_redirect', true) == $page->ID ? 'selected' : ''; ?> value="ID; ?>">post_title; ?>
$page): ?>
displayValue('myaccount_redirect', true) == $page->ID ? 'selected' : ''; ?> value="ID; ?>">post_title; ?>
pages;
?>
$page): ?>
displayValue('purchase_page', true) == $page->ID ? 'selected' : ''; ?> value="ID; ?>">post_title; ?>
displayValue('fieldday_payment_mode', true) == 'no' ? 'selected' : ''; ?> value="no">Sand Box
displayValue('fieldday_payment_mode', true) == 'yes' ? 'selected' : ''; ?> value="yes">Live
'>
'>
'>
'>
'>
'>
'>
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="= $themename; ?>">= $themedisplayname; ?>
'>