roxcoder

Untitled

Feb 8th, 2017
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.64 KB | None | 0 0
  1. <?php
  2. /**
  3.  * @package SP Page Builder
  4.  * @author JoomShaper http://www.joomshaper.com
  5.  * @copyright Copyright (c) 2010 - 2016 JoomShaper
  6.  * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
  7. */
  8. //no direct accees
  9. defined ('_JEXEC') or die ('restricted aceess');
  10.  
  11. class SppagebuilderAddonPricing extends SppagebuilderAddons {
  12.  
  13.     public function render() {
  14.  
  15.         $class = (isset($this->addon->settings->class) && $this->addon->settings->class) ? $this->addon->settings->class : '';
  16.         $title = (isset($this->addon->settings->title) && $this->addon->settings->title) ? $this->addon->settings->title : '';
  17.         $heading_selector = (isset($this->addon->settings->heading_selector) && $this->addon->settings->heading_selector) ? $this->addon->settings->heading_selector : 'h3';
  18.  
  19.         //Options
  20.         $price = (isset($this->addon->settings->price) && $this->addon->settings->price) ? $this->addon->settings->price : '';
  21.         $duration = (isset($this->addon->settings->duration) && $this->addon->settings->duration) ? $this->addon->settings->duration : '';
  22.         $pricing_content = (isset($this->addon->settings->pricing_content) && $this->addon->settings->pricing_content) ? $this->addon->settings->pricing_content : '';
  23.         $button_text = (isset($this->addon->settings->button_text) && $this->addon->settings->button_text) ? $this->addon->settings->button_text : '';
  24.         $button_url = (isset($this->addon->settings->button_url) && $this->addon->settings->button_url) ? $this->addon->settings->button_url : '';
  25.         $button_classes = (isset($this->addon->settings->button_size) && $this->addon->settings->button_size) ? ' sppb-btn-' . $this->addon->settings->button_size : '';
  26.         $button_classes .= (isset($this->addon->settings->button_type) && $this->addon->settings->button_type) ? ' sppb-btn-' . $this->addon->settings->button_type : '';
  27.         $button_classes .= (isset($this->addon->settings->button_shape) && $this->addon->settings->button_shape) ? ' sppb-btn-' . $this->addon->settings->button_shape: ' sppb-btn-rounded';
  28.         $button_classes .= (isset($this->addon->settings->button_appearance) && $this->addon->settings->button_appearance) ? ' sppb-btn-' . $this->addon->settings->button_appearance : '';
  29.         $button_classes .= (isset($this->addon->settings->button_block) && $this->addon->settings->button_block) ? ' ' . $this->addon->settings->button_block : '';
  30.         $button_icon = (isset($this->addon->settings->button_icon) && $this->addon->settings->button_icon) ? $this->addon->settings->button_icon : '';
  31.         $button_icon_position = (isset($this->addon->settings->button_icon_position) && $this->addon->settings->button_icon_position) ? $this->addon->settings->button_icon_position: 'left';
  32.         $button_position = (isset($this->addon->settings->button_position) && $this->addon->settings->button_position) ? $this->addon->settings->button_position : '';
  33.         $button_attribs = (isset($this->addon->settings->button_target) && $this->addon->settings->button_target) ? ' target="' . $this->addon->settings->button_target . '"' : '';
  34.         $button_attribs .= (isset($this->addon->settings->button_url) && $this->addon->settings->button_url) ? ' href="' . $this->addon->settings->button_url . '"' : '';
  35.         $alignment = (isset($this->addon->settings->alignment) && $this->addon->settings->alignment) ? $this->addon->settings->alignment : '';
  36.         $featured = (isset($this->addon->settings->featured) && $this->addon->settings->featured) ? $this->addon->settings->featured : '';
  37.  
  38.         if($button_icon_position == 'left') {
  39.             $button_text = ($button_icon) ? '<i class="fa ' . $button_icon . '"></i> ' . $button_text : $button_text;
  40.         } else {
  41.             $button_text = ($button_icon) ? $button_text . ' <i class="fa ' . $button_icon . '"></i>' : $button_text;
  42.         }
  43.  
  44.         $button_output = ($button_text) ? '<a' . $button_attribs . ' id="btn-'. $this->addon->id .'" class="sppb-btn' . $button_classes . '">' . $button_text . '</a>' : '';
  45.  
  46.         //Output
  47.         $output  = '<div class="sppb-addon sppb-addon-pricing-table ' . $alignment . ' ' . $class . '">';
  48.         $output .= '<div class="sppb-pricing-box '. $featured .'">';
  49.         $output .= '<div class="sppb-pricing-header">';
  50.         $output .= ($title) ? '<div class="sppb-pricing-title">' . $title . '</div>' : '';
  51.         $output .= ($price) ? '<span class="sppb-pricing-price">' . $price . '</span>' : '';
  52.         $output .= ($duration) ? '<span class="sppb-pricing-duration">' . $duration . '</span>' : '';
  53.         $output .= '</div>';
  54.  
  55.         if($pricing_content) {
  56.             $output .= '<div class="sppb-pricing-features">';
  57.             $output .= '<ul>';
  58.  
  59.             $features = explode("\n", $pricing_content);
  60.  
  61.             foreach ($features as $feature) {
  62.                 $output .= '<li>' . $feature . '</li>';
  63.             }
  64.  
  65.             $output .= '</ul>';
  66.             $output .= '</div>';
  67.         }
  68.  
  69.         $output .= '<div class="sppb-pricing-footer">';
  70.         $output .= $button_output;
  71.         $output .= '</div>';
  72.         $output .= '</div>';
  73.         $output .= '</div>';
  74.  
  75.         return $output;
  76.     }
  77.  
  78.     public function css() {
  79.         $addon_id = '#sppb-addon-' . $this->addon->id;
  80.         $css = '';
  81.         $style  = (isset($this->addon->settings->background) && $this->addon->settings->background) ? 'border: 0; background-color: '. $this->addon->settings->background .';' : '';
  82.         $style .= (isset($this->addon->settings->color) && $this->addon->settings->color) ? 'color: '. $this->addon->settings->color .';' : '';
  83.  
  84.         if($style) {
  85.             $css .= $addon_id . ' .sppb-pricing-box {';
  86.             $css .= $style;
  87.             $css .= '}';
  88.         }
  89.  
  90.         // Button css
  91.         $layout_path = JPATH_ROOT . '/components/com_sppagebuilder/layouts';
  92.         $css_path = new JLayoutFile('addon.css.button', $layout_path);
  93.         $css .= $css_path->render(array('addon_id' => $addon_id, 'options' => $this->addon->settings, 'id' => 'btn-' . $this->addon->id));
  94.  
  95.         return $css;
  96.     }
  97.  
  98. }
Advertisement
Add Comment
Please, Sign In to add comment