117 lines
3.6 KiB
PHP
117 lines
3.6 KiB
PHP
<?php
|
|
|
|
/**
|
|
* The class which handles Admin CSS.
|
|
*
|
|
* @author Time.ly Network Inc.
|
|
* @since 2.0
|
|
*
|
|
* @package AI1EC
|
|
* @subpackage AI1EC.Css
|
|
*/
|
|
class Ai1ec_Css_Admin extends Ai1ec_Base {
|
|
|
|
/**
|
|
* Enqueue any scripts and styles in the admin side, depending on context.
|
|
*
|
|
* @wp_hook admin_enqueue_scripts
|
|
*
|
|
*/
|
|
public function admin_enqueue_scripts( $hook_suffix ) {
|
|
$settings = $this->_registry->get( 'model.settings' );
|
|
$enqueuables = array(
|
|
'widgets.php' => array(
|
|
array( 'style', 'widget.css', ),
|
|
),
|
|
'edit-tags.php' => array(
|
|
array( 'style', 'colorpicker.css', ),
|
|
array( 'style', 'bootstrap.min.css', ),
|
|
array( 'style', 'taxonomies.css', ),
|
|
),
|
|
'term.php' => array(
|
|
array( 'style', 'colorpicker.css', ),
|
|
array( 'style', 'bootstrap.min.css', ),
|
|
array( 'style', 'taxonomies.css', ),
|
|
),
|
|
$settings->get( 'settings_page' ) => array(
|
|
array( 'script', 'common', ),
|
|
array( 'script', 'wp-lists', ),
|
|
array( 'script', 'postbox', ),
|
|
array( 'style', 'settings.css', ),
|
|
array( 'style', 'bootstrap.min.css', ),
|
|
),
|
|
$settings->get( 'feeds_page' ) => array(
|
|
array( 'script', 'common', ),
|
|
array( 'script', 'wp-lists', ),
|
|
array( 'script', 'postbox', ),
|
|
array( 'style', 'settings.css', ),
|
|
array( 'style', 'bootstrap.min.css', ),
|
|
array( 'style', 'plugins/plugins-common.css', ),
|
|
),
|
|
$settings->get( 'less_variables_page' ) => array(
|
|
array( 'style', 'settings.css', ),
|
|
array( 'style', 'bootstrap.min.css', ),
|
|
array( 'style', 'bootstrap_colorpicker.css', ),
|
|
),
|
|
);
|
|
|
|
if ( isset( $enqueuables[$hook_suffix] ) ) {
|
|
return $this->process_enqueue( $enqueuables[$hook_suffix] );
|
|
}
|
|
|
|
$aco = $this->_registry->get( 'acl.aco' );
|
|
$post_pages = array( 'post.php' => true, 'post-new.php' => true );
|
|
|
|
if (
|
|
isset( $post_pages[$hook_suffix] ) ||
|
|
$aco->are_we_editing_our_post()
|
|
) {
|
|
return $this->process_enqueue(
|
|
array(
|
|
array( 'style', 'bootstrap.min.css', ),
|
|
array( 'style', 'add_new_event.css', ),
|
|
)
|
|
);
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* Enqueue scripts and styles.
|
|
*
|
|
* @param array $item_list List of scripts/styles to enqueue.
|
|
*
|
|
* @return bool Always true
|
|
*/
|
|
public function process_enqueue( array $item_list ) {
|
|
foreach ( $item_list as $item ) {
|
|
if ( 'script' === $item[0] ) {
|
|
wp_enqueue_script( $item[1] );
|
|
} else {
|
|
wp_enqueue_style(
|
|
$this->gen_style_hook( $item[1] ),
|
|
AI1EC_ADMIN_THEME_CSS_URL . $item[1],
|
|
array(),
|
|
AI1EC_VERSION
|
|
);
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Generate a style hook for use with WordPress.
|
|
*
|
|
* @param string $script Name of enqueable script.
|
|
*
|
|
* @return string Hook to use with WordPress.
|
|
*/
|
|
public function gen_style_hook( $script ) {
|
|
return 'ai1ec_' . preg_replace(
|
|
'|[^a-z]+|',
|
|
'_',
|
|
basename( $script, '.css' )
|
|
);
|
|
}
|
|
|
|
}
|