Download all files FTP
This commit is contained in:
108
wp-content/plugins/draw-attention-pro/public/includes/themes.php
Normal file
108
wp-content/plugins/draw-attention-pro/public/includes/themes.php
Normal file
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
class DrawAttention_Themes {
|
||||
public $parent;
|
||||
|
||||
function __construct( $parent ) {
|
||||
$this->parent = $parent;
|
||||
|
||||
add_action( 'add_meta_boxes', array( $this, 'add_theme_pack_metabox' ) );
|
||||
add_action( 'da_register_admin_script', array( $this, 'pass_themes_to_admin_js' ) );
|
||||
}
|
||||
|
||||
function add_theme_pack_metabox() {
|
||||
add_meta_box( 'da_theme_pack', __( 'Apply Color Scheme', 'draw-attention' ), array( $this, 'display_theme_pack_metabox' ), $this->parent->cpt->post_type, 'side', 'low');
|
||||
}
|
||||
|
||||
function display_theme_pack_metabox() {
|
||||
echo '<p>'.__( 'Quickly apply a theme (you can adjust each color afterwards).', 'draw-attention' ).'</p>'; ?>
|
||||
<select id="da-theme-pack-select">
|
||||
<option value=""><?php _e( 'Select a theme...', 'draw-attention' ) ?></option>
|
||||
<?php foreach ( $this->get_themes() as $key => $theme ) : ?>
|
||||
<option value="<?php echo $theme['slug']; ?>"><?php echo $theme['name']; ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<?php
|
||||
}
|
||||
|
||||
public function pass_themes_to_admin_js() {
|
||||
wp_localize_script( $this->parent->plugin_slug . '-admin-script', 'daThemes', array(
|
||||
'cfPrefix' => $this->parent->custom_fields->prefix,
|
||||
'themes' => $this->get_themes(),
|
||||
) );
|
||||
}
|
||||
|
||||
public function apply_theme( $post_id, $theme_slug ) {
|
||||
$themes = self::get_themes();
|
||||
if ( empty( $themes[$theme_slug]['values'] ) ) { return false; }
|
||||
|
||||
foreach ($themes[$theme_slug]['values'] as $key => $meta_value) {
|
||||
update_post_meta( $post_id, $this->parent->custom_fields->prefix.$key, $meta_value );
|
||||
}
|
||||
}
|
||||
|
||||
public static function get_themes() {
|
||||
$themes = array(
|
||||
'light' => array(
|
||||
'slug' => 'light',
|
||||
'name' => 'Light',
|
||||
'values' => array(
|
||||
'map_highlight_color' => '#222222',
|
||||
'map_highlight_opacity' => 0.8,
|
||||
|
||||
'map_border_color' => '#000000',
|
||||
'map_border_opacity' => 0.8,
|
||||
'map_border_width' => 1,
|
||||
|
||||
'map_hover_color' => '#666666',
|
||||
'map_hover_opacity' => 0.9,
|
||||
|
||||
'map_title_color' => '#000000',
|
||||
'map_text_color' => '#000000',
|
||||
'map_background_color' => '#ffffff',
|
||||
),
|
||||
),
|
||||
'dark' => array(
|
||||
'slug' => 'dark',
|
||||
'name' => 'Dark',
|
||||
'values' => array(
|
||||
'map_highlight_color' => '#cccccc',
|
||||
'map_highlight_opacity' => 0.8,
|
||||
|
||||
'map_border_color' => '#ffffff',
|
||||
'map_border_opacity' => 0.8,
|
||||
'map_border_width' => 1,
|
||||
|
||||
'map_hover_color' => '#999999',
|
||||
'map_hover_opacity' => 0.9,
|
||||
|
||||
'map_title_color' => '#ffffff',
|
||||
'map_text_color' => '#ffffff',
|
||||
'map_background_color' => '#000000',
|
||||
),
|
||||
),
|
||||
'drawattention' => array(
|
||||
'slug' => 'drawattention',
|
||||
'name' => 'Draw Attention',
|
||||
'values' => array(
|
||||
'map_highlight_color' => '#3CA2A2',
|
||||
'map_highlight_opacity' => 0.7,
|
||||
|
||||
'map_border_color' => '#235B6E',
|
||||
'map_border_opacity' => 1,
|
||||
'map_border_width' => 2,
|
||||
|
||||
'map_hover_color' => '#256464',
|
||||
'map_hover_opacity' => 0.9,
|
||||
|
||||
'map_title_color' => '#93C7A4',
|
||||
'map_text_color' => '#DFEBE5',
|
||||
'map_background_color' => '#2E2D29',
|
||||
),
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
return apply_filters( 'da_themes', $themes );
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user