/home/vianto5/hidalgoresidences.mx/wp-content/plugins/simple-custom-css/includes
Edit: /home/vianto5/hidalgoresidences.mx/wp-content/plugins/simple-custom-css/includes/admin.php (7262B)
*/
// Prevent direct file access.
if ( ! defined( 'SCCSS_FILE' ) ) {
die();
}
/**
* Determine if WP's CodeMirror is available.
*
* As CodeMirror was added in ver 4.9, simply compare with the
* current WP version.
*
* @since 4.0.2
*
* @return bool
*/
function sccss_wp_codemirror_available() {
$wp_version = get_bloginfo( 'version' );
return ( version_compare( $wp_version, 4.9 ) >= 0 );
}
/**
* Print direct link to Custom CSS admin page
*
* Fetches array of links generated by WP Plugin admin page ( Deactivate | Edit )
* and inserts a link to the Custom CSS admin page
*
* @since 1.0.0
* @filter plugin_action_links_
*
* @param array $links Array of links generated by WP in Plugin Admin page.
*
* @return array Array of links to be output on Plugin Admin page.
*/
function sccss_settings_link( $links ) {
return array_merge(
array(
'settings' => '
' . __( 'Add CSS', 'simple-custom-css' ) . '',
),
$links
);
}
add_filter( 'plugin_action_links_' . plugin_basename( SCCSS_FILE ), 'sccss_settings_link' );
/**
* Register text domain.
*
* @action plugins_loaded
*
* @since 1.0.0
*/
function sccss_textdomain() {
load_plugin_textdomain( 'simple-custom-css', false, dirname( plugin_basename( SCCSS_FILE ) ) . '/languages/' );
}
add_action( 'plugins_loaded', 'sccss_textdomain' );
/**
* Delete Options on Uninstall.
*
* @since 1.1.0
*/
function sccss_uninstall() {
delete_option( SCCSS_OPTION );
}
register_uninstall_hook( SCCSS_FILE, 'sccss_uninstall' );
/**
* Enqueues Scripts/Styles for Syntax Highlighter.
*
* @since 4.0.2 Add WP CodeMirror Support.
* @since 4.0.0 Updated scripts, added linting.
* @since 3.0.0
*
* @param string $hook Hook of admin screen.
*
* @return void
*/
function sccss_register_codemirror( $hook ) {
// Note that this only loads on the admin tools page (Appearance > Custom CSS).
if ( 'appearance_page_simple-custom-css' !== $hook ) {
return;
}
wp_enqueue_style( 'sccss-editor-css', plugins_url( 'simple-custom-css/includes/css/editor.css' ), array(), '20190306' );
if ( sccss_wp_codemirror_available() ) {
wp_enqueue_code_editor( array( 'type' => 'text/html' ) );
wp_enqueue_script( 'sccss-editor-js', plugins_url( 'simple-custom-css/includes/js/editor.js' ), array( 'jquery' ), '20190306', true );
} else {
// Maintaining for backwards compatibility.
wp_enqueue_script( 'sccss-css-lint-js', plugins_url( 'simple-custom-css/codemirror/csslint.js' ), array( 'sccss-codemirror-js' ), '1.0.3', true );
wp_enqueue_script( 'sccss-codemirror-lint-js', plugins_url( 'simple-custom-css/codemirror/codemirror-lint.js' ), array( 'sccss-css-lint-js' ), '20180208', true );
wp_enqueue_script( 'sccss-codemirror-css-lint-js', plugins_url( 'simple-custom-css/codemirror/codemirror-css-lint.js' ), array( 'sccss-codemirror-css-js' ), '20180208', true );
wp_enqueue_script( 'sccss-codemirror-js', plugins_url( 'simple-custom-css/codemirror/codemirror.js' ), array(), '20180208', true );
wp_enqueue_script( 'sccss-codemirror-css-js', plugins_url( 'simple-custom-css/codemirror/css.js' ), array( 'sccss-codemirror-lint-js' ), '20180208', true );
wp_enqueue_style( 'sccss-codemirror-css', plugins_url( 'simple-custom-css/codemirror/codemirror.min.css' ), array(), '20190306' );
wp_add_inline_script(
'sccss-codemirror-js',
'jQuery( document ).ready( function() {
var editor = CodeMirror.fromTextArea( document.getElementById( "sccss_settings[sccss-content]" ), {
lineNumbers: true,
lineWrapping: true,
mode:"text/css",
indentUnit: 2,
tabSize: 2,
lint: true,
gutters: [ "CodeMirror-lint-markers" ]
} );
} )( CodeMirror );'
);
}
}
add_action( 'admin_enqueue_scripts', 'sccss_register_codemirror' );
/**
* Register "Custom CSS" submenu in "Appearance" Admin Menu.
*
* @since 1.0.0
*
* @action admin_menu
*/
function sccss_register_submenu_page() {
add_theme_page( __( 'Simple Custom CSS', 'simple-custom-css' ), __( 'Custom CSS', 'simple-custom-css' ), 'edit_theme_options', basename( SCCSS_FILE ), 'sccss_render_submenu_page' );
}
add_action( 'admin_menu', 'sccss_register_submenu_page' );
/**
* Register settings.
*
* @since 1.0.0
*
* @action admin_init
*/
function sccss_register_settings() {
register_setting( 'sccss_settings_group', SCCSS_OPTION );
}
add_action( 'admin_init', 'sccss_register_settings' );
/**
* Render Admin Menu page.
*
* @since 4.0.2 Remove hardcoded script in lieu of wp_add_inline_script.
* @since 1.0.0
*/
function sccss_render_submenu_page() {
$options = get_option( SCCSS_OPTION );
$content = isset( $options['sccss-content'] ) && ! empty( $options['sccss-content'] ) ? $options['sccss-content'] : __( '/* Enter Your Custom CSS Here */', 'simple-custom-css' );
if ( isset( $_GET['settings-updated'] ) ) : // phpcs:ignore WordPress.Security.NonceVerification ?>