PageRenderTime 49ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/wp-content/plugins/Ultimate_VC_Addons/templates/info-tables/info-table-design05.php

https://gitlab.com/ezgonzalez/integral
PHP | 289 lines | 225 code | 38 blank | 26 comment | 52 complexity | f28a57cea56d0a74c031be52b710e53b MD5 | raw file
  1. <?php
  2. /*
  3. * Add-on Name: Info Tables for Visual Composer
  4. * Template : Design layout 05
  5. */
  6. if(!function_exists('ult_info_table_generate_design05')) {
  7. function ult_info_table_generate_design05($atts,$content = null){
  8. $icon_type = $icon_img = $img_width = $icon = $icon_color = $icon_color_bg = $icon_size = $icon_style = $icon_border_style = $icon_border_radius = $icon_color_border = $icon_border_size = $icon_border_spacing = $el_class = $package_heading = $package_sub_heading = $package_price = $package_unit = $package_btn_text = $package_link = $package_featured = $color_bg_main = $color_txt_main = $color_bg_highlight = $color_txt_highlight = $color_scheme = $use_cta_btn = '';
  9. extract(shortcode_atts(array(
  10. 'color_scheme' => 'black',
  11. 'package_heading' => '',
  12. 'package_sub_heading' => '',
  13. 'icon_type' => 'none',
  14. 'icon' => '',
  15. 'icon_img' => '',
  16. 'img_width' => '48',
  17. 'icon_size' => '32',
  18. 'icon_color' => '#333333',
  19. 'icon_style' => 'none',
  20. 'icon_color_bg' => '#ffffff',
  21. 'icon_color_border' => '#333333',
  22. 'icon_border_style' => '',
  23. 'icon_border_size' => '1',
  24. 'icon_border_radius' => '500',
  25. 'icon_border_spacing' => '50',
  26. 'use_cta_btn' => '',
  27. 'package_btn_text' => '',
  28. 'package_link' => '',
  29. 'package_featured' => '',
  30. 'color_bg_main' => '',
  31. 'color_txt_main' => '',
  32. 'color_bg_highlight' => '',
  33. 'color_txt_highlight' => '',
  34. 'heading_font_family' => '',
  35. 'heading_font_style' => '',
  36. 'heading_font_size' => '',
  37. 'heading_font_color' => '',
  38. 'heading_line_height' => '',
  39. 'subheading_font_family' => '',
  40. 'subheading_font_style' => '',
  41. 'subheading_font_size' => '',
  42. 'subheading_font_color' => '',
  43. 'subheading_line_height' => '',
  44. 'features_font_family' => '',
  45. 'features_font_style' => '',
  46. 'features_font_size' => '',
  47. 'features_font_color' => '',
  48. 'features_line_height' => '',
  49. 'button_font_family' => '',
  50. 'button_font_style' => '',
  51. 'button_font_size' => '',
  52. 'button_font_color' => '',
  53. 'button_line_height' => '',
  54. 'el_class' => '',
  55. 'features_min_ht'=>'',
  56. 'css_info_tables' => '',
  57. ),$atts));
  58. $css_info_tables = apply_filters( VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, vc_shortcode_custom_css_class( $css_info_tables, ' ' ), "ultimate_info_table", $atts );
  59. $css_info_tables = esc_attr( $css_info_tables );
  60. $output = $link = $target = $featured = $featured_style = $normal_style = $dynamic_style = $box_icon = '';
  61. if($icon_type !== "none"){
  62. $box_icon = do_shortcode('[just_icon icon_type="'.$icon_type.'" icon="'.$icon.'" icon_img="'.$icon_img.'" img_width="'.$img_width.'" icon_size="'.$icon_size.'" icon_color="'.$icon_color.'" icon_style="'.$icon_style.'" icon_color_bg="'.$icon_color_bg.'" icon_color_border="'.$icon_color_border.'" icon_border_style="'.$icon_border_style.'" icon_border_size="'.$icon_border_size.'" icon_border_radius="'.$icon_border_radius.'" icon_border_spacing="'.$icon_border_spacing.'"]');
  63. }
  64. if($color_scheme == "custom"){
  65. if($color_bg_main !== ""){
  66. $normal_style .= 'background:'.$color_bg_main.';';
  67. }
  68. if($color_txt_main !== ""){
  69. $normal_style .= 'color:'.$color_txt_main.';';
  70. }
  71. if($color_bg_highlight!== ""){
  72. $featured_style .= 'background:'.$color_bg_highlight.';';
  73. }
  74. if($color_txt_highlight !== ""){
  75. $featured_style .= 'color:'.$color_txt_highlight.';';
  76. }
  77. }
  78. if($package_link !== ""){
  79. $link = vc_build_link($package_link);
  80. if(isset($link['target'])){
  81. $target = 'target="'.$link['target'].'"';
  82. } else {
  83. $target = '';
  84. }
  85. $link = $link['url'];
  86. } else {
  87. $link = "#";
  88. }
  89. if($package_featured !== ""){
  90. $featured = "ult_featured";
  91. }
  92. if($use_cta_btn == "box"){
  93. $output .= '<a href="'.$link.'" '.$target.' class="ult_price_action_button" style="'.$featured_style.'">'.$package_btn_text;
  94. }
  95. /* typography */
  96. $heading_style_inline = $sub_heading_inline = $features_inline = $button_inline = '';
  97. // heading
  98. if($heading_font_family != '')
  99. {
  100. $hdfont_family = get_ultimate_font_family($heading_font_family);
  101. if($hdfont_family !== '')
  102. $heading_style_inline .= 'font-family:\''.$hdfont_family.'\';';
  103. }
  104. $heading_style_inline .= get_ultimate_font_style($heading_font_style);
  105. // if($heading_font_size != '')
  106. // $heading_style_inline .= 'font-size:'.$heading_font_size.'px;';
  107. // if($heading_line_height != '')
  108. // $heading_style_inline .= 'line-height:'.$heading_line_height.'px;';
  109. if($heading_font_color != '')
  110. $heading_style_inline .= 'color:'.$heading_font_color.';';
  111. if(is_numeric($heading_font_size)){
  112. $heading_font_size = 'desktop:'.$heading_font_size.'px;';
  113. }
  114. if(is_numeric($heading_line_height)){
  115. $heading_line_height = 'desktop:'.$heading_line_height.'px;';
  116. }
  117. $info_table_id = 'Info-table-wrap-'.rand(1000, 9999);
  118. $info_table_args = array(
  119. 'target' => '#'.$info_table_id.' h3', // set targeted element e.g. unique class/id etc.
  120. 'media_sizes' => array(
  121. 'font-size' => $heading_font_size, // set 'css property' & 'ultimate_responsive' sizes. Here $title_responsive_font_size holds responsive font sizes from user input.
  122. 'line-height' => $heading_line_height
  123. ),
  124. );
  125. $info_table_data_list = get_ultimate_vc_responsive_media_css($info_table_args);
  126. // sub heading
  127. if($subheading_font_family != '')
  128. {
  129. $shfont_family = get_ultimate_font_family($subheading_font_family);
  130. if($shfont_family !== '')
  131. $sub_heading_inline .= 'font-family:\''.$shfont_family.'\';';
  132. }
  133. $sub_heading_inline .= get_ultimate_font_style($subheading_font_style);
  134. // if($subheading_font_size != '')
  135. // $sub_heading_inline .= 'font-size:'.$subheading_font_size.'px;';
  136. // if($subheading_line_height != '')
  137. // $sub_heading_inline .= 'line-height:'.$subheading_line_height.'px;';
  138. if($subheading_font_color != '')
  139. $sub_heading_inline .= 'color:'.$subheading_font_color.';';
  140. if(is_numeric($subheading_font_size)){
  141. $subheading_font_size = 'desktop:'.$subheading_font_size.'px;';
  142. }
  143. if(is_numeric($subheading_line_height)){
  144. $subheading_line_height = 'desktop:'.$subheading_line_height.'px;';
  145. }
  146. $info_table_sub_head_args = array(
  147. 'target' => '#'.$info_table_id.' h5', // set targeted element e.g. unique class/id etc.
  148. 'media_sizes' => array(
  149. 'font-size' => $subheading_font_size, // set 'css property' & 'ultimate_responsive' sizes. Here $title_responsive_font_size holds responsive font sizes from user input.
  150. 'line-height' => $subheading_line_height
  151. ),
  152. );
  153. $info_table_sub_head_data_list = get_ultimate_vc_responsive_media_css($info_table_sub_head_args);
  154. // features
  155. if($features_font_family != '')
  156. {
  157. $featuresfont_family = get_ultimate_font_family($features_font_family);
  158. if($featuresfont_family !== '')
  159. $features_inline .= 'font-family:\''.$featuresfont_family.'\';';
  160. }
  161. $features_inline .= get_ultimate_font_style($features_font_style);
  162. // if($features_font_size != '')
  163. // $features_inline .= 'font-size:'.$features_font_size.'px;';
  164. // if($features_line_height != '')
  165. // $features_inline .= 'line-height:'.$features_line_height.'px;';
  166. if($features_font_color != '')
  167. $features_inline .= 'color:'.$features_font_color.';';
  168. if(is_numeric($features_font_size)){
  169. $features_font_size = 'desktop:'.$features_font_size.'px;';
  170. }
  171. if(is_numeric($features_line_height)){
  172. $features_line_height = 'desktop:'.$features_line_height.'px;';
  173. }
  174. $info_table_features_id= 'info_table_features_wrap-'.rand(1000, 9999);
  175. $info_table_features_args = array(
  176. 'target' => '#'.$info_table_features_id.'.ult_price_features', // set targeted element e.g. unique class/id etc.
  177. 'media_sizes' => array(
  178. 'font-size' => $features_font_size, // set 'css property' & 'ultimate_responsive' sizes. Here $title_responsive_font_size holds responsive font sizes from user input.
  179. 'line-height' => $features_line_height
  180. ),
  181. );
  182. $info_table_features_data_list = get_ultimate_vc_responsive_media_css($info_table_features_args);
  183. /*---min ht style---*/
  184. $info_tab_ht='';$info_tab_ht_style='';
  185. if($features_min_ht !== ""){
  186. $info_tab_ht='info_min_ht';
  187. $info_tab_ht_style .= 'min-height:'.$features_min_ht.'px;';
  188. }
  189. // button
  190. if($button_font_family != '')
  191. {
  192. $buttonfont_family = get_ultimate_font_family($button_font_family);
  193. if($buttonfont_family !== '')
  194. $button_inline .= 'font-family:\''.$buttonfont_family.'\';';
  195. }
  196. $button_inline .= get_ultimate_font_style($button_font_style);
  197. // if($button_font_size != '')
  198. // $button_inline .= 'font-size:'.$button_font_size.'px;';
  199. // if($button_line_height != '')
  200. // $button_inline .= 'line-height:'.$button_line_height.'px;';
  201. if($button_font_color != '')
  202. $button_inline .= 'color:'.$button_font_color.';';
  203. if(is_numeric($button_font_size)){
  204. $button_font_size = 'desktop:'.$button_font_size.'px;';
  205. }
  206. if(is_numeric($button_line_height)){
  207. $button_line_height = 'desktop:'.$button_line_height.'px;';
  208. }
  209. $info_table_btn_id= 'info_table_btn_wrap-'.rand(1000, 9999);
  210. $info_table_btn_args = array(
  211. 'target' => '#'.$info_table_btn_id.' .ult_price_action_button', // set targeted element e.g. unique class/id etc.
  212. 'media_sizes' => array(
  213. 'font-size' => $button_font_size, // set 'css property' & 'ultimate_responsive' sizes. Here $title_responsive_font_size holds responsive font sizes from user input.
  214. 'line-height' => $button_line_height
  215. ),
  216. );
  217. $info_table_btn_data_list = get_ultimate_vc_responsive_media_css($info_table_btn_args);
  218. $output .= '<div class="ult_pricing_table_wrap ult_info_table ult_design_5 '.$featured.' ult-cs-'.$color_scheme.' '.$el_class.' '.$css_info_tables.'">
  219. <div class="ult_pricing_table '.$info_tab_ht.'" style="'.$normal_style.' '.$info_tab_ht_style.'">';
  220. $output .= '<div id="'.$info_table_id.'" class="ult_pricing_heading" style="'.$featured_style.'">
  221. <h3 class="ult-responsive" '.$info_table_data_list.' style="'.$heading_style_inline.'">'.$package_heading.'</h3>';
  222. if($package_sub_heading !== ''){
  223. $output .= '<h5 class="ult-responsive" '.$info_table_sub_head_data_list.' style="'.$sub_heading_inline.'">'.$package_sub_heading.'</h5>';
  224. }
  225. $output .= '</div><!--ult_pricing_heading-->';
  226. if(isset($box_icon) && $box_icon != '') :
  227. $output .= '<div class="ult_price_body_block" style="'.$featured_style.'">
  228. <div class="ult_price_body">
  229. <div class="ult_price">
  230. '.$box_icon.'
  231. </div>
  232. </div>
  233. </div><!--ult_price_body_block-->';
  234. endif;
  235. $output .= '<div id="'.$info_table_features_id.'" '.$info_table_features_data_list.' class="ult-responsive ult_price_features" style="'.$features_inline.'">
  236. '.wpb_js_remove_wpautop(do_shortcode($content), true).'
  237. </div><!--ult_price_features-->';
  238. if($use_cta_btn == "true"){
  239. $output .= '<div id="'.$info_table_btn_id.'" class="ult_price_link" style="'.$normal_style.'">
  240. <a href="'.$link.'" '.$target.' '.$info_table_btn_data_list.' class="ult-responsive ult_price_action_button" style="'.$featured_style.' '.$button_inline.'">'.$package_btn_text.'</a>
  241. </div><!--ult_price_link-->';
  242. }
  243. $output .= '<div class="ult_clr"></div>
  244. </div><!--pricing_table-->
  245. </div><!--pricing_table_wrap-->';
  246. if($use_cta_btn == "box"){
  247. $output .= '</a>';
  248. }
  249. return $output;
  250. }
  251. }