40, 'class' => "layoutBlock" ); class layoutBlock extends block { protected $blockname = "layout"; protected $fields = array( "margin_left" => array("default" => "0px", "css" => "margin-left", "csspart" => "maxsocial"), "margin_right" => array("default" => "0px", "css" => "margin-right", "csspart" => "maxsocial"), "margin_top" => array("default" => "0px", "css" => "margin-top", "csspart" => "maxsocial"), "margin_bottom" => array("default" => "0px", "css" => "margin-bottom", "csspart" => "maxsocial"), "orientation" => array("default" => "auto"), "font" => array("default" => "", "css" => "font-family", "csspart" => 'mb-label,mb-share-count' ), "font_label_size" => array("default" => "15px", "css" => "font-size", "csspart" => 'mb-label' ), "font_label_style" => array("default" => "normal", "css" => "font-style", "csspart" => 'mb-label'), "font_label_weight" => array("default" => "normal", "css" => "font-weight", "csspart" => 'mb-label'), "font_label_upper" => array('default' => 'none', 'css' => 'text-transform', 'csspart' => 'mb-label', ), "font_icon_size" => array("default" => "15px", "css" => "font-size", "csspart" => 'mb-icon' ), "font_icon_style" => array("default" => "normal", "css" => "font-style", "csspart" => 'mb-icon'), "font_icon_weight" => array("default" => "normal", "css" => "font-weight", "csspart" => 'mb-icon'), 'use_background' => array('default' => 1, ), 'background_color' => array('default' => '#000', 'css' => 'background-color', 'csspart' => 'mb-social', ), 'background_color_hover' => array('default' => '#000', 'css' => 'background-color', 'csspart' => 'mb-social', 'csspseudo' => 'hover', ), 'color' => array('default' => '#fff', 'css' => 'color', 'csspart' => 'mb-icon,mb-share-count,mb-label'), 'color_hover' => array('default' => '#fff', 'css' => 'color', 'csspart' => 'mb-icon,mb-share-count,mb-label', 'csspseudo' => 'hover'), "button_spacing" => array('default' => '5', ), "ignore_container" => array("default" => 1), ); public function __construct() { parent::__construct(); if (Install::isPro()) add_filter('mbsocial/displaycss/', array($this, 'addWebFont') ); } public function addWebFont($css) { $fonts = ''; if ( isset ($this->data[$this->blockname]['webfonts'])) { $webfonts = $this->data[$this->blockname]['webfonts']; $fonts .= '@import url(' . $webfonts . ');'; } return $fonts . $css; } function parseCSS($css, $args) { $css = parent::parseCSS($css, $args); $w = MBSocial()->whistle(); $hook = $this->collection->getHook(); $blockdata = $this->data[$this->blockname]; $network = $this->network; // if true, use network colors $use_background = isset($blockdata['use_background']) ? $blockdata['use_background'] : false; if ($use_background) { unset ($css['mb-social']['normal']['background-color']); unset ($css['mb-social']['hover']['background-color']); $color = $network->get('color'); $css['mb-social']['normal']['background-color'] = $color; $css['mb-social']['hover']['background-color'] = "darken($color, 10%)"; } $css["mb-item"]["normal"]["float"] = "left"; $css["mb-item"]["normal"]["display"] = "inline-block"; $css["mb-item a"]["normal"]["cursor"] = "pointer"; // by default social share = call to action. $css['mb-item a']['normal']['text-decoration'] = 'none'; if (isset($blockdata['button_spacing']) && $blockdata['button_spacing'] > 0) { $orientation = $this->collection->orientation; $is_static = $w->ask('display/env/is_static'); $button_spacing = $blockdata['button_spacing']; if ($orientation == 'horizontal') { $css['mb-item']['normal']['margin-right'] = $button_spacing . 'px'; } if ($orientation == 'vertical') { $css['mb-item']['normal']['margin-bottom'] = $button_spacing . 'px'; } } return $css; } public function parse($itemObj, $args = array() ) { $blockdata = $this->data[$this->blockname]; $use_background = isset($blockdata['use_background']) ? $blockdata['use_background'] : false; return $itemObj; } function save_fields($data, $post) { $data = parent::save_fields($data, $post); if (! isset($post["ignore_container"]) && ! is_null($post)) $data[$this->blockname]["ignore_container"] = 0; if (! isset($post['use_background']) && ! is_null($post)) $data[$this->blockname]['use_background'] = 0; if ( count ($post) == 0) return $data; // don't run on default situations // Do the font here $blockdata = $this->data[$this->blockname]; $font = $blockdata['font']; //$label_weight = $blockdata['font_label_weight']; // $icon_weight = $blockdata['icon_label_weight']; $args = array('font' => $font); $webfont = patches::checkWebFonts($args); $data[$this->blockname]['webfonts'] = $webfont; return $data; } function fontModal() { ?>