<?php /** * Sunrise Functions * * @package WP_Ultimo\Functions * @since 2.0.0 */ // Exit if accessed directly defined('ABSPATH') || exit; /** * General helper functions for sunrise. * * @author Arindo Duque * @category Admin * @package WP_Ultimo/Sunrise * @version 2.0.11 */ function wu_should_load_sunrise() { return \WP_Ultimo\Sunrise::should_load_sunrise(); } // end wu_should_load_sunrise; /** * Get a setting value, when te normal APIs are not available. * * Should only be used if we're running in sunrise. * * @since 2.0.0 * * @param string $setting Setting to get. * @param mixed $default Default value. * @return mixed */ function wu_get_setting_early($setting, $default = false) { if (did_action('wp_ultimo_load')) { _doing_it_wrong('wu_get_setting_early', __('Regular setting APIs are already available. You should use wu_get_setting() instead.', 'wp-ultimo'), '2.0.0'); } // end if; $settings_key = \WP_Ultimo\Settings::KEY; $settings = get_network_option(null, 'wp-ultimo_' . $settings_key); return wu_get_isset($settings, $setting, $default); } // end wu_get_setting_early; /** * Set a setting value, when te normal APIs are not available. * * Should only be used if we're running in sunrise. * * @since 2.0.20 * * @param string $key Setting to save. * @param mixed $value Setting value. */ function wu_save_setting_early($key, $value) { if (did_action('wp_ultimo_load')) { _doing_it_wrong('wu_save_setting_early', __('Regular setting APIs are already available. You should use wu_save_setting() instead.', 'wp-ultimo'), '2.0.20'); } // end if; $settings_key = \WP_Ultimo\Settings::KEY; $settings = get_network_option(null, 'wp-ultimo_' . $settings_key); $settings[$key] = $value; return update_network_option(null, 'wp-ultimo_' . $settings_key, $settings); } // end wu_save_setting_early; /** * Get the security mode key used to disable security mode * * @since 2.0.20 */ function wu_get_security_mode_key(): string { $hash = md5((string) get_network_option(null, 'admin_email')); return substr($hash, 0, 6); } // end wu_get_security_mode_key; /** * Load te dev tools, if they exist. * * @since 2.0.11 * * @param boolean $load If we should load it or not. * @return string The path to the dev tools folder. */ function wu_load_dev_tools($load = true) { if (defined('WP_ULTIMO_SUNRISE_FILE')) { /* * If the vendor folder exists, we are * for sure, inside a dev environment. */ $autoload_file = dirname((string) WP_ULTIMO_SUNRISE_FILE, 2) . '/vendor/autoload.php'; if (file_exists($autoload_file)) { $load && require_once $autoload_file; return $autoload_file; } // end if; } // end if; return ''; } // end wu_load_dev_tools; /** * Early substitute for wp_kses_data before it exists. * * Sanitize content with allowed HTML KSES rules. * * This function expects unslashed data. * * @since 2.1.0 * * @param string $data Content to filter, expected to not be escaped. * @return string Filtered content. */ function wu_kses_data($data) { return function_exists('wp_kses_data') ? wp_kses_data($data) : $data; } // end wu_kses_data;