SLP_Admin_UI
extends SLP_BaseClass_Admin
in package
Store Locator Plus basic admin user interface.
Table of Contents
Properties
- $activation : SLP_BaseClass_Activation
- $addon : mixed
- $addon : SLP_BaseClass_Addon
- $admin_page_slug : string
- $admin_slugs : array<string|int, string>
- $already_enqueue : bool
- $cache : array<string|int, string>
- $cache : mixed
- $class_prefix : string
- $current_group : mixed
- $current_group : string
- $current_section : mixed
- $current_section : string
- $dir : mixed
- $dir : string
- $isOurAdminPage : bool
- $js_requirements : array<string|int, string>
- $js_settings : mixed
- $js_settings : array<string|int, string>
- $menu_items : mixed
- $objects : array<string|int, mixed>
- $ok_to_nq_js : bool
- $saved_option_state : array<string|int, mixed>
- $settings_interface : SLP_Settings
- $settings_pages : array<string|int, mixed>
- $slplus : SLPlus
- $slplus : SLPlus
- $styleHandle : string
- $styleHandle : mixed
- $uses_slplus : bool
- $activation : mixed
- $admin_page_slug : mixed
- $class_prefix : mixed
- $js_requirements : mixed
- $objects : mixed
- $settings_interface : mixed
- $settings_pages : mixed
- $slplus : mixed
- $uses_slplus : mixed
- $already_enqueued : mixed
- $icon_selector_files : mixed
- $icon_selector_urls : mixed
- $is_our_admin_page : mixed
- $ok_to_nq_js : mixed
- $saved_option_state : mixed
- $settings_have_been_saved : mixed
- $slp_admin_slugs : mixed
Methods
- __construct() : mixed
- __get() : SLPlus_BaseClass_Object
- __isset() : bool
- add_checkbox() : mixed
- Add a checkbox to the settings.
- add_dropdown() : mixed
- Add a dropdown to the settings.
- add_hooks_and_filters() : mixed
- Add hooks and filters.
- add_info_menu() : array<string|int, mixed>
- add_input() : mixed
- Add a input to the settings.
- add_json_mime_type() : array<string|int, mixed>
- Allows WordPress to process JSON file types
- add_meta_links() : string
- Add meta links.
- add_object() : mixed
- add_sublabel() : mixed
- Add sublabel.
- add_textarea() : mixed
- Add a textarea to the settings.
- create_admin_menu() : mixed
- Create the admin menu.
- create_Navbar() : string
- Render the admin page navbar (tabs)
- create_string_icon_selector() : string
- Return the icon selector HTML for the icon images in saved markers and default icon directories.
- enqueue_admin_css() : mixed
- If the file admin.css exists and the page prefix starts with slp_ , enqueue the admin style.
- enqueue_admin_javascript() : mixed
- Enqueues Admin JavaScript for include/admin.js and js/admin.js and js/admin-<tabname>-tab.js (minified if present)
- enqueue_admin_stylesheet() : mixed
- Enqueue the admin stylesheet when needed.
- enqueue_block_editor_assets() : mixed
- filter_AddOurAdminSlug() : array<string|int, string>
- Add our admin pages to the valid admin page slugs.
- get_instance() : SLPlus_BaseClass_Object
- Return an instance of the object which is also registered to the slplus global less the SLP_ part.
- get_newer_version() : string
- If there is a newer version get the link.
- get_value() : mixed
- Get the value for a specific add-on option. If empty use add-on option_defaults. If still empty use slplus defaults.
- initialize() : mixed
- Invoke the AdminUI class.
- instantiate() : null|object
- Instantiate an object of the noted class.
- is_our_admin_page() : bool
- Sets $this->isOurAdminPage true if we are on a SLP managed admin page. Returns true/false accordingly.
- option_changed() : mixed
- Return true if the option named by <slug> change after save_my_settings.
- save_current_option_state() : mixed
- Save the current addon option state.
- save_my_settings() : bool
- Use this to save option settings far earlier in the admin process.
- save_SerializedOption() : array<string|int, mixed>
- Merge existing options and POST options, then save to the wp_options table.
- set_addon_properties() : mixed
- Set base class properties so we can have more cross-add-on methods.
- set_properties() : mixed
- Set our properties.
- set_ValidOptions() : mixed
- Set valid options according to the addon options array.
- setup_admin_screen() : mixed
- Attach the wanted screen object and save the settings if appropriate.
- slp_manage_locations_screen_options() : mixed
- Add Manage Locations Screen Options
- at_startup() : mixed
- Things to do at startup after this baby is initialized. Override in your class.
- being_deactivated() : bool
- Is this add-on being deactivated?
- do_admin_startup() : mixed
- Things we want our add on packs to do when they start.
- ok_to_enqueue_admin_js() : bool
- Check if it is OK to enqueue the admin JavaScript, assume so if the hook starts with our prefix.
- set_default_object_options() : mixed
- Set default options for objects. Override in your class.
- update_install_info() : mixed
- Update the install info for this add on.
- add_setting() : mixed
- Add setting.
- augment_class() : string
- Augment the class names so we can reference simple property names.
- auto_instantiate() : mixed
- Any object with auto_instantiate set to true is instantiate during initialization.
- get_my_checkboxes() : array<string|int, string>
- Return an array of checkbox names for the current settings page being processed.
- is_legacy_needed_for() : mixed
- Is legacy support needed for any active add-on packs?
- needed_for_addon() : bool
- Determine if any add-on packs are installed that require legacy support.
- nq_this_file() : bool
- Enqueue a CSS file.
- update_prior_installs() : mixed
- Update prior add-on pack installations.
Properties
$activation
public
SLP_BaseClass_Activation
$activation
$addon
public
mixed
$addon
$addon
public
SLP_BaseClass_Addon
$addon
$admin_page_slug
public
string
$admin_page_slug
The slug for the admin page.
$admin_slugs
public
array<string|int, string>
$admin_slugs
The registered admin page hooks for the plugin.
$already_enqueue read-only
public
bool
$already_enqueue
True if admin stylesheet enqueued.
$cache
public
array<string|int, string>
$cache
Run time cache to make things faster. used by \SLP_BaseClass_Admin::ok_to_enqueue_admin_js
$cache
public
mixed
$cache
= array('admin_pages' => array())
$class_prefix
public
string
$class_prefix
the prefix that goes before all our classes
$current_group
public
mixed
$current_group
$current_group
public
string
$current_group
Current settings group.
$current_section
public
mixed
$current_section
$current_section
public
string
$current_section
Current settings section.
$dir
public
mixed
$dir
$dir
public
string
$dir
the root directory for this theme
$isOurAdminPage read-only
public
bool
$isOurAdminPage
True if we are on an admin page for the plugin.
$js_requirements
public
array<string|int, string>
$js_requirements
An array of the JavaScript hooks that are needed by the userinterface.js script.
$js_settings
public
mixed
$js_settings
= array()
$js_settings
public
array<string|int, string>
$js_settings
JavaScript settings that are to be localized as a
$menu_items
public
mixed
$menu_items
= array()
$objects
public
array<string|int, mixed>
$objects
key = class name, array of attributes() auto_instantiate = true , instantiate the object when this object initializes object = the instantiated object options = default startup options subdir = the subdirectory (from theme root) that contains the class definition
$ok_to_nq_js read-only
public
bool
$ok_to_nq_js
keep track of whether we have looked up this capability before or not.
$saved_option_state read-only
public
array<string|int, mixed>
$saved_option_state
What the option values where before we did admin save.
$settings_interface
public
SLP_Settings
$settings_interface
$settings_pages
public
array<string|int, mixed>
$settings_pages
The settings pages we support and the checkboxes that live there:
$settings_pages[
$slplus
public
SLPlus
$slplus
$slplus
public
SLPlus
$slplus
$styleHandle
public
string
$styleHandle
$styleHandle
public
mixed
$styleHandle
$uses_slplus
public
bool
$uses_slplus
Set to true (default) if the object needs access to the SLPlus plugin object.
$activation
protected
mixed
$activation
$admin_page_slug
protected
mixed
$admin_page_slug
$class_prefix
protected
mixed
$class_prefix
$js_requirements
protected
mixed
$js_requirements
= array('jquery')
$objects
protected
mixed
$objects
= array()
$settings_interface
protected
mixed
$settings_interface
$settings_pages
protected
mixed
$settings_pages
$slplus
protected
mixed
$slplus
$uses_slplus
protected
mixed
$uses_slplus
= \true
$already_enqueued
private
mixed
$already_enqueued
= \false
$icon_selector_files
private
mixed
$icon_selector_files
$icon_selector_urls
private
mixed
$icon_selector_urls
$is_our_admin_page
private
mixed
$is_our_admin_page
= \false
$ok_to_nq_js
private
mixed
$ok_to_nq_js
$saved_option_state
private
mixed
$saved_option_state
= array()
$settings_have_been_saved
private
mixed
$settings_have_been_saved
= \false
$slp_admin_slugs
private
mixed
$slp_admin_slugs
= array('toplevel_page_slp-network-admin', 'slp_general', 'settings_page_csl-slplus-options', 'slp_general', 'slp_info', 'slp_inforeact', 'slp_manage_locations', 'slp_experience')
Methods
__construct()
public
__construct([array<string|int, mixed> $options = array() ]) : mixed
Parameters
- $options : array<string|int, mixed> = array()
__get()
public
__get(string $property) : SLPlus_BaseClass_Object
Parameters
- $property : string
Return values
SLPlus_BaseClass_Object__isset()
public
__isset(string $property) : bool
Parameters
- $property : string
Return values
booladd_checkbox()
Add a checkbox to the settings.
public
add_checkbox(string $label, string $description, string $setting) : mixed
Parameters
- $label : string
- $description : string
- $setting : string
add_dropdown()
Add a dropdown to the settings.
public
add_dropdown(string $label, string $description, array<string|int, mixed> $items, string $setting) : mixed
Parameters
- $label : string
- $description : string
- $items : array<string|int, mixed>
- $setting : string
add_hooks_and_filters()
Add hooks and filters.
public
add_hooks_and_filters() : mixed
Tags
add_info_menu()
public
add_info_menu( $menu_entries) : array<string|int, mixed>
Parameters
Return values
array<string|int, mixed>add_input()
Add a input to the settings.
public
add_input(string $label, string $description, string $setting) : mixed
Parameters
- $label : string
- $description : string
- $setting : string
add_json_mime_type()
Allows WordPress to process JSON file types
public
add_json_mime_type([array<string|int, mixed> $existing_mimes = array() ]) : array<string|int, mixed>
Parameters
- $existing_mimes : array<string|int, mixed> = array()
Tags
Return values
array<string|int, mixed>add_meta_links()
Add meta links.
public
add_meta_links(array<string|int, string> $links, string $file) : string
Parameters
- $links : array<string|int, string>
- $file : string
Return values
stringadd_object()
public
add_object( $object) : mixed
Parameters
add_sublabel()
Add sublabel.
public
add_sublabel(string $label[, string $description = '' ]) : mixed
Parameters
- $label : string
- $description : string = ''
add_textarea()
Add a textarea to the settings.
public
add_textarea(string $label, string $description, string $setting) : mixed
Parameters
- $label : string
- $description : string
- $setting : string
create_admin_menu()
Create the admin menu.
public
create_admin_menu() : mixed
Roles and Caps manage_slp_admin manage_slp_user
WordPress Store Locator Plus Menu Roles & Caps
Info : manage_slp_admin Locations: manage_slp_user Settings: manage_slp_admin General: manage_slp_admin
create_Navbar()
Render the admin page navbar (tabs)
public
create_Navbar() : string
Tags
Return values
stringcreate_string_icon_selector()
Return the icon selector HTML for the icon images in saved markers and default icon directories.
public
create_string_icon_selector([string|null $field_id = null ][, string|null $image_id = null ]) : string
Parameters
- $field_id : string|null = null
- $image_id : string|null = null
Tags
Return values
stringenqueue_admin_css()
If the file admin.css exists and the page prefix starts with slp_ , enqueue the admin style.
public
enqueue_admin_css(mixed $hook) : mixed
Parameters
- $hook : mixed
enqueue_admin_javascript()
Enqueues Admin JavaScript for include/admin.js and js/admin.js and js/admin-<tabname>-tab.js (minified if present)
public
enqueue_admin_javascript(string $hook) : mixed
Parameters
- $hook : string
Tags
enqueue_admin_stylesheet()
Enqueue the admin stylesheet when needed.
public
enqueue_admin_stylesheet(string $hook) : mixed
Parameters
- $hook : string
-
Current page hook.
enqueue_block_editor_assets()
public
enqueue_block_editor_assets() : mixed
Tags
filter_AddOurAdminSlug()
Add our admin pages to the valid admin page slugs.
public
filter_AddOurAdminSlug(array<string|int, string> $slugs) : array<string|int, string>
Parameters
- $slugs : array<string|int, string>
-
admin page slugs
Return values
array<string|int, string> —modified list of admin page slugs
get_instance()
Return an instance of the object which is also registered to the slplus global less the SLP_ part.
public
static get_instance([bool $no_global = false ][, mixed $params = array() ]) : SLPlus_BaseClass_Object
TODO: PHP7.4 and PHP8.0 the static instance variable returns an object matching $class TODO: PHP8.1 the static instance continually returns the FIRST object (SLP_Admin_Helper) every time -- it is like PHP8.1 static instance is bound to base_class-object versus the calling class object
Parameters
- $no_global : bool = false
-
set to true to skip assigning object to SLP global as a property.
- $params : mixed = array()
-
object init params
Return values
SLPlus_BaseClass_Objectget_newer_version()
If there is a newer version get the link.
public
get_newer_version() : string
Return values
stringget_value()
Get the value for a specific add-on option. If empty use add-on option_defaults. If still empty use slplus defaults.
public
get_value(string $setting) : mixed
Parameters
- $setting : string
-
The key name for the setting to retrieve.
Return values
mixed —The value of the add-on options[
initialize()
Invoke the AdminUI class.
public
initialize() : mixed
instantiate()
Instantiate an object of the noted class.
public
instantiate(string $class[, array<string|int, mixed> $options = array() ]) : null|object
Parameters
- $class : string
- $options : array<string|int, mixed> = array()
Return values
null|objectis_our_admin_page()
Sets $this->isOurAdminPage true if we are on a SLP managed admin page. Returns true/false accordingly.
public
is_our_admin_page(string $hook) : bool
Parameters
- $hook : string
Return values
booloption_changed()
Return true if the option named by <slug> change after save_my_settings.
public
option_changed(mixed $slug[, mixed $check_boolean_is_true = false ]) : mixed
Parameters
- $slug : mixed
- $check_boolean_is_true : mixed = false
save_current_option_state()
Save the current addon option state.
public
save_current_option_state() : mixed
Used to know what options were set to before an admin save.
save_my_settings()
Use this to save option settings far earlier in the admin process.
public
save_my_settings() : bool
Necessary if you are going to use your options in localized admin scripts.
TODO: Refactor to save_experience_tab_settings
Make sure you set the settings_pages properties so the right checkboxes end up on the right pages.
Return values
boolsave_SerializedOption()
Merge existing options and POST options, then save to the wp_options table.
public
save_SerializedOption(string $optionName, array<string|int, mixed> $currentOptions[, array<string|int, string> $cbOptionArray = null ]) : array<string|int, mixed>
NOTE: USED BY ADD ON PACKS ONLY
TODO: Rewire calls from add on packs afterwards (ELM, POWER, PRO, SME, UML)
Typically used to merge post options from admin interface changes with existing options in a class.
Parameters
- $optionName : string
-
name of option to update
- $currentOptions : array<string|int, mixed>
-
current options as a named array
- $cbOptionArray : array<string|int, string> = null
-
array of options that are checkboxes
Return values
array<string|int, mixed> —the updated options
set_addon_properties()
Set base class properties so we can have more cross-add-on methods.
public
set_addon_properties() : mixed
set_properties()
Set our properties.
public
set_properties([array<string|int, mixed> $options = array() ]) : mixed
Parameters
- $options : array<string|int, mixed> = array()
set_ValidOptions()
Set valid options according to the addon options array.
public
set_ValidOptions( $val, $key) : mixed
Use $this->addon->set_ValidOptions instead.
Parameters
Tags
setup_admin_screen()
Attach the wanted screen object and save the settings if appropriate.
public
setup_admin_screen(WP_Screen $current_screen) : mixed
Parameters
- $current_screen : WP_Screen
-
The current screen object.
slp_manage_locations_screen_options()
Add Manage Locations Screen Options
public
slp_manage_locations_screen_options() : mixed
at_startup()
Things to do at startup after this baby is initialized. Override in your class.
protected
at_startup() : mixed
being_deactivated()
Is this add-on being deactivated?
protected
being_deactivated() : bool
Return values
booldo_admin_startup()
Things we want our add on packs to do when they start.
protected
do_admin_startup() : mixed
Extend this by overriding this method and then calling parent::do_admin_startup() before or after your extension.
ok_to_enqueue_admin_js()
Check if it is OK to enqueue the admin JavaScript, assume so if the hook starts with our prefix.
protected
ok_to_enqueue_admin_js( $hook) : bool
Parameters
Return values
boolset_default_object_options()
Set default options for objects. Override in your class.
protected
set_default_object_options() : mixed
update_install_info()
Update the install info for this add on.
protected
update_install_info() : mixed
add_setting()
Add setting.
private
add_setting(string $label, string $description, string $setting, string $type) : mixed
Parameters
- $label : string
- $description : string
- $setting : string
- $type : string
augment_class()
Augment the class names so we can reference simple property names.
private
augment_class(string $class) : string
Parameters
- $class : string
Return values
stringauto_instantiate()
Any object with auto_instantiate set to true is instantiate during initialization.
private
auto_instantiate() : mixed
get_my_checkboxes()
Return an array of checkbox names for the current settings page being processed.
private
get_my_checkboxes() : array<string|int, string>
If settings_pages is in use (and it should be) - return the array of checkbox names for the currently active tab (page slug).
Return values
array<string|int, string>is_legacy_needed_for()
Is legacy support needed for any active add-on packs?
private
is_legacy_needed_for(string $fq_method) : mixed
Some add-on packs break when things are updated in the base plugin.
Parameters
- $fq_method : string
-
The specific method we are checking in ClassName::MethodName format.
Tags
needed_for_addon()
Determine if any add-on packs are installed that require legacy support.
private
needed_for_addon(string $fq_method) : bool
Parameters
- $fq_method : string
-
The specific method we are checking in ClassName::MethodName format.
Return values
bool —Whether or not an add-on is in use that requires legacy support.
nq_this_file()
Enqueue a CSS file.
private
nq_this_file(string $hook, string $css_file[, string $augmentation = '' ]) : bool
Parameters
- $hook : string
- $css_file : string
- $augmentation : string = ''
Return values
bool —true if file exists and we did the enqueue (we think)
update_prior_installs()
Update prior add-on pack installations.
private
update_prior_installs() : mixed