Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.14 KB | None | 0 0
  1. <?php
  2.  
  3. namespace Elementor;
  4.  
  5. if ( ! defined( 'ABSPATH' ) ) exit;
  6.  
  7. class XS_VPS_Slider_Widget extends Widget_Base {
  8.  
  9. public function get_name() {
  10. return 'xs-vps-slider';
  11. }
  12.  
  13. public function get_title() {
  14. return esc_html__( ' VPS Slider', 'VPS Slider' );
  15. }
  16.  
  17. public function get_icon() {
  18. return 'eicon-vps-slider';
  19. }
  20.  
  21. public function get_categories() {
  22. return [ 'Widget-elements' ];
  23. }
  24.  
  25. protected function _register_controls() {
  26.  
  27. $this->start_controls_section(
  28. 'vps_slider',
  29. [
  30. 'label' => esc_html__('VPS Slider', 'VPS Slider'),
  31. ]
  32. );
  33.  
  34. $this->add_control(
  35.  
  36. 'slider_items',
  37. [
  38. 'label' => esc_html__('VPS Slider', 'VPS Slider'),
  39. 'type' => Controls_Manager::REPEATER,
  40. 'separator' => 'before',
  41. 'default' => [
  42. [
  43. 'name' => esc_html__('Basic Pack',''),
  44. 'price' => esc_html__('$5.99',' '),
  45. 'desc' => esc_html__('It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name',' '),
  46. 'cpu' => esc_html__('1 Core',' '),
  47. 'brandwidth' => esc_html__('100 BG',' '),
  48. 'brandwidth2' => esc_html__('0.5 TB',' '),
  49. 'ram' => esc_html__('1 TB',' '),
  50. 'setup' => esc_html__('Paid',' '),
  51. 'setup2' => esc_html__('Free',' '),
  52. 'diskspace' => esc_html__('100 GB',' '),
  53. 'ipOne' => esc_html__('Up to 1',' '),
  54. 'ipTwo' => esc_html__('Up to 0',' '),
  55. 'urlLink' => esc_url('http://whmcs.finesttheme.com/cart.php?a=add&pid=3'),
  56. ]
  57. ],
  58. 'fields' => [
  59.  
  60. [
  61. 'name' => 'name',
  62. 'type' => Controls_Manager::TEXT,
  63. 'label' => esc_html__('Slide Name', ' '),
  64. 'default' => esc_html__('Basic',' '),
  65. 'label_block' => true,
  66. ],
  67.  
  68. [
  69. 'name' => 'price',
  70. 'type' => Controls_Manager::TEXT,
  71. 'label' => esc_html__('Price', ' '),
  72. 'default' => esc_html__('$5.99',' '),
  73. 'label_block' => true,
  74. ],
  75.  
  76. [
  77. 'name' => 'desc',
  78. 'type' => Controls_Manager::TEXTAREA,
  79. 'label' => esc_html__('Description', ' '),
  80. 'default' => esc_html__('It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name',' '),
  81. 'label_block' => true,
  82. ],
  83.  
  84. [
  85. 'name' => 'cpu',
  86. 'type' => Controls_Manager::TEXT,
  87. 'label' => esc_html__('CPU', ' '),
  88. 'default' => esc_html__('1 Core',' '),
  89. 'label_block' => true,
  90. ],
  91.  
  92. [
  93. 'name' => 'bandwidth',
  94. 'type' => Controls_Manager::TEXT,
  95. 'label' => esc_html__('Bandwidth', ' '),
  96. 'default' => esc_html__('100 GB',' '),
  97. 'label_block' => true,
  98. ],
  99.  
  100. [
  101. 'name' => 'bandwidth2',
  102. 'type' => Controls_Manager::TEXT,
  103. 'label' => esc_html__('Bandwidth Two', ' '),
  104. 'default' => esc_html__('0.5 TB',' '),
  105. 'label_block' => true,
  106. ],
  107.  
  108. [
  109. 'name' => 'ram',
  110. 'type' => Controls_Manager::TEXT,
  111. 'label' => esc_html__('RAM', ' '),
  112. 'default' => esc_html__('1 GB',' '),
  113. 'label_block' => true,
  114. ],
  115.  
  116. [
  117. 'name' => 'setup',
  118. 'type' => Controls_Manager::TEXT,
  119. 'label' => esc_html__('Setup', ' '),
  120. 'default' => esc_html__('Paid',' '),
  121. 'label_block' => true,
  122. ],
  123.  
  124. [
  125. 'name' => 'setup2',
  126. 'type' => Controls_Manager::TEXT,
  127. 'label' => esc_html__('Setup Two', ' '),
  128. 'default' => esc_html__('Free',' '),
  129. 'label_block' => true,
  130. ],
  131.  
  132. [
  133. 'name' => 'diskspace',
  134. 'type' => Controls_Manager::TEXT,
  135. 'label' => esc_html__('Diskspace', ' '),
  136. 'default' => esc_html__('100 GB',' '),
  137. 'label_block' => true,
  138. ],
  139.  
  140. [
  141. 'name' => 'ipOne',
  142. 'type' => Controls_Manager::TEXT,
  143. 'label' => esc_html__('IP One', ' '),
  144. 'default' => esc_html__('Up to 1',' '),
  145. 'label_block' => true,
  146. ],
  147.  
  148. [
  149. 'name' => 'ipTwo',
  150. 'type' => Controls_Manager::TEXT,
  151. 'label' => esc_html__('IP Two', ' '),
  152. 'default' => esc_html__('Up to 0',' '),
  153. 'label_block' => true,
  154. ],
  155.  
  156. [
  157. 'name' => 'urlLink',
  158. 'type' => Controls_Manager::URL,
  159. 'label' => esc_html__('urlLink', ' '),
  160. 'placeholder' => esc_url('http://whmcs.finesttheme.com/cart.php?a=add&pid=3'),
  161. 'label_block' => true,
  162. ],
  163.  
  164. ],
  165. 'title_field' => '{{{ name }}}',
  166. ]
  167. );
  168.  
  169. $this->end_controls_section();
  170.  
  171. }
  172.  
  173. protected function render( ) {
  174. $settings = $this->get_settings();
  175. $slider_items = $settings['slider_items'];
  176. foreach($slider_items as $slider_item){
  177. $sliderplans[0][] = $slider_item['name'];
  178. $sliderplans[1][] = $slider_item['price'];
  179. $sliderplans[2][] = $slider_item['desc'];
  180. $sliderplans[3][] = $slider_item['cpu'];
  181. $sliderplans[4][] = $slider_item['bandwidth'];
  182. $sliderplans[5][] = $slider_item['bandwidth2'];
  183. $sliderplans[6][] = $slider_item['ram'];
  184. $sliderplans[7][] = $slider_item['setup'];
  185. $sliderplans[8][] = $slider_item['setup2'];
  186. $sliderplans[9][] = $slider_item['diskspace'];
  187. $sliderplans[10][] = $slider_item['ipOne'];
  188. $sliderplans[11][] = $slider_item['ipTwo'];
  189. $sliderplans[12][] = $slider_item['urlLink']['url'];
  190. }
  191.  
  192. require _SHORTCODE_DIR_STYLE .'/price-table/style4.php';
  193.  
  194.  
  195. // Register the script
  196. wp_register_script( ' -vps-slider-settings', _SCRIPTS . '/vps-slider-settings.js' );
  197.  
  198. wp_localize_script( ' -vps-slider-settings', 'sliderplans', $sliderplans );
  199.  
  200. // Enqueued script with localized data.
  201. wp_enqueue_script( ' -vps-slider-settings' );
  202.  
  203.  
  204.  
  205. }
  206.  
  207.  
  208. protected function _content_template() { }
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement