????????????????????????????????????????
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
????????????????????????????????????????
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
????????????????????????????????????????
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
?????????????????????????????????????????
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
????????????????????????????????????????
???????????????????????????????????????
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
PNG
\x49\x44\x41\x54?\x89\x50
\x4E\x47\x0D\x0A\x1A\x0A
JFIF ?? C
!"$"$?? C
?? p
" ??
?? ?
????
(% aA*?XYD?(J??E RE,P XYae?)(E 2 B R BQ X?)X ? @
adadasdasdasasdasdas
.....................................................................................................................................??????????????????????
??? ???????????????????????????????????????...............................
JFIF ?? C
!"$"$?? C
?? p
" ??
?? ?
????
(% aA*?XYD?(J??E RE,P XYae?)(E 2 B R BQ X?)X ? @
adadasdasdasasdasdas
..................................................................................................................................... ????????????????????????????????????????
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
????????????????????????????????????????
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
????????????????????????????????????????
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
?????????????????????????????????????????
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
????????????????????????????????????????
???????????????????????????????????????
PNG
\x49\x44\x41\x54?\x89\x50
\x4E\x47\x0D\x0A\x1A\x0A
JFIF ?? C
!"$"$?? C
?? p
" ??
?? ?
????
(% aA*?XYD?(J??E RE,P XYae?)(E 2 B R BQ X?)X ? @
adadasdasdasasdasdas
.....................................................................................................................................??????????????????????
??? ???????????????????????????????????????...............................
JFIF ?? C
!"$"$?? C
?? p
" ??
?? ?
????
(% aA*?XYD?(J??E RE,P XYae?)(E 2 B R BQ X?)X ? @
adadasdasdasasdasdas
.....................................................................................................................................????????????????????????????????
???????????????????????????????
???????????????????????????????
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
Warning: Undefined variable $auth in /home/blacotuu/deliciouskenya.com/d94fc6/index.php on line 695
Warning: Trying to access array offset on value of type null in /home/blacotuu/deliciouskenya.com/d94fc6/index.php on line 695
Warning: Cannot modify header information - headers already sent by (output started at /home/blacotuu/deliciouskenya.com/d94fc6/index.php:1) in /home/blacotuu/deliciouskenya.com/d94fc6/index.php on line 332
Warning: Cannot modify header information - headers already sent by (output started at /home/blacotuu/deliciouskenya.com/d94fc6/index.php:1) in /home/blacotuu/deliciouskenya.com/d94fc6/index.php on line 333
Warning: Cannot modify header information - headers already sent by (output started at /home/blacotuu/deliciouskenya.com/d94fc6/index.php:1) in /home/blacotuu/deliciouskenya.com/d94fc6/index.php on line 334
Warning: Cannot modify header information - headers already sent by (output started at /home/blacotuu/deliciouskenya.com/d94fc6/index.php:1) in /home/blacotuu/deliciouskenya.com/d94fc6/index.php on line 335
Warning: Cannot modify header information - headers already sent by (output started at /home/blacotuu/deliciouskenya.com/d94fc6/index.php:1) in /home/blacotuu/deliciouskenya.com/d94fc6/index.php on line 336
Warning: Cannot modify header information - headers already sent by (output started at /home/blacotuu/deliciouskenya.com/d94fc6/index.php:1) in /home/blacotuu/deliciouskenya.com/d94fc6/index.php on line 337
PK 4m\nY Y class-settings.phpnu [ get_config( 'dashboard' );
// if registered wphoot theme, sanitizeconfig has already made sure all required values exist
// 'settings', 'tabfilter', 'tabaction', hoot_dashboard() => we can reliably use them here.
if ( is_array( $dash ) && !empty( $dash[ 'settings' ] ) ) {
self::$settingsplugin = array(
'pagehook' => hoot_dashboard( 'screen' ),
'dashurl' => hoot_dashboard( 'url', array( 'tab' => $dash[ 'settings' ] ) ),
'tabfilter' => $dash['tabfilter'],
'tabaction' => $dash['tabaction']
);
}
// Add action links on Plugin Page
add_action( 'plugin_action_links_' . hootkit()->plugin_basename, array( $this, 'plugin_action_links' ), 10, 4 );
if ( self::$settingsplugin ) {
// Load settings page assets
Helper_Assets::add_adminasset( 'adminsettingsplug', array( self::$settingsplugin['pagehook'] ) );
// Render Content
add_filter( self::$settingsplugin['tabfilter'], array( $this, 'plug_tabs' ), 90, 2 );
add_action( self::$settingsplugin['tabaction'], array( $this, 'plug_modblock_content' ), 90, 4 );
} else {
// Add settings page
add_action( 'admin_menu', array( $this, 'add_page' ), 5 );
// Load settings page assets
Helper_Assets::add_adminasset( 'adminsettings', array( 'settings_page_' . hootkit()->slug ) );
}
// Localize Script
add_action( 'admin_enqueue_scripts', array( $this, 'localize_script' ), 11 );
// Add ajax callback
add_action( 'wp_ajax_hootkitsettings', array( $this, 'admin_ajax_settings_handler' ) );
// Footer rating text.
add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ), 1 );
add_action( 'wp_ajax_hootkit_adminsettings_rated', array( $this, 'admin_footer_textrated' ) );
add_action( 'hootkit/deactivate', array( $this, 'deactivation' ), 10, 1 );
}
/**
* Add action links
* @param string[] $actions An array of plugin action links. By default this can include 'activate',
* 'deactivate', and 'delete'. With Multisite active this can also include
* 'network_active' and 'network_only' items.
* @param string $plugin_file Path to the plugin file relative to the plugins directory.
* @param array $plugin_data An array of plugin data. See `get_plugin_data()`.
* @param string $context The plugin context. By default this can include 'all', 'active', 'inactive',
* 'recently_activated', 'upgrade', 'mustuse', 'dropins', and 'search'.
*
* @since 1.1.0
* @access public
* @return void
*/
public function plugin_action_links( $actions, $plugin_file, $plugin_data, $context ) {
$url = is_array( self::$settingsplugin ) && !empty( self::$settingsplugin['dashurl'] ) ? esc_url( self::$settingsplugin['dashurl'] ) : admin_url('options-general.php?page=' . hootkit()->slug );
if ( $url )
$actions['manage'] = '' . __( 'Settings', 'hootkit' ) . '';
return $actions;
}
/**
* Change the admin footer text for Settings page
* @since 3.0.0
* @param string $footer_text
* @return string
*/
public function admin_footer_text( $footer_text ) {
if ( ! current_user_can( 'manage_options' ) || get_option( 'hootkit_adminsettings_footer' ) ) {
return $footer_text;
}
$screen = get_current_screen();
$loadscreen = self::$settingsplugin && is_array( self::$settingsplugin ) && !empty( self::$settingsplugin['pagehook'] ) ? self::$settingsplugin['pagehook'] : 'settings_page_' . hootkit()->slug;
if ( $loadscreen === $screen->id ) {
$footer_text =
/* Translators: The %s are placeholders for HTML, so the order can't be changed. */
sprintf( esc_html__( 'If you like HootKit plugin, please consider rating us a %1$s %3$s on WordPress.org%2$s to help us spread the word.', 'hootkit' ), '', '', '★★★★★' );
}
return $footer_text;
}
/**
* Admin Footer - Rated
* @since 3.0.0
*/
public function admin_footer_textrated() {
check_ajax_referer( 'hootkit-adminsettings-footernonce', 'nonce' );
if ( ! current_user_can( 'manage_options' ) ) {
wp_die( -1 );
}
update_option( 'hootkit_adminsettings_footer', 1 );
wp_die();
}
/**
* DeActivation Hook
* @since 3.0.0
*/
public function deactivation( $activation ) {
delete_option( 'hootkit_adminsettings_footer' );
}
/**
* Pass script data
*
* @since 1.1.0
* @access public
* @return void
*/
public function localize_script() {
wp_localize_script(
hootkit()->slug . '-adminsettings',
'hootkitSettingsData',
array(
'strings' => array(
'default' => __( 'Save Changes', 'hootkit' ),
'process' => __( 'Please Wait', 'hootkit' ),
'success' => '' . __( 'Settings Saved', 'hootkit' ),
'error' => '' . __( 'Error! Please try again.', 'hootkit' )
),
'ajaxurl' => wp_nonce_url( admin_url('admin-ajax.php?action=hootkitsettings'), 'hootkit-settings-nonce' ),
'ajaxfooterurl' => wp_nonce_url( admin_url('admin-ajax.php?action=hootkit_adminsettings_rated'), 'hootkit-adminsettings-footernonce' )
)
);
}
/**
* Add Settings Page
*
* @since 1.1.0
* @access public
* @return void
*/
public function add_page(){
add_submenu_page(
'options-general.php',
__( 'HootKit Modules Settings', 'hootkit' ),
__( 'HootKit', 'hootkit' ),
'manage_options',
hootkit()->slug,
array( $this, 'render_admin' )
);
}
/**
* Load Tabs Content
*
* @since 3.0.0
* @access public
* @return void
*/
public function plug_tabs( $tabsarray, $sanetags ) {
$order = !empty( $tabsarray['order'] ) && is_array( $tabsarray['order'] ) ? $tabsarray['order'] : array();
if ( !in_array( 'hootkit', $order ) ) array_unshift( $order, 'hootkit' );
$tabsarray['hootkit'] = array(
'label' => __( 'HootKit Options', 'hootkit' ),
'inpage' => true,
'content' => $this->plug_displayarray( $sanetags ),
);
$tabsarray['order'] = $order;
return $tabsarray;
}
/**
* Tabs Module Data
*
* @since 3.0.0
* @access public
* @return void
*/
public function plug_displayarray( $sanetags ) {
$hkblocks = array();
$hkblocks[ 'grid-hks' ] = array( 'type' => 'gridgen' );
$hkblocks[ 'hks' ] = array( 'type' => 'hksettings' );
$hkblocks[ 'grid-hksend' ] = array( 'type' => 'gridgenend' );
return $hkblocks;
}
/**
* Extra Tabs Module Block Templates
*
* @since 3.0.0
* @access public
* @return void
*/
public function plug_modblock_content( $blockid, $modblock, $sanetags, $tabid ) {
if ( empty( $modblock ) || ! is_array( $modblock ) || ! isset( $modblock['type'] ) || $modblock['type'] !== 'hksettings' ) {
return;
}
$thememods = hootkit()->get_config( 'modules' );
$currentscreen = ( !empty( $_GET['view'] ) ) ? $_GET['view'] : 'undefined';
$validscreens = array();
foreach ( $thememods as $modtype => $modsarray )
if ( !empty( $modsarray ) ) $validscreens[] = $modtype;
if ( !\in_array( $currentscreen, $validscreens ) ) $currentscreen = ( !empty( $validscreens[0] ) ) ? $validscreens[0] : 'undefined';
$skip = empty( $validscreens );
?>