| Current Path : /home/ereika83/public_html/wp-content/plugins/genesis-club-pro/classes/ |
| Current File : /home/ereika83/public_html/wp-content/plugins/genesis-club-pro/classes/class-landing.php |
<?php
class Genesis_Club_Landing extends Genesis_Club_Module {
const OPTION_NAME = 'landing';
const LANDING_METAKEY = '_genesis_club_landing';
private $sizes = array('small' => 'Small', 'medium' => 'Medium', 'large' => 'Large');
private $alignments = array('left' => 'Left', 'center' => 'Center', 'right' => 'Right');
private $colors = array('custom' => 'Custom', 'grey' => 'Grey', 'magenta' => 'Magenta', 'orange' => 'Orange',
'purple' => 'Purple', 'seablue' => 'SeaBlue', 'tan' => 'Tan', 'tomato' => 'Tomato',
'turquoise' => 'Turquoise', 'wild' => 'Wild', 'yellow' => 'Yellow');
private $bullets = array(
'arrowhead' => 'Arrow', 'diamond' => 'Diamond',
'flower' => 'Flower', 'hand' => 'Hand', 'heart' => 'Heart',
'plane' => 'Plane', 'quaver' => 'Quaver',
'skull' => 'Skull', 'snowflake' => 'Snowflake',
'square' => 'Square', 'blackstar' => 'Star', 'sun' => 'Sun',
'tick' => 'Tick', 'water' => 'Water');
protected $form;
protected $landing = array();
protected $defaults = array(
'enabled' => false, 'size' => 'small', 'align' => 'left', 'colors' => 'grey', 'bullets' => 'square', 'css' => ''
);
function get_options_name() {
return self::OPTION_NAME;
}
function get_defaults() { return $this->defaults; }
function get_sizes() { return $this->sizes; }
function get_alignments() { return $this->alignments; }
function get_colors() { return $this->colors; }
function get_bullets() { return $this->bullets; }
function get_metakey() { return self::LANDING_METAKEY; }
function init() {
require_once(dirname(__FILE__).'/class-form.php');
$this->form = new Genesis_Club_Form();
if (! is_admin()) add_action('wp',array($this,'check_landing'));
}
function get_landing($post_id ='') {
if (empty($post_id)) $post_id = get_queried_object_id();
return $this->utils->get_meta($post_id, $this->get_metakey());
}
function set_landing($landing) {
$this->landing = shortcode_atts($this->defaults,$landing); //set landing page setting for the current page
}
function check_landing() {
if (is_page() && ($landing = $this->get_landing())) {
$this->set_landing($landing);
if ($this->landing['enabled'])
add_action('wp_enqueue_scripts', array($this, 'enqueue_landing'));
}
}
function enqueue_landing() {
$this->dequeue_child_theme_stylesheet();
wp_enqueue_style('gcpp-landing', plugins_url('styles/landing.css', dirname(__FILE__)), false, GENESIS_CLUB_VERSION, 'screen');
add_filter( 'body_class', array($this, 'add_landing_classes'), 12, 2 );
if (!empty( $this->landing['css']))
add_action('wp_print_styles', array($this, 'add_landing_css'));
}
function dequeue_child_theme_stylesheet() {
$handle = defined( 'CHILD_THEME_NAME' ) && CHILD_THEME_NAME ? sanitize_title_with_dashes( CHILD_THEME_NAME ) : 'child-theme';
wp_dequeue_style( $handle);
}
function add_landing_classes($classes, $class) {
$landing_classes = array('gcpp-simple-squeeze');
if (!empty( $this->landing['size']))
$landing_classes[] = 'gcpp-'.$this->landing['size'];
if (!empty( $this->landing['align']))
$landing_classes[] = 'gcpp-'.$this->landing['align'];
if (!empty( $this->landing['colors'])) {
$landing_classes[] = 'gcpp-'.$this->landing['colors'];
if ('custom' != $this->landing['colors'])
$landing_classes[] = 'gcpp-noshadow';
}
if (!empty( $this->landing['bullets'])) {
$landing_classes[] = 'gcpp-bullet';
$landing_classes[] = $this->landing['bullets'].'-bullet';
}
return array_merge($classes, $landing_classes);
}
function add_landing_css(){
$css = $this->landing['css'];
print <<< CUSTOM_CSS
<style type="text/css">
{$css}
</style>
CUSTOM_CSS;
}
}