142 lines
3.1 KiB
PHP
142 lines
3.1 KiB
PHP
<?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;
|